diff --git a/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs b/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs index 1f2d208..c96f31b 100644 --- a/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs +++ b/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs @@ -185,33 +185,13 @@ public class LinqQueryBreakdown : QueryBreakdown /// Gets a LINQ to SQL query of the specified type based on this breakdown. /// /// The entity type for the query. - /// An IQueryable of the specified type reconstructed from the breakdown; an empty queryable if the type doesn't match the original entity type or the original data source isn't available. + /// An empty queryable. Breakdown analysis is one-way; reconstruction requires the original provider, which is not preserved. /// - /// This method attempts to reconstruct a LINQ query from the analyzed components (WHERE, ORDER BY, etc.). - /// If a data source (IQueryable) is available in the breakdown's OriginalExpression, it will be used. - /// Otherwise, returns an empty queryable — breakdown analysis is one-way; reconstruction requires the original provider. + /// Always returns an empty queryable today. A future version may reconstruct the LINQ query from + /// when the provider is available; until then callers receive an + /// empty result rather than a null reference. /// - public override IQueryable GetQuery() where T : class - { - if (OriginalExpression == null) - { - return GetEmptyQueryable(); - } - - try - { - if (OriginalExpression is Expression && EntityType == typeof(T)) - { - return GetEmptyQueryable(); - } - - return GetEmptyQueryable(); - } - catch - { - return GetEmptyQueryable(); - } - } + public override IQueryable GetQuery() where T : class => GetEmptyQueryable(); /// /// Get and empty queryable of T diff --git a/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs b/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs index 773f3f7..fd5ba06 100644 --- a/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs +++ b/src/Strata.SqlTools.Snowflake/Breakdowns/QueryBreakdown.cs @@ -100,10 +100,7 @@ public class QueryBreakdown : SqlServerQueryBreakdown base.AddParameter(colonName.TrimStart(':', '@'), value); // Add both formats to dictionary for compatibility - if (Parameters.ContainsKey($"@{colonName.TrimStart(':', '@')}")) - { - Parameters.Remove($"@{colonName.TrimStart(':', '@')}"); - } + Parameters.Remove($"@{colonName.TrimStart(':', '@')}"); Parameters[colonName] = value; Parameters[atName] = value; } diff --git a/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs b/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs index ce55470..debd2e2 100644 --- a/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs +++ b/src/Strata.SqlTools.SqlServer/Exceptions/SqlParseException.cs @@ -87,7 +87,7 @@ public class SqlParseException : Exception } else { - sb.AppendLine($"SQL (truncated): {sql.Substring(0, 197)}..."); + sb.AppendLine($"SQL (truncated): {sql.AsSpan(0, 197)}..."); } return sb.ToString();