ScriptDom parser for Sql Server 2022 fails to parse exec variable with version
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 45/100
Rechercherichtung
Beginne mit dem Einstiegspunkt TSql160Parser und führe die drei CREATE PROCEDURE-Beispiele aus dem Issue in einem .NET 6-Konsolenprojekt mit Microsoft.SqlServer.DacFx 161.6367.0-preview aus. Vergleiche das Parsen von EXEC @ProcName mit und ohne ;2 und verfolge anschließend den Parserpfad für die Variablenform. Als abgeschlossen gilt die Untersuchung, wenn das letzte Beispiel ohne einen Fehler nahe dem Semikolon geparst wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
- SqlPackage or DacFx Version: 161.6367.0-preview
- .NET Framework (Windows-only) or .NET Core: .Net 6.0
- Environment (local platform and source/target platforms): N/A
Steps to Reproduce:
- Create a new C# Console Project
- Add latest Nuget package for Microsoft.SqlServer.DacFx (161.6367.0-preview)
- Run code below
using Microsoft.SqlServer.TransactSql.ScriptDom;
var parser = new TSql160Parser(true); // Sql server 2022 parser
IList<ParseError> errors;
parser.Parse(new StringReader("CREATE PROCEDURE Proc1 AS EXEC ProcName;2"), out errors);
// No parsing errors
parser.Parse(new StringReader("CREATE PROCEDURE Proc1 AS DECLARE @ProcName SYSNAME = 'Proc2' EXEC @ProcName"), out errors);
// No parsing errors
parser.Parse(new StringReader("CREATE PROCEDURE Proc1 AS DECLARE @ProcName SYSNAME = 'Proc2' EXEC @ProcName;2"), out errors);
// Parsing error! "Incorrect syntax near ;." This should parse succesfully
Did this occur in prior versions? If not - which version(s) did it work in?
Not work in all prior versions.
(DacFx/SqlPackage/SSMS/Azure Data Studio)
- Vorherrschende Sprache
- GAP
- Sterne
- 277
- Forks
- 43
- Ø Merge
- 6 T. 17 Std.
- Gemergte PRs (30 T.)
- 3
Beitragsleitfaden
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 microsoft/SqlScriptDOM
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
microsoft/SqlScriptDOM#228 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
microsoft/SqlScriptDOM#183 ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 56/100
microsoft/SqlScriptDOM#226 · 1 Reaktion ·
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
microsoft/SqlScriptDOM#225 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 58/100
microsoft/SqlScriptDOM#224 ·
Alle Issues in microsoft/SqlScriptDOM
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
objectionary/eo#8923 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
Coarray integration tests carry no LABELS, so run_tests.py silently skips them under every backend Offencoarray
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
-
internal.h中,漏掉了1个定义。 Offen
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 95/100