apache / apache/datafusion-sqlparser-rs

Parameterized queries

Offen
#291 11 Kommentare 3 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

This fails to parse, but it can be successfully executed by SQLite (after providing a value for the parameter):

```
#[test]
fn go() {
use sqlparser::dialect::SQLiteDialect;
use sqlparser::parser::Parser;

let sql = "select * from test_table where test_column = ?;";

let dialect = SQLiteDialect {}; // or AnsiDialect, or your own dialect ...

let ast = Parser::parse_sql(&dialect, sql).unwrap();

println!("AST: {:#?}", ast);
}
```

Any idea why I get this error message?:

_called `Result::unwrap()` on an `Err` value: ParserError("Expected an expression, found: ?")
thread 'dynamic_queries::go' panicked at 'called `Result::unwrap()` on an `Err` value: ParserError("Expected an expression, found: ?")',_

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, den Fehler über Parser::parse_sql mit SQLiteDialect und der in der Issue gezeigten parametrisierten Abfrage zu reproduzieren. Lies die Ausdrucksverarbeitung des Parsers rund um das `?`-Token und sieh dir den Kommentarverlauf zur vorgesehenen Parameterdarstellung an. Als abgeschlossen gilt die Aufgabe, wenn das Verhalten des unterstützten Dialekts geklärt oder implementiert und durch einen Regressionstest für diese Abfrage abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
rust, sql
Bereich
compilers, databases
Issue-Typ
Feature
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

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