Menu

#2531 (ok 2.11.3) ROW_FORMAT incorrectly parsed

2.11.0
fixed
1
2013-06-11
2007-09-13
jan1234
No

Windows XP SP2 - Apache 2.0.55 - PHP 5.2.1 - MySQL 5.0.41-community-nt - MySQL client 4.1.7
phpMyAdmin 2.11.0

When copying a database (operations > Copy database to - with structure + data and create database before copying checked) the following error occured:

Error

SQL query: Edit

CREATE TABLE `copy`.`images` (
`id` int( 10 ) unsigned NOT NULL AUTO_INCREMENT ,
`dataSmall` longblob NOT NULL ,
`dataMedium` longblob NOT NULL ,
`dataLarge` longblob NOT NULL ,
`dataXLarge` longblob NOT NULL ,
PRIMARY KEY ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8 COLLATE = utf8_unicode_ciROW_FORMAT = DYNAMIC

MySQL said: Documentation
#1273 - Unknown collation: 'utf8_unicode_ciROW_FORMAT'

Discussion

  • Jürgen Wind

    Jürgen Wind - 2007-09-13

    Logged In: YES
    user_id=1383652
    Originator: NO

    >#1273 - Unknown collation: 'utf8_unicode_ciROW_FORMAT'
    duplicate to trk #1793546 : space before ROW.. is missing

     
  • Marc Delisle

    Marc Delisle - 2007-11-23
    • assigned_to: nobody --> lem9
     
  • Marc Delisle

    Marc Delisle - 2007-11-23
    • priority: 5 --> 1
    • summary: MySQL said: Documentation #1273 - Unknown collation: 'utf8_u --> (ok 2.11.3) ROW_FORMAT incorrectly parsed
    • status: open --> open-fixed
     
  • Jason Shuler

    Jason Shuler - 2007-11-28

    Logged In: YES
    user_id=454150
    Originator: NO

    This problem comes from libraries/sqlparser.lib.php in the PMA_SQP_formatHtml

    A possible workaround is to add the following after line 2160 (in 2.11.2.2)

    if \(\($typearr\[1\] == 'alpha\_charset'\)\) \{
    $before      .= ' ';
    \}
    

    Like so:

    case 'alpha\_identifier':
    if \(\($typearr\[1\] == 'punct\_qualifier'\) || \($typearr\[3\] == 'punct\_qualifier'\)\) \{
    $after      = '';
    $before     = '';
    \}
    if \(\($typearr\[3\] == 'alpha\_columnType'\) || \($typearr\[3\] == 'alpha\_identifier'\)\) \{
    $after      .= ' ';
    \}
    /\*  WORKAROUND FOR 1793948 \*/
    if \(\($typearr\[1\] == 'alpha\_charset'\)\) \{
    $before      .= ' ';
    \}
    /\*  END WORKAROUND FOR 1793948 \*/
    break;
    
     
  • Marc Delisle

    Marc Delisle - 2007-11-28

    Logged In: YES
    user_id=210714
    Originator: NO

    As indicated in the summary, this problem has been fixed for 2.11.3. There was an incorrect sort order in the list of reserved words in the parser.

     
  • Marc Delisle

    Marc Delisle - 2007-12-08
    • status: open-fixed --> closed-fixed
     
  • Michal Čihař

    Michal Čihař - 2013-06-11
    • Status: closed-fixed --> fixed
     
Monday.com Logo