@@ -75,7 +75,11 @@ public override Task<DbCommand> GetExistsTableCommandAsync(DbConnection connecti
7575 var tableName = SqlIdentifier . EnsureSafe ( _tableDescription . TableName , nameof ( _tableDescription . TableName ) ) ;
7676 var command = connection . CreateCommand ( ) ;
7777 command . Transaction = transaction ;
78- command . CommandText = $ "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='{ tableName } '";
78+ command . CommandText = "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name=@name" ;
79+ var nameParam = command . CreateParameter ( ) ;
80+ nameParam . ParameterName = "@name" ;
81+ nameParam . Value = tableName ;
82+ command . Parameters . Add ( nameParam ) ;
7983 return Task . FromResult ( command ) ;
8084 }
8185
@@ -95,7 +99,7 @@ public override Task<DbCommand> GetDropTableCommandAsync(DbConnection connection
9599 var tableName = SqlIdentifier . EnsureSafe ( _tableDescription . TableName , nameof ( _tableDescription . TableName ) ) ;
96100 var command = connection . CreateCommand ( ) ;
97101 command . Transaction = transaction ;
98- command . CommandText = $ "DROP TABLE IF EXISTS [{ tableName } ]";
102+ command . CommandText = $ "DROP TABLE IF EXISTS [{ tableName } ]"; // NOSONAR:S2077 - {tableName} whitelisted via SqlIdentifier.EnsureSafe
99103 return Task . FromResult ( command ) ;
100104 }
101105
@@ -105,7 +109,7 @@ public override Task<DbCommand> GetExistsColumnCommandAsync(string columnName, D
105109 var tableName = SqlIdentifier . EnsureSafe ( _tableDescription . TableName , nameof ( _tableDescription . TableName ) ) ;
106110 var command = connection . CreateCommand ( ) ;
107111 command . Transaction = transaction ;
108- command . CommandText = $ "PRAGMA table_info([{ tableName } ])";
112+ command . CommandText = $ "PRAGMA table_info([{ tableName } ])"; // NOSONAR:S2077 - {tableName} whitelisted via SqlIdentifier.EnsureSafe
109113 return Task . FromResult ( command ) ;
110114 }
111115
@@ -167,7 +171,7 @@ public override Task<DbCommand> GetCreateTrackingTableCommandAsync(DbConnection
167171
168172 var command = connection . CreateCommand ( ) ;
169173 command . Transaction = transaction ;
170- command . CommandText = $@ "
174+ command . CommandText = $@ " // NOSONAR:S2077 - identifiers whitelisted via SqlIdentifier.EnsureSafe
171175 CREATE TABLE IF NOT EXISTS { trackingTableName } (
172176 { pkColumn } { pkType } PRIMARY KEY NOT NULL,
173177 update_scope_id TEXT,
@@ -185,7 +189,7 @@ public override Task<DbCommand> GetDropTrackingTableCommandAsync(DbConnection co
185189 var trackingTableName = $ "{ tableName } _tracking";
186190 var command = connection . CreateCommand ( ) ;
187191 command . Transaction = transaction ;
188- command . CommandText = $ "DROP TABLE IF EXISTS [{ trackingTableName } ]";
192+ command . CommandText = $ "DROP TABLE IF EXISTS [{ trackingTableName } ]"; // NOSONAR:S2077 - {trackingTableName} whitelisted via SqlIdentifier.EnsureSafe
189193 return Task . FromResult ( command ) ;
190194 }
191195
@@ -196,7 +200,11 @@ public override Task<DbCommand> GetExistsTrackingTableCommandAsync(DbConnection
196200 var trackingTableName = $ "{ tableName } _tracking";
197201 var command = connection . CreateCommand ( ) ;
198202 command . Transaction = transaction ;
199- command . CommandText = $ "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name='{ trackingTableName } '";
203+ command . CommandText = "SELECT COUNT(*) FROM sqlite_master WHERE type='table' AND name=@name" ;
204+ var nameParam = command . CreateParameter ( ) ;
205+ nameParam . ParameterName = "@name" ;
206+ nameParam . Value = trackingTableName ;
207+ command . Parameters . Add ( nameParam ) ;
200208 return Task . FromResult ( command ) ;
201209 }
202210
@@ -214,7 +222,11 @@ public override Task<DbCommand> GetExistsTriggerCommandAsync(DbTriggerType trigg
214222
215223 var command = connection . CreateCommand ( ) ;
216224 command . Transaction = transaction ;
217- command . CommandText = $ "SELECT COUNT(*) FROM sqlite_master WHERE type='trigger' AND name='{ triggerName } '";
225+ command . CommandText = "SELECT COUNT(*) FROM sqlite_master WHERE type='trigger' AND name=@name" ;
226+ var nameParam = command . CreateParameter ( ) ;
227+ nameParam . ParameterName = "@name" ;
228+ nameParam . Value = triggerName ;
229+ command . Parameters . Add ( nameParam ) ;
218230 return Task . FromResult ( command ) ;
219231 }
220232
@@ -277,7 +289,7 @@ public override Task<DbCommand> GetDropTriggerCommandAsync(DbTriggerType trigger
277289
278290 var command = connection . CreateCommand ( ) ;
279291 command . Transaction = transaction ;
280- command . CommandText = $ "DROP TRIGGER IF EXISTS [{ triggerName } ]";
292+ command . CommandText = $ "DROP TRIGGER IF EXISTS [{ triggerName } ]"; // NOSONAR:S2077 - {triggerName} whitelisted via SqlIdentifier.EnsureSafe
281293 return Task . FromResult ( command ) ;
282294 }
283295
0 commit comments