apache / apache/datafusion-sqlparser-rs

Cannot parse `select 1 in ()`

Offen
#1,525 3 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

I'm not sure if this should parse, Postgres for example also fails, but if possible it would be nice if this at least parsed if not executed correctly.

I tested this in datafusion-cli, but originally found it using Rust:

```
> SELECT 1 in (); 🤔 Invalid statement: sql parser error: Expected: an expression:, found: )
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, `SELECT 1 in ();` in datafusion-cli zu reproduzieren, und untersuche den Einstiegspunkt des SQL-Parsers, der den Fehler für den erwarteten Ausdruck meldet. Bestätige die vorgesehene Behandlung einer leeren IN-Liste und füge anschließend Abdeckung für das gewählte Parsing-Verhalten hinzu; abgeschlossen ist die Aufgabe, wenn Parser-Test und CLI-Verhalten mit dieser Entscheidung übereinstimmen.

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
35/100

Neue Issues direkt in Ihr Postfach

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