refactor(dedup): redundant Snowflake override + shared Insert regex helper
Two follow-ups to the prior dedup pass: - **Delete `Snowflake.UpdateBreakdown.GetSqlBreakdown`**: it was a byte-for-byte copy of the SqlServer base's `GetSqlBreakdown` (modulo one explanatory comment). Snowflake's UPDATE syntax — including the FROM clause — is identical at the formatter level, so the override was pure inheritance noise. Now inherits. - **Extract `ParsePreparation.TryMatchInsertSql`**: the regex match + group extraction + failure message at the end of `SqlServer.InsertBreakdown.TryParse` and `Snowflake.InsertBreakdown.TryParse` was duplicated. Hoist the shared piece next to `TryRunPrelude` on `ParsePreparation`. Both callers continue to construct their own `InsertBreakdown` instance (the constructor signatures differ slightly between dialects). All 1180 tests stay green. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
99e15725e7
commit
507620cc04
@@ -44,35 +44,8 @@ public class UpdateBreakdown : SqlServerUpdateBreakdown
|
||||
WhereClause.Comment = whereComments.Count > 0 ? string.Join(" ", whereComments) : null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the SQL breakdown as a string for Snowflake.
|
||||
/// </summary>
|
||||
/// <returns>The UPDATE SQL statement.</returns>
|
||||
protected override string GetSqlBreakdown()
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
sb.AppendLine("UPDATE ");
|
||||
sb.AppendLine($" {TableName.Clause}");
|
||||
|
||||
sb.AppendLine("SET ");
|
||||
sb.AppendLine($" {SetClause.Clause}");
|
||||
|
||||
if (IsUsingFromClause)
|
||||
{
|
||||
// Snowflake supports FROM clause in UPDATE
|
||||
sb.AppendLine("FROM ");
|
||||
sb.AppendLine($" {FromClause.Clause}");
|
||||
}
|
||||
|
||||
if (IsUsingWhereClause)
|
||||
{
|
||||
sb.AppendLine("WHERE ");
|
||||
sb.AppendLine($" {WhereClause.Clause}");
|
||||
}
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
// GetSqlBreakdown() inherited from SqlServer.UpdateBreakdown — Snowflake's UPDATE syntax
|
||||
// (including the optional FROM clause) is identical at the formatter level, so no override needed.
|
||||
|
||||
#region Parse Methods
|
||||
|
||||
|
||||
Reference in New Issue
Block a user