apache / apache/datafusion-sqlparser-rs
docs: ColumnOption::ForeignKey docs have wrong SQL syntax
- 主要言語
- Rust
- スター
- 3.5k
- フォーク
- 772
- 平均マージ
- 4日 9時間
- マージ済み PR(30日)
- 17
説明
https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.ColumnOption.html#variant.ForeignKey
says
> A referential integrity constraint (`[FOREIGN KEY REFERENCES () { [ON DELETE ] [ON UPDATE ] | [ON UPDATE ] [ON DELETE ] } []`).
I believe the `FOREIGN KEY (name) REFERENCES` syntax is only for table constraints. That's why it has to say which source columns it talks about!
I believe the syntax for column constraints is just `col_name REFERENCES othertable (othercolumn)`.
As far as I can tell, the sqlparser-rs is already correct. For example, this won't parse:
```sql
-- wrong
CREATE TABLE myschema.mytable (
mycolumn BIGINT NOT NULL,
PRIMARY KEY(mycolumn),
bar BIGINT FOREIGN KEY REFERENCES foo (bar));
```
This does:
```sql
-- good
CREATE TABLE myschema.mytable (
mycolumn BIGINT NOT NULL,
PRIMARY KEY(mycolumn),
bar BIGINT REFERENCES foo (bar));
```
While we're at it, that big syntax literal should live in its own paragraph.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
調査の方向性
リンク先のdocs.rsページを開き、リポジトリのソース内でColumnOption::ForeignKeyのドキュメントを見つけてください。issueの例と照らし合わせてカラム制約の構文を確認し、その後、構文の説明を修正して、大きな構文リテラルを独立した段落に配置してください。生成されたドキュメントが、テーブル制約のプレフィックスであるFOREIGN KEYなしで有効なカラム構文を記述していれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust
- 領域
- documentation
- issue の種類
- ドキュメント
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 活発さ
- 停滞
- 明瞭さ
- 明確に書かれている
- 初心者へのやさしさ
- 72/100