diff --git a/sbroad-core/src/executor/engine/helpers.rs b/sbroad-core/src/executor/engine/helpers.rs index 23c8bd428b392ec1cee1d82a14ebcd2082cadc07..93ceee0c4995cc6fe2c01d062fd66b4560b00804 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 46babe7568a784e409691e3b8d2a4cfda9876ae4..2abf65952d9c9c8c5d50c32db6c61f0c283c7782 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 22624f4d9d2099fdeb3a3e46309e2847849d01c7..b4d7f30aaf584c91a363d515b1668984d4f9656b 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 4e1f8a19aa75f640f14fe98b61e9ff9f24eb7f47..cecd04c67b6a1ee37c2db829abd850e8aac29a76 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 04d8be0a45b618d1cc7e937ce72ee1573c0f193a..a81e556f0b56bfc27a7303469a7b9170138de77b 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 b5c1144bbe077445b721a1e97e4e379274db80db..b4c7c90f0a8069a0038eae9d827eb71a9144637f 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 0e745e50be6c24a149b5653ec1ef87b0acda449b..d7c89a8b6e7dcafb9ef4850114f53c62ae2b4a62 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 976af00e09e592c7fe50d5d00bbc3f928579e449..c3fd63a7d7855518d1ddde36916543ce165e248b 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 057bc046d9b1acd092bfe5569b8be1881dcc58da..8c92fd55c840055796d99a4637492380bd7128f7 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 8939c0f4f46832fd64f24d4136e08dc8389e2840..2c05c97084470741980741354e001f3c4263952e 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 4dc4cad72bc88c827c1729b42d17f4176e34cbee..04e6a7d25c25c2f4c395bd7954f46a85f877e9a3 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 f3cd5170a2e3c770dc6c5a9138c0767ffab9b646..dfd291714c92e94a98ceffb3de71d1241ae163f5 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 2104ba9f18aa404634fb6385f4a08d9b0f560a61..3ab0b75a2ca74724ac238a7da75ea8e419268134 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 7ff2b81f09f078df55de7c416dde676ce6095b7d..ac1e8928f41933cece44ad608da96da284a5efc0 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 894c9877ae1283ddd0e1d8ed6823816c7f7eade0..e42bf59c5f69543957a4afff0a36a91bf2448e02 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 244b1324f47958b8dbfbcdc2cbf39b26e96a6ee4..d64da381e05c421ebebf7c9b618bbf2990e75bf6 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 e5d68cf031adfb0402527ba2fb2dc1f55fc51ba1..b4a7d0a76cf61c1aafdd05c43c3151166621b67f 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 c4fd29e1b1ea9f9dc2c69089e3c70431b6b6845b..bad216b002b311433b174133e5c551f1353e8251 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 138aa6be9953182a97f9b87d0270cadf84da48f6..650ebfbdd0e6eccd4f4df79206aedb00d99764a8 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 258c84feab8ad2e04130c5973ad107ae64701950..ebde2db8eac0acbfc8613b0022c84893029ece5b 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 0e48585b793af75d7cdbcf5754e63ca85a2fff59..a7ebb683c402ea9500b42a65c3dbc6a124258312 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 adce5a27f5e3abe3e740494df43842bead16798d..83339092329327d720dfe4edc96f7cda35ba73bc 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 c4e0bf9ffd180ada6159b32240154f6cbe616e55..0423db664d523b2816abd739c76b491751acdf25 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 feec5181b86b1883915cca50841d274c4969c53c..303b5686d36f86a43005e4bee1cd86452527d400 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 0ff6f832ec65562e846b9904755dff7718c91c6c..23241ad4187a8bc22016a74dc792266a8f6c2b18 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 54836235e6c616e1f9e97160a59eca3e5406ee88..832d8977c8c514c20314e643f1df6e3aaeb1ceed 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 602eaf9b2fe2c773bb30cf062db309e73910068f..2193f621988692470909672829ceb5af97078ca5 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 eead839c39af7d88868b1bbffd500865321c369a..59e0b3318e75c9b104150a95b10059d0abd1cdcb 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 6af8e87e8fb7288cf8031befc2e1939c3bb5a625..036abe88d29c4b9289c91dd219c447cc63be5712 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 2a25283f7d8981dfbcd32aa99a848236572af40d..3e09b693a838c4218ad171854fe4f898a312061e 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 a1d9b073e817e63682992517c324b214700ddf33..a13be3a2027ed814bdc3b0fee5bea5559d55a91d 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 f43c57023344204e53926293c1c5e4f477e11c93..66f8d7de6fa657d194066e3462aeadf60e788a4b 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 03acb99cb425d4a4d862b9ab2e64426280ebfeef..6f9dd48d35d38043aaad07f2c10050ceed1885e3 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 9a54ed96f7fa6798fc0ec7560bf658c9f660d294..7cfbf0b23af4d7b74e72b6b989524b4baa3f4c5d 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 58d460ec78d3d2f760466b6ae9bb0fbcc0725f97..b885c537809c4384a7c271fa243fe75ad72daf01 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 fb26f5ddf8b37ec74396d9c19001f6405c30a0f2..13d0ea7aa6ede6b4b4407ec8bb0d943d2030c4d3 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 823725f5003f971bf987c5bddcf4c8acd442519c..01167fd074766725de015d4aa16286527b83edf7 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 8fa314e63cb15f966aae77f539933225a4991b33..6d987410864e8ae95a91736905e89a1e425df52d 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 e66b2b4b1abb80563d680f4fd5d56b19e8a7e062..49d47415cbbcf5ed9a6e3f2daa76b1a21e3f0af9 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