Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-17677

Keywords are parsed as identifiers when followed by a dot

    Details

    • Type: Bug
    • Status: Open (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 5.5, 10.0, 10.1, 10.2, 10.3, 10.4
    • Fix Version/s: 10.4
    • Component/s: Parser
    • Labels:
      None

      Description

      Keywords immediately followed by a dot character are parsed as identifiers. So, e.g., this generates a syntax error:

      MariaDB [test]> SELECT.1;
      ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SELECT.1' at line 1
      

      This does not conform to the SQL standard. It should be normally parsed as equivalent to:

      SELECT .1;
      

      Note, other databases do understand this syntax:

      Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
       
      SQL> SELECT.1 FROM DUAL;
       
      	.1
      ----------
      	.1
      SQL> 
      

      psql (9.4.9)
      Type "help" for help.
       
      bar=> SELECT.1;
       ?column? 
      ----------
            0.1
      (1 row)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bar Alexander Barkov
                Reporter:
                bar Alexander Barkov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated: