Skip to content

Commit ed1b468

Browse files
committed
Simplify behaviors in BaseJdbcConnectorTest
Assume false only for behaviors not supported by `DefaultJdbcMetadata`.
1 parent 11dd986 commit ed1b468

File tree

17 files changed

+74
-55
lines changed

17 files changed

+74
-55
lines changed

plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/BaseJdbcConnectorTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -147,21 +147,21 @@ public void afterClass()
147147
@Override
148148
protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
149149
{
150-
return switch (connectorBehavior) {
151-
case SUPPORTS_UPDATE -> true;
152-
case SUPPORTS_ADD_COLUMN_WITH_POSITION,
153-
SUPPORTS_CREATE_MATERIALIZED_VIEW,
154-
SUPPORTS_CREATE_VIEW,
155-
SUPPORTS_DEFAULT_COLUMN_VALUE,
156-
SUPPORTS_MERGE,
157-
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN,
158-
SUPPORTS_ROW_LEVEL_UPDATE -> false;
150+
switch (connectorBehavior) {
151+
case SUPPORTS_CREATE_VIEW: // not supported by DefaultJdbcMetadata
152+
case SUPPORTS_CREATE_MATERIALIZED_VIEW: // not supported by DefaultJdbcMetadata
153+
case SUPPORTS_DEFAULT_COLUMN_VALUE: // not supported by DefaultJdbcMetadata
154+
return false;
155+
159156
// Dynamic filters can be pushed down only if predicate push down is supported.
160157
// It is possible for a connector to have predicate push down support but not push down dynamic filters.
161158
// TODO default SUPPORTS_DYNAMIC_FILTER_PUSHDOWN to SUPPORTS_PREDICATE_PUSHDOWN
162-
case SUPPORTS_DYNAMIC_FILTER_PUSHDOWN -> super.hasBehavior(SUPPORTS_PREDICATE_PUSHDOWN);
163-
default -> super.hasBehavior(connectorBehavior);
164-
};
159+
case SUPPORTS_DYNAMIC_FILTER_PUSHDOWN:
160+
return super.hasBehavior(SUPPORTS_PREDICATE_PUSHDOWN);
161+
162+
default:
163+
return super.hasBehavior(connectorBehavior);
164+
}
165165
}
166166

167167
@Test

plugin/trino-base-jdbc/src/test/java/io/trino/plugin/jdbc/TestJdbcConnectorTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,20 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
6767
return switch (connectorBehavior) {
6868
case SUPPORTS_ADD_COLUMN_WITH_COMMENT,
6969
SUPPORTS_AGGREGATION_PUSHDOWN,
70+
SUPPORTS_PREDICATE_ARITHMETIC_EXPRESSION_PUSHDOWN,
7071
SUPPORTS_ARRAY,
7172
SUPPORTS_COMMENT_ON_COLUMN,
7273
SUPPORTS_COMMENT_ON_TABLE,
74+
SUPPORTS_ADD_COLUMN_WITH_POSITION,
7375
SUPPORTS_CREATE_TABLE_WITH_COLUMN_COMMENT,
7476
SUPPORTS_CREATE_TABLE_WITH_TABLE_COMMENT,
7577
SUPPORTS_LIMIT_PUSHDOWN,
7678
SUPPORTS_MAP_TYPE,
7779
SUPPORTS_RENAME_TABLE_ACROSS_SCHEMAS,
7880
SUPPORTS_ROW_TYPE,
79-
SUPPORTS_TOPN_PUSHDOWN -> false;
81+
SUPPORTS_TOPN_PUSHDOWN,
82+
SUPPORTS_MERGE,
83+
SUPPORTS_ROW_LEVEL_UPDATE -> false;
8084
default -> super.hasBehavior(connectorBehavior);
8185
};
8286
}

