aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorivanmorozov <ivanmorozov@yandex-team.com>2023-11-23 12:40:04 +0300
committerivanmorozov <ivanmorozov@yandex-team.com>2023-11-23 13:45:21 +0300
commitf79603fd85be803fdc9856a25a338c1225795206 (patch)
tree06efc8d823ad8364c0ccaffd46b1af8e727a52c7
parentcb6dc679681c23e47cbe4b6af872f2be6becc541 (diff)
downloadydb-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.cpp2
-rw-r--r--ydb/core/kqp/provider/yql_kikimr_settings.cpp6
-rw-r--r--ydb/core/kqp/provider/yql_kikimr_settings.h2
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;