apache / apache/datafusion-sqlparser-rs

Misleading error message

Offen
#796 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

```sql
select
1
from (
select
f(interval '1 hour')
from t
where time > 2023-01-03T00:00:00Z
)
```

which misses the quotes around `2023-01-03T00:00:00Z` gives:

```text
Error during parsing: ParserError("Expected ), found: '1 hour'")
```

but should probably point somewhere at `time > 2023-01-03T00:00:00Z`.

Note that the reproducer requires the outer select query, otherwise we get an actually useful error:

```text
Error during parsing: ParserError("Expected end of statement, found: T00")
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, den SQL-Reproduzierer auszuführen, und vergleiche den Parserfehler der verschachtelten Abfrage mit dem nützlichen Fehler der einfacheren Abfrage. Verfolge den Parser-Einstiegspunkt für den verschachtelten SELECT und den ungültigen timestamp-Vergleich; abgeschlossen ist die Arbeit, wenn die gemeldete Position die fehlenden Anführungszeichen identifiziert, ohne die einfachere Diagnose zu beeinträchtigen.

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

Neue Issues direkt in Ihr Postfach

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