plugin/trino-clickhouse/src/test/java/io/trino/plugin/clickhouse/TestClickHouseConnectorTest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,19 +71,21 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
7171
SUPPORTS_AGGREGATION_PUSHDOWN_CORRELATION,
7272
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN_WITH_LIKE,
7373
SUPPORTS_PREDICATE_PUSHDOWN_WITH_VARCHAR_EQUALITY,
74-
SUPPORTS_TOPN_PUSHDOWN,
7574
SUPPORTS_TRUNCATE -> true;
7675
case SUPPORTS_AGGREGATION_PUSHDOWN_REGRESSION,
7776
SUPPORTS_AGGREGATION_PUSHDOWN_STDDEV,
7877
SUPPORTS_AGGREGATION_PUSHDOWN_VARIANCE,
78+
SUPPORTS_PREDICATE_ARITHMETIC_EXPRESSION_PUSHDOWN,
7979
SUPPORTS_ARRAY,
8080
SUPPORTS_DELETE,
8181
SUPPORTS_DROP_NOT_NULL_CONSTRAINT,
8282
SUPPORTS_MAP_TYPE,
8383
SUPPORTS_NEGATIVE_DATE,
8484
SUPPORTS_ROW_TYPE,
85+
SUPPORTS_ADD_COLUMN_WITH_POSITION,
8586
SUPPORTS_SET_COLUMN_TYPE,
86-
SUPPORTS_UPDATE -> false;
87+
SUPPORTS_UPDATE,
88+
SUPPORTS_MERGE -> false;
8789
default -> super.hasBehavior(connectorBehavior);
8890
};
8991
}

plugin/trino-druid/src/test/java/io/trino/plugin/druid/TestDruidConnectorTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
7878
return switch (connectorBehavior) {
7979
case SUPPORTS_ADD_COLUMN,
8080
SUPPORTS_AGGREGATION_PUSHDOWN,
81+
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN,
8182
SUPPORTS_COMMENT_ON_COLUMN,
8283
SUPPORTS_COMMENT_ON_TABLE,
8384
SUPPORTS_CREATE_SCHEMA,
@@ -90,7 +91,8 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
9091
SUPPORTS_ROW_TYPE,
9192
SUPPORTS_SET_COLUMN_TYPE,
9293
SUPPORTS_TOPN_PUSHDOWN,
93-
SUPPORTS_UPDATE -> false;
94+
SUPPORTS_UPDATE,
95+
SUPPORTS_MERGE -> false;
9496
default -> super.hasBehavior(connectorBehavior);
9597
};
9698
}

plugin/trino-duckdb/src/test/java/io/trino/plugin/duckdb/TestDuckDbConnectorTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,9 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
5757
return switch (connectorBehavior) {
5858
case SUPPORTS_ADD_COLUMN_NOT_NULL_CONSTRAINT,
5959
SUPPORTS_ADD_COLUMN_WITH_COMMENT,
60+
SUPPORTS_ADD_COLUMN_WITH_POSITION,
6061
SUPPORTS_AGGREGATION_PUSHDOWN,
62+
SUPPORTS_PREDICATE_ARITHMETIC_EXPRESSION_PUSHDOWN,
6163
SUPPORTS_ARRAY,
6264
SUPPORTS_COMMENT_ON_COLUMN,
6365
SUPPORTS_COMMENT_ON_TABLE,
@@ -69,7 +71,9 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
6971
SUPPORTS_RENAME_SCHEMA,
7072
SUPPORTS_RENAME_TABLE_ACROSS_SCHEMAS,
7173
SUPPORTS_TOPN_PUSHDOWN,
72-
SUPPORTS_ROW_TYPE -> false;
74+
SUPPORTS_ROW_TYPE,
75+
SUPPORTS_MERGE,
76+
SUPPORTS_ROW_LEVEL_UPDATE -> false;
7377

7478
default -> super.hasBehavior(connectorBehavior);
7579
};

