From 4ea124a26efe4c58177ae85d92f4261298d382f7 Mon Sep 17 00:00:00 2001 From: Arseniy Volynets <vol0ncar@yandex.ru> Date: Tue, 17 Oct 2023 11:22:01 +0300 Subject: [PATCH] rebase && review fixes --- sbroad-core/src/executor/engine/helpers.rs | 2 +- sbroad-core/src/executor/engine/mock.rs | 4 +- sbroad-core/src/frontend/sql/ir/tests.rs | 12 ++-- sbroad-core/src/ir/distribution.rs | 23 ++------ sbroad-core/src/ir/relation.rs | 18 ++++-- sbroad-core/src/ir/relation/tests.rs | 2 +- .../src/ir/transformation/redistribution.rs | 59 ++++++++++++------- .../sql/tree/arbitrary_projection_plan.yaml | 2 +- .../sql/tree/arithmetic_projection_plan.yaml | 2 +- .../sql/tree/arithmetic_selection_plan.yaml | 2 +- .../backend/sql/tree/sql_order_selection.yaml | 2 +- .../ir/distribution/join_unite_keys.yaml | 4 +- .../ir/distribution/shrink_dist_key_1.yaml | 2 +- .../ir/distribution/shrink_dist_key_2.yaml | 2 +- .../ir/distribution/shuffle_dist_key.yaml | 2 +- .../union_fallback_to_random.yaml | 4 +- .../ir/distribution/union_preserve_dist.yaml | 4 +- .../tests/artifactory/ir/operator/join.yaml | 4 +- .../ir/operator/output_aliases.yaml | 2 +- .../operator/output_aliases_duplicates.yaml | 2 +- .../ir/operator/output_aliases_oor.yaml | 2 +- .../output_aliases_unsupported_type.yaml | 2 +- .../artifactory/ir/operator/projection.yaml | 2 +- .../artifactory/ir/operator/scan_rel.yaml | 2 +- .../artifactory/ir/operator/selection.yaml | 2 +- .../ir/operator/selection_with_sub_query.yaml | 4 +- .../artifactory/ir/operator/sub_query.yaml | 4 +- .../tests/artifactory/ir/plan_no_top.yaml | 2 +- .../tests/artifactory/ir/plan_oor_top.yaml | 2 +- .../ir/relation/table_seg_serialized.yaml | 2 +- ...able_seg_serialized_duplicate_columns.yaml | 2 +- .../table_seg_serialized_no_columns.yaml | 2 +- .../relation/table_seg_serialized_no_key.yaml | 2 +- ...table_seg_serialized_out_of_range_key.yaml | 2 +- .../full_motion_less_for_sub_query.yaml | 4 +- ...otion_non_segment_outer_for_sub_query.yaml | 4 +- .../redistribution/local_sub_query.yaml | 4 +- .../redistribution/multiple_sub_queries.yaml | 4 +- .../segment_motion_for_sub_query.yaml | 4 +- 39 files changed, 113 insertions(+), 93 deletions(-) diff --git a/sbroad-core/src/executor/engine/helpers.rs b/sbroad-core/src/executor/engine/helpers.rs index 23c8bd428b..93ceee0c49 100644 --- a/sbroad-core/src/executor/engine/helpers.rs +++ b/sbroad-core/src/executor/engine/helpers.rs @@ -81,7 +81,7 @@ pub fn normalize_name_for_space_api(s: &str) -> String { #[must_use] pub fn is_sharding_column_name(name: &str) -> bool { - name == "\"bucket_id\"" + name == "\"bucket_id\"" || name == "bucket_id" } /// A helper function to encode the execution plan into a pair of binary data (see `Message`): diff --git a/sbroad-core/src/executor/engine/mock.rs b/sbroad-core/src/executor/engine/mock.rs index 46babe7568..2abf65952d 100644 --- a/sbroad-core/src/executor/engine/mock.rs +++ b/sbroad-core/src/executor/engine/mock.rs @@ -309,8 +309,8 @@ impl RouterConfigurationMock { ); let columns = vec![ - Column::new("\"a\"", Type::Integer, ColumnRole::User), - Column::new("\"b\"", Type::Integer, ColumnRole::User), + Column::new("\"a\"", Type::Integer, ColumnRole::User, false), + Column::new("\"b\"", Type::Integer, ColumnRole::User, false), ]; let sharding_key: &[&str] = &[]; let primary_key: &[&str] = &["\"a\""]; diff --git a/sbroad-core/src/frontend/sql/ir/tests.rs b/sbroad-core/src/frontend/sql/ir/tests.rs index 22624f4d9d..b4d7f30aaf 100644 --- a/sbroad-core/src/frontend/sql/ir/tests.rs +++ b/sbroad-core/src/frontend/sql/ir/tests.rs @@ -2847,9 +2847,9 @@ fn front_sql_check_global_tbl_support() { "expected sharded table", ); check_error( - r#"insert into "t3" select * from "global_t""#, + r#"insert into "global_t" values (1, 1)"#, metadata, - global_tbl_err!("Insert"), + "expected sharded table", ); check_error( r#"delete from "global_t""#, @@ -2869,13 +2869,17 @@ fn front_sql_check_global_tbl_support() { check_error( r#"select * from "global_t" where "a" in (select sum("a") from "t3")"#, metadata, - global_tbl_err!("Subquery in condition"), + global_tbl_err!("Subquery"), + ); + check_error( + r#"select * from "t3" where "a" in (select "a" as "a1" from "global_t")"#, + metadata, + global_tbl_err!("Subquery"), ); fn check_error(input: &str, metadata: &RouterConfigurationMock, expected_err: &str) { let err = build(input, metadata).unwrap_err(); - println!("{}", err.to_string()); assert_eq!(true, err.to_string().contains(expected_err)); fn build(input: &str, metadata: &RouterConfigurationMock) -> Result<(), SbroadError> { diff --git a/sbroad-core/src/ir/distribution.rs b/sbroad-core/src/ir/distribution.rs index 4e1f8a19aa..cecd04c67b 100644 --- a/sbroad-core/src/ir/distribution.rs +++ b/sbroad-core/src/ir/distribution.rs @@ -120,23 +120,18 @@ impl Distribution { right: &Distribution, ) -> Result<Distribution, SbroadError> { let dist = match (left, right) { - (Distribution::Single, Distribution::Global) - | (Distribution::Global, Distribution::Single) => Distribution::Single, - (Distribution::Global, _) | (_, Distribution::Global) => { - return Err(SbroadError::Unsupported( - Entity::Query, - Some("union/except is not supported for global tables!".into()) - )) - } + // Currently Global distribution may come + // only from Motion(Full). The check for + // reading from global tables is done in + // conflict resolution. + (Distribution::Global, _) => right.clone(), + (_, Distribution::Global) => left.clone(), (Distribution::Single, _) | (_, Distribution::Single) => { return Err(SbroadError::Invalid( Entity::Distribution, Some(format!("union/except child has unexpected distribution Single. Left: {left:?}, right: {right:?}")))); } (Distribution::Any, _) | (_, Distribution::Any) => Distribution::Any, - (Distribution::Global, _) | (_, Distribution::Global) => { - unimplemented!() - } ( Distribution::Segment { keys: keys_left, .. @@ -176,12 +171,6 @@ impl Distribution { (_, Distribution::Global) | (Distribution::Segment { .. }, Distribution::Any) => { left.clone() } - (Distribution::Global, _) | (_, Distribution::Global) => { - return Err(SbroadError::Unsupported( - Entity::Query, - Some("join is not supported for global tables!".into()) - )) - } ( Distribution::Segment { keys: ref keys_left, diff --git a/sbroad-core/src/ir/relation.rs b/sbroad-core/src/ir/relation.rs index 04d8be0a45..a81e556f0b 100644 --- a/sbroad-core/src/ir/relation.rs +++ b/sbroad-core/src/ir/relation.rs @@ -395,7 +395,10 @@ pub struct Table { #[derive(Clone, Debug, Deserialize, PartialEq, Eq, Serialize)] pub enum TableKind { - ShardedSpace { shard_key: Key, engine: SpaceEngine }, + ShardedSpace { + sharding_key: Key, + engine: SpaceEngine, + }, GlobalSpace, SystemSpace, } @@ -468,7 +471,7 @@ impl Table { }) .collect::<Result<Vec<usize>, _>>()?; TableKind::ShardedSpace { - shard_key: Key::new(shard_positions), + sharding_key: Key::new(shard_positions), engine, } }; @@ -524,7 +527,11 @@ impl Table { )); } - if let TableKind::ShardedSpace { shard_key, .. } = &table.kind { + if let TableKind::ShardedSpace { + sharding_key: shard_key, + .. + } = &table.kind + { let in_range = shard_key.positions.iter().all(|pos| *pos < cols.len()); if !in_range { @@ -611,7 +618,10 @@ impl Table { /// - The table is global pub fn get_sk(&self) -> Result<&[usize], SbroadError> { match &self.kind { - TableKind::ShardedSpace { shard_key, .. } => Ok(&shard_key.positions), + TableKind::ShardedSpace { + sharding_key: shard_key, + .. + } => Ok(&shard_key.positions), TableKind::GlobalSpace | TableKind::SystemSpace => Err(SbroadError::Invalid( Entity::Table, Some(format!("expected sharded table. Name: {}", self.name)), diff --git a/sbroad-core/src/ir/relation/tests.rs b/sbroad-core/src/ir/relation/tests.rs index b5c1144bbe..b4c7c90f0a 100644 --- a/sbroad-core/src/ir/relation/tests.rs +++ b/sbroad-core/src/ir/relation/tests.rs @@ -235,7 +235,7 @@ fn table_seg_serialized_no_key() { assert_eq!(t.unwrap_err(), SbroadError::FailedTo( Action::Serialize, Some(Entity::Table), - "Message(\"invalid type: unit value, expected struct Key\", Some(Pos { marker: Marker { index: 118, line: 10, col: 15 }, path: \"kind.ShardedSpace.shard_key\" }))".into()), + "Message(\"invalid type: unit value, expected struct Key\", Some(Pos { marker: Marker { index: 121, line: 10, col: 18 }, path: \"kind.ShardedSpace.sharding_key\" }))".into()), ); } diff --git a/sbroad-core/src/ir/transformation/redistribution.rs b/sbroad-core/src/ir/transformation/redistribution.rs index 0e745e50be..d7c89a8b6e 100644 --- a/sbroad-core/src/ir/transformation/redistribution.rs +++ b/sbroad-core/src/ir/transformation/redistribution.rs @@ -10,6 +10,7 @@ use crate::ir::distribution::{Distribution, Key, KeySet}; use crate::ir::expression::Expression; use crate::ir::operator::{Bool, JoinKind, Relational, Unary, UpdateStrategy}; +use crate::ir::relation::TableKind; use crate::ir::transformation::redistribution::eq_cols::EqualityCols; use crate::ir::tree::traversal::{ BreadthFirst, LevelNode, PostOrder, PostOrderWithFilter, EXPR_CAPACITY, REL_CAPACITY, @@ -523,17 +524,6 @@ impl Plan { let bool_op = BoolOp::from_expr(self, op_id)?; let left = self.get_additional_sq(rel_id, bool_op.left)?; let right = self.get_additional_sq(rel_id, bool_op.right)?; - let is_global_child = { - let d = self.get_distribution( - self.get_relational_output(self.get_relational_child(rel_id, 0)?)?, - )?; - matches!(d, Distribution::Global) - }; - if (left.is_some() || right.is_some()) && is_global_child { - return Err(SbroadError::UnsupportedOpForGlobalTables( - "Subquery in condition".to_string(), - )); - } match left { Some(left_sq) => { match right { @@ -960,12 +950,7 @@ impl Plan { pub(crate) fn check_global_tbl_support(&self, rel_id: usize) -> Result<(), SbroadError> { let node = self.get_relation_node(rel_id)?; match node { - Relational::Delete { .. } - | Relational::Insert { .. } - | Relational::Update { .. } - | Relational::Values { .. } - | Relational::GroupBy { .. } - | Relational::Having { .. } => { + Relational::Values { .. } | Relational::GroupBy { .. } | Relational::Having { .. } => { let child_dist = self.get_distribution( self.get_relational_output(self.get_relational_child(rel_id, 0)?)?, )?; @@ -975,6 +960,21 @@ impl Plan { )); } } + Relational::Delete { relation, .. } + | Relational::Update { relation, .. } + | Relational::Insert { relation, .. } => { + // Reading from global table for dml is allowed, + // but updating/inserting/deleting from global table + // is not: it must be done via cas picodata api. + if matches!( + self.get_relation_or_error(relation.as_str())?.kind, + TableKind::GlobalSpace + ) { + return Err(SbroadError::UnsupportedOpForGlobalTables( + node.name().into(), + )); + } + } Relational::UnionAll { .. } | Relational::Except { .. } | Relational::Join { .. } => { let left_dist = self.get_distribution( self.get_relational_output(self.get_relational_child(rel_id, 0)?)?, @@ -991,10 +991,27 @@ impl Plan { )); } } + Relational::Selection { children, .. } => { + // Currently only Projection + Selection without SQs is supported. + let has_sq = children.len() > 1; + if has_sq { + let child_dist = self.get_distribution( + self.get_relational_output(self.get_relational_child(rel_id, 0)?)?, + )?; + let sq_dist = self.get_distribution( + self.get_relational_output(self.get_relational_child(rel_id, 1)?)?, + )?; + if matches!( + (child_dist, sq_dist), + (Distribution::Global, _) | (_, Distribution::Global) + ) { + return Err(SbroadError::UnsupportedOpForGlobalTables("Subquery".into())); + } + } + } Relational::Projection { .. } | Relational::ScanRelation { .. } | Relational::ValuesRow { .. } - | Relational::Selection { .. } | Relational::ScanSubQuery { .. } | Relational::Motion { .. } => {} } @@ -1143,7 +1160,7 @@ impl Plan { return Err(SbroadError::Unsupported( Entity::Operator, Some("unsupported boolean operation, expected And or Or".into()), - )) + )); } } } @@ -1182,7 +1199,7 @@ impl Plan { return Err(SbroadError::Unsupported( Entity::Operator, Some("unsupported boolean operation".into()), - )) + )); } }; inner_map.insert(node_id, new_inner_policy.clone()); @@ -1641,7 +1658,7 @@ impl Plan { } let key = left_keys.iter().next().ok_or_else(|| SbroadError::Invalid( Entity::Distribution, - Some("left child's segment distribution is invalid: no keys found in the set".into()) + Some("left child's segment distribution is invalid: no keys found in the set".into()), ))?; map.add_child( *right, diff --git a/sbroad-core/tests/artifactory/backend/sql/tree/arbitrary_projection_plan.yaml b/sbroad-core/tests/artifactory/backend/sql/tree/arbitrary_projection_plan.yaml index 976af00e09..c3fd63a7d7 100644 --- a/sbroad-core/tests/artifactory/backend/sql/tree/arbitrary_projection_plan.yaml +++ b/sbroad-core/tests/artifactory/backend/sql/tree/arbitrary_projection_plan.yaml @@ -199,7 +199,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_projection_plan.yaml b/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_projection_plan.yaml index 057bc046d9..8c92fd55c8 100644 --- a/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_projection_plan.yaml +++ b/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_projection_plan.yaml @@ -272,7 +272,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_selection_plan.yaml b/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_selection_plan.yaml index 8939c0f4f4..2c05c97084 100644 --- a/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_selection_plan.yaml +++ b/sbroad-core/tests/artifactory/backend/sql/tree/arithmetic_selection_plan.yaml @@ -404,7 +404,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/backend/sql/tree/sql_order_selection.yaml b/sbroad-core/tests/artifactory/backend/sql/tree/sql_order_selection.yaml index 4dc4cad72b..04e6a7d25c 100644 --- a/sbroad-core/tests/artifactory/backend/sql/tree/sql_order_selection.yaml +++ b/sbroad-core/tests/artifactory/backend/sql/tree/sql_order_selection.yaml @@ -119,7 +119,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/distribution/join_unite_keys.yaml b/sbroad-core/tests/artifactory/ir/distribution/join_unite_keys.yaml index f3cd5170a2..dfd291714c 100644 --- a/sbroad-core/tests/artifactory/ir/distribution/join_unite_keys.yaml +++ b/sbroad-core/tests/artifactory/ir/distribution/join_unite_keys.yaml @@ -172,7 +172,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 engine: Memtx @@ -188,7 +188,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_1.yaml b/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_1.yaml index 2104ba9f18..3ab0b75a2c 100644 --- a/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_1.yaml +++ b/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_1.yaml @@ -105,7 +105,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 - 0 diff --git a/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_2.yaml b/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_2.yaml index 7ff2b81f09..ac1e8928f4 100644 --- a/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_2.yaml +++ b/sbroad-core/tests/artifactory/ir/distribution/shrink_dist_key_2.yaml @@ -93,7 +93,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 - 0 diff --git a/sbroad-core/tests/artifactory/ir/distribution/shuffle_dist_key.yaml b/sbroad-core/tests/artifactory/ir/distribution/shuffle_dist_key.yaml index 894c9877ae..e42bf59c5f 100644 --- a/sbroad-core/tests/artifactory/ir/distribution/shuffle_dist_key.yaml +++ b/sbroad-core/tests/artifactory/ir/distribution/shuffle_dist_key.yaml @@ -105,7 +105,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 - 0 diff --git a/sbroad-core/tests/artifactory/ir/distribution/union_fallback_to_random.yaml b/sbroad-core/tests/artifactory/ir/distribution/union_fallback_to_random.yaml index 244b1324f4..d64da381e0 100644 --- a/sbroad-core/tests/artifactory/ir/distribution/union_fallback_to_random.yaml +++ b/sbroad-core/tests/artifactory/ir/distribution/union_fallback_to_random.yaml @@ -111,7 +111,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx @@ -127,7 +127,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/distribution/union_preserve_dist.yaml b/sbroad-core/tests/artifactory/ir/distribution/union_preserve_dist.yaml index e5d68cf031..b4a7d0a76c 100644 --- a/sbroad-core/tests/artifactory/ir/distribution/union_preserve_dist.yaml +++ b/sbroad-core/tests/artifactory/ir/distribution/union_preserve_dist.yaml @@ -111,7 +111,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx @@ -127,7 +127,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/operator/join.yaml b/sbroad-core/tests/artifactory/ir/operator/join.yaml index c4fd29e1b1..bad216b002 100644 --- a/sbroad-core/tests/artifactory/ir/operator/join.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/join.yaml @@ -172,7 +172,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 engine: Memtx @@ -188,7 +188,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/operator/output_aliases.yaml b/sbroad-core/tests/artifactory/ir/operator/output_aliases.yaml index 138aa6be99..650ebfbdd0 100644 --- a/sbroad-core/tests/artifactory/ir/operator/output_aliases.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/output_aliases.yaml @@ -40,7 +40,7 @@ relations: type: Number - name: b type: Number - shard_key: + sharding_key: positions: - 0 primary_key: diff --git a/sbroad-core/tests/artifactory/ir/operator/output_aliases_duplicates.yaml b/sbroad-core/tests/artifactory/ir/operator/output_aliases_duplicates.yaml index 258c84feab..ebde2db8ea 100644 --- a/sbroad-core/tests/artifactory/ir/operator/output_aliases_duplicates.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/output_aliases_duplicates.yaml @@ -40,7 +40,7 @@ relations: type: Number - name: b type: Number - shard_key: + sharding_key: positions: - 0 primary_key: diff --git a/sbroad-core/tests/artifactory/ir/operator/output_aliases_oor.yaml b/sbroad-core/tests/artifactory/ir/operator/output_aliases_oor.yaml index 0e48585b79..a7ebb683c4 100644 --- a/sbroad-core/tests/artifactory/ir/operator/output_aliases_oor.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/output_aliases_oor.yaml @@ -30,7 +30,7 @@ relations: type: Number - name: b type: Number - shard_key: + sharding_key: positions: - 0 primary_key: diff --git a/sbroad-core/tests/artifactory/ir/operator/output_aliases_unsupported_type.yaml b/sbroad-core/tests/artifactory/ir/operator/output_aliases_unsupported_type.yaml index adce5a27f5..8333909232 100644 --- a/sbroad-core/tests/artifactory/ir/operator/output_aliases_unsupported_type.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/output_aliases_unsupported_type.yaml @@ -36,7 +36,7 @@ relations: type: Number - name: b type: Number - shard_key: + sharding_key: positions: - 0 primary_key: diff --git a/sbroad-core/tests/artifactory/ir/operator/projection.yaml b/sbroad-core/tests/artifactory/ir/operator/projection.yaml index c4e0bf9ffd..0423db664d 100644 --- a/sbroad-core/tests/artifactory/ir/operator/projection.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/projection.yaml @@ -78,7 +78,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/operator/scan_rel.yaml b/sbroad-core/tests/artifactory/ir/operator/scan_rel.yaml index feec5181b8..303b5686d3 100644 --- a/sbroad-core/tests/artifactory/ir/operator/scan_rel.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/scan_rel.yaml @@ -77,7 +77,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 - 0 diff --git a/sbroad-core/tests/artifactory/ir/operator/selection.yaml b/sbroad-core/tests/artifactory/ir/operator/selection.yaml index 0ff6f832ec..23241ad418 100644 --- a/sbroad-core/tests/artifactory/ir/operator/selection.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/selection.yaml @@ -159,7 +159,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 1 - 0 diff --git a/sbroad-core/tests/artifactory/ir/operator/selection_with_sub_query.yaml b/sbroad-core/tests/artifactory/ir/operator/selection_with_sub_query.yaml index 54836235e6..832d8977c8 100644 --- a/sbroad-core/tests/artifactory/ir/operator/selection_with_sub_query.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/selection_with_sub_query.yaml @@ -150,7 +150,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx @@ -164,7 +164,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/operator/sub_query.yaml b/sbroad-core/tests/artifactory/ir/operator/sub_query.yaml index 602eaf9b2f..2193f62198 100644 --- a/sbroad-core/tests/artifactory/ir/operator/sub_query.yaml +++ b/sbroad-core/tests/artifactory/ir/operator/sub_query.yaml @@ -80,7 +80,7 @@ relations: type: Boolean - name: b type: Number - shard_key: + sharding_key: positions: - 0 primary_key: @@ -89,7 +89,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/plan_no_top.yaml b/sbroad-core/tests/artifactory/ir/plan_no_top.yaml index eead839c39..59e0b3318e 100644 --- a/sbroad-core/tests/artifactory/ir/plan_no_top.yaml +++ b/sbroad-core/tests/artifactory/ir/plan_no_top.yaml @@ -36,7 +36,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/plan_oor_top.yaml b/sbroad-core/tests/artifactory/ir/plan_oor_top.yaml index 6af8e87e8f..036abe88d2 100644 --- a/sbroad-core/tests/artifactory/ir/plan_oor_top.yaml +++ b/sbroad-core/tests/artifactory/ir/plan_oor_top.yaml @@ -36,7 +36,7 @@ relations: name: t kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized.yaml b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized.yaml index 2a25283f7d..3e09b693a8 100644 --- a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized.yaml +++ b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized.yaml @@ -18,7 +18,7 @@ primary_key: - 3 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 - 3 diff --git a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_duplicate_columns.yaml b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_duplicate_columns.yaml index a1d9b073e8..a13be3a202 100644 --- a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_duplicate_columns.yaml +++ b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_duplicate_columns.yaml @@ -11,7 +11,7 @@ primary_key: - 0 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_columns.yaml b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_columns.yaml index f43c570233..66f8d7de6f 100644 --- a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_columns.yaml +++ b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_columns.yaml @@ -1,6 +1,6 @@ columns: ~ name: t -shard_key: +sharding_key: positions: - 0 primary_key: diff --git a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_key.yaml b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_key.yaml index 03acb99cb4..6f9dd48d35 100644 --- a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_key.yaml +++ b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_no_key.yaml @@ -7,5 +7,5 @@ primary_key: - 0 kind: ShardedSpace: - shard_key: ~ + sharding_key: ~ engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_out_of_range_key.yaml b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_out_of_range_key.yaml index 9a54ed96f7..7cfbf0b23a 100644 --- a/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_out_of_range_key.yaml +++ b/sbroad-core/tests/artifactory/ir/relation/table_seg_serialized_out_of_range_key.yaml @@ -7,7 +7,7 @@ primary_key: - 0 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 10 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_less_for_sub_query.yaml b/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_less_for_sub_query.yaml index 58d460ec78..b885c53780 100644 --- a/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_less_for_sub_query.yaml +++ b/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_less_for_sub_query.yaml @@ -200,7 +200,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Vinyl @@ -214,7 +214,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Vinyl diff --git a/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_non_segment_outer_for_sub_query.yaml b/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_non_segment_outer_for_sub_query.yaml index fb26f5ddf8..13d0ea7aa6 100644 --- a/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_non_segment_outer_for_sub_query.yaml +++ b/sbroad-core/tests/artifactory/ir/transformation/redistribution/full_motion_non_segment_outer_for_sub_query.yaml @@ -220,7 +220,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Vinyl @@ -234,7 +234,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Vinyl diff --git a/sbroad-core/tests/artifactory/ir/transformation/redistribution/local_sub_query.yaml b/sbroad-core/tests/artifactory/ir/transformation/redistribution/local_sub_query.yaml index 823725f500..01167fd074 100644 --- a/sbroad-core/tests/artifactory/ir/transformation/redistribution/local_sub_query.yaml +++ b/sbroad-core/tests/artifactory/ir/transformation/redistribution/local_sub_query.yaml @@ -175,7 +175,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx @@ -189,7 +189,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/transformation/redistribution/multiple_sub_queries.yaml b/sbroad-core/tests/artifactory/ir/transformation/redistribution/multiple_sub_queries.yaml index 8fa314e63c..6d98741086 100644 --- a/sbroad-core/tests/artifactory/ir/transformation/redistribution/multiple_sub_queries.yaml +++ b/sbroad-core/tests/artifactory/ir/transformation/redistribution/multiple_sub_queries.yaml @@ -359,7 +359,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx @@ -375,7 +375,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx diff --git a/sbroad-core/tests/artifactory/ir/transformation/redistribution/segment_motion_for_sub_query.yaml b/sbroad-core/tests/artifactory/ir/transformation/redistribution/segment_motion_for_sub_query.yaml index e66b2b4b1a..49d47415cb 100644 --- a/sbroad-core/tests/artifactory/ir/transformation/redistribution/segment_motion_for_sub_query.yaml +++ b/sbroad-core/tests/artifactory/ir/transformation/redistribution/segment_motion_for_sub_query.yaml @@ -209,7 +209,7 @@ relations: name: t1 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx @@ -225,7 +225,7 @@ relations: name: t2 kind: ShardedSpace: - shard_key: + sharding_key: positions: - 0 engine: Memtx -- GitLab