API to parse/split GO statements into batches
還沒有人認領這個 Issue。
評估
研究方向
首先查看 issue 中描述的 Microsoft.SqlServer.Management.Common.ExecuteBatch 和 GetStatements 的現有用法,以及 issue 4 中連結的討論。定義用於將 T-SQL 分割為批次的受支援公開 API,包括 GO 20、註解和多行字串,然後驗證其結果是否符合預期的 SQL Management Studio 行為。
由索引模型根據 Issue 內容生成。
描述
Per comment on another issue I am opening this to ask for an API in similar effect to this wrapped function:
/// <summary>
/// Split/Parse a TSQL string into batches by the "GO" statement.
/// Mirrors SQL Management Studio's parsing (because it is the same)
/// </summary>
public static List<string> ParseSQLBatches(string tsql)
{
var batchParser = new Microsoft.SqlServer.Management.Common.ExecuteBatch();
var ret = batchParser.GetStatements(tsql);
return ret.Cast<string>().ToList();
}
The reasoning behind this is that we have scripts written by us for schema/data migrations that commonly utilize GO statements in many ways. We can't easily rely on a simplified "Split on bare GO statements outside of comments" due to sometimes having GO 20 or other such fun things, or multi-line strings etc that might have GO in them for unrelated reasons. Although we could write a parser, that SMO provided one that out of the box (as far as we noticed) was identical to SSMS's was very convenient for us. It seems that this exposed class/api that we were relying on was an implementation detail/surface that is going away in an upcoming release. So the ask here is to facilitate at least this minimal API of "given TSQL string, here it is split-and-duplicated-etc into individual batches".
- 主要語言
- C#
- 星號
- 143
- 分支
- 28
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
microsoft/sqlmanagementobjects 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 62/100
-
難度 3/5 1-2 天 新手友好度 72/100
-
難度 4/5 3-5 天 新手友好度 74/100
-
難度 3/5 1-2 天 新手友好度 78/100
-
難度 3/5 1-2 天 新手友好度 68/100
查看 microsoft/sqlmanagementobjects 的全部 Issue
相似的 Issue
-
untriaged
難度 1/5 1 小時以內 新手友好度 88/100
dotnet/dotnet-api-docs#13095 ·
-
area-deployment area-integrations triage:bot-seen
難度 2/5 半天 新手友好度 86/100
-
type/automation type/tech-debt
難度 2/5 1-3 小時 新手友好度 84/100
-
bug
難度 1/5 1 小時以內 新手友好度 90/100
newrelic/newrelic-dotnet-agent#3850 · 1 則留言 ·
-
難度 2/5 1-3 小時 新手友好度 88/100
LuckyPennySoftware/AutoMapper#4660 ·