docs: ColumnOption::ForeignKey docs have wrong SQL syntax
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 1/5
- Geschätzter Aufwand
- Unter einer Stunde
- Anfängerfreundlichkeit
- 72/100
- Issue-Typ
- Dokumentation
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- rust
- Bereich
- documentation
Rechercherichtung
Öffne die verlinkte docs.rs-Seite und finde die Dokumentation zu ColumnOption::ForeignKey im Repository-Quelltext. Überprüfe die Syntax für Spalten-Constraints anhand der Beispiele im Issue, korrigiere anschließend die Syntaxbeschreibung und platziere das große Syntaxliteral in einem eigenen Absatz. Die Aufgabe ist erledigt, wenn die generierte Dokumentation eine gültige Spaltensyntax ohne das Präfix FOREIGN KEY für Tabellen-Constraints beschreibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
https://docs.rs/sqlparser/0.55.0/sqlparser/ast/enum.ColumnOption.html#variant.ForeignKey
says
A referential integrity constraint (
[FOREIGN KEY REFERENCES <foreign_table> (<referred_columns>) { [ON DELETE <referential_action>] [ON UPDATE <referential_action>] | [ON UPDATE <referential_action>] [ON DELETE <referential_action>] } [<constraint_characteristics>]).
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:
-- wrong
CREATE TABLE myschema.mytable (
mycolumn BIGINT NOT NULL,
PRIMARY KEY(mycolumn),
bar BIGINT FOREIGN KEY REFERENCES foo (bar));
This does:
-- 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.
- Vorherrschende Sprache
- Rust
- Sterne
- 3.5k
- Forks
- 774
- Ø Merge
- 3 T. 10 Std.
- Gemergte PRs (30 T.)
- 15
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus apache/datafusion-sqlparser-rs
-
Schwierigkeit 2/5 1-2 Tage Anfängerfreundlichkeit 72/100
apache/datafusion-sqlparser-rs#2495 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
apache/datafusion-sqlparser-rs#2461 · 2 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
apache/datafusion-sqlparser-rs#2407 ·
-
Add SQL/PGQ keywords Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
apache/datafusion-sqlparser-rs#2393 ·
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
apache/datafusion-sqlparser-rs#2390 · 1 Kommentar ·
Alle Issues in apache/datafusion-sqlparser-rs
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
gitbutlerapp/gitbutler#15998 · 1 Kommentar ·
-
bug triage:deciding
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
open-telemetry/otel-arrow#4132 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100