apache / apache/datafusion-sqlparser-rs

docs: ColumnOption::ForeignKey docs have wrong SQL syntax

オープン 初心者向け
#1,761 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。