Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#27 2 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
45/100
Loại issue
Lỗi
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
csharp, sql
Lĩnh vực
compilers, databases

Hướng nghiên cứu

Bắt đầu với entry point TSql160Parser và chạy ba ví dụ CREATE PROCEDURE từ issue trong một dự án console .NET 6 sử dụng Microsoft.SqlServer.DacFx 161.6367.0-preview. So sánh việc parsing EXEC @ProcName có và không có ;2, sau đó lần theo parser path cho dạng biến. Hoàn tất khi ví dụ cuối cùng được parse mà không có lỗi gần dấu chấm phẩy.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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)

Ngôn ngữ chính
GAP
Star
277
Fork
43
Merge trung bình
6 ngày 17 giờ
Pull request đã merge (30 ngày)
3

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/SqlScriptDOM

Tất cả issue của microsoft/SqlScriptDOM

Issue tương tự

Thêm issue về Compilers

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.