PostgreSQL: Support `PRIMARY KEY USING INDEX` syntax in `ALTER TABLE`
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 55/100
調査の方向性
まず、Rust SQLパーサーでALTER TABLEの文法とテーブル制約の処理を見つけます。このissueのPostgreSQLの例をパース入力として使用し、次にPRIMARY KEY USING INDEXのカバレッジを追加して、カラムリストを要求せずに文がパースされることを確認します。
索引モデルが issue の本文から書いたものです。
説明
The parser fails to parse the PostgreSQL-specific PRIMARY KEY USING INDEX index_name syntax in ALTER TABLE statements:
ALTER TABLE version_downloads
ADD CONSTRAINT version_downloads_pkey PRIMARY KEY USING INDEX version_downloads_unique;
Expected: a list of columns in parentheses, found: INDEX
Expected behavior
This is valid PostgreSQL syntax per the ALTER TABLE documentation. The grammar allows:
ADD table_constraint_using_index
Where table_constraint_using_index can be:
[ CONSTRAINT constraint_name ]
{ UNIQUE | PRIMARY KEY } USING INDEX index_name
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
Note that PRIMARY KEY USING INDEX index_name is a distinct form that does not require a column list - it promotes an existing unique index to be the primary key constraint.
- 主要言語
- Rust
- スター
- 3.5k
- フォーク
- 780
- 平均マージ
- 4日 15時間
- マージ済み PR(30日)
- 60
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/datafusion-sqlparser-rs のほかの issue
-
ClickHouse
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/datafusion-sqlparser-rs#2599 ·
メンテナーはふだん 2 日以内に返信
-
ClickHouse
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
apache/datafusion-sqlparser-rs#2597 ·
メンテナーはふだん 2 日以内に返信
-
Hive
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
apache/datafusion-sqlparser-rs#2589 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
apache/datafusion-sqlparser-rs#2461 · コメント 2 件 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
apache/datafusion-sqlparser-rs#2407 ·
メンテナーはふだん 2 日以内に返信
apache/datafusion-sqlparser-rs の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信