@@ -126,10 +126,10 @@ fn eval(c: &mut Criterion) {
126126 // A benchmark runner for the new query engine
127127 let bench_query = |c : & mut Criterion , name, sql| {
128128 c. bench_function ( name, |b| {
129- let tx = raw. db . begin_tx ( Workload :: Subscribe ) ;
129+ let mut tx = raw. db . begin_tx ( Workload :: Subscribe ) ;
130130 let auth = AuthCtx :: for_testing ( ) ;
131- let schema_viewer = & SchemaViewer :: new ( & tx, & auth) ;
132- let ( plans, table_id, table_name, _) = compile_subscription ( sql, schema_viewer, & auth) . unwrap ( ) ;
131+ let mut schema_viewer = SchemaViewer :: new ( & mut tx, & auth) ;
132+ let ( plans, table_id, table_name, _) = compile_subscription ( sql, & mut schema_viewer, & auth) . unwrap ( ) ;
133133 let plans = plans
134134 . into_iter ( )
135135 . map ( |plan| plan. optimize ( & auth) . unwrap ( ) )
@@ -155,8 +155,8 @@ fn eval(c: &mut Criterion) {
155155
156156 let bench_eval = |c : & mut Criterion , name, sql| {
157157 c. bench_function ( name, |b| {
158- let tx = raw. db . begin_tx ( Workload :: Update ) ;
159- let query = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , & tx, sql) . unwrap ( ) ;
158+ let mut tx = raw. db . begin_tx ( Workload :: Update ) ;
159+ let query = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , & mut tx, sql) . unwrap ( ) ;
160160 let query: ExecutionSet = query. into ( ) ;
161161
162162 b. iter ( || {
@@ -207,11 +207,11 @@ fn eval(c: &mut Criterion) {
207207 // A passthru executed independently of the database.
208208 let select_lhs = "select * from footprint" ;
209209 let select_rhs = "select * from location" ;
210- let tx = & raw . db. begin_tx ( Workload :: Update ) ;
211- let query_lhs = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , tx, select_lhs) . unwrap ( ) ;
212- let query_rhs = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , tx, select_rhs) . unwrap ( ) ;
210+ let mut tx = raw. db . begin_tx ( Workload :: Update ) ;
211+ let query_lhs = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , & mut tx, select_lhs) . unwrap ( ) ;
212+ let query_rhs = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , & mut tx, select_rhs) . unwrap ( ) ;
213213 let query = ExecutionSet :: from_iter ( query_lhs. into_iter ( ) . chain ( query_rhs) ) ;
214- let tx = & tx . into ( ) ;
214+ let tx = & ( & mut tx ) . into ( ) ;
215215
216216 b. iter ( || drop ( black_box ( query. eval_incr_for_test ( & raw . db, tx, & update, None ) ) ) )
217217 } ) ;
@@ -226,10 +226,10 @@ fn eval(c: &mut Criterion) {
226226 from footprint join location on footprint.entity_id = location.entity_id \
227227 where location.chunk_index = {chunk_index}"
228228 ) ;
229- let tx = & raw . db. begin_tx ( Workload :: Update ) ;
230- let query = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , tx, & join) . unwrap ( ) ;
229+ let mut tx = raw. db . begin_tx ( Workload :: Update ) ;
230+ let query = compile_read_only_queryset ( & raw . db, & AuthCtx :: for_testing ( ) , & mut tx, & join) . unwrap ( ) ;
231231 let query: ExecutionSet = query. into ( ) ;
232- let tx = & tx . into ( ) ;
232+ let tx = & ( & mut tx ) . into ( ) ;
233233
234234 b. iter ( || drop ( black_box ( query. eval_incr_for_test ( & raw . db, tx, & update, None ) ) ) ) ;
235235 } ) ;
0 commit comments