diff --git a/src/Strata.SqlTools.EFCore/Models/QueryBreakdownEntity.cs b/src/Strata.SqlTools.EFCore/Models/QueryBreakdownEntity.cs index fa208cb..7431b2b 100644 --- a/src/Strata.SqlTools.EFCore/Models/QueryBreakdownEntity.cs +++ b/src/Strata.SqlTools.EFCore/Models/QueryBreakdownEntity.cs @@ -113,10 +113,10 @@ public class QueryBreakdownEntity /// /// Navigation property for the related query parameters. /// - public virtual ICollection Parameters { get; set; } = new List(); + public virtual ICollection Parameters { get; set; } = []; /// /// Navigation property for the related WITH clauses (CTEs). /// - public virtual ICollection WithClauses { get; set; } = new List(); + public virtual ICollection WithClauses { get; set; } = []; } diff --git a/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs b/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs index f84ea88..e234775 100644 --- a/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs +++ b/src/Strata.SqlTools.EFCore/Services/QueryBreakdownMapper.cs @@ -226,7 +226,7 @@ public class QueryBreakdownMapper : IQueryBreakdownMapper internal static List DeserializeList(string json) { - return JsonSerializer.Deserialize>(json) ?? new List(); + return JsonSerializer.Deserialize>(json) ?? []; } internal static string SerializeArrayList(ArrayList list) @@ -241,7 +241,7 @@ public class QueryBreakdownMapper : IQueryBreakdownMapper internal static ArrayList DeserializeArrayList(string json) { - var stringList = JsonSerializer.Deserialize>(json) ?? new List(); + var stringList = JsonSerializer.Deserialize>(json) ?? []; var arrayList = new ArrayList(); foreach (var item in stringList) { @@ -262,7 +262,7 @@ public class QueryBreakdownMapper : IQueryBreakdownMapper internal static Dictionary DeserializeDictionary(string json) { - var stringDict = JsonSerializer.Deserialize>(json) ?? new Dictionary(); + var stringDict = JsonSerializer.Deserialize>(json) ?? []; var result = new Dictionary(); foreach (var kvp in stringDict) { diff --git a/src/Strata.SqlTools.LinqToSql/Analyzers/QueryCollectionAnalyzer.cs b/src/Strata.SqlTools.LinqToSql/Analyzers/QueryCollectionAnalyzer.cs index 77fccb9..67fee79 100644 --- a/src/Strata.SqlTools.LinqToSql/Analyzers/QueryCollectionAnalyzer.cs +++ b/src/Strata.SqlTools.LinqToSql/Analyzers/QueryCollectionAnalyzer.cs @@ -96,9 +96,9 @@ public class QueryCollectionAnalyzer if (_queries.Count == 0) { return new QueryCollectionStatistics( - 0, 0, new List(), - new Dictionary(), - new Dictionary(), + 0, 0, [], + [], + [], 0, 0, 0, 0.0, 0); } diff --git a/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs b/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs index 68ad8d8..341b1fa 100644 --- a/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs +++ b/src/Strata.SqlTools.LinqToSql/Breakdowns/LinqQueryBreakdown.cs @@ -34,7 +34,7 @@ public class LinqQueryBreakdown : QueryBreakdown /// /// Gets or sets the list of LINQ method calls in the query chain. /// - public List MethodCallChain { get; set; } = new(); + public List MethodCallChain { get; set; } = []; /// /// Initializes a new instance of the class. @@ -260,7 +260,7 @@ public class LinqQueryBreakdown : QueryBreakdown /// An InsertBreakdown representing the bulk insert operation. public static Breakdowns.SqlServer.InsertBreakdown AnalyzeInsertRange(IEnumerable entities) where T : class { - var entitiesList = entities?.ToList() ?? new List(); + var entitiesList = entities?.ToList() ?? []; if (entitiesList.Count == 0) { throw new ArgumentException("Must provide at least one entity to insert.", nameof(entities)); diff --git a/src/Strata.SqlTools.LinqToSql/Builders/LinqQueryBreakdownBuilder.cs b/src/Strata.SqlTools.LinqToSql/Builders/LinqQueryBreakdownBuilder.cs index c9d0377..03bf201 100644 --- a/src/Strata.SqlTools.LinqToSql/Builders/LinqQueryBreakdownBuilder.cs +++ b/src/Strata.SqlTools.LinqToSql/Builders/LinqQueryBreakdownBuilder.cs @@ -8,7 +8,7 @@ namespace Strata.SqlTools.Builders.LinqToSql; /// public class LinqQueryBreakdownBuilder { - private readonly List _selectColumns = new(); + private readonly List _selectColumns = []; private string? _fromTable; private string? _whereClause; private string? _groupByClause; diff --git a/src/Strata.SqlTools.LinqToSql/Validators/QueryValidator.cs b/src/Strata.SqlTools.LinqToSql/Validators/QueryValidator.cs index 8e5e752..961bfd3 100644 --- a/src/Strata.SqlTools.LinqToSql/Validators/QueryValidator.cs +++ b/src/Strata.SqlTools.LinqToSql/Validators/QueryValidator.cs @@ -47,7 +47,7 @@ public record QueryValidationIssue( /// public class QueryValidator { - private readonly List _issues = new(); + private readonly List _issues = []; /// /// Gets the list of validation issues found. diff --git a/src/Strata.SqlTools.LinqToSql/Visitors/LinqExpressionVisitor.cs b/src/Strata.SqlTools.LinqToSql/Visitors/LinqExpressionVisitor.cs index 4f07ad5..c4b3e20 100644 --- a/src/Strata.SqlTools.LinqToSql/Visitors/LinqExpressionVisitor.cs +++ b/src/Strata.SqlTools.LinqToSql/Visitors/LinqExpressionVisitor.cs @@ -11,7 +11,7 @@ public class LinqExpressionVisitor : ExpressionVisitor { private readonly StringBuilder _whereBuilder = new(); private readonly StringBuilder _orderByBuilder = new(); - private readonly List _methodCalls = new(); + private readonly List _methodCalls = []; private bool _isInWhereClause; /// diff --git a/src/Strata.SqlTools.Query/FilterGroup.cs b/src/Strata.SqlTools.Query/FilterGroup.cs index 209d3cd..eacf8f7 100644 --- a/src/Strata.SqlTools.Query/FilterGroup.cs +++ b/src/Strata.SqlTools.Query/FilterGroup.cs @@ -12,7 +12,7 @@ public class FilterGroup public FilterGroup() { LogicalOperator = LogicalOperator.And; - Filters = new List(); + Filters = []; } [JsonConstructor] diff --git a/src/Strata.SqlTools.Query/QueryConfig.cs b/src/Strata.SqlTools.Query/QueryConfig.cs index 0157dda..e427c3c 100644 --- a/src/Strata.SqlTools.Query/QueryConfig.cs +++ b/src/Strata.SqlTools.Query/QueryConfig.cs @@ -16,9 +16,9 @@ public class QueryConfig public QueryConfig() { - Rows = new List(); - Values = new List(); - FilterGroups = new List(); + Rows = []; + Values = []; + FilterGroups = []; } [JsonConstructor] diff --git a/src/Strata.SqlTools.Query/Value.cs b/src/Strata.SqlTools.Query/Value.cs index 9672d29..3860e23 100644 --- a/src/Strata.SqlTools.Query/Value.cs +++ b/src/Strata.SqlTools.Query/Value.cs @@ -22,6 +22,6 @@ public class Value Calculation = calculation; CalculationDataColumnIds = calculationDataColumnIds ?? Array.Empty(); AliasedIds = aliasedIds ?? Array.Empty(); - FilterGroups = filterGroups?.Where(x => x.IsValid()).ToList() ?? new List(); + FilterGroups = filterGroups?.Where(x => x.IsValid()).ToList() ?? []; } } diff --git a/src/Strata.SqlTools.Snowflake/Breakdowns/ProcedureBreakdown.cs b/src/Strata.SqlTools.Snowflake/Breakdowns/ProcedureBreakdown.cs index 9db037b..74d0a21 100644 --- a/src/Strata.SqlTools.Snowflake/Breakdowns/ProcedureBreakdown.cs +++ b/src/Strata.SqlTools.Snowflake/Breakdowns/ProcedureBreakdown.cs @@ -42,7 +42,7 @@ public class ProcedureBreakdown : SqlServerProcedureBreakdown public ProcedureBreakdown(string procedureName, Dictionary parameters, bool isMicrosoftSql = false) : this(procedureName, isMicrosoftSql) { - Parameters = parameters ?? new Dictionary(); + Parameters = parameters ?? []; } /// diff --git a/src/Strata.SqlTools.SqlBreakdown/Classes/RawSqlBreakdown.cs b/src/Strata.SqlTools.SqlBreakdown/Classes/RawSqlBreakdown.cs index 24b40af..88c6c11 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Classes/RawSqlBreakdown.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Classes/RawSqlBreakdown.cs @@ -20,7 +20,7 @@ public class RawSqlBreakdown : ISqlBreakdown /// /// Gets or sets the setup clauses to execute before the main statement. /// - public List SetupClauses { get; set; } = new List(); + public List SetupClauses { get; set; } = []; /// /// Gets a value indicating whether setup clauses are being used. @@ -30,7 +30,7 @@ public class RawSqlBreakdown : ISqlBreakdown /// /// Gets or sets the finish clauses to execute after the main statement. /// - public ArrayList FinishClauses { get; set; } = new ArrayList(); + public ArrayList FinishClauses { get; set; } = []; /// /// Gets a value indicating whether finish clauses are being used. diff --git a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownBase.cs b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownBase.cs index 08380f5..fa3d00a 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownBase.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownBase.cs @@ -14,8 +14,8 @@ public abstract class SqlBreakdownBase : ISqlBreakdown /// protected SqlBreakdownBase() { - SetupClauses = new List(); - FinishClauses = new ArrayList(); + SetupClauses = []; + FinishClauses = []; } /// diff --git a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownCollection.cs b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownCollection.cs index 0abfdee..167fc52 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownCollection.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlBreakdownCollection.cs @@ -22,7 +22,7 @@ public class SqlBreakdownCollection : ICollection /// public SqlBreakdownCollection() { - _breakdowns = new List(); + _breakdowns = []; } /// diff --git a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFilter.cs b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFilter.cs index 3de4626..0ef1521 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFilter.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFilter.cs @@ -18,7 +18,7 @@ public class SqlFilter : ISqlAppendable public SqlFilter() { _sqlExpression = new StringBuilder(); - _parameterValues = new Dictionary(); + _parameterValues = []; } /// @@ -29,7 +29,7 @@ public class SqlFilter : ISqlAppendable public SqlFilter(string expression, params object[] parameterNameValue) { _sqlExpression = new StringBuilder(expression); - _parameterValues = new Dictionary(); + _parameterValues = []; if (parameterNameValue.Length % 2 != 0) { @@ -49,7 +49,7 @@ public class SqlFilter : ISqlAppendable public SqlFilter(SqlFilter filter) { _sqlExpression = new StringBuilder(filter.SqlExpression); - _parameterValues = new Dictionary(); + _parameterValues = []; foreach (var key in filter.ParameterValues.Keys) { diff --git a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFrom.cs b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFrom.cs index fdc76f3..69eb113 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFrom.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Classes/SqlFrom.cs @@ -18,7 +18,7 @@ public class SqlFrom public SqlFrom(string tableExpression, string tableAlias) { _firstTable = new SqlTable(tableExpression, tableAlias); - _joins = new List(); + _joins = []; } /// diff --git a/src/Strata.SqlTools.SqlBreakdown/Expressions/InputPropertyExpression.cs b/src/Strata.SqlTools.SqlBreakdown/Expressions/InputPropertyExpression.cs index 013c9b4..45a72d7 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Expressions/InputPropertyExpression.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Expressions/InputPropertyExpression.cs @@ -348,13 +348,13 @@ public class HierarchicalData : IHierarchicalData private Dictionary> _childDataMap; [JsonConstructor] - public HierarchicalData() : this(Guid.Empty, default!, new List()) + public HierarchicalData() : this(Guid.Empty, default!, []) { } public HierarchicalData(Guid dataSourceGuid, IFlatData rootData) : this(dataSourceGuid, rootData, - new List()) + []) { } @@ -388,7 +388,7 @@ public class HierarchicalData : IHierarchicalData return _childDataMap[dataSourceGuid]; } - return new List(); + return []; } public bool TryAddChildData(Guid datasourceGuid, IEnumerable data) diff --git a/src/Strata.SqlTools.SqlBreakdown/Utilities/ArrayUtils.cs b/src/Strata.SqlTools.SqlBreakdown/Utilities/ArrayUtils.cs index 6bb7445..d008fb7 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Utilities/ArrayUtils.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Utilities/ArrayUtils.cs @@ -114,7 +114,7 @@ public static class ArrayUtils { if (string.IsNullOrEmpty(csv)) { - return new List(); + return []; } try @@ -392,7 +392,7 @@ public static class ArrayUtils { if (string.IsNullOrEmpty(guidListAsString)) { - return new List(); + return []; } var list = new List(); diff --git a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlSchemaHelpers.cs b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlSchemaHelpers.cs index 4b51a0d..7a97f72 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlSchemaHelpers.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlSchemaHelpers.cs @@ -61,8 +61,8 @@ public static partial class SqlUtils /// /// A list of system schema names. public static List GetSystemSchemas() - => new List - { + => + [ DEFAULT_SCHEMA, "int", // integration "perf", @@ -73,6 +73,6 @@ public static partial class SqlUtils "upg", "irc", // irc chat rooms "migration" - }; + ]; } diff --git a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs index fb3c1fd..ac3445b 100644 --- a/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs +++ b/src/Strata.SqlTools.SqlBreakdown/Utilities/SqlUtils.cs @@ -450,13 +450,13 @@ public static partial class SqlUtils /// /// An enumerable collection of SQL data types suitable for identity columns. public static IEnumerable IdentityColumnTypes() - => new List - { + => + [ SqlDataType.BigInt, SqlDataType.TinyInt, SqlDataType.Int, SqlDataType.SmallInt - }; + ]; /// /// Gets the SQL sort direction string for a given sort direction enumeration. diff --git a/src/Strata.SqlTools.SqlServer/Breakdowns/ProcedureBreakdown.cs b/src/Strata.SqlTools.SqlServer/Breakdowns/ProcedureBreakdown.cs index d453de8..a114cd5 100644 --- a/src/Strata.SqlTools.SqlServer/Breakdowns/ProcedureBreakdown.cs +++ b/src/Strata.SqlTools.SqlServer/Breakdowns/ProcedureBreakdown.cs @@ -20,7 +20,7 @@ public class ProcedureBreakdown : SqlBreakdownBase { Parser = new StatementParser(); ProcedureName = new SqlClause(); - Parameters = new Dictionary(); + Parameters = []; } /// @@ -41,7 +41,7 @@ public class ProcedureBreakdown : SqlBreakdownBase /// The parameters dictionary (parameter name -> value expression). public ProcedureBreakdown(string procedureName, Dictionary parameters) : this(procedureName) { - Parameters = parameters ?? new Dictionary(); + Parameters = parameters ?? []; } /// diff --git a/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdown.cs b/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdown.cs index b1faed0..5fe8692 100644 --- a/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdown.cs +++ b/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdown.cs @@ -41,8 +41,8 @@ public class QueryBreakdown : SqlBreakdownBase, IQueryBreakdown public QueryBreakdown() : base() { Parser = new StatementParser(); - _parameterList = new List(); - _withClauses = new List(); + _parameterList = []; + _withClauses = []; // Initialize backing fields directly to avoid triggering cache invalidation _selectClause = new SqlExpressionClause(splitOnComma: true); @@ -117,7 +117,7 @@ public class QueryBreakdown : SqlBreakdownBase, IQueryBreakdown /// Gets the parameter dictionary containing parameter names and their values. /// Parameter values can be set/updated after parsing. /// - public Dictionary Parameters { get; } = new Dictionary(); + public Dictionary Parameters { get; } = []; /// /// Gets the WITH clauses (Common Table Expressions) as an ordered list. diff --git a/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdownCollectionBase.cs b/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdownCollectionBase.cs index 88ad272..5ea4b61 100644 --- a/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdownCollectionBase.cs +++ b/src/Strata.SqlTools.SqlServer/Breakdowns/QueryBreakdownCollectionBase.cs @@ -26,7 +26,7 @@ public abstract class QueryBreakdownCollectionBase : SqlBreakdownCollect /// protected QueryBreakdownCollectionBase() : base() { - QueryBreakdownList = new List(); + QueryBreakdownList = []; } /// diff --git a/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs b/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs index 79a6383..d918600 100644 --- a/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs +++ b/src/Strata.SqlTools.SqlServer/Statements/StatementParser.cs @@ -143,7 +143,7 @@ public class StatementParser #pragma warning disable S127 // "for" loop stop conditions should be invariant public virtual string ExtractSqlComments(string sql, out List comments) { - comments = new List(); + comments = []; var result = new StringBuilder(); var inString = false; char stringChar = '\0';