From 89b0124eb905ead81b914af17c628c50a97fc15a Mon Sep 17 00:00:00 2001 From: zy-kkk Date: Mon, 25 Nov 2024 16:41:06 +0800 Subject: [PATCH 1/2] [fix](jdbc catalog) set `enable_jdbc_cast_predicate_push_down` default true --- .../src/main/java/org/apache/doris/qe/SessionVariable.java | 2 +- .../jdbc/test_clickhouse_jdbc_catalog.groovy | 6 ------ 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java index bd724af54c49e8..6ff567711a8ad9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java @@ -724,7 +724,7 @@ public class SessionVariable implements Serializable, Writable { @VariableMgr.VarAttr(name = ENABLE_JDBC_CAST_PREDICATE_PUSH_DOWN, needForward = true, description = {"是否允许将带有 CAST 表达式的谓词下推到 JDBC 外部表。", "Whether to allow predicates with CAST expressions to be pushed down to JDBC external tables."}) - public boolean enableJdbcCastPredicatePushDown = false; + public boolean enableJdbcCastPredicatePushDown = true; @VariableMgr.VarAttr(name = ROUND_PRECISE_DECIMALV2_VALUE) public boolean roundPreciseDecimalV2Value = false; diff --git a/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy b/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy index fba50c3341e8a8..7875ac4244e372 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_clickhouse_jdbc_catalog.groovy @@ -83,17 +83,11 @@ suite("test_clickhouse_jdbc_catalog", "p0,external,clickhouse,external_docker,ex sql("select * from ts where from_unixtime(ts,'yyyyMMdd') >= '2022-01-01';") contains """QUERY: SELECT "id", "ts" FROM "doris_test"."ts" WHERE ((FROM_UNIXTIME("ts", '%Y%m%d') >= '2022-01-01'))""" } - explain { - sql("select * from ts where nvl(ts,null) >= '1';") - contains """QUERY: SELECT "id", "ts" FROM "doris_test"."ts""" - } order_qt_func_push2 """select * from ts where ts <= unix_timestamp(from_unixtime(ts,'yyyyMMdd'));""" - sql "set enable_jdbc_cast_predicate_push_down = true;" explain { sql("select * from ts where ts <= unix_timestamp(from_unixtime(ts,'yyyy-MM-dd'));") contains """QUERY: SELECT "id", "ts" FROM "doris_test"."ts" WHERE (("ts" <= toUnixTimestamp(FROM_UNIXTIME("ts", '%Y-%m-%d'))))""" } - sql "set enable_jdbc_cast_predicate_push_down = false;" order_qt_dt_with_tz """ select * from dt_with_tz order by id; """ From 48fde28d3585f86295aab3f8146c9129dbb1ae0d Mon Sep 17 00:00:00 2001 From: zy-kkk Date: Tue, 26 Nov 2024 11:05:59 +0800 Subject: [PATCH 2/2] 1 --- .../external_table_p0/jdbc/test_jdbc_catalog_push_cast.groovy | 2 ++ 1 file changed, 2 insertions(+) diff --git a/regression-test/suites/external_table_p0/jdbc/test_jdbc_catalog_push_cast.groovy b/regression-test/suites/external_table_p0/jdbc/test_jdbc_catalog_push_cast.groovy index 6271a1619a5fac..3585f5fbb50941 100644 --- a/regression-test/suites/external_table_p0/jdbc/test_jdbc_catalog_push_cast.groovy +++ b/regression-test/suites/external_table_p0/jdbc/test_jdbc_catalog_push_cast.groovy @@ -34,6 +34,8 @@ suite("test_jdbc_catalog_push_cast", "p0,external,mysql,external_docker,external "driver_class" = "com.mysql.cj.jdbc.Driver" );""" + sql "set enable_jdbc_cast_predicate_push_down = false;" + sql "use jdbc_catalog_push_cast.doris_test" qt_sql """select * from test_cast where date(datetime_c) = '2022-01-01';"""