apache / apache/datafusion-sqlparser-rs
docs: ColumnOption::ForeignKey docs have wrong SQL syntax
- Langage dominant
- Rust
- Étoiles
- 3.5k
- Forks
- 772
- Merge moyen
- 4 j 9 h
- PR mergées (30 j)
- 17
Description
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.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Ouvrez la page docs.rs liée et localisez la documentation de ColumnOption::ForeignKey dans le code source du dépôt. Vérifiez la syntaxe des contraintes de colonne par rapport aux exemples de l’issue, puis corrigez la description de la syntaxe et placez le grand littéral de syntaxe dans son propre paragraphe. Le travail est terminé lorsque la documentation générée décrit une syntaxe de colonne valide sans le préfixe FOREIGN KEY de la contrainte de table.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- documentation
- Type d'issue
- Documentation
- Difficulté
- 1/5
- Temps estimé
- Moins d'une heure
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 72/100