apache / apache/datafusion-sqlparser-rs
Parser fails when using alias named "TOP" in SELECT statement
- Vorherrschende Sprache
- Rust
- Sterne
- 3.5k
- Forks
- 772
- Ø Merge
- 4 T. 9 Std.
- Gemergte PRs (30 T.)
- 17
Beschreibung
Reproducer: Using datafusion-cli https://github.com/apache/datafusion/tree/main/datafusion-cli compiled from hash 5bbdb7eb1
```
> WITH t AS (SELECT 1 AS val) SELECT tt.val FROM t AS tt;
+-----+
| val |
+-----+
| 1 |
+-----+
1 row(s) fetched.
Elapsed 0.050 seconds.
> WITH t AS (SELECT 1 AS val) SELECT top.val FROM t AS top; 🤔 Invalid statement: SQL error: ParserError("Expected: literal int, found: . at Line: 1, Column: 39")
```
Found by SQLStorm https://github.com/apache/datafusion/issues/17698
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Reproduziere den Fehler mit datafusion-cli, das aus dem Hash 5bbdb7eb1 erstellt wurde, und vergleiche den funktionierenden Alias tt mit dem fehlschlagenden Alias top. Verfolge die Verarbeitung von TOP in SELECT-Aliasen durch den SQL-Parser und überprüfe, dass die Abfrage mit top.val geparst wird und die erwartete Zeile zurückgibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust, sql
- Bereich
- compilers
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 50/100