aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authora-romanov <Anton.Romanov@ydb.tech>2023-05-23 17:02:32 +0300
committera-romanov <Anton.Romanov@ydb.tech>2023-05-23 17:02:32 +0300
commitedc61279de69023329a1f01c7e8b7f87d0f9ceab (patch)
treea97280535c2fe9aa825181f7065e0b2a11007ed3
parentedfe827eb58d02b8300f4f1bb98cb62dba28cf31 (diff)
downloadydb-edc61279de69023329a1f01c7e8b7f87d0f9ceab.tar.gz
YQL-8971 YQL-15555 Disable constraints for flatten EquiJoin.
Этот флажок используется только nile а наш sql транслятор его не порождает. И он сразу безусловно убирается оптимизатором в co_simple Так что проще чуть отложить вычисление констрейтов, чем специально под этот флажок нетривиально приседать.
-rw-r--r--ydb/library/yql/core/yql_expr_constraint.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/ydb/library/yql/core/yql_expr_constraint.cpp b/ydb/library/yql/core/yql_expr_constraint.cpp
index f94333de64..56cb063437 100644
--- a/ydb/library/yql/core/yql_expr_constraint.cpp
+++ b/ydb/library/yql/core/yql_expr_constraint.cpp
@@ -2277,6 +2277,11 @@ private:
}
}
+ TJoinOptions options;
+ if (const auto status = ValidateEquiJoinOptions(input->Pos(), input->Tail(), options, ctx); status != IGraphTransformer::TStatus::Ok || options.Flatten) {
+ return status;
+ }
+
const TUniqueConstraintNode* unique = nullptr;
const TDistinctConstraintNode* distinct = nullptr;
if (const auto status = EquiJoinConstraints(input->Pos(), unique, distinct, labels, *joinTree, ctx); status != IGraphTransformer::TStatus::Ok) {