1
1
using System ;
2
2
using System . Collections ;
3
3
using System . Collections . Generic ;
4
+ using NHibernate . Cfg ;
4
5
using NHibernate . Criterion ;
5
6
using NHibernate . Test . SecondLevelCacheTests ;
6
7
using NUnit . Framework ;
8
+ using Environment = NHibernate . Cfg . Environment ;
7
9
8
10
namespace NHibernate . Test . QueryTest
9
11
{
@@ -25,6 +27,20 @@ protected override bool AppliesTo(Engine.ISessionFactoryImplementor factory)
25
27
return factory . ConnectionProvider . Driver . SupportsMultipleQueries ;
26
28
}
27
29
30
+ protected override void Configure ( Configuration configuration )
31
+ {
32
+ base . Configure ( configuration ) ;
33
+
34
+ configuration . SetProperty ( Environment . GenerateStatistics , "true" ) ;
35
+ }
36
+
37
+ protected override void OnSetUp ( )
38
+ {
39
+ base . OnSetUp ( ) ;
40
+
41
+ this . sessions . Statistics . Clear ( ) ;
42
+ }
43
+
28
44
protected override void OnTearDown ( )
29
45
{
30
46
using ( var session = OpenSession ( ) )
@@ -151,6 +167,22 @@ public void CanGetMultiQueryFromSecondLevelCache()
151
167
}
152
168
}
153
169
170
+ [ Test ]
171
+ public void CanUpdateStatisticsWhenGetMultiQueryFromSecondLevelCache ( )
172
+ {
173
+ CreateItems ( ) ;
174
+
175
+ DoMutiQueryAndAssert ( ) ;
176
+ Assert . AreEqual ( 0 , sessions . Statistics . QueryCacheHitCount ) ;
177
+ Assert . AreEqual ( 1 , sessions . Statistics . QueryCacheMissCount ) ;
178
+ Assert . AreEqual ( 1 , sessions . Statistics . QueryCachePutCount ) ;
179
+
180
+ DoMutiQueryAndAssert ( ) ;
181
+ Assert . AreEqual ( 1 , sessions . Statistics . QueryCacheHitCount ) ;
182
+ Assert . AreEqual ( 1 , sessions . Statistics . QueryCacheMissCount ) ;
183
+ Assert . AreEqual ( 1 , sessions . Statistics . QueryCachePutCount ) ;
184
+ }
185
+
154
186
[ Test ]
155
187
public void TwoMultiQueriesWithDifferentPagingGetDifferentResultsWhenUsingCachedQueries ( )
156
188
{
@@ -248,7 +280,7 @@ public void CanAddCriteriaWithKeyAndRetrieveResultsWithKey()
248
280
using ( var session = OpenSession ( ) )
249
281
{
250
282
var multiCriteria = session . CreateMultiCriteria ( ) ;
251
-
283
+
252
284
var firstCriteria = session . CreateCriteria ( typeof ( Item ) )
253
285
. Add ( Restrictions . Lt ( "id" , 50 ) ) ;
254
286
@@ -275,7 +307,7 @@ public void CanAddDetachedCriteriaWithKeyAndRetrieveResultsWithKey()
275
307
276
308
var firstCriteria = DetachedCriteria . For ( typeof ( Item ) )
277
309
. Add ( Restrictions . Lt ( "id" , 50 ) ) ;
278
-
310
+
279
311
var secondCriteria = DetachedCriteria . For ( typeof ( Item ) ) ;
280
312
281
313
multiCriteria . Add ( "firstCriteria" , firstCriteria ) ;
0 commit comments