Commit graph

189 commits

Author SHA1 Message Date
Michael Victor Zink
a2940fd757 Improve MySQL CREATE TRIGGER parsing
MySQL uses a statement body similar to MSSQL (but without the `AS`
keyword) instead of `EXECUTE` body style used in Postgres and standard
SQL. But unlike MSSQL, MySQL puts the trigger period before the target
table. We add some flags to indicate these differences and allow parsing
and round tripping MySQL triggers. The main benefit is that we can now
handle MySQL triggers which include `BEGIN; ... END;` compound
statements.
2025-08-07 09:45:26 -07:00
Michael Victor Zink
3583514602
MySQL: Support comma-separated CREATE TABLE options (#1989)
Some checks are pending
license / Release Audit Tool (RAT) (push) Waiting to run
Rust / codestyle (push) Waiting to run
Rust / lint (push) Waiting to run
Rust / benchmark-lint (push) Waiting to run
Rust / compile (push) Waiting to run
Rust / docs (push) Waiting to run
Rust / compile-no-std (push) Waiting to run
Rust / test (beta) (push) Waiting to run
Rust / test (nightly) (push) Waiting to run
Rust / test (stable) (push) Waiting to run
2025-08-05 10:30:42 +02:00
Michael Victor Zink
f5f51eb6f1
MySQL: Allow optional SIGNED suffix on integer data types (#1985) 2025-08-01 12:33:43 +02:00
etgarperets
15d8bfea62
Add support for SHOW CHARSET (#1974)
Some checks are pending
license / Release Audit Tool (RAT) (push) Waiting to run
Rust / codestyle (push) Waiting to run
Rust / lint (push) Waiting to run
Rust / benchmark-lint (push) Waiting to run
Rust / compile (push) Waiting to run
Rust / docs (push) Waiting to run
Rust / compile-no-std (push) Waiting to run
Rust / test (beta) (push) Waiting to run
Rust / test (nightly) (push) Waiting to run
Rust / test (stable) (push) Waiting to run
Co-authored-by: Ifeanyi Ubah <ify1992@yahoo.com>
2025-07-29 12:38:07 +02:00
Yoav Cohen
bc2c4e263d
Support optional semicolon between statements (#1937)
Some checks failed
license / Release Audit Tool (RAT) (push) Has been cancelled
Rust / codestyle (push) Has been cancelled
Rust / lint (push) Has been cancelled
Rust / benchmark-lint (push) Has been cancelled
Rust / compile (push) Has been cancelled
Rust / docs (push) Has been cancelled
Rust / compile-no-std (push) Has been cancelled
Rust / test (beta) (push) Has been cancelled
Rust / test (nightly) (push) Has been cancelled
Rust / test (stable) (push) Has been cancelled
2025-07-11 14:46:48 +02:00
Yoav Cohen
ee31b64f9e
Add support for Redshift SELECT * EXCLUDE (#1936)
Some checks are pending
license / Release Audit Tool (RAT) (push) Waiting to run
Rust / benchmark-lint (push) Waiting to run
Rust / compile (push) Waiting to run
Rust / docs (push) Waiting to run
Rust / compile-no-std (push) Waiting to run
Rust / test (beta) (push) Waiting to run
Rust / test (nightly) (push) Waiting to run
Rust / test (stable) (push) Waiting to run
Rust / codestyle (push) Waiting to run
Rust / lint (push) Waiting to run
2025-07-11 11:39:29 +02:00
Yoav Cohen
93450cc250
Add Snowflake COPY/REVOKE CURRENT GRANTS option (#1926)
Some checks failed
license / Release Audit Tool (RAT) (push) Has been cancelled
Rust / codestyle (push) Has been cancelled
Rust / lint (push) Has been cancelled
Rust / benchmark-lint (push) Has been cancelled
Rust / compile (push) Has been cancelled
Rust / docs (push) Has been cancelled
Rust / compile-no-std (push) Has been cancelled
Rust / test (beta) (push) Has been cancelled
Rust / test (nightly) (push) Has been cancelled
Rust / test (stable) (push) Has been cancelled
2025-07-07 17:13:57 +02:00
Yoav Cohen
d2466af20a
Add support for dropping multiple columns in Snowflake (#1918) 2025-07-05 08:18:58 +02:00
Yoav Cohen
be2d2f14e7
Add support for MySQL MEMBER OF (#1917) 2025-07-03 18:22:17 +02:00
Ifeanyi Ubah
5f2b5fe7be
Fix clippy lints on 1.88.0 (#1910) 2025-06-27 14:21:17 -04:00
Michael Victor Zink
5d63663bc6
Use IndexColumn in all index definitions (#1900) 2025-06-24 08:18:03 +02:00
vimko
559b7e36d9
Add support for ALTER TABLE DROP INDEX (#1865)
Some checks are pending
Rust / codestyle (push) Waiting to run
Rust / lint (push) Waiting to run
Rust / benchmark-lint (push) Waiting to run
Rust / compile (push) Waiting to run
Rust / docs (push) Waiting to run
Rust / compile-no-std (push) Waiting to run
Rust / test (beta) (push) Waiting to run
Rust / test (nightly) (push) Waiting to run
Rust / test (stable) (push) Waiting to run
2025-06-10 18:26:07 +02:00
Mohamed Abdeen
de2cc7b502
MySQL: Support index_name in FK constraints (#1871) 2025-06-06 09:03:59 +02:00
Artem Osipov
5327f0ce13
Add ICEBERG keyword support to ALTER TABLE statement (#1869) 2025-06-04 19:49:07 +02:00
Dmitriy Mazurin
80d47eee84
Adds support for mysql's drop index (#1864)
Co-authored-by: Ifeanyi Ubah <ify1992@yahoo.com>
2025-05-30 09:16:36 +02:00
hulk
9159d08c5e
Keep the COLUMN keyword only if it exists when dropping the column (#1862) 2025-05-28 07:09:40 +02:00
Mohamed Abdeen
bf2b72fbe0
Mysql: Add SRID column option (#1852) 2025-05-23 07:09:05 +02:00
Andrew Harper
74a95fdbd1
Add support for DENY statements (#1836) 2025-05-14 09:21:23 +02:00
Andrew Harper
a497358c3a
Add CREATE TRIGGER support for SQL Server (#1810) 2025-05-03 16:59:13 +02:00
benrsatori
728645fb31
Add all missing table options to be handled in any order (#1747)
Co-authored-by: Tomer Shani <tomer.shani@satoricyber.com>
2025-05-02 15:16:59 +02:00
Simon Vandel Sillesen
e5d2215267
Support some of pipe operators (#1759) 2025-05-02 05:13:47 +02:00
tomershaniii
2b5bdcef0b
Snowflake: Add support for CONNECT_BY_ROOT (#1780) 2025-04-29 08:44:19 +02:00
Bruno Clemente
81d8909e00
Fix STRAIGHT_JOIN constraint when table alias is absent (#1812)
Co-authored-by: Ifeanyi Ubah <ify1992@yahoo.com>
2025-04-15 19:05:20 +02:00
Roman Borschel
bbc80d7537
Fix tokenization of qualified identifiers with numeric prefix. (#1803)
Co-authored-by: Roman Borschel <roman@cluvio.com>
2025-04-11 20:58:43 +02:00
Roman Borschel
67c3be075e
Add support for MySQL's STRAIGHT_JOIN join operator. (#1802)
Co-authored-by: Roman Borschel <roman@cluvio.com>
2025-04-10 12:26:13 +02:00
bar sela
62495f2f0d
Mysql: Add support for := operator (#1779) 2025-03-27 22:48:57 +01:00
tomershaniii
53aba68e2d
Support qualified column names in MATCH AGAINST clause (#1774) 2025-03-25 10:13:11 +01:00
Mohamed Abdeen
3a8a3bb7a5
SET statements: scope modifier for multiple assignments (#1772) 2025-03-22 06:38:00 +01:00
Michael Victor Zink
939fbdd4f6
Parse SUBSTR as alias for SUBSTRING (#1769) 2025-03-22 06:34:43 +01:00
Mohamed Abdeen
f487cbe004
Add GLOBAL context/modifier to SET statements (#1767) 2025-03-20 06:52:56 +01:00
Mohamed Abdeen
da5892802f
Add LOCK operation for ALTER TABLE (#1768) 2025-03-18 07:22:37 +01:00
Michael Victor Zink
fb578bb419
Preserve MySQL-style LIMIT <offset>, <limit> syntax (#1765) 2025-03-12 21:24:06 +01:00
Mohamed Abdeen
85f855150f
SET with a list of comma separated assignments (#1757) 2025-03-12 21:02:39 +01:00
Michael Victor Zink
1e54a34acd
Parse MySQL ALTER TABLE DROP FOREIGN KEY syntax (#1762) 2025-03-12 07:34:18 +01:00
Michael Victor Zink
9e09b617e8
Parse SET NAMES syntax in Postgres (#1752) 2025-03-01 07:12:25 +01:00
Michael Victor Zink
a629ddf89b
Ignore escaped LIKE wildcards in MySQL (#1735) 2025-03-01 07:07:39 +01:00
Michael Victor Zink
c2914f82e1
Parse ALTER TABLE AUTO_INCREMENT operation for MySQL (#1748) 2025-02-27 06:40:30 +01:00
Michael Victor Zink
3adc746b11
Parse MySQL ALTER TABLE ALGORITHM option (#1745) 2025-02-26 07:03:38 +01:00
Michael Victor Zink
de4dbc5b1d
Parse SIGNED INTEGER type in MySQL CAST (#1739) 2025-02-26 07:00:08 +01:00
Michael
648efd7057
feat: adjust create and drop trigger for mysql dialect (#1734) 2025-02-25 07:50:29 +01:00
Ophir LOJKINE
c335c8883b
Store spans for Value expressions (#1738) 2025-02-25 07:33:57 +01:00
SiLe Zhou
1f1c0693da
Add support for ORDER BY ALL (#1724) 2025-02-22 06:52:07 +01:00
Michael Victor Zink
97f0be6991
Treat COLLATE like any other column option (#1731) 2025-02-20 06:26:20 +01:00
Armin Ronacher
46cfcfe8f7
Implement FROM-first selects (#1713) 2025-02-09 06:10:58 +01:00
Hans Ott
443f492b4b
Require space after -- to start single line comment in MySQL (#1705) 2025-02-05 20:47:17 +01:00
Yoav Cohen
ec948eaf6e
Add parsing for GRANT ROLE and GRANT DATABASE ROLE in Snowflake dialect (#1689) 2025-02-03 20:17:47 +01:00
Michael Victor Zink
252fdbab82
Allow plain JOIN without turning it into INNER (#1692) 2025-01-30 07:15:57 +01:00
AvivDavid-Satori
f7b0812b01
Add support for mysql table hints (#1675) 2025-01-28 09:41:03 +01:00
Ayman Elkfrawy
211b15e790
Enhance object name path segments (#1539) 2025-01-26 15:13:51 +01:00
Alexander Beedie
e9498d538a
Add support for IS [NOT] [form] NORMALIZED (#1655)
Co-authored-by: Alexander Beedie <alexander.beedie@adia.ae>
2025-01-17 10:59:47 +01:00