11use keylite_kv:: core:: Db ;
2- use std:: fs ;
2+ use std:: { fs , string } ;
33
44#[ test]
55fn test_basic_transaction_commit ( ) {
@@ -98,29 +98,30 @@ fn test_transaction_scan_all() {
9898 let _ = fs:: remove_dir_all ( test_dir) ;
9999
100100 let db = Db :: open ( test_dir) . unwrap ( ) ;
101-
102- // Put some data in DB
101+
103102 db. put ( b"a1" , b"db_a1" ) . unwrap ( ) ;
104103 db. put ( b"b2" , b"db_b2" ) . unwrap ( ) ;
105104 db. put ( b"c3" , b"db_c3" ) . unwrap ( ) ;
106-
107- // Create transaction with additional data
105+
108106 let mut txn = db. begin ( ) ;
109107 txn. put ( b"a2" , b"txn_a2" ) ;
110108 txn. put ( b"b1" , b"txn_b1" ) ;
111109 txn. put ( b"d1" , b"txn_d1" ) ;
112-
113- // Scan all
110+
114111 let results: Vec < _ > = txn. scan ( None , None ) . collect ( ) ;
115-
112+ for res in results. iter ( ) {
113+ println ! ( "{:?}" , String :: from_utf8( res. 1 . clone( ) ) ) ;
114+ }
115+ println ! ( "{:?}" , results) ;
116+
116117 assert_eq ! ( results. len( ) , 6 ) ;
117118 assert_eq ! ( results[ 0 ] , ( b"a1" . to_vec( ) , b"db_a1" . to_vec( ) ) ) ;
118119 assert_eq ! ( results[ 1 ] , ( b"a2" . to_vec( ) , b"txn_a2" . to_vec( ) ) ) ;
119120 assert_eq ! ( results[ 2 ] , ( b"b1" . to_vec( ) , b"txn_b1" . to_vec( ) ) ) ;
120121 assert_eq ! ( results[ 3 ] , ( b"b2" . to_vec( ) , b"db_b2" . to_vec( ) ) ) ;
121122 assert_eq ! ( results[ 4 ] , ( b"c3" . to_vec( ) , b"db_c3" . to_vec( ) ) ) ;
122123 assert_eq ! ( results[ 5 ] , ( b"d1" . to_vec( ) , b"txn_d1" . to_vec( ) ) ) ;
123-
124+
124125 let _ = fs:: remove_dir_all ( test_dir) ;
125126}
126127
@@ -130,27 +131,25 @@ fn test_transaction_scan_with_range() {
130131 let _ = fs:: remove_dir_all ( test_dir) ;
131132
132133 let db = Db :: open ( test_dir) . unwrap ( ) ;
133-
134- // Put some data in DB
134+
135135 db. put ( b"a1" , b"db_a1" ) . unwrap ( ) ;
136136 db. put ( b"b2" , b"db_b2" ) . unwrap ( ) ;
137137 db. put ( b"c3" , b"db_c3" ) . unwrap ( ) ;
138138 db. put ( b"d4" , b"db_d4" ) . unwrap ( ) ;
139-
140- // Create transaction with additional data
139+
141140 let mut txn = db. begin ( ) ;
142141 txn. put ( b"b1" , b"txn_b1" ) ;
143142 txn. put ( b"c1" , b"txn_c1" ) ;
144-
145- // Scan with range [b, d)
143+
146144 let results: Vec < _ > = txn. scan ( Some ( b"b" ) , Some ( b"d" ) ) . collect ( ) ;
147-
145+ println ! ( "{:?}" , results) ;
146+
148147 assert_eq ! ( results. len( ) , 4 ) ;
149148 assert_eq ! ( results[ 0 ] , ( b"b1" . to_vec( ) , b"txn_b1" . to_vec( ) ) ) ;
150149 assert_eq ! ( results[ 1 ] , ( b"b2" . to_vec( ) , b"db_b2" . to_vec( ) ) ) ;
151150 assert_eq ! ( results[ 2 ] , ( b"c1" . to_vec( ) , b"txn_c1" . to_vec( ) ) ) ;
152151 assert_eq ! ( results[ 3 ] , ( b"c3" . to_vec( ) , b"db_c3" . to_vec( ) ) ) ;
153-
152+
154153 let _ = fs:: remove_dir_all ( test_dir) ;
155154}
156155
@@ -160,24 +159,24 @@ fn test_transaction_scan_with_overwrites() {
160159 let _ = fs:: remove_dir_all ( test_dir) ;
161160
162161 let db = Db :: open ( test_dir) . unwrap ( ) ;
163-
162+
164163 // Put some data in DB
165164 db. put ( b"key1" , b"db_value1" ) . unwrap ( ) ;
166165 db. put ( b"key2" , b"db_value2" ) . unwrap ( ) ;
167166 db. put ( b"key3" , b"db_value3" ) . unwrap ( ) ;
168-
167+
169168 // Create transaction that overwrites some keys
170169 let mut txn = db. begin ( ) ;
171170 txn. put ( b"key2" , b"txn_value2" ) ;
172-
171+
173172 // Scan all - should see transaction value for key2
174173 let results: Vec < _ > = txn. scan ( None , None ) . collect ( ) ;
175-
174+
176175 assert_eq ! ( results. len( ) , 3 ) ;
177176 assert_eq ! ( results[ 0 ] , ( b"key1" . to_vec( ) , b"db_value1" . to_vec( ) ) ) ;
178177 assert_eq ! ( results[ 1 ] , ( b"key2" . to_vec( ) , b"txn_value2" . to_vec( ) ) ) ;
179178 assert_eq ! ( results[ 2 ] , ( b"key3" . to_vec( ) , b"db_value3" . to_vec( ) ) ) ;
180-
179+
181180 let _ = fs:: remove_dir_all ( test_dir) ;
182181}
183182
@@ -187,23 +186,23 @@ fn test_transaction_scan_with_deletes() {
187186 let _ = fs:: remove_dir_all ( test_dir) ;
188187
189188 let db = Db :: open ( test_dir) . unwrap ( ) ;
190-
189+
191190 // Put some data in DB
192191 db. put ( b"key1" , b"db_value1" ) . unwrap ( ) ;
193192 db. put ( b"key2" , b"db_value2" ) . unwrap ( ) ;
194193 db. put ( b"key3" , b"db_value3" ) . unwrap ( ) ;
195-
194+
196195 // Create transaction that deletes a key
197196 let mut txn = db. begin ( ) ;
198197 txn. del ( b"key2" ) ;
199-
198+
200199 // Scan all - should not see key2
201200 let results: Vec < _ > = txn. scan ( None , None ) . collect ( ) ;
202-
201+
203202 assert_eq ! ( results. len( ) , 2 ) ;
204203 assert_eq ! ( results[ 0 ] , ( b"key1" . to_vec( ) , b"db_value1" . to_vec( ) ) ) ;
205204 assert_eq ! ( results[ 1 ] , ( b"key3" . to_vec( ) , b"db_value3" . to_vec( ) ) ) ;
206-
205+
207206 let _ = fs:: remove_dir_all ( test_dir) ;
208207}
209208
@@ -213,21 +212,21 @@ fn test_transaction_scan_start_only() {
213212 let _ = fs:: remove_dir_all ( test_dir) ;
214213
215214 let db = Db :: open ( test_dir) . unwrap ( ) ;
216-
215+
217216 db. put ( b"a" , b"val_a" ) . unwrap ( ) ;
218217 db. put ( b"b" , b"val_b" ) . unwrap ( ) ;
219218 db. put ( b"c" , b"val_c" ) . unwrap ( ) ;
220219 db. put ( b"d" , b"val_d" ) . unwrap ( ) ;
221-
220+
222221 let txn = db. begin ( ) ;
223-
222+
224223 // Scan from 'c' onwards
225224 let results: Vec < _ > = txn. scan ( Some ( b"c" ) , None ) . collect ( ) ;
226-
225+
227226 assert_eq ! ( results. len( ) , 2 ) ;
228227 assert_eq ! ( results[ 0 ] , ( b"c" . to_vec( ) , b"val_c" . to_vec( ) ) ) ;
229228 assert_eq ! ( results[ 1 ] , ( b"d" . to_vec( ) , b"val_d" . to_vec( ) ) ) ;
230-
229+
231230 let _ = fs:: remove_dir_all ( test_dir) ;
232231}
233232
@@ -237,21 +236,20 @@ fn test_transaction_scan_end_only() {
237236 let _ = fs:: remove_dir_all ( test_dir) ;
238237
239238 let db = Db :: open ( test_dir) . unwrap ( ) ;
240-
239+
241240 db. put ( b"a" , b"val_a" ) . unwrap ( ) ;
242241 db. put ( b"b" , b"val_b" ) . unwrap ( ) ;
243242 db. put ( b"c" , b"val_c" ) . unwrap ( ) ;
244243 db. put ( b"d" , b"val_d" ) . unwrap ( ) ;
245-
244+
246245 let txn = db. begin ( ) ;
247-
246+
248247 // Scan up to 'c' (exclusive)
249248 let results: Vec < _ > = txn. scan ( None , Some ( b"c" ) ) . collect ( ) ;
250-
249+
251250 assert_eq ! ( results. len( ) , 2 ) ;
252251 assert_eq ! ( results[ 0 ] , ( b"a" . to_vec( ) , b"val_a" . to_vec( ) ) ) ;
253252 assert_eq ! ( results[ 1 ] , ( b"b" . to_vec( ) , b"val_b" . to_vec( ) ) ) ;
254-
253+
255254 let _ = fs:: remove_dir_all ( test_dir) ;
256255}
257-
0 commit comments