@@ -26,42 +26,33 @@ fn tree_read_mvcc() -> lsm_tree::Result<()> {
2626 assert_eq ! ( & * tree. get( "b" , SeqNo :: MAX ) ?. unwrap( ) , b"b3" ) ;
2727 assert_eq ! ( & * tree. get( "c" , SeqNo :: MAX ) ?. unwrap( ) , b"c4" ) ;
2828
29- // TODO: test snapshot reads
30-
31- // let snapshot = tree.snapshot(1);
32- // assert_eq!(&*snapshot.get("a")?.unwrap(), b"a0");
33- // assert_eq!(&*snapshot.get("b")?.unwrap(), b"b0");
34- // assert!(snapshot.get("c")?.is_none());
35-
36- // let snapshot = tree.snapshot(2);
37- // assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
38- // assert_eq!(&*snapshot.get("b")?.unwrap(), b"b1");
39- // assert!(snapshot.get("c")?.is_none());
40-
41- // let snapshot = tree.snapshot(3);
42- // assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
43- // assert_eq!(&*snapshot.get("b")?.unwrap(), b"b2");
44- // assert!(snapshot.get("c")?.is_none());
45-
46- // let snapshot = tree.snapshot(4);
47- // assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
48- // assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
49- // assert!(snapshot.get("c")?.is_none());
50-
51- // let snapshot = tree.snapshot(5);
52- // assert_eq!(&*snapshot.get("a")?.unwrap(), b"a1");
53- // assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
54- // assert_eq!(&*snapshot.get("c")?.unwrap(), b"c4");
55-
56- // let snapshot = tree.snapshot(6);
57- // assert_eq!(&*snapshot.get("a")?.unwrap(), b"a5");
58- // assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
59- // assert_eq!(&*snapshot.get("c")?.unwrap(), b"c4");
60-
61- // let snapshot = tree.snapshot(100);
62- // assert_eq!(&*snapshot.get("a")?.unwrap(), b"a5");
63- // assert_eq!(&*snapshot.get("b")?.unwrap(), b"b3");
64- // assert_eq!(&*snapshot.get("c")?.unwrap(), b"c4");
29+ assert_eq ! ( & * tree. get( "a" , 1 ) ?. unwrap( ) , b"a0" ) ;
30+ assert_eq ! ( & * tree. get( "b" , 1 ) ?. unwrap( ) , b"b0" ) ;
31+ assert ! ( tree. get( "c" , 1 ) ?. is_none( ) ) ;
32+
33+ assert_eq ! ( & * tree. get( "a" , 2 ) ?. unwrap( ) , b"a1" ) ;
34+ assert_eq ! ( & * tree. get( "b" , 2 ) ?. unwrap( ) , b"b1" ) ;
35+ assert ! ( tree. get( "c" , 2 ) ?. is_none( ) ) ;
36+
37+ assert_eq ! ( & * tree. get( "a" , 3 ) ?. unwrap( ) , b"a1" ) ;
38+ assert_eq ! ( & * tree. get( "b" , 3 ) ?. unwrap( ) , b"b2" ) ;
39+ assert ! ( tree. get( "c" , 3 ) ?. is_none( ) ) ;
40+
41+ assert_eq ! ( & * tree. get( "a" , 4 ) ?. unwrap( ) , b"a1" ) ;
42+ assert_eq ! ( & * tree. get( "b" , 4 ) ?. unwrap( ) , b"b3" ) ;
43+ assert ! ( tree. get( "c" , 4 ) ?. is_none( ) ) ;
44+
45+ assert_eq ! ( & * tree. get( "a" , 5 ) ?. unwrap( ) , b"a1" ) ;
46+ assert_eq ! ( & * tree. get( "b" , 5 ) ?. unwrap( ) , b"b3" ) ;
47+ assert_eq ! ( & * tree. get( "c" , 5 ) ?. unwrap( ) , b"c4" ) ;
48+
49+ assert_eq ! ( & * tree. get( "a" , 6 ) ?. unwrap( ) , b"a5" ) ;
50+ assert_eq ! ( & * tree. get( "b" , 6 ) ?. unwrap( ) , b"b3" ) ;
51+ assert_eq ! ( & * tree. get( "c" , 6 ) ?. unwrap( ) , b"c4" ) ;
52+
53+ assert_eq ! ( & * tree. get( "a" , 100 ) ?. unwrap( ) , b"a5" ) ;
54+ assert_eq ! ( & * tree. get( "b" , 100 ) ?. unwrap( ) , b"b3" ) ;
55+ assert_eq ! ( & * tree. get( "c" , 100 ) ?. unwrap( ) , b"c4" ) ;
6556
6657 let mut iter = tree. iter ( SeqNo :: MAX , None ) ;
6758
@@ -70,59 +61,50 @@ fn tree_read_mvcc() -> lsm_tree::Result<()> {
7061 assert_eq ! ( & * iter. next( ) . unwrap( ) . value( ) ?, b"c4" ) ;
7162 assert ! ( iter. next( ) . is_none( ) ) ;
7263
73- // TODO: test snapshot reads
64+ let mut iter = tree . iter ( 1 , None ) ;
7465
75- // let snapshot = tree.snapshot(1);
76- // let mut iter = snapshot.iter();
77-
78- // assert_eq!(&*iter.next().unwrap().unwrap().1, b"a0");
79- // assert_eq!(&*iter.next().unwrap().unwrap().1, b"b0");
80- // assert!(iter.next().is_none());
66+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value( ) ?, b"a0" ) ;
67+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value( ) ?, b"b0" ) ;
68+ assert ! ( iter. next( ) . is_none( ) ) ;
8169
82- // let snapshot = tree.snapshot(2);
83- // let mut iter = snapshot.iter();
70+ let mut iter = tree. iter ( 2 , None ) ;
8471
85- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"a1");
86- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"b1");
87- // assert!(iter.next().is_none());
72+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"a1" ) ;
73+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"b1" ) ;
74+ assert ! ( iter. next( ) . is_none( ) ) ;
8875
89- // let snapshot = tree.snapshot(3);
90- // let mut iter = snapshot.iter();
76+ let mut iter = tree. iter ( 3 , None ) ;
9177
92- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"a1");
93- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"b2");
94- // assert!(iter.next().is_none());
78+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"a1" ) ;
79+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"b2" ) ;
80+ assert ! ( iter. next( ) . is_none( ) ) ;
9581
96- // let snapshot = tree.snapshot(4);
97- // let mut iter = snapshot.iter();
82+ let mut iter = tree. iter ( 4 , None ) ;
9883
99- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"a1");
100- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"b3");
101- // assert!(iter.next().is_none());
84+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"a1" ) ;
85+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"b3" ) ;
86+ assert ! ( iter. next( ) . is_none( ) ) ;
10287
103- // let snapshot = tree.snapshot(5);
104- // let mut iter = snapshot.iter();
88+ let mut iter = tree. iter ( 5 , None ) ;
10589
106- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"a1");
107- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"b3");
108- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"c4");
109- // assert!(iter.next().is_none());
90+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"a1" ) ;
91+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"b3" ) ;
92+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"c4" ) ;
93+ assert ! ( iter. next( ) . is_none( ) ) ;
11094
111- // let snapshot = tree.snapshot(6);
112- // let mut iter = snapshot.iter();
95+ let mut iter = tree. iter ( 6 , None ) ;
11396
114- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"a5");
115- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"b3");
116- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"c4");
117- // assert!(iter.next().is_none());
97+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"a5" ) ;
98+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"b3" ) ;
99+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"c4" ) ;
100+ assert ! ( iter. next( ) . is_none( ) ) ;
118101
119- // let snapshot = tree.snapshot(100);
120- // let mut iter = snapshot.iter();
102+ let mut iter = tree. iter ( 100 , None ) ;
121103
122- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"a5");
123- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"b3");
124- // assert_eq!(&*iter.next().unwrap().unwrap().1 , b"c4");
125- // assert!(iter.next().is_none());
104+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"a5" ) ;
105+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"b3" ) ;
106+ assert_eq ! ( & * iter. next( ) . unwrap( ) . value ( ) ? , b"c4" ) ;
107+ assert ! ( iter. next( ) . is_none( ) ) ;
126108
127109 Ok ( ( ) )
128110}
0 commit comments