apache / apache/datafusion-sqlparser-rs
Parameterized queries
- 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