apache / apache/datafusion-sqlparser-rs

CTE FROM Statement should be of type ObjectName or TableFactor

Offen
#853 1 Kommentar 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

First of all, thanks for this awesome package!

While parsing the AST, I came Across Cte's FROM Statement:
https://github.com/sqlparser-rs/sqlparser-rs/blob/6b2b3f1f6c903bddc87ba0858b5ccdb94c5e2242/src/ast/query.rs#L337-L341

This renders as WITH ... AS ... FROM ...
While I am not sure which Database actually supports this syntax, I expected FROM to be an `ObjectName` or `TableFactor`, so basically a `Vec` instead of a single `Ident`.

I am not 100% sure this is actually a bug as I don't know which Database supports this syntax. It feels wrong though for this FROM to behave so differently.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginnen Sie in src/ast/query.rs bei der CTE-Definition um die Zeilen 337–341 und untersuchen Sie, wie das FROM-Feld in den umgebenden AST-Typen dargestellt wird. Prüfen Sie, welche SQL-Dialekte diese Form unterstützen, und vergleichen Sie sie mit der Verwendung von ObjectName und TableFactor an anderer Stelle. Erledigt ist die Aufgabe, wenn die erwartete CTE-FROM-Syntax eine konsistente, validierte AST-Darstellung hat.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

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

Neue Issues direkt in Ihr Postfach

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