Skip to content

Commit 0ec2e69

Browse files
authored
rename leasesTableName to bracketedLeasesTableName (#902)
* rename leasesTableName to bracketedLeasesTableName * merge error
1 parent 4baf194 commit 0ec2e69

File tree

4 files changed

+20
-20
lines changed

4 files changed

+20
-20
lines changed

src/TriggerBinding/SqlTableChangeMonitor.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ internal sealed class SqlTableChangeMonitor<T> : IDisposable
5252
private readonly int _userTableId;
5353
private readonly SqlObject _userTable;
5454
private readonly string _userFunctionId;
55-
private readonly string _leasesTableName;
55+
private readonly string _bracketedLeasesTableName;
5656
private readonly IReadOnlyList<string> _userTableColumns;
5757
private readonly IReadOnlyList<(string name, string type)> _primaryKeyColumns;
5858
private readonly IReadOnlyList<string> _rowMatchConditions;
@@ -98,7 +98,7 @@ internal sealed class SqlTableChangeMonitor<T> : IDisposable
9898
/// <param name="userTableId">SQL object ID of the user table</param>
9999
/// <param name="userTable"><see cref="SqlObject" /> instance created with user table name</param>
100100
/// <param name="userFunctionId">Unique identifier for the user function</param>
101-
/// <param name="leasesTableName">Name of the leases table</param>
101+
/// <param name="bracketedLeasesTableName">Name of the leases table</param>
102102
/// <param name="userTableColumns">List of all column names in the user table</param>
103103
/// <param name="primaryKeyColumns">List of primary key column names in the user table</param>
104104
/// <param name="executor">Defines contract for triggering user function</param>
@@ -110,7 +110,7 @@ public SqlTableChangeMonitor(
110110
int userTableId,
111111
SqlObject userTable,
112112
string userFunctionId,
113-
string leasesTableName,
113+
string bracketedLeasesTableName,
114114
IReadOnlyList<string> userTableColumns,
115115
IReadOnlyList<(string name, string type)> primaryKeyColumns,
116116
ITriggeredFunctionExecutor executor,
@@ -121,7 +121,7 @@ public SqlTableChangeMonitor(
121121
this._connectionString = !string.IsNullOrEmpty(connectionString) ? connectionString : throw new ArgumentNullException(nameof(connectionString));
122122
this._userTable = !string.IsNullOrEmpty(userTable?.FullName) ? userTable : throw new ArgumentNullException(nameof(userTable));
123123
this._userFunctionId = !string.IsNullOrEmpty(userFunctionId) ? userFunctionId : throw new ArgumentNullException(nameof(userFunctionId));
124-
this._leasesTableName = !string.IsNullOrEmpty(leasesTableName) ? leasesTableName : throw new ArgumentNullException(nameof(leasesTableName));
124+
this._bracketedLeasesTableName = !string.IsNullOrEmpty(bracketedLeasesTableName) ? bracketedLeasesTableName : throw new ArgumentNullException(nameof(bracketedLeasesTableName));
125125
this._userTableColumns = userTableColumns ?? throw new ArgumentNullException(nameof(userTableColumns));
126126
this._primaryKeyColumns = primaryKeyColumns ?? throw new ArgumentNullException(nameof(primaryKeyColumns));
127127
this._executor = executor ?? throw new ArgumentNullException(nameof(executor));
@@ -805,7 +805,7 @@ SELECT TOP {this._maxBatchSize}
805805
l.{LeasesTableAttemptCountColumnName},
806806
l.{LeasesTableLeaseExpirationTimeColumnName}
807807
FROM CHANGETABLE(CHANGES {this._userTable.BracketQuotedFullName}, @last_sync_version) AS c
808-
LEFT OUTER JOIN {this._leasesTableName} AS l ON {leasesTableJoinCondition}
808+
LEFT OUTER JOIN {this._bracketedLeasesTableName} AS l ON {leasesTableJoinCondition}
809809
LEFT OUTER JOIN {this._userTable.BracketQuotedFullName} AS u ON {userTableJoinCondition}
810810
WHERE
811811
(l.{LeasesTableLeaseExpirationTimeColumnName} IS NULL AND
@@ -842,7 +842,7 @@ private async Task<int> GetLeaseLockedRowCount(SqlConnection connection, SqlTran
842842
843843
SELECT COUNT(*)
844844
FROM CHANGETABLE(CHANGES {this._userTable.BracketQuotedFullName}, @last_sync_version) AS c
845-
LEFT OUTER JOIN {this._leasesTableName} AS l ON {leasesTableJoinCondition}
845+
LEFT OUTER JOIN {this._bracketedLeasesTableName} AS l ON {leasesTableJoinCondition}
846846
WHERE l.{LeasesTableLeaseExpirationTimeColumnName} IS NOT NULL AND l.{LeasesTableLeaseExpirationTimeColumnName} > SYSDATETIME()";
847847
try
848848
{
@@ -890,7 +890,7 @@ private SqlCommand BuildAcquireLeasesCommand(SqlConnection connection, SqlTransa
890890
{AppLockStatements}
891891
892892
WITH {acquireLeasesCte} AS ( SELECT * FROM OPENJSON(@rowData) WITH ({string.Join(",", cteColumnDefinitions)}) )
893-
MERGE INTO {this._leasesTableName}
893+
MERGE INTO {this._bracketedLeasesTableName}
894894
AS ExistingData
895895
USING {acquireLeasesCte}
896896
AS NewData
@@ -924,7 +924,7 @@ private SqlCommand BuildRenewLeasesCommand(SqlConnection connection, SqlTransact
924924
string renewLeasesQuery = $@"
925925
{AppLockStatements}
926926
927-
UPDATE {this._leasesTableName}
927+
UPDATE {this._bracketedLeasesTableName}
928928
SET {LeasesTableLeaseExpirationTimeColumnName} = DATEADD(second, {LeaseIntervalInSeconds}, SYSDATETIME())
929929
WHERE {matchCondition};
930930
";
@@ -957,12 +957,12 @@ private SqlCommand BuildReleaseLeasesCommand(SqlConnection connection, SqlTransa
957957
$@"{AppLockStatements}
958958
959959
WITH {releaseLeasesCte} AS ( SELECT * FROM OPENJSON(@rowData) WITH ({string.Join(",", cteColumnDefinitions)}) )
960-
UPDATE {this._leasesTableName}
960+
UPDATE {this._bracketedLeasesTableName}
961961
SET
962962
{LeasesTableChangeVersionColumnName} = cte.{SysChangeVersionColumnName},
963963
{LeasesTableAttemptCountColumnName} = 0,
964964
{LeasesTableLeaseExpirationTimeColumnName} = NULL
965-
FROM {this._leasesTableName} l INNER JOIN releaseLeasesCte cte ON {primaryKeyMatchingQuery}
965+
FROM {this._bracketedLeasesTableName} l INNER JOIN releaseLeasesCte cte ON {primaryKeyMatchingQuery}
966966
WHERE l.{LeasesTableChangeVersionColumnName} <= cte.{SysChangeVersionColumnName};";
967967

968968
var command = new SqlCommand(releaseLeasesQuery, connection, transaction);
@@ -997,7 +997,7 @@ private SqlCommand BuildUpdateTablesPostInvocation(SqlConnection connection, Sql
997997
SELECT @unprocessed_changes = COUNT(*) FROM (
998998
SELECT c.{SysChangeVersionColumnName}
999999
FROM CHANGETABLE(CHANGES {this._userTable.BracketQuotedFullName}, @current_last_sync_version) AS c
1000-
LEFT OUTER JOIN {this._leasesTableName} AS l ON {leasesTableJoinCondition}
1000+
LEFT OUTER JOIN {this._bracketedLeasesTableName} AS l ON {leasesTableJoinCondition}
10011001
WHERE
10021002
c.{SysChangeVersionColumnName} <= {newLastSyncVersion} AND
10031003
((l.{LeasesTableChangeVersionColumnName} IS NULL OR
@@ -1011,7 +1011,7 @@ LEFT OUTER JOIN {this._leasesTableName} AS l ON {leasesTableJoinCondition}
10111011
SET LastSyncVersion = {newLastSyncVersion}, LastAccessTime = GETUTCDATE()
10121012
WHERE UserFunctionID = '{this._userFunctionId}' AND UserTableID = {this._userTableId};
10131013
1014-
DELETE FROM {this._leasesTableName} WHERE {LeasesTableChangeVersionColumnName} <= {newLastSyncVersion};
1014+
DELETE FROM {this._bracketedLeasesTableName} WHERE {LeasesTableChangeVersionColumnName} <= {newLastSyncVersion};
10151015
END
10161016
";
10171017

src/TriggerBinding/SqlTriggerListener.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ public async Task StartAsync(CancellationToken cancellationToken)
125125
IReadOnlyList<(string name, string type)> primaryKeyColumns = await GetPrimaryKeyColumnsAsync(connection, userTableId, this._logger, this._userTable.FullName, cancellationToken);
126126
IReadOnlyList<string> userTableColumns = await this.GetUserTableColumnsAsync(connection, userTableId, cancellationToken);
127127

128-
string leasesTableName = GetLeasesTableName(this._userDefinedLeasesTableName, this._userFunctionId, userTableId);
129-
this._telemetryProps[TelemetryPropertyName.LeasesTableName] = leasesTableName;
128+
string bracketedLeasesTableName = GetBracketedLeasesTableName(this._userDefinedLeasesTableName, this._userFunctionId, userTableId);
129+
this._telemetryProps[TelemetryPropertyName.LeasesTableName] = bracketedLeasesTableName;
130130

131131
var transactionSw = Stopwatch.StartNew();
132132
long createdSchemaDurationMs = 0L, createGlobalStateTableDurationMs = 0L, insertGlobalStateTableRowDurationMs = 0L, createLeasesTableDurationMs = 0L;
@@ -136,7 +136,7 @@ public async Task StartAsync(CancellationToken cancellationToken)
136136
createdSchemaDurationMs = await this.CreateSchemaAsync(connection, transaction, cancellationToken);
137137
createGlobalStateTableDurationMs = await this.CreateGlobalStateTableAsync(connection, transaction, cancellationToken);
138138
insertGlobalStateTableRowDurationMs = await this.InsertGlobalStateTableRowAsync(connection, transaction, userTableId, cancellationToken);
139-
createLeasesTableDurationMs = await this.CreateLeasesTableAsync(connection, transaction, leasesTableName, primaryKeyColumns, cancellationToken);
139+
createLeasesTableDurationMs = await this.CreateLeasesTableAsync(connection, transaction, bracketedLeasesTableName, primaryKeyColumns, cancellationToken);
140140
transaction.Commit();
141141
}
142142

@@ -145,7 +145,7 @@ public async Task StartAsync(CancellationToken cancellationToken)
145145
userTableId,
146146
this._userTable,
147147
this._userFunctionId,
148-
leasesTableName,
148+
bracketedLeasesTableName,
149149
userTableColumns,
150150
primaryKeyColumns,
151151
this._executor,
@@ -154,7 +154,7 @@ public async Task StartAsync(CancellationToken cancellationToken)
154154
this._telemetryProps);
155155

156156
this._listenerState = ListenerStarted;
157-
this._logger.LogDebug($"Started SQL trigger listener for table: '{this._userTable.FullName}' (object ID: {userTableId}), function ID: {this._userFunctionId}, leases table: {leasesTableName}");
157+
this._logger.LogDebug($"Started SQL trigger listener for table: '{this._userTable.FullName}' (object ID: {userTableId}), function ID: {this._userFunctionId}, leases table: {bracketedLeasesTableName}");
158158

159159
var measures = new Dictionary<TelemetryMeasureName, double>
160160
{

src/TriggerBinding/SqlTriggerMetricsProvider.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ private async Task<long> GetUnprocessedChangeCountAsync()
100100
private SqlCommand BuildGetUnprocessedChangesCommand(SqlConnection connection, SqlTransaction transaction, IReadOnlyList<(string name, string type)> primaryKeyColumns, int userTableId)
101101
{
102102
string leasesTableJoinCondition = string.Join(" AND ", primaryKeyColumns.Select(col => $"c.{col.name.AsBracketQuotedString()} = l.{col.name.AsBracketQuotedString()}"));
103-
string leasesTableName = GetLeasesTableName(this._userDefinedLeasesTableName, this._userFunctionId, userTableId);
103+
string bracketedLeasesTableName = GetBracketedLeasesTableName(this._userDefinedLeasesTableName, this._userFunctionId, userTableId);
104104
string getUnprocessedChangesQuery = $@"
105105
{AppLockStatements}
106106
@@ -111,7 +111,7 @@ private SqlCommand BuildGetUnprocessedChangesCommand(SqlConnection connection, S
111111
112112
SELECT COUNT_BIG(*)
113113
FROM CHANGETABLE(CHANGES {this._userTable.BracketQuotedFullName}, @last_sync_version) AS c
114-
LEFT OUTER JOIN {leasesTableName} AS l ON {leasesTableJoinCondition}
114+
LEFT OUTER JOIN {bracketedLeasesTableName} AS l ON {leasesTableJoinCondition}
115115
WHERE
116116
(l.{LeasesTableLeaseExpirationTimeColumnName} IS NULL AND
117117
(l.{LeasesTableChangeVersionColumnName} IS NULL OR l.{LeasesTableChangeVersionColumnName} < c.{SysChangeVersionColumnName}) OR

src/TriggerBinding/SqlTriggerUtils.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ internal static async Task<int> GetUserTableIdAsync(SqlConnection connection, Sq
120120
/// <param name="userDefinedLeasesTableName">Leases table name defined by the user</param>
121121
/// <param name="userTableId">SQL object ID of the user table</param>
122122
/// <param name="userFunctionId">Unique identifier for the user function</param>
123-
internal static string GetLeasesTableName(string userDefinedLeasesTableName, string userFunctionId, int userTableId)
123+
internal static string GetBracketedLeasesTableName(string userDefinedLeasesTableName, string userFunctionId, int userTableId)
124124
{
125125
return string.IsNullOrEmpty(userDefinedLeasesTableName) ? string.Format(CultureInfo.InvariantCulture, LeasesTableNameFormat, $"{userFunctionId}_{userTableId}") :
126126
string.Format(CultureInfo.InvariantCulture, UserDefinedLeasesTableNameFormat, $"{userDefinedLeasesTableName.AsBracketQuotedString()}");

0 commit comments

Comments
 (0)