Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

ScriptDom parser for Sql Server 2022 fails to parse exec variable with version

Offen
#27 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Veraltet
Tech-Stack
csharp, sql
Bereich
compilers, databases

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

bug
  • 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:

  1. Create a new C# Console Project
  2. Add latest Nuget package for Microsoft.SqlServer.DacFx (161.6367.0-preview)
  3. 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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus microsoft/SqlScriptDOM

Alle Issues in microsoft/SqlScriptDOM

Ähnliche Issues

Weitere Issues zu Compilers

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.