apache / apache/datafusion-sqlparser-rs
Duplicate column in CREATE TABLE statement
オープン
- 主要言語
- Rust
- スター
- 3.5k
- フォーク
- 772
- 平均マージ
- 4日 9時間
- マージ済み PR(30日)
- 17
説明
SQLite raises a parser error with the following DDL:
```sh
sqlite> CREATE TABLE test (
...> x TEXT,
...> x TEXT
...> );
Parse error: duplicate column name: x
```
But `sqlparser` doesn't:
```sh
% cargo run --example cli ddl.sql --sqlite
...
Round-trip:
'CREATE TABLE test (x TEXT, x TEXT)'
Parse results:
[
CreateTable {
...
```
Is this kind of checks considered out of scope ?
Thanks.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
SQLite の DDL と `cargo run --example cli ddl.sql --sqlite` コマンドを使って、この相違を再現します。まず CREATE TABLE 文がどのようにパースされるかを追跡し、次に重複するカラム名を拒否すべきかどうかを判断します。この入力に対する parser の動作が決定され、一貫してカバーされていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust, sql
- 領域
- databases
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100