Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 2e77643

Browse files
committed
Revert "Execute filters after initializing CommandText"
This reverts commit d819d06.
1 parent d819d06 commit 2e77643

File tree

3 files changed

+14
-44
lines changed

3 files changed

+14
-44
lines changed

src/ServiceStack.OrmLite/Async/OrmLiteWriteCommandExtensionsAsync.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,14 @@ internal static Task<int> ExecuteSqlAsync(this IDbCommand dbCmd, string sql, obj
5858

5959
internal static async Task<int> UpdateAsync<T>(this IDbCommand dbCmd, T obj, CancellationToken token, Action<IDbCommand> commandFilter)
6060
{
61+
OrmLiteConfig.UpdateFilter?.Invoke(dbCmd, obj);
62+
6163
var dialectProvider = dbCmd.GetDialectProvider();
6264
var hadRowVersion = dialectProvider.PrepareParameterizedUpdateStatement<T>(dbCmd);
6365
if (string.IsNullOrEmpty(dbCmd.CommandText))
6466
return 0;
6567

6668
dialectProvider.SetParameterValues<T>(dbCmd, obj);
67-
OrmLiteConfig.UpdateFilter?.Invoke(dbCmd, obj);
6869
commandFilter?.Invoke(dbCmd);
6970

7071
var rowsUpdated = await dialectProvider.ExecuteNonQueryAsync(dbCmd, token);
@@ -250,14 +251,15 @@ internal static Task<int> DeleteAsync(this IDbCommand dbCmd, Type tableType, str
250251

251252
internal static async Task<long> InsertAsync<T>(this IDbCommand dbCmd, T obj, Action<IDbCommand> commandFilter, bool selectIdentity, CancellationToken token)
252253
{
254+
OrmLiteConfig.InsertFilter?.Invoke(dbCmd, obj);
255+
253256
var dialectProvider = dbCmd.GetDialectProvider();
254257

255258
dialectProvider.PrepareParameterizedInsertStatement<T>(dbCmd,
256259
insertFields: dialectProvider.GetNonDefaultValueInsertFields(obj));
257260

258261
dialectProvider.SetParameterValues<T>(dbCmd, obj);
259262

260-
OrmLiteConfig.InsertFilter?.Invoke(dbCmd, obj);
261263
commandFilter?.Invoke(dbCmd);
262264

263265
if (dialectProvider.HasInsertReturnValues(ModelDefinition<T>.Definition))
@@ -413,6 +415,8 @@ internal static async Task<int> SaveAllAsync<T>(this IDbCommand dbCmd, IEnumerab
413415
var id = modelDef.GetPrimaryKey(row);
414416
if (id != defaultIdValue && existingRowsMap.ContainsKey(id))
415417
{
418+
OrmLiteConfig.UpdateFilter?.Invoke(dbCmd, row);
419+
416420
await dbCmd.UpdateAsync(row, token, null);
417421
}
418422
else
@@ -426,6 +430,8 @@ internal static async Task<int> SaveAllAsync<T>(this IDbCommand dbCmd, IEnumerab
426430
}
427431
else
428432
{
433+
OrmLiteConfig.InsertFilter?.Invoke(dbCmd, row);
434+
429435
await dbCmd.InsertAsync(row, commandFilter:null, selectIdentity:false, token:token);
430436
}
431437

src/ServiceStack.OrmLite/OrmLiteWriteCommandExtensions.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -410,14 +410,15 @@ internal static object[] PopulateValues(this IDataReader reader, object[] values
410410

411411
internal static int Update<T>(this IDbCommand dbCmd, T obj, Action<IDbCommand> commandFilter = null)
412412
{
413+
OrmLiteConfig.UpdateFilter?.Invoke(dbCmd, obj);
414+
413415
var dialectProvider = dbCmd.GetDialectProvider();
414416
var hadRowVersion = dialectProvider.PrepareParameterizedUpdateStatement<T>(dbCmd);
415417
if (string.IsNullOrEmpty(dbCmd.CommandText))
416418
return 0;
417419

418420
dialectProvider.SetParameterValues<T>(dbCmd, obj);
419421

420-
OrmLiteConfig.UpdateFilter?.Invoke(dbCmd, obj);
421422
commandFilter?.Invoke(dbCmd);
422423
var rowsUpdated = dbCmd.ExecNonQuery();
423424

@@ -674,13 +675,14 @@ internal static int Delete(this IDbCommand dbCmd, Type tableType, string sql, ob
674675

675676
internal static long Insert<T>(this IDbCommand dbCmd, T obj, Action<IDbCommand> commandFilter, bool selectIdentity = false)
676677
{
678+
OrmLiteConfig.InsertFilter?.Invoke(dbCmd, obj);
679+
677680
var dialectProvider = dbCmd.GetDialectProvider();
678681
dialectProvider.PrepareParameterizedInsertStatement<T>(dbCmd,
679682
insertFields: dialectProvider.GetNonDefaultValueInsertFields(obj));
680683

681684
dialectProvider.SetParameterValues<T>(dbCmd, obj);
682685

683-
OrmLiteConfig.InsertFilter?.Invoke(dbCmd, obj);
684686
commandFilter?.Invoke(dbCmd); //dbCmd.OnConflictInsert() needs to be applied before last insert id
685687

686688
if (dialectProvider.HasInsertReturnValues(ModelDefinition<T>.Definition))
@@ -908,6 +910,7 @@ internal static int SaveAll<T>(this IDbCommand dbCmd, IEnumerable<T> objs)
908910
var id = modelDef.GetPrimaryKey(row);
909911
if (id != defaultIdValue && existingRowsMap.ContainsKey(id))
910912
{
913+
OrmLiteConfig.UpdateFilter?.Invoke(dbCmd, row);
911914
dbCmd.Update(row);
912915
}
913916
else
@@ -922,6 +925,7 @@ internal static int SaveAll<T>(this IDbCommand dbCmd, IEnumerable<T> objs)
922925
}
923926
else
924927
{
928+
OrmLiteConfig.InsertFilter?.Invoke(dbCmd, row);
925929
dbCmd.Insert(row, commandFilter: null);
926930
}
927931

tests/ServiceStack.OrmLite.Tests/FilterTests.cs

Lines changed: 0 additions & 40 deletions
This file was deleted.

0 commit comments

Comments
 (0)