apache / apache/datafusion-sqlparser-rs
Parameterized queries
- 主要語言
- Rust
- 星號
- 3.5k
- 分支
- 772
- 平均合併
- 4 天 9 小時
- 30 天內合併 PR
- 17
描述
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: ?")',_
貢獻指南
這個儲存庫沒有索引到貢獻指南
研究方向
首先,使用 issue 中所示的參數化查詢,透過搭配 SQLiteDialect 的 Parser::parse_sql 重現此失敗。閱讀 parser 在 `?` token 附近的運算式處理,並檢視留言串以了解預期的參數表示方式。當受支援的 dialect 行為獲得釐清或實作,且此查詢有 regression test 覆蓋時,即視為完成。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- rust, sql
- 領域
- compilers, databases
- Issue 類型
- 功能
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 35/100