diff options
author | ivanmorozov <ivanmorozov@yandex-team.com> | 2023-11-23 12:40:04 +0300 |
---|---|---|
committer | ivanmorozov <ivanmorozov@yandex-team.com> | 2023-11-23 13:45:21 +0300 |
commit | f79603fd85be803fdc9856a25a338c1225795206 (patch) | |
tree | 06efc8d823ad8364c0ccaffd46b1af8e727a52c7 | |
parent | cb6dc679681c23e47cbe4b6af872f2be6becc541 (diff) | |
download | ydb-f79603fd85be803fdc9856a25a338c1225795206.tar.gz |
KIKIMR-20247: use special option for start data special distribution from CS
-rw-r--r-- | ydb/core/kqp/opt/physical/kqp_opt_phy_olap_agg.cpp | 2 | ||||
-rw-r--r-- | ydb/core/kqp/provider/yql_kikimr_settings.cpp | 6 | ||||
-rw-r--r-- | ydb/core/kqp/provider/yql_kikimr_settings.h | 2 |
3 files changed, 9 insertions, 1 deletions
diff --git a/ydb/core/kqp/opt/physical/kqp_opt_phy_olap_agg.cpp b/ydb/core/kqp/opt/physical/kqp_opt_phy_olap_agg.cpp index d6fc1149ec..f5c37d6d75 100644 --- a/ydb/core/kqp/opt/physical/kqp_opt_phy_olap_agg.cpp +++ b/ydb/core/kqp/opt/physical/kqp_opt_phy_olap_agg.cpp @@ -250,7 +250,7 @@ TExprBase KqpPushDownOlapGroupByKeys(TExprBase node, TExprContext& ctx, const TK return node; } - if (!kqpCtx.Config->HasOptEnableOlapPushdown()) { + if (!kqpCtx.Config->HasOptEnableOlapPushdown() || kqpCtx.Config->HasOptEnableOlapProvideComputeSharding()) { return node; } diff --git a/ydb/core/kqp/provider/yql_kikimr_settings.cpp b/ydb/core/kqp/provider/yql_kikimr_settings.cpp index 2fbc48c5cc..74e1439c7f 100644 --- a/ydb/core/kqp/provider/yql_kikimr_settings.cpp +++ b/ydb/core/kqp/provider/yql_kikimr_settings.cpp @@ -64,6 +64,8 @@ TKikimrConfiguration::TKikimrConfiguration() { REGISTER_SETTING(*this, OptEnableInplaceUpdate); REGISTER_SETTING(*this, OptEnablePredicateExtract); REGISTER_SETTING(*this, OptEnableOlapPushdown); + REGISTER_SETTING(*this, OptEnableOlapProvideComputeSharding); + REGISTER_SETTING(*this, OptUseFinalizeByKey); REGISTER_SETTING(*this, OptEnableCostBasedOptimization); @@ -127,6 +129,10 @@ bool TKikimrSettings::HasOptEnableOlapPushdown() const { return GetOptionalFlagValue(OptEnableOlapPushdown.Get()) != EOptionalFlag::Disabled; } +bool TKikimrSettings::HasOptEnableOlapProvideComputeSharding() const { + return GetOptionalFlagValue(OptEnableOlapProvideComputeSharding.Get()) == EOptionalFlag::Enabled; +} + bool TKikimrSettings::HasOptUseFinalizeByKey() const { return GetOptionalFlagValue(OptUseFinalizeByKey.Get()) != EOptionalFlag::Disabled; } diff --git a/ydb/core/kqp/provider/yql_kikimr_settings.h b/ydb/core/kqp/provider/yql_kikimr_settings.h index 10ecda55e6..b03c53df7a 100644 --- a/ydb/core/kqp/provider/yql_kikimr_settings.h +++ b/ydb/core/kqp/provider/yql_kikimr_settings.h @@ -59,6 +59,7 @@ struct TKikimrSettings { NCommon::TConfSetting<bool, false> OptEnableInplaceUpdate; NCommon::TConfSetting<bool, false> OptEnablePredicateExtract; NCommon::TConfSetting<bool, false> OptEnableOlapPushdown; + NCommon::TConfSetting<bool, false> OptEnableOlapProvideComputeSharding; NCommon::TConfSetting<bool, false> OptUseFinalizeByKey; NCommon::TConfSetting<bool, false> OptEnableCostBasedOptimization; @@ -81,6 +82,7 @@ struct TKikimrSettings { bool HasOptDisableTopSort() const; bool HasOptDisableSqlInToJoin() const; bool HasOptEnableOlapPushdown() const; + bool HasOptEnableOlapProvideComputeSharding() const; bool HasOptUseFinalizeByKey() const; bool HasOptEnableCostBasedOptimization() const; |