ScriptDom parses table-level constraint after the last column as column-level constraint if not preceded by comma separator
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
Direzione di ricerca
Inizia riproducendo l’istruzione CREATE TABLE fornita con ScriptDom version 161.8919.0 a compatibility level 150, quindi esamina come l’AST classifica la PRIMARY KEY constraint. Il lavoro è completato quando la constraint è rappresentata come table-level constraint su bar e far invece che come column-level constraint collegata a zar.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In this code sample:
CREATE TABLE dbo.foo
(
bar INT NOT NULL DEFAULT 0
, far VARCHAR(100) NOT NULL
, zar DATE PRIMARY KEY (bar, far)
)
comma separator is missing before PRIMARY KEY constraint declaration. And ScriptDom parses it as a column-level constraint linked to zar column which is wrong. Note, in such case column-level constraint has columns property with different columns listed. It should be parsed as table level constraint.
The syntax brings some ambiguity however it is completely valid. For created table sp_help shows no constraint for column zar and shows table-level unnamed PRIMARY KEY constraint on bar and far columns:
While developing rules for our custom T-SQL linter with columns declared as inline primary key involved, I have to double check if the inline PK is actually related to analyzed column. It would be great if such table-level constraints were parsed exactly as table-level constraints, not column-level.
ScriptDom version: 161.8919.0
Compatibility level used for parsing: 150
- Lingua principale
- GAP
- Stelle
- 277
- Fork
- 43
- Merge medio
- 6g 17h
- PR unite (30g)
- 3
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/SqlScriptDOM
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
microsoft/SqlScriptDOM#228 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
microsoft/SqlScriptDOM#183 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
microsoft/SqlScriptDOM#226 · 1 reazione ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
microsoft/SqlScriptDOM#225 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
microsoft/SqlScriptDOM#224 ·
Tutte le issue di microsoft/SqlScriptDOM
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
objectionary/jeo-maven-plugin#1774 ·
-
compiler/runtime
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
leanprover/lean4#15255 ·
-
bot-triaged module: correctness (silent) module: fx release triage triage review
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
Grammar Gap: activated › effect clause › {self} deals damage equal to its power to target creature Apertaarea:mechanics ready-for-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
fil-donadoni/tolaria#4317 ·