This is an automated email from the ASF dual-hosted git repository.
lihaopeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new fd18e34c0c [Chore](planner) add error information for OnClause contain
ExistsPredicates (#18090)
fd18e34c0c is described below
commit fd18e34c0cb3b044d68ef09767e177054ac821cc
Author: Pxl <[email protected]>
AuthorDate: Wed Mar 29 10:47:41 2023 +0800
[Chore](planner) add error information for OnClause contain
ExistsPredicates (#18090)
---
fe/fe-core/src/main/java/org/apache/doris/analysis/FromClause.java | 5 +++++
regression-test/suites/query_p0/join/test_join.groovy | 5 ++++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/FromClause.java
b/fe/fe-core/src/main/java/org/apache/doris/analysis/FromClause.java
index e7470d1855..e1e274a31d 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/analysis/FromClause.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/FromClause.java
@@ -136,6 +136,11 @@ public class FromClause implements ParseNode,
Iterable<TableRef> {
}
tblRef.analyze(analyzer);
leftTblRef = tblRef;
+ Expr clause = tblRef.getOnClause();
+ if (clause != null && clause.contains(Subquery.class)) {
+ throw new AnalysisException("Not support OnClause contain
Subquery, expr:"
+ + clause.toSql());
+ }
}
// Fix the problem of column nullable attribute error caused by inline
view + outer join
changeTblRefToNullable(analyzer);
diff --git a/regression-test/suites/query_p0/join/test_join.groovy
b/regression-test/suites/query_p0/join/test_join.groovy
index 59ec735de8..9efb474145 100644
--- a/regression-test/suites/query_p0/join/test_join.groovy
+++ b/regression-test/suites/query_p0/join/test_join.groovy
@@ -1106,7 +1106,10 @@ suite("test_join", "query,p0") {
qt_join_on_predicate6"""select count(a.k1) from baseall a join test b on
a.k1 < 10 and a.k1 = b.k1"""
qt_join_on_predicate7"""SELECT t2.k1,t2.k2,t3.k1,t3.k2 FROM baseall t2
LEFT JOIN test t3 ON t2.k2=t3.k2 WHERE t2.k1 = 4 OR (t2.k1 > 4 AND t3.k1 IS
NULL) order by 1, 2, 3, 4"""
-
+ test {
+ sql "select a.k1 from baseall a join test b on b.k2 in (select 49) and
a.k1 = b.k1 order by k1;"
+ exception "Not support OnClause contain Subquery"
+ }
// <=> test cases
qt_join41"""select 1 <=> 2, 1 <=> 1, "a"= \"a\""""
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]