plugin/trino-exasol/src/test/java/io/trino/plugin/exasol/TestExasolConnectorTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,6 @@ protected QueryRunner createQueryRunner()
6060
protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
6161
{
6262
return switch (connectorBehavior) {
63-
// Tests requires write access which is not implemented
64-
case SUPPORTS_AGGREGATION_PUSHDOWN,
65-
SUPPORTS_JOIN_PUSHDOWN -> false;
66-
6763
// Parallel writing is not supported due to restrictions of the Exasol JDBC driver.
6864
case SUPPORTS_ADD_COLUMN,
6965
SUPPORTS_ARRAY,
@@ -73,12 +69,15 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
7369
SUPPORTS_DELETE,
7470
SUPPORTS_INSERT,
7571
SUPPORTS_MAP_TYPE,
72+
SUPPORTS_ROW_TYPE,
7673
SUPPORTS_NEGATIVE_DATE, // min date is 0001-01-01
7774
SUPPORTS_RENAME_COLUMN,
7875
SUPPORTS_RENAME_TABLE,
79-
SUPPORTS_ROW_TYPE,
8076
SUPPORTS_SET_COLUMN_TYPE,
81-
SUPPORTS_UPDATE -> false;
77+
SUPPORTS_AGGREGATION_PUSHDOWN,
78+
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN,
79+
SUPPORTS_UPDATE,
80+
SUPPORTS_MERGE -> false;
8281

8382
default -> super.hasBehavior(connectorBehavior);
8483
};

plugin/trino-ignite/src/test/java/io/trino/plugin/ignite/TestIgniteConnectorTest.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,16 @@ protected SqlExecutor onRemoteDatabase()
7373
protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
7474
{
7575
return switch (connectorBehavior) {
76-
case SUPPORTS_AGGREGATION_PUSHDOWN,
77-
SUPPORTS_JOIN_PUSHDOWN,
78-
SUPPORTS_MERGE,
79-
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN_WITH_LIKE,
80-
SUPPORTS_ROW_LEVEL_UPDATE,
81-
SUPPORTS_TOPN_PUSHDOWN_WITH_VARCHAR -> true;
76+
case SUPPORTS_JOIN_PUSHDOWN -> true;
8277
case SUPPORTS_ADD_COLUMN_NOT_NULL_CONSTRAINT,
8378
SUPPORTS_ADD_COLUMN_WITH_COMMENT,
79+
SUPPORTS_ADD_COLUMN_WITH_POSITION,
8480
SUPPORTS_AGGREGATION_PUSHDOWN_CORRELATION,
8581
SUPPORTS_AGGREGATION_PUSHDOWN_COVARIANCE,
8682
SUPPORTS_AGGREGATION_PUSHDOWN_REGRESSION,
8783
SUPPORTS_AGGREGATION_PUSHDOWN_STDDEV,
8884
SUPPORTS_AGGREGATION_PUSHDOWN_VARIANCE,
85+
SUPPORTS_PREDICATE_ARITHMETIC_EXPRESSION_PUSHDOWN,
8986
SUPPORTS_ARRAY,
9087
SUPPORTS_COMMENT_ON_COLUMN,
9188
SUPPORTS_COMMENT_ON_TABLE,

plugin/trino-mariadb/src/test/java/io/trino/plugin/mariadb/BaseMariaDbConnectorTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,7 @@ public abstract class BaseMariaDbConnectorTest
4040
protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
4141
{
4242
return switch (connectorBehavior) {
43-
case SUPPORTS_ADD_COLUMN_WITH_POSITION,
44-
SUPPORTS_JOIN_PUSHDOWN -> true;
43+
case SUPPORTS_JOIN_PUSHDOWN -> true;
4544
case SUPPORTS_ADD_COLUMN_WITH_COMMENT,
4645
SUPPORTS_AGGREGATION_PUSHDOWN_CORRELATION,
4746
SUPPORTS_AGGREGATION_PUSHDOWN_COUNT_DISTINCT,
@@ -57,9 +56,13 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
5756
SUPPORTS_NEGATIVE_DATE,
5857
SUPPORTS_PREDICATE_PUSHDOWN_WITH_VARCHAR_EQUALITY,
5958
SUPPORTS_PREDICATE_PUSHDOWN_WITH_VARCHAR_INEQUALITY,
59+
SUPPORTS_PREDICATE_ARITHMETIC_EXPRESSION_PUSHDOWN,
60+
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN_WITH_LIKE,
6061
SUPPORTS_RENAME_SCHEMA,
6162
SUPPORTS_ROW_TYPE,
62-
SUPPORTS_SET_COLUMN_TYPE -> false;
63+
SUPPORTS_SET_COLUMN_TYPE,
64+
SUPPORTS_MERGE,
65+
SUPPORTS_ROW_LEVEL_UPDATE -> false;
6366
default -> super.hasBehavior(connectorBehavior);
6467
};
6568
}

plugin/trino-mysql/src/test/java/io/trino/plugin/mysql/BaseMySqlConnectorTest.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,7 @@ public abstract class BaseMySqlConnectorTest
5959
protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
6060
{
6161
return switch (connectorBehavior) {
62-
case SUPPORTS_ADD_COLUMN_WITH_POSITION,
63-
SUPPORTS_AGGREGATION_PUSHDOWN,
64-
SUPPORTS_JOIN_PUSHDOWN,
65-
SUPPORTS_MERGE,
66-
SUPPORTS_ROW_LEVEL_UPDATE -> true;
62+
case SUPPORTS_JOIN_PUSHDOWN -> true;
6763
case SUPPORTS_ADD_COLUMN_WITH_COMMENT,
6864
SUPPORTS_AGGREGATION_PUSHDOWN_CORRELATION,
6965
SUPPORTS_AGGREGATION_PUSHDOWN_COUNT_DISTINCT,
@@ -79,6 +75,8 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
7975
SUPPORTS_NEGATIVE_DATE,
8076
SUPPORTS_PREDICATE_PUSHDOWN_WITH_VARCHAR_EQUALITY,
8177
SUPPORTS_PREDICATE_PUSHDOWN_WITH_VARCHAR_INEQUALITY,
78+
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN_WITH_LIKE,
79+
SUPPORTS_PREDICATE_ARITHMETIC_EXPRESSION_PUSHDOWN,
8280
SUPPORTS_RENAME_SCHEMA,
8381
SUPPORTS_ROW_TYPE,
8482
SUPPORTS_SET_COLUMN_TYPE -> false;

plugin/trino-oracle/src/test/java/io/trino/plugin/oracle/BaseOracleConnectorTest.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,11 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
4848
return switch (connectorBehavior) {
4949
case SUPPORTS_JOIN_PUSHDOWN -> true;
5050
case SUPPORTS_ADD_COLUMN_WITH_COMMENT,
51+
SUPPORTS_ADD_COLUMN_WITH_POSITION,
5152
SUPPORTS_AGGREGATION_PUSHDOWN_CORRELATION,
5253
SUPPORTS_AGGREGATION_PUSHDOWN_REGRESSION,
54+
SUPPORTS_PREDICATE_ARITHMETIC_EXPRESSION_PUSHDOWN,
55+
SUPPORTS_PREDICATE_EXPRESSION_PUSHDOWN_WITH_LIKE,
5356
SUPPORTS_ARRAY,
5457
SUPPORTS_CREATE_SCHEMA,
5558
SUPPORTS_CREATE_TABLE_WITH_COLUMN_COMMENT,
@@ -59,7 +62,9 @@ protected boolean hasBehavior(TestingConnectorBehavior connectorBehavior)
5962
SUPPORTS_RENAME_TABLE_ACROSS_SCHEMAS,
6063
SUPPORTS_ROW_TYPE,
6164
SUPPORTS_SET_COLUMN_TYPE,
62-
SUPPORTS_TOPN_PUSHDOWN -> false;
65+
SUPPORTS_TOPN_PUSHDOWN,
66+
SUPPORTS_MERGE,
67+
SUPPORTS_ROW_LEVEL_UPDATE -> false;
6368
default -> super.hasBehavior(connectorBehavior);
6469
};
6570
}

0 commit comments

Comments
 (0)