apache / apache/datafusion-sqlparser-rs

Failed to parse Mysql CHARACTER SET with COLLATE clause

Offen
#1,544 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Rust
Sterne
3.5k
Forks
772
Ø Merge
4 T. 9 Std.
Gemergte PRs (30 T.)
17

Beschreibung

When using SQLParser, the following ALTER TABLE statement fails to parse:
ALTER TABLE `test`.`test` MODIFY COLUMN `v` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL AFTER `id`,DROP PRIMARY KEY,ADD PRIMARY KEY (`id`, `v`) USING BTREE
The issue seems to be related to the presence of the COLLATE latin1_swedish_ci clause. If the COLLATE clause is removed, the statement parses successfully.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, die gemeldete ALTER TABLE-Anweisung mit SQLParser zu reproduzieren, und vergleiche sie mit der Version, die die COLLATE-Klausel auslässt. Die Arbeit ist abgeschlossen, wenn die vollständige MySQL-Anweisung einschließlich CHARACTER SET und COLLATE erfolgreich geparst wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust, sql
Bereich
databases
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.