Skip to content
  • Gopal Shankar's avatar
    ffd23610
    Bug#29909573 SHOW CREATE TABLE OUTPUT CAN'T BE EXECUTED · ffd23610
    Gopal Shankar authored
    The problem is that the parser recognizes the word 'binary' as a token
    BINARY_SYM instead of treating it as a string and hence we get syntax error.
    
    E.g.,
      DDL 1 : "CREATE TABLE t1 (f1 CHAR(20) CHARACTER SET binary);" succeeds.
      But,
      DDL 2 : "CREATE TABLE t1 (f1 CHAR(20) COLLATE binary);" fails.
    
    They are expected to behave the same. Fix is to add explicit rule to use
    binary character set when parser finds BINARY_SYM for COLLATE clause. This
    is similar to the way 'binary' character set name is parsed for CHARACTER
    SET clause by parser.
    
    Test case is added in main.charset.
    
    Change-Id: I5c0df94405c9e527a3cada34cc58ade3f87994e0
    ffd23610
    Bug#29909573 SHOW CREATE TABLE OUTPUT CAN'T BE EXECUTED
    Gopal Shankar authored
    The problem is that the parser recognizes the word 'binary' as a token
    BINARY_SYM instead of treating it as a string and hence we get syntax error.
    
    E.g.,
      DDL 1 : "CREATE TABLE t1 (f1 CHAR(20) CHARACTER SET binary);" succeeds.
      But,
      DDL 2 : "CREATE TABLE t1 (f1 CHAR(20) COLLATE binary);" fails.
    
    They are expected to behave the same. Fix is to add explicit rule to use
    binary character set when parser finds BINARY_SYM for COLLATE clause. This
    is similar to the way 'binary' character set name is parsed for CHARACTER
    SET clause by parser.
    
    Test case is added in main.charset.
    
    Change-Id: I5c0df94405c9e527a3cada34cc58ade3f87994e0
Loading