Skip to content

Commit 06d21b7

Browse files
authored
Refactor where @ is added to paramName (#1212)
## Why make this change? We were prefixing params with an '@' at lot of places scattered throughout the code. This change centralizes this prefixing to one method `BaseQueryStructure.MakeParamWithValue` method. ## How was this tested? No need to write additional tests. Just a refactor. Existing unit/integration tests are passing.
1 parent 5de2de7 commit 06d21b7

14 files changed

+26
-24
lines changed

src/Service/Models/GraphQLFilterParsers.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ public static Predicate Parse(
460460
predicates.Push(new PredicateOperand(new Predicate(
461461
new PredicateOperand(column),
462462
op,
463-
new PredicateOperand(processLiteral ? $"@{processLiterals(value)}" : value.ToString()))
463+
new PredicateOperand(processLiteral ? $"{processLiterals(value)}" : value.ToString()))
464464
));
465465
}
466466

src/Service/Parsers/ODataASTVisitor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public override string Visit(ConstantNode nodeIn)
7878
return "NULL";
7979
}
8080

81-
return $"@{_struct.MakeParamWithValue(GetParamWithSystemType(nodeIn.Value.ToString()!, nodeIn.TypeReference))}";
81+
return $"{_struct.MakeParamWithValue(GetParamWithSystemType(nodeIn.Value.ToString()!, nodeIn.TypeReference))}";
8282
}
8383

8484
/// <summary>

src/Service/Resolvers/BaseQueryStructure.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ public class BaseQueryStructure
6969
/// </summary>
7070
public IAuthorizationResolver AuthorizationResolver { get; }
7171

