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

Clarify / Update Reserved Word List

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • N/A
    • N/A
    • Documentation
    • None

    Description

      Good morning,

      Sorry for not creating a more substantial issue, but I hope this will be sufficient.

      In relationship to the following issue, we were working on updating the list of reserved words but it seems as though the website documentation specifically regarding the oracle mode keywords is incorrect, incomplete, or at the very least confusing.

      https://github.com/sqlalchemy/sqlalchemy/issues/7167#issuecomment-952266131

      I have replicated the behavior zzzeek shows in his comment. Per https://mariadb.com/kb/en/reserved-words/ The word system is not a reserved word in ORACLE MODE as the documentation uses "<= 10.3.6" meaning only versions that are less than 10.3.6 have this word as reserved.

      As a result, the following should not trigger an error, but does.

       
      ❯ mariadb
      Welcome to the MariaDB monitor.  Commands end with ; or \g.
      Your MariaDB connection id is 5
      Server version: 10.6.4-MariaDB Homebrew
       
      Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
       
      Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
       
      MariaDB [(none)]> USE test;
      Database changed
      MariaDB [test]> CREATE TABLE foo (id integer);
      Query OK, 0 rows affected (0.111 sec)
       
      MariaDB [test]> ALTER TABLE foo ADD system VARCHAR(64);
      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 'VARCHAR(64)' at line 1
      MariaDB [test]> SELECT @@SQL_MODE, @@GLOBAL.SQL_MODE;
      +-------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+
      | @@SQL_MODE                                                                                | @@GLOBAL.SQL_MODE                                                                         |
      +-------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+
      | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
      +-------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------+
      1 row in set (0.001 sec)
       
      MariaDB [test]>
      

      Details:

      • Operating System: macOS Monterey Version 12.0.1
      • Hardware: MacBook Pro (Retina, 13-inch, Early 2015)
      • MariaDB Version 10.6.4
      • @@log_error:

       
      211027 09:06:55 mysqld_safe Starting mariadbd daemon with databases from /usr/local/var/mysql
      2021-10-27  9:06:56 0 [Note] /usr/local/opt/mariadb/bin/mariadbd (server 10.6.4-MariaDB) starting as process 97622 ...
      2021-10-27  9:06:56 0 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
      2021-10-27  9:06:56 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
      2021-10-27  9:06:56 0 [Note] InnoDB: Number of pools: 1
      2021-10-27  9:06:56 0 [Note] InnoDB: Using crc32 + pclmulqdq instructions
      2021-10-27  9:06:56 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
      2021-10-27  9:06:56 0 [Note] InnoDB: Completed initialization of buffer pool
      2021-10-27  9:06:56 0 [Note] InnoDB: 128 rollback segments are active.
      2021-10-27  9:06:56 0 [Note] InnoDB: Creating shared tablespace for temporary tables
      2021-10-27  9:06:56 0 [Note] InnoDB: Setting file './ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
      2021-10-27  9:06:56 0 [Note] InnoDB: File './ibtmp1' size is now 12 MB.
      2021-10-27  9:06:56 0 [Note] InnoDB: 10.6.4 started; log sequence number 42161; transaction id 14
      2021-10-27  9:06:56 0 [Note] Plugin 'FEEDBACK' is disabled.
      2021-10-27  9:06:56 0 [Note] InnoDB: Loading buffer pool(s) from /usr/local/var/mysql/ib_buffer_pool
      2021-10-27  9:06:56 0 [Note] InnoDB: Buffer pool(s) load completed at 211027  9:06:56
      2021-10-27  9:06:56 0 [Note] Server socket created on IP: '::'.
      2021-10-27  9:06:56 0 [Note] Server socket created on IP: '0.0.0.0'.
      2021-10-27  9:06:56 0 [Note] /usr/local/opt/mariadb/bin/mariadbd: ready for connections.
      Version: '10.6.4-MariaDB'  socket: '/tmp/mysql.sock'  port: 3306  Homebrew
      

      • Defaults:

      ❯ mysqld --print-defaults
      mysqld would have been started with the following arguments:
       
      
      

      As such, I believe that https://mariadb.com/kb/en/reserved-words/ is incorrect.

      Attachments

        Activity

          People

            greenman Ian Gilfillan
            kkirsche Kevin Kirsche
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.