From f0c16900aa7df0ebd07497770238ad0991405b34 Mon Sep 17 00:00:00 2001 From: Vadim Plakhtinskiy Date: Wed, 29 Aug 2018 16:51:07 +0300 Subject: [PATCH] CLICKHOUSE-3934 fix bug with CROSS JOIN --- dbms/src/Interpreters/ExpressionAnalyzer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/dbms/src/Interpreters/ExpressionAnalyzer.cpp b/dbms/src/Interpreters/ExpressionAnalyzer.cpp index 15d003d63f..f04a4d4261 100644 --- a/dbms/src/Interpreters/ExpressionAnalyzer.cpp +++ b/dbms/src/Interpreters/ExpressionAnalyzer.cpp @@ -2486,12 +2486,14 @@ bool ExpressionAnalyzer::appendJoin(ExpressionActionsChain & chain, bool only_ty const auto & join_element = static_cast(*select_query->join()); auto & join_params = static_cast(*join_element.table_join); - if (join_params.strictness == ASTTableJoin::Strictness::Unspecified) + if (join_params.strictness == ASTTableJoin::Strictness::Unspecified && join_params.kind != ASTTableJoin::Kind::Cross) { if (settings.join_default_strictness.toString() == "ANY") join_params.strictness = ASTTableJoin::Strictness::Any; else if (settings.join_default_strictness.toString() == "ALL") join_params.strictness = ASTTableJoin::Strictness::All; + else if (settings.join_default_strictness.toString() != "") + throw Exception("Unexcepted join_default_strictness value = " + settings.join_default_strictness.toString() + ". It can be an empty string, ANY or ALL"); else throw Exception("Expected ANY or ALL in JOIN section, because setting (join_default_strictness) is empty", DB::ErrorCodes::EXPECT_ALL_OR_ANY); } -- GitLab