maria-developers team mailing list archive
-
maria-developers team
-
Mailing list archive
-
Message #12677
Re: Initial prototype for MDEV-10825 Persist exact view definitions DDL
Hi, Vicențiu!
On Apr 16, Vicențiu Ciorbaru wrote:
> Hi Sergei!
>
> This email is a followup to the brief discussion on Zulip here:
>
> https://mariadb.zulipchat.com/#narrow/stream/118759-general/topic/preserve.20original.20formatting.20for.20views
>
> You mentioned we store the view's definition (source) inside the FRM. I've
> used that information to extend the I_S.views table with a source column.
> The patch is very small, but I have 2 questions:
> 1. Is this how the feature should look like? I wonder if we should
> prepend *create
> view <view-name>* to the SOURCE column, to make it behave very similar to
> SHOW CREATE VIEW.
now it's similar to VIEW_DEFINITION, another column from I_S.VIEWS.
In your test it looks quote logical that both column values in the same
I_S table start from select.
> Perhaps SOURCE as a column name is not the most well
> chosen name.
Feel free to choose something better. It doesn't have to be short, SQL
is rather verbose language, and VIEW_DEFINITION isn't exactly short
itself.
> 2. I don't know if I should use:
> table->field[11]->store(tables->source.str, tables->source.length,
> tables->view_creation_ctx->get_client_cs());
> or
> table->field[11]->store(tables->source.str, tables->source.length,
> cs);
>
> when storing the source data.
Check the frm file, I suspect the source value is the original bytes as
received by the server, so in the view charset, not converted.
That means, when saving it in a field you need to specify view charset,
just as you did in your patch.
Try to create a view with non-ascii characters and not in utf8 charset.
May be, just change your test to start from `set names latin2`
Regards,
Sergei
VP of MariaDB Server Engineering
and security@xxxxxxxxxxx
References