@@ -237,6 +237,7 @@ public async Task PlansAreCachedAsync()
237237 }
238238 }
239239
240+ [ KnownBug ( "GH-2222" ) ]
240241 [ Test ]
241242 public async Task DmlPlansAreCachedAsync ( )
242243 {
@@ -252,9 +253,10 @@ public async Task DmlPlansAreCachedAsync()
252253 {
253254 await ( db . Customers . Where ( c => c . CustomerId == "UNKNOWN" ) . UpdateAsync ( x => new Customer { CompanyName = "Constant1" } ) ) ;
254255 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" } ) ) ;
255257 Assert . That (
256258 cache ,
257- Has . Count . EqualTo ( 2 ) ,
259+ Has . Count . EqualTo ( 3 ) ,
258260 "Query plans should be cached." ) ;
259261
260262 using ( var spy = new LogSpy ( queryPlanCacheType ) )
@@ -264,6 +266,7 @@ public async Task DmlPlansAreCachedAsync()
264266 {
265267 await ( db . Customers . Where ( c => c . CustomerId == "ANATR" ) . UpdateAsync ( x => new Customer { CompanyName = x . CompanyName } ) ) ;
266268 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" } ) ) ;
267270
268271 var sqlEvents = sqlSpy . Appender . GetEvents ( ) ;
269272 Assert . That (
@@ -272,19 +275,25 @@ public async Task DmlPlansAreCachedAsync()
272275 "Unexpected constant parameter value" ) ;
273276 Assert . That (
274277 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" ) ,
276285 "Unexpected constant parameter value" ) ;
277286 }
278287
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." ) ;
280289 Assert . That (
281290 spy . GetWholeLog ( ) ,
282291 Does
283292 . Contain ( "located HQL query plan in cache" )
284293 . And . Not . Contain ( "unable to locate HQL query plan in cache" ) ) ;
285294
286295 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" ) ;
288297 }
289298 }
290299 }
0 commit comments