Skip to content

MariaDB support #32

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
20 of 54 tasks
nene opened this issue Mar 5, 2023 · 0 comments
Open
20 of 54 tasks

MariaDB support #32

nene opened this issue Mar 5, 2023 · 0 comments

Comments

@nene
Copy link
Owner

nene commented Mar 5, 2023

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
@nene nene mentioned this issue Jan 15, 2024
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant