aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraozeritsky <aozeritsky@ydb.tech>2023-09-19 16:54:42 +0300
committeraozeritsky <aozeritsky@ydb.tech>2023-09-19 17:10:55 +0300
commit38ceb38a3317511ee3fb6d25bfea9025adc09d91 (patch)
treef6b6cc75e12fbec29b4fb5c16196fd1395309357
parente5526ae1c2cdd9238134d46a6c76077d464ac84b (diff)
downloadydb-38ceb38a3317511ee3fb6d25bfea9025adc09d91.tar.gz
Fallback on unsupported join types in cbo
-rw-r--r--ydb/library/yql/providers/yt/provider/yql_yt_join_reorder.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/ydb/library/yql/providers/yt/provider/yql_yt_join_reorder.cpp b/ydb/library/yql/providers/yt/provider/yql_yt_join_reorder.cpp
index 4615e7e338c..3e4d700ea70 100644
--- a/ydb/library/yql/providers/yt/provider/yql_yt_join_reorder.cpp
+++ b/ydb/library/yql/providers/yt/provider/yql_yt_join_reorder.cpp
@@ -99,9 +99,7 @@ public:
input.Right = std::move(Right);
input.Rels = std::move(Rels);
input.Normalize();
- if (Debug) {
- Cerr << "Input: " << input.ToString();
- }
+ YQL_CLOG(INFO, ProviderYt) << "Input: " << input.ToString();
std::function<void(const TString& str)> log;
@@ -111,12 +109,15 @@ public:
std::unique_ptr<IOptimizer> opt = std::unique_ptr<IOptimizer>(MakePgOptimizer(input, log));
- Result = opt->JoinSearch();
-
- if (Debug) {
- Cerr << "Result: " << Result.ToString() << "\n";
+ try {
+ Result = opt->JoinSearch();
+ } catch (...) {
+ YQL_CLOG(ERROR, ProviderYt) << "Cannot do join search " << CurrentExceptionMessage();
+ return Root;
}
+ YQL_CLOG(INFO, ProviderYt) << "Result: " << Result.ToString();
+
TVector<TString> scope;
TYtJoinNodeOp::TPtr res = dynamic_cast<TYtJoinNodeOp*>(Convert(0, scope).Get());