72+
public const string PARAM_NAME_PREFIX = "@";
73+
7274
public BaseQueryStructure(
7375
ISqlMetadataProvider metadataProvider,
7476
IAuthorizationResolver authorizationResolver,
@@ -109,7 +111,7 @@ public BaseQueryStructure(
109111
/// <param name="value">Value to be assigned to parameter, which can be null for nullable columns.</param>
110112
public string MakeParamWithValue(object? value)
111113
{
112-
string paramName = $"param{Counter.Next()}";
114+
string paramName = $"{PARAM_NAME_PREFIX}param{Counter.Next()}";
113115
Parameters.Add(paramName, value);
114116
return paramName;
115117
}

src/Service/Resolvers/CosmosQueryEngine.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public async Task<Tuple<JsonDocument, IMetadata>> ExecuteAsync(
7373

7474
foreach (KeyValuePair<string, object> parameterEntry in structure.Parameters)
7575
{
76-
querySpec = querySpec.WithParameter("@" + parameterEntry.Key, parameterEntry.Value);
76+
querySpec = querySpec.WithParameter(parameterEntry.Key, parameterEntry.Value);
7777
}
7878

7979
if (!string.IsNullOrEmpty(partitionKeyValue))
@@ -156,7 +156,7 @@ public async Task<Tuple<IEnumerable<JsonDocument>, IMetadata>> ExecuteListAsync(
156156

157157
foreach (KeyValuePair<string, object> parameterEntry in structure.Parameters)
158158
{
159-
querySpec = querySpec.WithParameter("@" + parameterEntry.Key, parameterEntry.Value);
159+
querySpec = querySpec.WithParameter(parameterEntry.Key, parameterEntry.Value);
160160
}
161161

162162
FeedIterator<JObject> resultSetIterator = container.GetItemQueryIterator<JObject>(querySpec);

src/Service/Resolvers/CosmosQueryStructure.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ private void Init(IDictionary<string, object?> queryParams)
148148
Predicates.Add(new Predicate(
149149
new PredicateOperand(new Column(tableSchema: string.Empty, _containerAlias, parameter.Key)),
150150
PredicateOperation.Equal,
151-
new PredicateOperand($"@{MakeParamWithValue(parameter.Value)}")
151+
new PredicateOperand($"{MakeParamWithValue(parameter.Value)}")
152152
));
153153
}
154154
}

src/Service/Resolvers/MsSqlQueryExecutor.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,15 +177,15 @@ public override string GetSessionParamsQuery(HttpContext? httpContext, IDictiona
177177

178178
// Counter to generate different param name for each of the sessionParam.
179179
IncrementingInteger counter = new();
180-
const string paramNamePrefix = "session_param";
180+
const string SESSION_PARAM_NAME = $"{BaseQueryStructure.PARAM_NAME_PREFIX}session_param";
181181
StringBuilder sessionMapQuery = new();
182182

183183
foreach ((string claimType, Claim claim) in sessionParams)
184184
{
185-
string paramName = $"{paramNamePrefix}{counter.Next()}";
185+
string paramName = $"{SESSION_PARAM_NAME}{counter.Next()}";
186186
parameters.Add(paramName, claim.Value);
187187
// Append statement to set read only param value - can be set only once for a connection.
188-
string statementToSetReadOnlyParam = "EXEC sp_set_session_context " + $"'{claimType}', @" + paramName + ", @read_only = 1;";
188+
string statementToSetReadOnlyParam = "EXEC sp_set_session_context " + $"'{claimType}', " + paramName + ", @read_only = 1;";
189189
sessionMapQuery = sessionMapQuery.Append(statementToSetReadOnlyParam);
190190
}
191191

src/Service/Resolvers/QueryExecutor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ await ExecuteQueryAgainstDbAsync(conn,
153153
foreach (KeyValuePair<string, object?> parameterEntry in parameters)
154154
{
155155
DbParameter parameter = cmd.CreateParameter();
156-
parameter.ParameterName = "@" + parameterEntry.Key;
156+
parameter.ParameterName = parameterEntry.Key;
157157
parameter.Value = parameterEntry.Value ?? DBNull.Value;
158158
cmd.Parameters.Add(parameter);
159159
}

src/Service/Resolvers/Sql Query Structures/BaseSqlQueryStructure.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public void AddNullifiedUnspecifiedFields(
8585
Predicate predicate = new(
8686
new PredicateOperand(new Column(tableSchema: DatabaseObject.SchemaName, tableName: DatabaseObject.Name, leftoverColumn)),
8787
PredicateOperation.Equal,
88-
new PredicateOperand($"@{MakeParamWithValue(value: null)}")
88+
new PredicateOperand($"{MakeParamWithValue(value: null)}")
8989
);
9090

9191
updateOperations.Add(predicate);

src/Service/Resolvers/Sql Query Structures/SqlDeleteQueryStructure.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public SqlDeleteStructure(
4545
Predicates.Add(new Predicate(
4646
new PredicateOperand(new Column(DatabaseObject.SchemaName, DatabaseObject.Name, backingColumn!)),
4747
PredicateOperation.Equal,
48-
new PredicateOperand($"@{MakeParamWithValue(GetParamAsColumnSystemType(param.Value.ToString()!, backingColumn!))}")
48+
new PredicateOperand($"{MakeParamWithValue(GetParamAsColumnSystemType(param.Value.ToString()!, backingColumn!))}")
4949
));
5050
}
5151
}

src/Service/Resolvers/Sql Query Structures/SqlExecuteQueryStructure.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public SqlExecuteStructure(
4848
{
4949
string parameterizedName = MakeParamWithValue(requestParamValue is null ? null :
5050
GetParamAsProcedureParameterType(requestParamValue.ToString()!, paramKey));
51-
ProcedureParameters.Add(paramKey, $"@{parameterizedName}");
51+
ProcedureParameters.Add(paramKey, $"{parameterizedName}");
5252
}
5353
catch (ArgumentException ex)
5454
{
@@ -67,7 +67,7 @@ public SqlExecuteStructure(
6767
if (paramDefinition.HasConfigDefault)
6868
{
6969
string parameterizedName = MakeParamWithValue(paramDefinition.ConfigDefaultValue);
70-
ProcedureParameters.Add(paramKey, $"@{parameterizedName}");
70+
ProcedureParameters.Add(paramKey, $"{parameterizedName}");
7171
}
7272
else
7373
{

0 commit comments

Comments
 (0)