@@ -237,6 +237,7 @@ public async Task PlansAreCachedAsync()
237
237
}
238
238
}
239
239
240
+ [ KnownBug ( "GH-2222" ) ]
240
241
[ Test ]
241
242
public async Task DmlPlansAreCachedAsync ( )
242
243
{
@@ -252,9 +253,10 @@ public async Task DmlPlansAreCachedAsync()
252
253
{
253
254
await ( db . Customers . Where ( c => c . CustomerId == "UNKNOWN" ) . UpdateAsync ( x => new Customer { CompanyName = "Constant1" } ) ) ;
254
255
await ( db . Customers . Where ( c => c . CustomerId == "ALFKI" ) . UpdateAsync ( x => new Customer { CompanyName = x . CompanyName } ) ) ;
256
+ await ( db . Customers . Where ( c => c . CustomerId == "UNKNOWN" ) . UpdateAsync ( x => new Customer { ContactName = "Constant1" } ) ) ;
255
257
Assert . That (
256
258
cache ,
257
- Has . Count . EqualTo ( 2 ) ,
259
+ Has . Count . EqualTo ( 3 ) ,
258
260
"Query plans should be cached." ) ;
259
261
260
262
using ( var spy = new LogSpy ( queryPlanCacheType ) )
@@ -264,6 +266,7 @@ public async Task DmlPlansAreCachedAsync()
264
266
{
265
267
await ( db . Customers . Where ( c => c . CustomerId == "ANATR" ) . UpdateAsync ( x => new Customer { CompanyName = x . CompanyName } ) ) ;
266
268
await ( db . Customers . Where ( c => c . CustomerId == "UNKNOWN" ) . UpdateAsync ( x => new Customer { CompanyName = "Constant2" } ) ) ;
269
+ await ( db . Customers . Where ( c => c . CustomerId == "UNKNOWN" ) . UpdateAsync ( x => new Customer { ContactName = "Constant2" } ) ) ;
267
270
268
271
var sqlEvents = sqlSpy . Appender . GetEvents ( ) ;
269
272
Assert . That (
@@ -272,19 +275,25 @@ public async Task DmlPlansAreCachedAsync()
272
275
"Unexpected constant parameter value" ) ;
273
276
Assert . That (
274
277
sqlEvents [ 1 ] . RenderedMessage ,
275
- Does . Contain ( "UNKNOWN" ) . And . Contain ( "Constant2" ) . And . Not . Contain ( "Constant1" ) ,
278
+ Does . Contain ( "UNKNOWN" ) . And . Contain ( "Constant2" ) . And . Contain ( "CompanyName" ) . IgnoreCase
279
+ . And . Not . Contain ( "Constant1" ) ,
280
+ "Unexpected constant parameter value" ) ;
281
+ Assert . That (
282
+ sqlEvents [ 1 ] . RenderedMessage ,
283
+ Does . Contain ( "UNKNOWN" ) . And . Contain ( "Constant2" ) . And . Contain ( "ContactName" ) . IgnoreCase
284
+ . And . Not . Contain ( "Constant1" ) ,
276
285
"Unexpected constant parameter value" ) ;
277
286
}
278
287
279
- Assert . That ( cache , Has . Count . EqualTo ( 2 ) , "Additional queries should not cause a plan to be cached." ) ;
288
+ Assert . That ( cache , Has . Count . EqualTo ( 3 ) , "Additional queries should not cause a plan to be cached." ) ;
280
289
Assert . That (
281
290
spy . GetWholeLog ( ) ,
282
291
Does
283
292
. Contain ( "located HQL query plan in cache" )
284
293
. And . Not . Contain ( "unable to locate HQL query plan in cache" ) ) ;
285
294
286
295
await ( db . Customers . Where ( c => c . CustomerId == "ANATR" ) . UpdateAsync ( x => new Customer { ContactName = x . ContactName } ) ) ;
287
- Assert . That ( cache , Has . Count . EqualTo ( 3 ) , "Query should be cached" ) ;
296
+ Assert . That ( cache , Has . Count . EqualTo ( 4 ) , "Query should be cached" ) ;
288
297
}
289
298
}
290
299
}
0 commit comments