diff --git a/benches/parse.rs b/benches/parse.rs index cc19262c6d929d894aaad0d41a1b98d14cde4b31..e4bbbad4df9d83383721312d126a153aeb39bdf0 100644 --- a/benches/parse.rs +++ b/benches/parse.rs @@ -234,7 +234,7 @@ fn query1_sql() -> String { sql.into() } -fn query1(pattern: &str, params: &mut Vec<Value>, engine: &mut RouterRuntimeMock) { +fn query1(pattern: &str, params: Vec<Value>, engine: &mut RouterRuntimeMock) { let mut query = Query::new(engine, pattern, params).unwrap(); let top_id = query.get_exec_plan().get_ir_plan().get_top().unwrap(); let buckets = query.bucket_discovery(top_id).unwrap(); @@ -251,10 +251,10 @@ fn bench_query1(c: &mut Criterion) { let mut reestrid: u64 = 666; c.bench_function("query1", |b| { b.iter(|| { - let mut params = vec![Value::from(sys_from), Value::from(reestrid)]; + let params = vec![Value::from(sys_from), Value::from(reestrid)]; sys_from += 1; reestrid += 1; - query1(&sql, &mut params, &mut engine) + query1(&sql, params, &mut engine) }) }); } diff --git a/src/api/exec_query.rs b/src/api/exec_query.rs index a90f05f9d03cf3cfe2e075feee3a6be79d2a6aec..12e930df5ff39490f8d3b0a7a813afe34983173e 100644 --- a/src/api/exec_query.rs +++ b/src/api/exec_query.rs @@ -14,7 +14,7 @@ use crate::ir::value::Value; /// Dispatch parameterized SQL query from coordinator to the segments. #[no_mangle] pub extern "C" fn dispatch_query(ctx: FunctionCtx, args: FunctionArgs) -> c_int { - let mut lua_params = match PatternWithParams::try_from(args) { + let lua_params = match PatternWithParams::try_from(args) { Ok(param) => param, Err(e) => return tarantool::set_error!(TarantoolErrorCode::ProcC, "{:?}", e), }; @@ -34,7 +34,7 @@ pub extern "C" fn dispatch_query(ctx: FunctionCtx, args: FunctionArgs) -> c_int ); } }; - let mut query = match Query::new(&*runtime, &lua_params.pattern, &mut lua_params.params) { + let mut query = match Query::new(&*runtime, &lua_params.pattern, lua_params.params) { Ok(q) => q, Err(e) => { say( diff --git a/src/api/explain.rs b/src/api/explain.rs index 38d74d9cf1faa03d64dac95c0c3283b264cdf136..32dd3e395ff69457972b743477205fc90a1dbc64 100644 --- a/src/api/explain.rs +++ b/src/api/explain.rs @@ -50,7 +50,7 @@ pub extern "C" fn explain(ctx: FunctionCtx, args: FunctionArgs) -> c_int { ); } }; - let query = match Query::new(&*runtime, &lua_params.query, &mut vec![]) { + let query = match Query::new(&*runtime, &lua_params.query, vec![]) { Ok(q) => q, Err(e) => { say( diff --git a/src/executor.rs b/src/executor.rs index 62cd3b711a13772fc7de351e51124f4bbb583adc..91348ac49f2e4757c018f01a49cc0facd472db02 100644 --- a/src/executor.rs +++ b/src/executor.rs @@ -90,11 +90,7 @@ where /// - Failed to build AST. /// - Failed to build IR plan. /// - Failed to apply optimizing transformations to IR plan. - pub fn new( - coordinator: &'a C, - sql: &str, - params: &mut Vec<Value>, - ) -> Result<Self, QueryPlannerError> + pub fn new(coordinator: &'a C, sql: &str, params: Vec<Value>) -> Result<Self, QueryPlannerError> where C::Configuration: CoordinatorMetadata, C::Cache: Cache<String, Plan>, diff --git a/src/executor/bucket/tests.rs b/src/executor/bucket/tests.rs index 9ba97d39dfe52a1ea6d01b5b80f4a95a01a49688..8a3b6029ee821363f0884d0dd20d998b3104e0a4 100644 --- a/src/executor/bucket/tests.rs +++ b/src/executor/bucket/tests.rs @@ -18,7 +18,7 @@ fn simple_union_query() { WHERE "id" = 1"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, query, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, query, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); let top = plan.get_top().unwrap(); let buckets = query.bucket_discovery(top).unwrap(); @@ -42,7 +42,7 @@ fn simple_disjunction_in_union_query() { WHERE ("id" = 1) OR ("id" = 100)"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, query, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, query, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); let top = plan.get_top().unwrap(); let buckets = query.bucket_discovery(top).unwrap(); @@ -73,7 +73,7 @@ fn complex_shard_key_union_query() { WHERE "identification_number" = 1 AND "product_code" = '222'"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, query, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, query, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); let top = plan.get_top().unwrap(); let buckets = query.bucket_discovery(top).unwrap(); @@ -106,7 +106,7 @@ fn union_complex_cond_query() { OR "product_code" = '111')"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, query, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, query, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); let top = plan.get_top().unwrap(); let buckets = query.bucket_discovery(top).unwrap(); @@ -156,7 +156,7 @@ fn union_query_conjunction() { SELECT * FROM "test_space_hist" WHERE "id" = 2"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, query, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, query, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); let top = plan.get_top().unwrap(); let buckets = query.bucket_discovery(top).unwrap(); @@ -182,7 +182,7 @@ fn simple_except_query() { WHERE "id" = 1"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, query, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, query, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); let top = plan.get_top().unwrap(); let buckets = query.bucket_discovery(top).unwrap(); diff --git a/src/executor/engine/cartridge/backend/sql/ir/tests.rs b/src/executor/engine/cartridge/backend/sql/ir/tests.rs index 51543e6c57dc31d444d8385a024477dcb83ad988..d4fa13b92acda3debd30b154bd4655f371197af6 100644 --- a/src/executor/engine/cartridge/backend/sql/ir/tests.rs +++ b/src/executor/engine/cartridge/backend/sql/ir/tests.rs @@ -20,7 +20,7 @@ fn one_table_projection() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); @@ -52,7 +52,7 @@ fn one_table_with_asterisk() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); @@ -90,7 +90,7 @@ fn union_all() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); @@ -125,7 +125,7 @@ fn from_sub_query() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); @@ -163,7 +163,7 @@ fn from_sub_query_with_union() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); @@ -198,7 +198,7 @@ fn inner_join() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); @@ -235,7 +235,7 @@ fn inner_join_with_sq() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); @@ -272,7 +272,7 @@ fn selection_with_sq() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); let mut sp = SyntaxPlan::new(&ex_plan, top_id).unwrap(); @@ -309,7 +309,7 @@ fn except() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let ex_plan = ExecutionPlan::from(plan); let top_id = ex_plan.get_ir_plan().get_top().unwrap(); diff --git a/src/executor/tests.rs b/src/executor/tests.rs index e849027f68fca1a26258a519fa2bf2c3cdd5aab9..a2450301a3d56d26d494b45cbd3cb6bfb34c5509 100644 --- a/src/executor/tests.rs +++ b/src/executor/tests.rs @@ -16,7 +16,7 @@ fn shard_query() { let sql = r#"SELECT "FIRST_NAME" FROM "test_space" where "id" = 1"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let result = *query .dispatch() .unwrap() @@ -56,7 +56,7 @@ fn shard_union_query() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let result = *query .dispatch() .unwrap() @@ -91,7 +91,7 @@ fn map_reduce_query() { let sql = r#"SELECT "product_code" FROM "hash_testing" where "identification_number" = 1 and "product_code" = '457'"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let result = *query .dispatch() .unwrap() @@ -130,7 +130,7 @@ fn linker_test() { (SELECT "identification_number" FROM "hash_testing" where "identification_number" > 1)"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = virtual_table_23(); if let MotionPolicy::Segment(key) = get_motion_policy(query.exec_plan.get_ir_plan(), motion_id) @@ -209,7 +209,7 @@ fn union_linker_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = virtual_table_23(); if let MotionPolicy::Segment(key) = get_motion_policy(query.exec_plan.get_ir_plan(), motion_id) @@ -307,7 +307,7 @@ WHERE "t3"."id" = 2 AND "t8"."identification_number" = 2"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = virtual_table_23(); virtual_table.set_alias("\"t8\"").unwrap(); @@ -383,7 +383,7 @@ fn join_linker2_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = VirtualTable::new(); @@ -450,7 +450,7 @@ fn join_linker3_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = VirtualTable::new(); @@ -521,7 +521,7 @@ fn join_linker4_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_t2_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_t2 = VirtualTable::new(); @@ -624,7 +624,7 @@ fn anonymous_col_index_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion1_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_t1 = virtual_table_23(); if let MotionPolicy::Segment(key) = get_motion_policy(query.exec_plan.get_ir_plan(), motion1_id) @@ -709,7 +709,7 @@ fn sharding_column1_test() { let sql = r#"SELECT * FROM "test_space" where "id" = 1"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let result = *query .dispatch() .unwrap() @@ -740,7 +740,7 @@ fn sharding_column2_test() { let sql = r#"SELECT *, "bucket_id" FROM "test_space" where "id" = 1"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let result = *query .dispatch() .unwrap() @@ -773,7 +773,7 @@ fn insert1_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = VirtualTable::new(); @@ -838,7 +838,7 @@ fn insert2_test() { where "a" = 1 and "b" = 2"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); // Though projection row has the same distribution key as // the target table, we still add a motion and collect a @@ -898,7 +898,7 @@ fn insert3_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = VirtualTable::new(); @@ -975,7 +975,7 @@ fn insert4_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); // Though data allows to be inserted locally still gather it on the // coordinator to recalculate a "bucket_id" field for "t". @@ -1033,7 +1033,7 @@ fn insert5_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = VirtualTable::new(); @@ -1097,7 +1097,7 @@ fn insert6_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = VirtualTable::new(); @@ -1186,7 +1186,7 @@ fn insert7_test() { let sql = r#"insert into "hash_testing" ("sys_op", "bucket_id" ) values (1, 2)"#; let coordinator = RouterRuntimeMock::new(); - let result = Query::new(&coordinator, sql, &mut vec![]).unwrap_err(); + let result = Query::new(&coordinator, sql, vec![]).unwrap_err(); assert_eq!( QueryPlannerError::CustomError(format!( @@ -1203,7 +1203,7 @@ fn insert8_test() { let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; let mut virtual_table = VirtualTable::new(); @@ -1273,7 +1273,7 @@ fn insert9_test() { let mut query = Query::new( &coordinator, sql, - &mut vec![Value::from(1_u64), Value::from(2_u64)], + vec![Value::from(1_u64), Value::from(2_u64)], ) .unwrap(); let motion_id = query.exec_plan.get_ir_plan().get_slices().unwrap()[0][0]; diff --git a/src/executor/tests/between.rs b/src/executor/tests/between.rs index 1ee4c15e12fbd0ece4b851f724b24d3ed6a4bbc9..390e81b6b4ee797b30ff605b7da4dfe844d4c967 100644 --- a/src/executor/tests/between.rs +++ b/src/executor/tests/between.rs @@ -23,7 +23,7 @@ fn between1_test() { // Initialize the query. let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); // Validate the motion type. @@ -81,7 +81,7 @@ fn between2_test() { // Initialize the query. let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); // Validate the motion type. diff --git a/src/executor/tests/bucket_id.rs b/src/executor/tests/bucket_id.rs index 42e288dc90bd6f7521ab8a2721ac2a22e6e02329..91e0e91bef266f9f207898668d710b213c85377b 100644 --- a/src/executor/tests/bucket_id.rs +++ b/src/executor/tests/bucket_id.rs @@ -12,7 +12,7 @@ fn bucket1_test() { let sql = r#"SELECT *, "bucket_id" FROM "t1""#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let result = *query .dispatch() .unwrap() @@ -40,7 +40,7 @@ fn bucket2_test() { WHERE "a" = 1 AND "b" = 2"#; let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let result = *query .dispatch() .unwrap() diff --git a/src/executor/tests/not_eq.rs b/src/executor/tests/not_eq.rs index d444e1e3edabb1860de105d9df04b9e9d249864c..99c5aebd5d54a250484a0279dabaa32c1da60fd7 100644 --- a/src/executor/tests/not_eq.rs +++ b/src/executor/tests/not_eq.rs @@ -20,7 +20,7 @@ fn not_eq1_test() { // Initialize the query. let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); // Validate the motion type. @@ -61,7 +61,7 @@ fn not_eq2_test() { // Initialize the query. let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); // Validate the motion type. diff --git a/src/executor/tests/not_in.rs b/src/executor/tests/not_in.rs index 933da8de89935a077e2fde5837b111f50563e622..9551d331e5adb813fe6605b1c1d4be17c4e6fcfc 100644 --- a/src/executor/tests/not_in.rs +++ b/src/executor/tests/not_in.rs @@ -23,7 +23,7 @@ fn not_in1_test() { // Initialize the query. let coordinator = RouterRuntimeMock::new(); - let mut query = Query::new(&coordinator, sql, &mut vec![]).unwrap(); + let mut query = Query::new(&coordinator, sql, vec![]).unwrap(); let plan = query.exec_plan.get_ir_plan(); // Validate the motion type. diff --git a/src/frontend/sql.rs b/src/frontend/sql.rs index 3fc4e8de2eeacdb74b76300687ec65abf5f69447..f40efddb5e4e6a6ec7a1d69ff7eecfd141706670 100644 --- a/src/frontend/sql.rs +++ b/src/frontend/sql.rs @@ -758,7 +758,7 @@ impl Plan { /// - Invalid amount of parameters. /// - Internal errors. #[allow(clippy::too_many_lines)] - pub fn bind_params(&mut self, params: &mut Vec<Value>) -> Result<(), QueryPlannerError> { + pub fn bind_params(&mut self, mut params: Vec<Value>) -> Result<(), QueryPlannerError> { // Nothing to do here. if params.is_empty() { return Ok(()); diff --git a/src/frontend/sql/ir/tests.rs b/src/frontend/sql/ir/tests.rs index 09a80b3afb9a4c20e66d6c6033aa3d3b94c5f026..82eacc5091b522167366805c1e12b79ba137bd81 100644 --- a/src/frontend/sql/ir/tests.rs +++ b/src/frontend/sql/ir/tests.rs @@ -24,7 +24,7 @@ fn front_sql1() { vec![Value::from(1_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -48,7 +48,7 @@ fn front_sql2() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -77,7 +77,7 @@ fn front_sql3() { vec![Value::from(1_u64), Value::from(1_u64), Value::from(1_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -119,7 +119,7 @@ fn front_sql4() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -138,7 +138,7 @@ fn front_sql5() { vec![Value::from("a")], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -162,7 +162,7 @@ fn front_sql6() { vec![Value::from(5_u64), Value::from("123")], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -202,7 +202,7 @@ fn front_sql8() { vec![Value::from(1_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -261,7 +261,7 @@ fn front_sql9() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -280,7 +280,7 @@ fn front_sql10() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -291,7 +291,7 @@ fn front_sql11() { vec![Value::from(1_u64), Value::from(2_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -335,7 +335,7 @@ fn front_sql14() { vec![], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -368,7 +368,7 @@ fn front_sql16() { vec![Value::from("кириллица")], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -384,7 +384,7 @@ fn front_sql17() { vec![], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -401,7 +401,7 @@ fn front_sql18() { vec![Value::from(1_u64), Value::from(2_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] @@ -417,14 +417,14 @@ fn front_sql19() { vec![], ); - assert_eq!(sql_to_sql(input, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(input, vec![], &no_transform), expected); } #[test] fn front_params1() { let pattern = r#"SELECT "id", "FIRST_NAME" FROM "test_space" WHERE "sys_op" = ? AND "sysFrom" > ?"#; - let mut params = vec![Value::from(0_i64), Value::from(1_i64)]; + let params = vec![Value::from(0_i64), Value::from(1_i64)]; let expected = PatternWithParams::new( format!( "{} {}", @@ -434,14 +434,14 @@ fn front_params1() { params.clone(), ); - assert_eq!(sql_to_sql(pattern, &mut params, &no_transform), expected); + assert_eq!(sql_to_sql(pattern, params, &no_transform), expected); } #[test] fn front_params2() { let pattern = r#"SELECT "id" FROM "test_space" WHERE "sys_op" = ? AND "FIRST_NAME" = ?"#; - let mut params = vec![Value::Null, Value::from("hello")]; + let params = vec![Value::Null, Value::from("hello")]; let expected = PatternWithParams::new( format!( "{} {}", @@ -451,7 +451,7 @@ fn front_params2() { params.clone(), ); - assert_eq!(sql_to_sql(pattern, &mut params, &no_transform), expected); + assert_eq!(sql_to_sql(pattern, params, &no_transform), expected); } // check cyrillic params support @@ -459,7 +459,7 @@ fn front_params2() { fn front_params3() { let pattern = r#"SELECT "id" FROM "test_space" WHERE "sys_op" = ? AND "FIRST_NAME" = ?"#; - let mut params = vec![Value::Null, Value::from("кириллица")]; + let params = vec![Value::Null, Value::from("кириллица")]; let expected = PatternWithParams::new( format!( "{} {}", @@ -469,7 +469,7 @@ fn front_params3() { params.clone(), ); - assert_eq!(sql_to_sql(pattern, &mut params, &no_transform), expected); + assert_eq!(sql_to_sql(pattern, params, &no_transform), expected); } // check symbols in values (grammar) @@ -488,5 +488,5 @@ fn front_params4() { params, ); - assert_eq!(sql_to_sql(pattern, &mut vec![], &no_transform), expected); + assert_eq!(sql_to_sql(pattern, vec![], &no_transform), expected); } diff --git a/src/ir/explain/tests.rs b/src/ir/explain/tests.rs index 1acbc4e65b3e04fc69aca35cf59363124b425a0a..9164969e505cd52b322a668b184c1d189fd96cc5 100644 --- a/src/ir/explain/tests.rs +++ b/src/ir/explain/tests.rs @@ -8,7 +8,7 @@ fn simple_query_without_cond_plan() { let query = r#"SELECT "t"."identification_number" as "c1", "product_code" FROM "hash_testing" as "t""#; - let plan = sql_to_ir(query, &mut vec![]); + let plan = sql_to_ir(query, vec![]); let top = &plan.get_top().unwrap(); let explain_tree = FullExplain::new(&plan, *top).unwrap(); @@ -27,7 +27,7 @@ fn simple_query_without_cond_plan() { fn simple_query_with_cond_plan() { let query = r#"SELECT "t"."identification_number" as "c1", "product_code" FROM "hash_testing" as "t" WHERE "t"."identification_number" = 1 AND "t"."product_code" = '222'"#; - let plan = sql_to_ir(query, &mut vec![]); + let plan = sql_to_ir(query, vec![]); let top = &plan.get_top().unwrap(); let explain_tree = FullExplain::new(&plan, *top).unwrap(); @@ -49,7 +49,7 @@ fn union_query_plan() { UNION ALL SELECT "t2"."identification_number", "product_code" FROM "hash_testing_hist" as "t2""#; - let plan = sql_to_ir(query, &mut vec![]); + let plan = sql_to_ir(query, vec![]); let top = &plan.get_top().unwrap(); let explain_tree = FullExplain::new(&plan, *top).unwrap(); @@ -74,7 +74,7 @@ SELECT "id", "FIRST_NAME" FROM "test_space_hist" WHERE "sys_op" < 0 ) as "t" WHERE "id" = 1"#; - let plan = sql_to_ir(query, &mut vec![]); + let plan = sql_to_ir(query, vec![]); let top = &plan.get_top().unwrap(); let explain_tree = FullExplain::new(&plan, *top).unwrap(); @@ -112,7 +112,7 @@ WHERE "id" IN (SELECT "id" AND "FIRST_NAME" IN (SELECT "FIRST_NAME" FROM "test_space" WHERE "id" = 5) "#; - let plan = sql_to_ir(query, &mut vec![]); + let plan = sql_to_ir(query, vec![]); let top = &plan.get_top().unwrap(); let explain_tree = FullExplain::new(&plan, *top).unwrap(); @@ -156,7 +156,7 @@ fn explain_except1() { EXCEPT DISTINCT SELECT "identification_number" FROM "hash_testing_hist""#; - let plan = sql_to_ir(query, &mut vec![]); + let plan = sql_to_ir(query, vec![]); let top = &plan.get_top().unwrap(); let explain_tree = FullExplain::new(&plan, *top).unwrap(); diff --git a/src/ir/transformation/bool_in/tests.rs b/src/ir/transformation/bool_in/tests.rs index c5724afc328e9aa2348abf2a85398dfd99dd0848..d64f9e2758cbaf20588b970e51e1aed5b39d6941 100644 --- a/src/ir/transformation/bool_in/tests.rs +++ b/src/ir/transformation/bool_in/tests.rs @@ -20,10 +20,7 @@ fn bool_in1() { vec![Value::from(1_u64), Value::from(2_u64), Value::from(3_u64)], ); - assert_eq!( - sql_to_sql(input, &mut vec![], &replace_in_operator), - expected - ); + assert_eq!(sql_to_sql(input, vec![], &replace_in_operator), expected); } #[test] @@ -46,10 +43,7 @@ fn bool_in2() { ], ); - assert_eq!( - sql_to_sql(input, &mut vec![], &replace_in_operator), - expected - ); + assert_eq!(sql_to_sql(input, vec![], &replace_in_operator), expected); } #[test] @@ -64,8 +58,5 @@ fn bool_in3() { vec![Value::from(1_u64), Value::from(2_u64), Value::from(3_u64)], ); - assert_eq!( - sql_to_sql(input, &mut vec![], &replace_in_operator), - expected - ); + assert_eq!(sql_to_sql(input, vec![], &replace_in_operator), expected); } diff --git a/src/ir/transformation/dnf/tests.rs b/src/ir/transformation/dnf/tests.rs index 83c7cacc3e838d943f9a982f335eb5a069dd4537..ab1b22bacd304aabf769ca2e99de078873b9eb07 100644 --- a/src/ir/transformation/dnf/tests.rs +++ b/src/ir/transformation/dnf/tests.rs @@ -28,7 +28,7 @@ fn dnf1() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &set_dnf), expected); + assert_eq!(sql_to_sql(input, vec![], &set_dnf), expected); } #[test] @@ -54,7 +54,7 @@ fn dnf2() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &set_dnf), expected); + assert_eq!(sql_to_sql(input, vec![], &set_dnf), expected); } #[test] @@ -75,7 +75,7 @@ fn dnf3() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &set_dnf), expected); + assert_eq!(sql_to_sql(input, vec![], &set_dnf), expected); } #[test] @@ -96,7 +96,7 @@ fn dnf4() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &set_dnf), expected); + assert_eq!(sql_to_sql(input, vec![], &set_dnf), expected); } #[test] @@ -117,7 +117,7 @@ fn dnf5() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &set_dnf), expected); + assert_eq!(sql_to_sql(input, vec![], &set_dnf), expected); } #[test] @@ -133,5 +133,5 @@ fn dnf6() { vec![Value::from(1_u64), Value::from(1_u64), Value::from(2_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &set_dnf), expected); + assert_eq!(sql_to_sql(input, vec![], &set_dnf), expected); } diff --git a/src/ir/transformation/equality_propagation/tests.rs b/src/ir/transformation/equality_propagation/tests.rs index d48740a75ff02a37973a9a748319615c9f57f43a..6f9a0ed617b034be34dd2194f3235fccd7af946c 100644 --- a/src/ir/transformation/equality_propagation/tests.rs +++ b/src/ir/transformation/equality_propagation/tests.rs @@ -28,7 +28,7 @@ fn equality_propagation1() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &derive_equalities), expected); + assert_eq!(sql_to_sql(input, vec![], &derive_equalities), expected); } #[test] @@ -44,7 +44,7 @@ fn equality_propagation2() { vec![Value::Null, Value::Null], ); - assert_eq!(sql_to_sql(input, &mut vec![], &derive_equalities), expected); + assert_eq!(sql_to_sql(input, vec![], &derive_equalities), expected); } #[test] @@ -61,7 +61,7 @@ fn equality_propagation3() { vec![Value::from(1_u64), Value::Null, Value::Null], ); - assert_eq!(sql_to_sql(input, &mut vec![], &derive_equalities), expected); + assert_eq!(sql_to_sql(input, vec![], &derive_equalities), expected); } #[test] @@ -84,7 +84,7 @@ fn equality_propagation4() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &derive_equalities), expected); + assert_eq!(sql_to_sql(input, vec![], &derive_equalities), expected); } #[test] @@ -109,5 +109,5 @@ fn equality_propagation5() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &derive_equalities), expected); + assert_eq!(sql_to_sql(input, vec![], &derive_equalities), expected); } diff --git a/src/ir/transformation/helpers.rs b/src/ir/transformation/helpers.rs index 70144a5b044dc75c38e22a87497fcda9a2ffa37a..3c4039b033bb4aa16a477178f864c69c8ef352bb 100644 --- a/src/ir/transformation/helpers.rs +++ b/src/ir/transformation/helpers.rs @@ -12,7 +12,7 @@ use crate::ir::Plan; /// Compiles an SQL query to IR plan. #[allow(dead_code)] -pub fn sql_to_ir(query: &str, params: &mut Vec<Value>) -> Plan { +pub fn sql_to_ir(query: &str, params: Vec<Value>) -> Plan { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); @@ -24,7 +24,7 @@ pub fn sql_to_ir(query: &str, params: &mut Vec<Value>) -> Plan { #[allow(dead_code)] pub fn sql_to_sql( query: &str, - params: &mut Vec<Value>, + params: Vec<Value>, f_transform: &dyn Fn(&mut Plan), ) -> PatternWithParams { let mut plan = sql_to_ir(query, params); diff --git a/src/ir/transformation/merge_tuples/tests.rs b/src/ir/transformation/merge_tuples/tests.rs index 3a6d76608d518d91e799b86c65f3c87b4d59eea5..4408f3ce2d02d0085cd3e126195f6b6ec4dc1ff7 100644 --- a/src/ir/transformation/merge_tuples/tests.rs +++ b/src/ir/transformation/merge_tuples/tests.rs @@ -25,7 +25,7 @@ fn merge_tuples1() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &merge_tuples), expected); + assert_eq!(sql_to_sql(input, vec![], &merge_tuples), expected); } #[test] @@ -50,7 +50,7 @@ fn merge_tuples2() { ], ); - assert_eq!(sql_to_sql(input, &mut vec![], &merge_tuples), expected); + assert_eq!(sql_to_sql(input, vec![], &merge_tuples), expected); } #[test] @@ -61,7 +61,7 @@ fn merge_tuples3() { vec![Value::Boolean(true)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &merge_tuples), expected); + assert_eq!(sql_to_sql(input, vec![], &merge_tuples), expected); } #[test] @@ -75,7 +75,7 @@ fn merge_tuples4() { vec![Value::from(1_u64), Value::from(2_u64), Value::from(3_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &merge_tuples), expected); + assert_eq!(sql_to_sql(input, vec![], &merge_tuples), expected); } #[test] @@ -90,7 +90,7 @@ fn merge_tuples5() { vec![Value::from(1_u64), Value::from(2_u64), Value::from(3_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &merge_tuples), expected); + assert_eq!(sql_to_sql(input, vec![], &merge_tuples), expected); } #[test] @@ -104,5 +104,5 @@ fn merge_tuples6() { vec![Value::from(2_u64), Value::from(1_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &merge_tuples), expected); + assert_eq!(sql_to_sql(input, vec![], &merge_tuples), expected); } diff --git a/src/ir/transformation/redistribution/tests.rs b/src/ir/transformation/redistribution/tests.rs index 9b01db7c4cf62d9d2c70f4a9a71044a0cd8c4d45..2613329174db3457ea8f8ffdd7d3d2b6f670027f 100644 --- a/src/ir/transformation/redistribution/tests.rs +++ b/src/ir/transformation/redistribution/tests.rs @@ -345,7 +345,7 @@ fn union_all_in_sq() { WHERE "sys_op" > 1) AS "t3" WHERE "identification_number" = 1"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -357,7 +357,7 @@ fn inner_join_eq_for_keys() { INNER JOIN "t" ON ("t1"."identification_number", "t1"."product_code") = ("t"."a", "t"."b")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -370,7 +370,7 @@ fn join_inner_sq_eq_for_keys() { (SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist") AS "t2" ON ("t1"."identification_number", "t1"."product_code") = ("t2"."id", "t2"."pc")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -383,7 +383,7 @@ fn join_inner_eq_non_match_keys() { (SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist") AS "t2" ON ("t1"."identification_number", "t1"."product_code") = ("t2"."pc", "t2"."id")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -416,7 +416,7 @@ fn join_inner_sq_eq_for_keys_with_const() { (SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist") AS "t2" ON ("t1"."identification_number", 1, "t1"."product_code") = ("t2"."id", 1, "t2"."pc")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -429,7 +429,7 @@ fn join_inner_sq_less_for_keys() { (SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist") AS "t2" ON ("t1"."identification_number", "t1"."product_code") < ("t2"."id", "t2"."pc")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -454,7 +454,7 @@ fn join_inner_sq_eq_no_keys() { (SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist") AS "t2" ON ("t1"."identification_number", 1) = (1, "t2"."pc")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -479,7 +479,7 @@ fn join_inner_sq_eq_no_outer_keys() { (SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist") AS "t2" ON ("t1"."identification_number", 1) = ("t2"."id", "t2"."pc")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -505,7 +505,7 @@ fn inner_join_full_policy_sq_in_filter() { AND ("t"."a", "t"."b") >= (SELECT "hash_testing"."sys_op", "hash_testing"."bucket_id" FROM "hash_testing")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -531,7 +531,7 @@ fn inner_join_local_policy_sq_in_filter() { AND ("t"."a", "t"."b") = (SELECT "hash_testing"."identification_number", "hash_testing"."product_code" FROM "hash_testing")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -547,7 +547,7 @@ fn inner_join_local_policy_sq_with_union_all_in_filter() { UNION ALL SELECT "hash_testing_hist"."identification_number", "hash_testing_hist"."product_code" FROM "hash_testing_hist")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -563,7 +563,7 @@ fn inner_join_full_policy_sq_with_union_all_in_filter() { UNION ALL SELECT "hash_testing_hist"."product_code", "hash_testing_hist"."identification_number" FROM "hash_testing_hist")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -597,7 +597,7 @@ fn join_inner_and_local_full_policies() { ON ("t1"."identification_number", "t1"."product_code") = ("t2"."id", "t2"."pc") AND "t1"."identification_number" = "t2"."pc""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -611,7 +611,7 @@ fn join_inner_or_local_full_policies() { ON ("t1"."identification_number", "t1"."product_code") = ("t2"."id", "t2"."pc") OR "t1"."identification_number" = "t2"."pc""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -652,7 +652,7 @@ fn join1() { ON "t3"."id" = "t8"."identification_number" WHERE "t3"."id" = 1 AND "t8"."identification_number" = 1"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -696,7 +696,7 @@ fn join1() { fn redistribution1() { let query = r#"INSERT INTO "t" SELECT "d", "c", "b", "a" FROM "t""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -726,7 +726,7 @@ fn redistribution1() { fn redistribution2() { let query = r#"INSERT INTO "t" SELECT * FROM "t""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); // Though data allows to be inserted locally still gather it on the // coordinator to recalculate a "bucket_id" field for "t". @@ -758,7 +758,7 @@ fn redistribution2() { fn redistribution3() { let query = r#"INSERT INTO "t" ("a", "b") SELECT "a", "b" FROM "t""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); // Though data allows to be inserted locally still gather it on the // coordinator to recalculate a "bucket_id" field for "t". @@ -790,7 +790,7 @@ fn redistribution3() { fn redistribution4() { let query = r#"INSERT INTO "t" ("b", "a") SELECT "a", "b" FROM "t""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -820,7 +820,7 @@ fn redistribution4() { fn redistribution5() { let query = r#"INSERT INTO "t" ("c", "d") SELECT "a", "b" FROM "t""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices @@ -850,7 +850,7 @@ fn redistribution5() { fn redistribution6() { let query = r#"INSERT INTO "t" ("a", "c") SELECT "a", "b" FROM "t""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *plan .slices diff --git a/src/ir/transformation/redistribution/tests/between.rs b/src/ir/transformation/redistribution/tests/between.rs index 7521917d8335bd56a0616cf2031a547a67b113e6..4cd67d0bdfdf707cdc4520907cc98c1e235a9fcc 100644 --- a/src/ir/transformation/redistribution/tests/between.rs +++ b/src/ir/transformation/redistribution/tests/between.rs @@ -10,7 +10,7 @@ fn between1() { WHERE (SELECT "identification_number" FROM "hash_testing_hist" AS "h" WHERE "identification_number" = 2) BETWEEN 1 AND 2"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_gt_eq_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_gt_eq_id).unwrap(); @@ -35,7 +35,7 @@ fn between2() { let query = r#"SELECT "identification_number" FROM "hash_testing" AS "t" WHERE "identification_number" BETWEEN 1 AND 2"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -48,7 +48,7 @@ fn between3() { SELECT "identification_number" FROM "hash_testing_hist" WHERE "identification_number" = 3)"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); @@ -66,7 +66,7 @@ fn between4() { let query = r#"SELECT "identification_number" FROM "hash_testing" AS "t" WHERE 1 BETWEEN "identification_number" AND 2"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); diff --git a/src/ir/transformation/redistribution/tests/except.rs b/src/ir/transformation/redistribution/tests/except.rs index f7780b0e8d19a6683c177301ad2b0bd258b142bb..d092fc260257315ff9e10165900e43c5f73c64e2 100644 --- a/src/ir/transformation/redistribution/tests/except.rs +++ b/src/ir/transformation/redistribution/tests/except.rs @@ -10,7 +10,7 @@ fn except1() { EXCEPT DISTINCT SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); @@ -27,7 +27,7 @@ fn except2() { EXCEPT DISTINCT SELECT "identification_number" as "id", "product_code" as "pc" FROM "hash_testing_hist" AS "t""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -39,7 +39,7 @@ fn except3() { EXCEPT SELECT 1, 2 FROM "hash_testing_hist""#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); @@ -68,7 +68,7 @@ fn except4() { SELECT 1, 2 FROM "hash_testing_hist" ) as t"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); @@ -97,7 +97,7 @@ fn except5() { SELECT 1, 2 FROM "hash_testing_hist" ) as t"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); diff --git a/src/ir/transformation/redistribution/tests/not_in.rs b/src/ir/transformation/redistribution/tests/not_in.rs index bf0a1d3ca56b22f0352f45900a615c7fe49eba79..1be1e1cff590688fcf678741757199aba21b64f9 100644 --- a/src/ir/transformation/redistribution/tests/not_in.rs +++ b/src/ir/transformation/redistribution/tests/not_in.rs @@ -9,7 +9,7 @@ fn not_in1() { let query = r#"SELECT 1 FROM "hash_testing" AS "t" WHERE "product_code" NOT IN ( SELECT "product_code" FROM "hash_testing_hist")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); @@ -25,7 +25,7 @@ fn not_in2() { let query = r#"SELECT 1 FROM "hash_testing" AS "t" WHERE ("identification_number", "product_code") NOT IN ( SELECT "identification_number", "product_code" FROM "hash_testing_hist" AS "t")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let expected: Option<Vec<Vec<usize>>> = None; assert_eq!(expected, plan.slices); @@ -36,7 +36,7 @@ fn not_in3() { let query = r#"SELECT 1 FROM "hash_testing" AS "t" WHERE ("identification_number", "product_code") NOT IN ( SELECT "product_code", 42 FROM "hash_testing_hist")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); @@ -60,7 +60,7 @@ fn not_in4() { let query = r#"SELECT 1 FROM "hash_testing" AS "t" WHERE ("product_code", "identification_number") NOT IN ( SELECT "product_code", 42 FROM "hash_testing_hist")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); @@ -84,7 +84,7 @@ fn not_in5() { let query = r#"SELECT 1 FROM "hash_testing" AS "t" WHERE ("identification_number", "product_code") NOT IN ( SELECT 42, 666 FROM "hash_testing_hist" AS "t")"#; - let mut plan = sql_to_ir(query, &mut vec![]); + let mut plan = sql_to_ir(query, vec![]); plan.add_motions().unwrap(); let motion_id = *get_motion_id(&plan, 0, 0).unwrap(); let motion = plan.get_relation_node(motion_id).unwrap(); diff --git a/src/ir/transformation/split_columns/tests.rs b/src/ir/transformation/split_columns/tests.rs index 038c5081c80fa3c65f46b6f42d9bd7d217ee2727..98d0f6c741157fdc440034cf42403b5b2f953a8a 100644 --- a/src/ir/transformation/split_columns/tests.rs +++ b/src/ir/transformation/split_columns/tests.rs @@ -22,7 +22,7 @@ fn split_columns1() { vec![Value::from(1_u64), Value::from(2_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &split_columns), expected); + assert_eq!(sql_to_sql(input, vec![], &split_columns), expected); } #[test] @@ -33,7 +33,7 @@ fn split_columns2() { vec![Value::from(1_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &split_columns), expected); + assert_eq!(sql_to_sql(input, vec![], &split_columns), expected); } #[test] @@ -43,7 +43,7 @@ fn split_columns3() { let metadata = &RouterConfigurationMock::new(); let ast = AbstractSyntaxTree::new(query).unwrap(); let mut plan = ast.resolve_metadata(metadata).unwrap(); - plan.bind_params(&mut vec![]).unwrap(); + plan.bind_params(vec![]).unwrap(); let plan_err = plan.split_columns().unwrap_err(); assert_eq!( format!( @@ -64,7 +64,7 @@ fn split_columns4() { vec![Value::from(1_u64), Value::from(2_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &split_columns), expected); + assert_eq!(sql_to_sql(input, vec![], &split_columns), expected); } #[test] @@ -79,5 +79,5 @@ fn split_columns5() { vec![Value::from(1_u64), Value::from(2_u64), Value::from(2_u64)], ); - assert_eq!(sql_to_sql(input, &mut vec![], &split_columns), expected); + assert_eq!(sql_to_sql(input, vec![], &split_columns), expected); }