Should `DELETE + LIMIT` be supported by the generic dialect ?
Maintainer antworten meist innerhalb von 2 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 68/100
Rechercherichtung
Beginne in src/parser.rs beim Pfad des DELETE-Statement-Parsing und finde, wo das optionale LIMIT/OFFSET nach einem delete-Ziel verbraucht wird; prüfe, wie andere Konstrukte das Verhalten über MySqlDialect vs. GenericDialect steuern (suche nach vorhandenen Dialektprüfungen und Helfermethoden auf Dialect). Füge Tests im Verzeichnis tests/ hinzu (z. B. die MySQL- und generischen Dialekt-Testdateien), die behaupten, dass DELETE FROM t LIMIT 10 unter MySQL geparst wird, aber vom generischen Dialekt abgelehnt wird, und führe dann cargo test aus. Fertig bedeutet, dass der generische Dialekt DELETE+LIMIT fehlerhaft meldet, während sich das Verhalten von MySQL/MariaDB nicht ändert.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hello!
At https://github.com/apache/datafusion/issues/24998 we were investigating a problem that DELETE FROM tableX LIMIT 10 was actually ignoring the limit and deleting all records.
It seems only MySQL/MariaDB supports LIMIT in DELETE clause. All other major DBs cannot parse it.
For example:
Postgres:
postgres=# DELETE FROM t3 LIMIT 2;
ERROR: syntax error at or near "LIMIT"
LINE 1: DELETE FROM t3 LIMIT 2;
^
DuckDB:
memory D DELETE FROM t3 LIMIT 2;
Parser Error:
syntax error at or near "LIMIT"
LINE 1: DELETE FROM t3 LIMIT 2;
^
Should sqlparser-rs disable DELETE+LIMIT for all but the MySQL dialect ?
- Vorherrschende Sprache
- Rust
- Sterne
- 3.5k
- Forks
- 786
- Ø Merge
- 4 T. 6 Std.
- Gemergte PRs (30 T.)
- 56
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Kein Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/datafusion-sqlparser-rs
-
ClickHouse
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
apache/datafusion-sqlparser-rs#2599 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
ClickHouse: Support `GLOBAL IN` / `GLOBAL NOT IN`Evtl. vergeben @s5dsn-eqee hat das vor 12 Tagen übernommen. OffenClickHouse
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
apache/datafusion-sqlparser-rs#2597 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
HIVE: Round trip fails for field access on a numeric-prefix identifierEvtl. vergeben @efegokdemir hat das vor 16 Tagen übernommen. OffenHive
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
apache/datafusion-sqlparser-rs#2589 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
apache/datafusion-sqlparser-rs#2461 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 2 Tagen
-
PostgreSQL 18 generated virtual columns require STOREDEvtl. vergeben @ting-hong-shieh hat das vor 56 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
apache/datafusion-sqlparser-rs#2407 ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in apache/datafusion-sqlparser-rs
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
swc-project/swc#12516 ·
Maintainer antworten meist innerhalb von 1 Tag
-
mls-rs-crypto-awslc: exact aws-lc-rs =1.16.3 pin blocks rustls security updateEvtl. vergeben @muscariello hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
[work-item] adam-adae-worsening-emergence: conform spec.yaml to the specification style contract (REQ-1280)Evtl. vergeben @muse-yamaa-bot hat das heute übernommen. Offenwork-item
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
Possible memory leak: message iterators from pactffi_pact_handle_get_*message_iter are never deletedOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
pact-foundation/pact-go#652 ·
Maintainer antworten meist innerhalb von 1 Tag