[Phpmyadmin-devel] PMA_SQP_analyze() with create table query

Chirayu Chiripal chirayu.chiripal at gmail.com
Sun Jun 8 14:35:55 CEST 2014


On Sun, Jun 8, 2014 at 6:00 PM, Marc Delisle <marc at infomarc.info> wrote:

> Le 2014-06-05 07:34, Chirayu Chiripal a écrit :
> > Hi,
> > Please see the line 28 of [0] which is the var_dump of
> > PMA_SQP_analyze(PMA_SQP_parse($create_query)). The 'table_ref' index is
> > an empty array.
> >
> > I think it should have name of the table to be created or current one is
> > correct?
>
> Hi Chirayu,
> the parser sets 'table_ref' only for SELECT statements.
>
> >
> > Because in the result there is no index which mention table name
> separately.
> >
> > Also, at [0]#L34: 'create_table_fields' index should contain only column
> > details if I am not wrong. But at [0]#L44, 'latin_general_ci' which is
> > actually the collation of the table, is appearing in the middle. Is this
> > a desired behaviour or it is a bug?
>
> A bug.
>

Hi, I found the reason for the collation coming back as the column name, I
did the var_dump() with ‘TESTSUITE’ defined as 1 and I noticed that when
TESTSUITE is defined then mysql_charsets are not fetched and hence it is
not able to detect that it is charset not a normal identifier (See
https://github.com/phpmyadmin/phpmyadmin/blob/master/libraries/sqlparser.lib.php#L46)
otherwise when TESTSUITE is not defined then column names are detected
properly.

>
> >
> > Note: The query passed is present in 'unsorted_query' index at [0]#L16.
> >
> > [0]: http://pastebin.com/YcbuivPB
>
>
> --
> Marc Delisle | phpMyAdmin
>


-- 
Regards,
Chirayu Chiripal
phpMyAdmin Intern - Google Summer of Code 2014
https://chirayuchiripal.wordpress.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.phpmyadmin.net/pipermail/developers/attachments/20140608/4fcf6f71/attachment.html>


More information about the Developers mailing list