Skip to content

MariaDB support #32

Description

@nene

Most of MariaDB syntax is the same as MySQL. This issue lists only the differences.

Expressions

  • No JSON operators (->, ->>)
  • No MEMBER OF operator

Query syntax

  • SQL_CACHE modifier
  • No WITH ROLLUP in ORDER BY
  • Limiting:
    • ROWS EXAMINED rows_limit
    • OFFSET start {ROW ROWS}
    • FETCH { FIRST | NEXT } [ count ] { ROW | ROWS } { ONLY | WITH TIES }
  • PROCEDURE clause
  • No FOR SHARE (only FOR UPDATE)
  • LOCK IN SHARE MODE with lock_option parameter (I've found no examples of this lock_option being used).
  • FROM clause:
    • No ODBC { OJ } syntax
    • No LATERAL
    • No NATURAL INNER JOIN
    • FOR SYSTEM_TIME specification (combined with PARTITION)
  • MINUS {ALL | DISTINCT} in addition to UNION etc.

Statements

  • DELETE
    • FOR PORTION OF period FROM _ TO _
    • RETURNING clause
    • DELETE HISTORY
    • No WITH clause
  • UPDATE
    • FOR PORTION OF period FROM _ TO _
    • No WITH clause
    • PARTITION (..) clause
  • INSERT
    • RETURNING clause

DDL Statements

  • CREATE TABLE
    • CONSTRAINT [name] can only be used with CHECK(), PRIMARY KEY, FOREIGN KEY, UNIQUE.
    • no support for [NOT] ENFORCED modifier on CHECK() (or any other) constraint.
  • RENAME TABLE
    • TABLE[S]
    • IF EXISTS
    • WAIT n | NOWAIT
  • DROP TABLE
    • WAIT n | NOWAIT
  • ALTER TABLE
    • ALTER [ONLINE] [IGNORE] TABLE
    • IF EXISTS
    • WAIT n | NOWAIT
    • alter actions:
      • no RENAME [AS], only RENAME [TO]
      • ADD [COLUMN] [IF NOT EXISTS]
      • ADD [CONSTRAINT [symbol]] FOREIGN KEY [IF NOT EXISTS] ...
      • DROP CONSTRAINT IF EXISTS
      • no ALTER CONSTRAINT
      • no DROP CHECK
      • no ALTER COLUMN SET {VISIBLE | INVISIBLE}
  • CREATE VIEW
    • DEFINER = user | CURRENT_USER | role | CURRENT_ROLE
    • IF NOT EXISTS
  • ALTER VIEW
    • DEFINER = user | CURRENT_USER

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions