@@ -953,11 +953,14 @@ public async Task LockingAsync()
953953 s3 . Count = 3 ;
954954 Simple s4 = new Simple ( ) ;
955955 s4 . Count = 4 ;
956+ Simple s5 = new Simple ( ) ;
957+ s5 . Count = 5 ;
956958
957959 await ( s . SaveAsync ( s1 , ( long ) 1 ) ) ;
958960 await ( s . SaveAsync ( s2 , ( long ) 2 ) ) ;
959961 await ( s . SaveAsync ( s3 , ( long ) 3 ) ) ;
960962 await ( s . SaveAsync ( s4 , ( long ) 4 ) ) ;
963+ await ( s . SaveAsync ( s5 , ( long ) 5 ) ) ;
961964 Assert . AreEqual ( LockMode . Write , s . GetCurrentLockMode ( s1 ) ) ;
962965 await ( tx . CommitAsync ( ) ) ;
963966 s . Close ( ) ;
@@ -972,6 +975,8 @@ public async Task LockingAsync()
972975 Assert . AreEqual ( LockMode . Upgrade , s . GetCurrentLockMode ( s3 ) ) ;
973976 s4 = ( Simple ) await ( s . LoadAsync ( typeof ( Simple ) , ( long ) 4 , LockMode . UpgradeNoWait ) ) ;
974977 Assert . AreEqual ( LockMode . UpgradeNoWait , s . GetCurrentLockMode ( s4 ) ) ;
978+ s5 = ( Simple ) await ( s . LoadAsync ( typeof ( Simple ) , ( long ) 5 , LockMode . UpgradeSkipLocked ) ) ;
979+ Assert . AreEqual ( LockMode . UpgradeSkipLocked , s . GetCurrentLockMode ( s5 ) ) ;
975980
976981 s1 = ( Simple ) await ( s . LoadAsync ( typeof ( Simple ) , ( long ) 1 , LockMode . Upgrade ) ) ; //upgrade
977982 Assert . AreEqual ( LockMode . Upgrade , s . GetCurrentLockMode ( s1 ) ) ;
@@ -981,14 +986,18 @@ public async Task LockingAsync()
981986 Assert . AreEqual ( LockMode . Upgrade , s . GetCurrentLockMode ( s3 ) ) ;
982987 s4 = ( Simple ) await ( s . LoadAsync ( typeof ( Simple ) , ( long ) 4 , LockMode . Upgrade ) ) ;
983988 Assert . AreEqual ( LockMode . UpgradeNoWait , s . GetCurrentLockMode ( s4 ) ) ;
989+ s5 = ( Simple ) await ( s . LoadAsync ( typeof ( Simple ) , ( long ) 5 , LockMode . Upgrade ) ) ;
990+ Assert . AreEqual ( LockMode . UpgradeSkipLocked , s . GetCurrentLockMode ( s4 ) ) ;
984991
985992 await ( s . LockAsync ( s2 , LockMode . Upgrade ) ) ; //upgrade
986993 Assert . AreEqual ( LockMode . Upgrade , s . GetCurrentLockMode ( s2 ) ) ;
987994 await ( s . LockAsync ( s3 , LockMode . Upgrade ) ) ;
988995 Assert . AreEqual ( LockMode . Upgrade , s . GetCurrentLockMode ( s3 ) ) ;
989996 await ( s . LockAsync ( s1 , LockMode . UpgradeNoWait ) ) ;
990997 await ( s . LockAsync ( s4 , LockMode . None ) ) ;
998+ await ( s . LockAsync ( s5 , LockMode . UpgradeSkipLocked ) ) ;
991999 Assert . AreEqual ( LockMode . UpgradeNoWait , s . GetCurrentLockMode ( s4 ) ) ;
1000+ Assert . AreEqual ( LockMode . UpgradeSkipLocked , s . GetCurrentLockMode ( s5 ) ) ;
9921001
9931002 await ( tx . CommitAsync ( ) ) ;
9941003 tx = s . BeginTransaction ( ) ;
@@ -997,6 +1006,7 @@ public async Task LockingAsync()
9971006 Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s1 ) ) ;
9981007 Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s2 ) ) ;
9991008 Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s4 ) ) ;
1009+ Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s5 ) ) ;
10001010
10011011 await ( s . LockAsync ( s1 , LockMode . Read ) ) ; //upgrade
10021012 Assert . AreEqual ( LockMode . Read , s . GetCurrentLockMode ( s1 ) ) ;
@@ -1017,11 +1027,13 @@ public async Task LockingAsync()
10171027 Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s1 ) ) ;
10181028 Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s2 ) ) ;
10191029 Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s4 ) ) ;
1030+ Assert . AreEqual ( LockMode . None , s . GetCurrentLockMode ( s5 ) ) ;
10201031
10211032 await ( s . DeleteAsync ( s1 ) ) ;
10221033 await ( s . DeleteAsync ( s2 ) ) ;
10231034 await ( s . DeleteAsync ( s3 ) ) ;
10241035 await ( s . DeleteAsync ( s4 ) ) ;
1036+ await ( s . DeleteAsync ( s5 ) ) ;
10251037 await ( tx . CommitAsync ( ) ) ;
10261038 s . Close ( ) ;
10271039 }
0 commit comments