Skip to content

MariaDB support #32

Open
Open
@nene

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

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