Feature request: Expose original source text for TSqlFragment (Debugger & API usability)
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
Hướng nghiên cứu
Bắt đầu với API TSqlFragment và các thành viên hiện có FirstTokenIndex, LastTokenIndex, ScriptTokenStream, StartOffset và FragmentLength. Xem lại cách các fragment biểu diễn phạm vi nguồn của chúng và xác định hành vi dự kiến của văn bản được cung cấp, bao gồm khả năng sử dụng khi debug và đối với các consumer. Hoàn thành khi một fragment có thể cung cấp văn bản nguồn ban đầu của nó mà không yêu cầu từng consumer phải tự xây dựng lại thủ công, với phần coverage tương ứng ở những nơi repository hỗ trợ test.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
Working with Microsoft.SqlServer.TransactSql.ScriptDom is unnecessarily hard in practice,
especially during debugging.
TSqlFragment objects do not expose the original source text they represent.
Instead, consumers must manually reconstruct the SQL text via:
FirstTokenIndex / LastTokenIndexScriptTokenStream- or
StartOffset / FragmentLength
This makes debugging extremely cumbersome:
in Visual Studio, inspecting a fragment does not show the SQL code,
only a large object graph with token indices.
This significantly affects developer productivity and discoverability of the AST.
Current workaround (non-trivial)
Every consumer needs to implement helper code such as:
extension(TSqlFragment node)
{
public string SourcePart => string.Join("",
node
.ScriptTokenStream
.Skip(node.FirstTokenIndex)
.Take(node.LastTokenIndex - node.FirstTokenIndex + 1)
.Select(i => i.Text)
);
}
- 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
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của microsoft/SqlScriptDOM
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
microsoft/SqlScriptDOM#228 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
microsoft/SqlScriptDOM#183 ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 56/100
microsoft/SqlScriptDOM#226 · 1 reaction ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
microsoft/SqlScriptDOM#225 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 58/100
microsoft/SqlScriptDOM#224 ·
Tất cả issue của microsoft/SqlScriptDOM
Issue tương tự
-
Area: Excel support
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
orbeon/orbeon-forms#7893 ·
-
essnmx good first issue
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 95/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
yeti-platform/yeti#1380 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
modelcontextprotocol/python-sdk#3566 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
griptape-ai/griptape#2353 ·