diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/PlanModifierForASTConv.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/PlanModifierForASTConv.java index 52e9b3ad2a35..3b7569411ace 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/PlanModifierForASTConv.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/translator/PlanModifierForASTConv.java @@ -163,7 +163,7 @@ private static void convertOpTree(RelNode rel, RelNode parent) { introduceDerivedTable(rel.getInput(0), rel); } } else if (rel instanceof SingleRel) { - if (rel instanceof HiveJdbcConverter) { + if (rel instanceof HiveJdbcConverter && !(parent instanceof Project)) { introduceDerivedTable(rel, parent); } else if (rel instanceof Filter) { if (!validFilterParent(rel, parent)) { diff --git a/ql/src/test/queries/clientpositive/jdbc_redundant_project.q b/ql/src/test/queries/clientpositive/jdbc_redundant_project.q new file mode 100644 index 000000000000..aa725d8e988a --- /dev/null +++ b/ql/src/test/queries/clientpositive/jdbc_redundant_project.q @@ -0,0 +1,50 @@ +--! qt:database:postgres:qdb:q_test_country_table_with_schema.postgres.sql + +CREATE EXTERNAL TABLE country_bob (id int, name varchar(20)) +STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler' +TBLPROPERTIES ( + "hive.sql.database.type" = "POSTGRES", + "hive.sql.jdbc.driver" = "org.postgresql.Driver", + "hive.sql.jdbc.url" = "${system:hive.test.database.qdb.jdbc.url}", + "hive.sql.dbcp.username" = "${system:hive.test.database.qdb.jdbc.username}", + "hive.sql.dbcp.password" = "${system:hive.test.database.qdb.jdbc.password}", + "hive.sql.schema" = "bob", + "hive.sql.table" = "country"); + +CREATE EXTERNAL TABLE country_alice (id int, name varchar(20)) +STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler' +TBLPROPERTIES ( + "hive.sql.database.type" = "POSTGRES", + "hive.sql.jdbc.driver" = "org.postgresql.Driver", + "hive.sql.jdbc.url" = "${system:hive.test.database.qdb.jdbc.url}", + "hive.sql.dbcp.username" = "${system:hive.test.database.qdb.jdbc.username}", + "hive.sql.dbcp.password" = "${system:hive.test.database.qdb.jdbc.password}", + "hive.sql.schema" = "alice", + "hive.sql.table" = "country"); + +EXPLAIN CBO +WITH cross_items AS ( + SELECT id + FROM ( + SELECT id FROM country_bob + INTERSECT + SELECT id FROM country_alice + INTERSECT + SELECT id FROM country_bob + ) x +) +SELECT channel, cnt +FROM ( + SELECT 'a' channel, COUNT(*) cnt + FROM country_bob + WHERE id IN (SELECT id FROM cross_items) + UNION ALL + SELECT 'b' channel, COUNT(*) cnt + FROM country_alice + WHERE id IN (SELECT id FROM cross_items) + UNION ALL + SELECT 'c' channel, COUNT(*) cnt + FROM country_bob + WHERE id IN (SELECT id FROM cross_items) +) y +ORDER BY channel; diff --git a/ql/src/test/results/clientpositive/llap/cbo_jdbc_joincost.q.out b/ql/src/test/results/clientpositive/llap/cbo_jdbc_joincost.q.out index 78279e58c3bf..7eef2fe896b8 100644 --- a/ql/src/test/results/clientpositive/llap/cbo_jdbc_joincost.q.out +++ b/ql/src/test/results/clientpositive/llap/cbo_jdbc_joincost.q.out @@ -82,16 +82,15 @@ POSTHOOK: Input: default@book #### A masked pattern was here #### CBO PLAN: HiveProject(a.lname=[$0], b.title=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveProject(lname=[$0], title=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - HiveJdbcConverter(convention=[JDBC.MYSQL]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcProject(lname=[$1], title=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcJoin(condition=[=($0, $3)], joinType=[inner]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcProject(id=[$0], lname=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcFilter(condition=[IS NOT NULL($0)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcProject(id=[$0], lname=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcHiveTableScan(table=[[default, author]], table:alias=[a]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcProject(title=[$0], author=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcFilter(condition=[IS NOT NULL($1)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcProject(title=[$1], author=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### - JdbcHiveTableScan(table=[[default, book]], table:alias=[b]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + HiveJdbcConverter(convention=[JDBC.MYSQL]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcProject(lname=[$1], title=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcJoin(condition=[=($0, $3)], joinType=[inner]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcProject(id=[$0], lname=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcFilter(condition=[IS NOT NULL($0)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcProject(id=[$0], lname=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcHiveTableScan(table=[[default, author]], table:alias=[a]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcProject(title=[$0], author=[$1]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcFilter(condition=[IS NOT NULL($1)]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcProject(title=[$1], author=[$2]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### + JdbcHiveTableScan(table=[[default, book]], table:alias=[b]): rowcount = ###Masked###, cumulative cost = ###Masked###, id = ###Masked### diff --git a/ql/src/test/results/clientpositive/llap/external_jdbc_rowcount.q.out b/ql/src/test/results/clientpositive/llap/external_jdbc_rowcount.q.out index 87c031bc00ec..8369d01e0764 100644 --- a/ql/src/test/results/clientpositive/llap/external_jdbc_rowcount.q.out +++ b/ql/src/test/results/clientpositive/llap/external_jdbc_rowcount.q.out @@ -266,32 +266,31 @@ POSTHOOK: Input: default@ext_simple_derby_table14 #### A masked pattern was here #### CBO PLAN: HiveProject(t1.fkey=[$0], t2.ikey=[$1], _c2=[$2]) - HiveProject(fkey=[$0], ikey=[$1], _o__c2=[$2]) - HiveJdbcConverter(convention=[JDBC.DERBY]) - JdbcProject(fkey=[$0], ikey=[$2], _o__c2=[$3]) - JdbcAggregate(group=[{0, 2, 4}], agg#0=[sum($1)]) - JdbcFilter(condition=[IS NULL($3)]) - JdbcJoin(condition=[AND(=($1, $4), =($0, $3))], joinType=[left]) - JdbcProject(fkey=[$1], ikey=[$0]) - JdbcAggregate(group=[{0, 1}]) - JdbcFilter(condition=[IS NULL($4)]) - JdbcJoin(condition=[=($0, $3)], joinType=[left]) - JdbcProject(ikey=[$0], fkey=[$2], dkey=[$3]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table11]], table:alias=[ext_simple_derby_table11]) - JdbcProject(ikey2=[$0], fkey2=[$1], dkey2=[$2]) - JdbcFilter(condition=[IS NOT NULL($0)]) - JdbcProject(ikey2=[$0], fkey2=[$2], dkey2=[$3]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table13]], table:alias=[ext_simple_derby_table13]) - JdbcProject(datekey=[$2], fkey=[$1], ikey=[$0]) - JdbcAggregate(group=[{0, 1, 3}]) - JdbcFilter(condition=[IS NULL($5)]) - JdbcJoin(condition=[=($0, $4)], joinType=[left]) - JdbcProject(ikey=[$0], fkey=[$1], dkey=[$2], datekey=[$3]) - JdbcFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) - JdbcProject(ikey=[$0], fkey=[$2], dkey=[$3], datekey=[$4]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table12]], table:alias=[ext_simple_derby_table12]) - JdbcProject(ikey2=[$0], fkey2=[$1], dkey2=[$2]) - JdbcFilter(condition=[IS NOT NULL($0)]) - JdbcProject(ikey2=[$0], fkey2=[$2], dkey2=[$3]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table14]], table:alias=[ext_simple_derby_table14]) + HiveJdbcConverter(convention=[JDBC.DERBY]) + JdbcProject(fkey=[$0], ikey=[$2], _o__c2=[$3]) + JdbcAggregate(group=[{0, 2, 4}], agg#0=[sum($1)]) + JdbcFilter(condition=[IS NULL($3)]) + JdbcJoin(condition=[AND(=($1, $4), =($0, $3))], joinType=[left]) + JdbcProject(fkey=[$1], ikey=[$0]) + JdbcAggregate(group=[{0, 1}]) + JdbcFilter(condition=[IS NULL($4)]) + JdbcJoin(condition=[=($0, $3)], joinType=[left]) + JdbcProject(ikey=[$0], fkey=[$2], dkey=[$3]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table11]], table:alias=[ext_simple_derby_table11]) + JdbcProject(ikey2=[$0], fkey2=[$1], dkey2=[$2]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(ikey2=[$0], fkey2=[$2], dkey2=[$3]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table13]], table:alias=[ext_simple_derby_table13]) + JdbcProject(datekey=[$2], fkey=[$1], ikey=[$0]) + JdbcAggregate(group=[{0, 1, 3}]) + JdbcFilter(condition=[IS NULL($5)]) + JdbcJoin(condition=[=($0, $4)], joinType=[left]) + JdbcProject(ikey=[$0], fkey=[$1], dkey=[$2], datekey=[$3]) + JdbcFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + JdbcProject(ikey=[$0], fkey=[$2], dkey=[$3], datekey=[$4]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table12]], table:alias=[ext_simple_derby_table12]) + JdbcProject(ikey2=[$0], fkey2=[$1], dkey2=[$2]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(ikey2=[$0], fkey2=[$2], dkey2=[$3]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table14]], table:alias=[ext_simple_derby_table14]) diff --git a/ql/src/test/results/clientpositive/llap/external_jdbc_table.q.out b/ql/src/test/results/clientpositive/llap/external_jdbc_table.q.out index 1f928ce625b5..33848d634f11 100644 --- a/ql/src/test/results/clientpositive/llap/external_jdbc_table.q.out +++ b/ql/src/test/results/clientpositive/llap/external_jdbc_table.q.out @@ -574,16 +574,15 @@ POSTHOOK: Input: default@ext_simple_derby_table2 #### A masked pattern was here #### CBO PLAN: HiveProject(ext_simple_derby_table1.fkey=[$0], ext_simple_derby_table2.dkey=[$1]) - HiveProject(fkey=[$0], dkey=[$1]) - HiveJdbcConverter(convention=[JDBC.DERBY]) - JdbcProject(fkey=[$1], dkey=[$3]) - JdbcJoin(condition=[=($0, $2)], joinType=[inner]) - JdbcProject(ikey=[$0], fkey=[$1]) - JdbcFilter(condition=[IS NOT NULL($0)]) - JdbcProject(ikey=[$0], fkey=[$2]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table1]], table:alias=[ext_simple_derby_table1]) - JdbcProject(ikey=[$0], dkey=[$1]) - JdbcFilter(condition=[IS NOT NULL($0)]) - JdbcProject(ikey=[$0], dkey=[$3]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table2]], table:alias=[ext_simple_derby_table2]) + HiveJdbcConverter(convention=[JDBC.DERBY]) + JdbcProject(fkey=[$1], dkey=[$3]) + JdbcJoin(condition=[=($0, $2)], joinType=[inner]) + JdbcProject(ikey=[$0], fkey=[$1]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(ikey=[$0], fkey=[$2]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table1]], table:alias=[ext_simple_derby_table1]) + JdbcProject(ikey=[$0], dkey=[$1]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(ikey=[$0], dkey=[$3]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table2]], table:alias=[ext_simple_derby_table2]) diff --git a/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out b/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out index 639cb0cc6e31..14b5bea93901 100644 --- a/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out +++ b/ql/src/test/results/clientpositive/llap/external_jdbc_table_perf.q.out @@ -7292,16 +7292,12 @@ GROUP BY "ss_store_sk" Map-reduce partition columns: ss_store_sk (type: int) Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE top n: 6 - Select Operator - expressions: ss_store_sk (type: int), $f1 (type: decimal(17,2)) - outputColumnNames: _col0, _col1 + Reduce Output Operator + key expressions: ss_store_sk (type: int), $f1 (type: decimal(17,2)) + null sort order: az + sort order: ++ + Map-reduce partition columns: ss_store_sk (type: int) Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE - Reduce Output Operator - key expressions: _col0 (type: int), _col1 (type: decimal(17,2)) - null sort order: az - sort order: ++ - Map-reduce partition columns: _col0 (type: int) - Statistics: Num rows: 1 Data size: 116 Basic stats: COMPLETE Column stats: NONE Execution mode: vectorized, llap LLAP IO: no inputs Reducer 2 diff --git a/ql/src/test/results/clientpositive/llap/jdbc_filter_expand_row_operator.q.out b/ql/src/test/results/clientpositive/llap/jdbc_filter_expand_row_operator.q.out index 8cb344fc76d9..c4f93a93f3ac 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_filter_expand_row_operator.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_filter_expand_row_operator.q.out @@ -36,8 +36,7 @@ POSTHOOK: Input: default@book #### A masked pattern was here #### CBO PLAN: HiveProject(book.id=[$0], book.title=[$1], book.author=[$2]) - HiveProject(id=[$0], title=[$1], author=[$2]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcFilter(condition=[AND(OR(=($0, 0), AND(=($0, 1), =($2, 11)), AND(=($0, 2), =($2, 22))), IN($0, 0, 1, 2))]) - JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcFilter(condition=[AND(OR(=($0, 0), AND(=($0, 1), =($2, 11)), AND(=($0, 2), =($2, 22))), IN($0, 0, 1, 2))]) + JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) diff --git a/ql/src/test/results/clientpositive/llap/jdbc_project_pushdown.q.out b/ql/src/test/results/clientpositive/llap/jdbc_project_pushdown.q.out index 1368468d0d0e..91c33a71c6ad 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_project_pushdown.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_project_pushdown.q.out @@ -80,12 +80,11 @@ POSTHOOK: Input: default@book #### A masked pattern was here #### CBO PLAN: HiveProject(id=[$0]) - HiveProject(id=[$0]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcProject(id=[$0]) - JdbcFilter(condition=[=(SUBSTRING($1, 0, 4), 'Les')]) - JdbcProject(id=[$0], title=[$1]) - JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcProject(id=[$0]) + JdbcFilter(condition=[=(SUBSTRING($1, 0, 4), 'Les')]) + JdbcProject(id=[$0], title=[$1]) + JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) PREHOOK: query: explain select id from book where substring(title, 0, 4) = 'Les' PREHOOK: type: QUERY @@ -198,18 +197,17 @@ POSTHOOK: Input: default@book #### A masked pattern was here #### CBO PLAN: HiveProject(book.title=[$0], author.fname=[$1]) - HiveProject(title=[$0], fname=[$1]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcProject(title=[$0], fname=[$3]) - JdbcJoin(condition=[=($1, $2)], joinType=[inner]) - JdbcProject(title=[$0], author=[$1]) - JdbcFilter(condition=[IS NOT NULL($1)]) - JdbcProject(title=[$1], author=[$2]) - JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) - JdbcProject(id=[$0], fname=[$1]) - JdbcFilter(condition=[IS NOT NULL($0)]) - JdbcProject(id=[$0], fname=[$1]) - JdbcHiveTableScan(table=[[default, author]], table:alias=[author]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcProject(title=[$0], fname=[$3]) + JdbcJoin(condition=[=($1, $2)], joinType=[inner]) + JdbcProject(title=[$0], author=[$1]) + JdbcFilter(condition=[IS NOT NULL($1)]) + JdbcProject(title=[$1], author=[$2]) + JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) + JdbcProject(id=[$0], fname=[$1]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0], fname=[$1]) + JdbcHiveTableScan(table=[[default, author]], table:alias=[author]) PREHOOK: query: explain select book.title, author.fname from book join author on book.author = author.id PREHOOK: type: QUERY @@ -441,18 +439,17 @@ POSTHOOK: Input: default@book #### A masked pattern was here #### CBO PLAN: HiveProject(author.fname=[$0], books=[$1]) - HiveProject(fname=[$0], $f1=[$1]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcAggregate(group=[{3}], agg#0=[count($0)]) - JdbcJoin(condition=[=($1, $2)], joinType=[inner]) - JdbcProject(title=[$0], author=[$1]) - JdbcFilter(condition=[IS NOT NULL($1)]) - JdbcProject(title=[$1], author=[$2]) - JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) - JdbcProject(id=[$0], fname=[$1]) - JdbcFilter(condition=[IS NOT NULL($0)]) - JdbcProject(id=[$0], fname=[$1]) - JdbcHiveTableScan(table=[[default, author]], table:alias=[author]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{3}], agg#0=[count($0)]) + JdbcJoin(condition=[=($1, $2)], joinType=[inner]) + JdbcProject(title=[$0], author=[$1]) + JdbcFilter(condition=[IS NOT NULL($1)]) + JdbcProject(title=[$1], author=[$2]) + JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) + JdbcProject(id=[$0], fname=[$1]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0], fname=[$1]) + JdbcHiveTableScan(table=[[default, author]], table:alias=[author]) PREHOOK: query: explain select author.fname, count(book.title) as books @@ -545,18 +542,17 @@ CBO PLAN: HiveProject(_c0=[$0], books=[$1]) HiveSortLimit(sort0=[$2], dir0=[ASC], fetch=[5]) HiveProject(_o__c0=[ucase($0)], books=[$1], _o__col4=[ucase($0)]) - HiveProject(fname=[$0], $f1=[$1]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcAggregate(group=[{3}], agg#0=[count($0)]) - JdbcJoin(condition=[=($1, $2)], joinType=[inner]) - JdbcProject(title=[$0], author=[$1]) - JdbcFilter(condition=[IS NOT NULL($1)]) - JdbcProject(title=[$1], author=[$2]) - JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) - JdbcProject(id=[$0], fname=[$1]) - JdbcFilter(condition=[IS NOT NULL($0)]) - JdbcProject(id=[$0], fname=[$1]) - JdbcHiveTableScan(table=[[default, author]], table:alias=[author]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{3}], agg#0=[count($0)]) + JdbcJoin(condition=[=($1, $2)], joinType=[inner]) + JdbcProject(title=[$0], author=[$1]) + JdbcFilter(condition=[IS NOT NULL($1)]) + JdbcProject(title=[$1], author=[$2]) + JdbcHiveTableScan(table=[[default, book]], table:alias=[book]) + JdbcProject(id=[$0], fname=[$1]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0], fname=[$1]) + JdbcHiveTableScan(table=[[default, author]], table:alias=[author]) PREHOOK: query: explain select ucase(author.fname), count(book.title) as books diff --git a/ql/src/test/results/clientpositive/llap/jdbc_redundant_project.q.out b/ql/src/test/results/clientpositive/llap/jdbc_redundant_project.q.out new file mode 100644 index 000000000000..fd6a6de7aa2b --- /dev/null +++ b/ql/src/test/results/clientpositive/llap/jdbc_redundant_project.q.out @@ -0,0 +1,210 @@ +PREHOOK: query: CREATE EXTERNAL TABLE country_bob (id int, name varchar(20)) +STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler' +TBLPROPERTIES ( + "hive.sql.database.type" = "POSTGRES", + "hive.sql.jdbc.driver" = "org.postgresql.Driver", + "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qdb", + "hive.sql.dbcp.username" = "qtestuser", + "hive.sql.dbcp.password" = "qtestpassword", + "hive.sql.schema" = "bob", + "hive.sql.table" = "country") +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@country_bob +POSTHOOK: query: CREATE EXTERNAL TABLE country_bob (id int, name varchar(20)) +STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler' +TBLPROPERTIES ( + "hive.sql.database.type" = "POSTGRES", + "hive.sql.jdbc.driver" = "org.postgresql.Driver", + "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qdb", + "hive.sql.dbcp.username" = "qtestuser", + "hive.sql.dbcp.password" = "qtestpassword", + "hive.sql.schema" = "bob", + "hive.sql.table" = "country") +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@country_bob +PREHOOK: query: CREATE EXTERNAL TABLE country_alice (id int, name varchar(20)) +STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler' +TBLPROPERTIES ( + "hive.sql.database.type" = "POSTGRES", + "hive.sql.jdbc.driver" = "org.postgresql.Driver", + "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qdb", + "hive.sql.dbcp.username" = "qtestuser", + "hive.sql.dbcp.password" = "qtestpassword", + "hive.sql.schema" = "alice", + "hive.sql.table" = "country") +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@country_alice +POSTHOOK: query: CREATE EXTERNAL TABLE country_alice (id int, name varchar(20)) +STORED BY 'org.apache.hive.storage.jdbc.JdbcStorageHandler' +TBLPROPERTIES ( + "hive.sql.database.type" = "POSTGRES", + "hive.sql.jdbc.driver" = "org.postgresql.Driver", + "hive.sql.jdbc.url" = "jdbc:postgresql://localhost:5432/qdb", + "hive.sql.dbcp.username" = "qtestuser", + "hive.sql.dbcp.password" = "qtestpassword", + "hive.sql.schema" = "alice", + "hive.sql.table" = "country") +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@country_alice +PREHOOK: query: EXPLAIN CBO +WITH cross_items AS ( + SELECT id + FROM ( + SELECT id FROM country_bob + INTERSECT + SELECT id FROM country_alice + INTERSECT + SELECT id FROM country_bob + ) x +) +SELECT channel, cnt +FROM ( + SELECT 'a' channel, COUNT(*) cnt + FROM country_bob + WHERE id IN (SELECT id FROM cross_items) + UNION ALL + SELECT 'b' channel, COUNT(*) cnt + FROM country_alice + WHERE id IN (SELECT id FROM cross_items) + UNION ALL + SELECT 'c' channel, COUNT(*) cnt + FROM country_bob + WHERE id IN (SELECT id FROM cross_items) +) y +ORDER BY channel +PREHOOK: type: QUERY +PREHOOK: Input: default@country_alice +PREHOOK: Input: default@country_bob +#### A masked pattern was here #### +POSTHOOK: query: EXPLAIN CBO +WITH cross_items AS ( + SELECT id + FROM ( + SELECT id FROM country_bob + INTERSECT + SELECT id FROM country_alice + INTERSECT + SELECT id FROM country_bob + ) x +) +SELECT channel, cnt +FROM ( + SELECT 'a' channel, COUNT(*) cnt + FROM country_bob + WHERE id IN (SELECT id FROM cross_items) + UNION ALL + SELECT 'b' channel, COUNT(*) cnt + FROM country_alice + WHERE id IN (SELECT id FROM cross_items) + UNION ALL + SELECT 'c' channel, COUNT(*) cnt + FROM country_bob + WHERE id IN (SELECT id FROM cross_items) +) y +ORDER BY channel +POSTHOOK: type: QUERY +POSTHOOK: Input: default@country_alice +POSTHOOK: Input: default@country_bob +#### A masked pattern was here #### +CBO PLAN: +HiveSortLimit(sort0=[$0], dir0=[ASC]) + HiveProject(channel=[$0], cnt=[$1]) + HiveUnion(all=[true]) + HiveProject(channel=['a':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], cnt=[$0]) + HiveAggregate(group=[{}], agg#0=[count()]) + HiveSemiJoin(condition=[=($0, $1)], joinType=[semi]) + HiveProject(id=[$0]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + HiveProject($f0=[$0]) + HiveFilter(condition=[=($1, 3)]) + HiveAggregate(group=[{0}], agg#0=[count($1)]) + HiveProject(id=[$0], $f1=[$1]) + HiveUnion(all=[true]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_alice]], table:alias=[country_alice]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + HiveProject(channel=['b':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], cnt=[$0]) + HiveAggregate(group=[{}], agg#0=[count()]) + HiveSemiJoin(condition=[=($0, $1)], joinType=[semi]) + HiveProject(id=[$0]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_alice]], table:alias=[country_alice]) + HiveProject($f0=[$0]) + HiveFilter(condition=[=($1, 3)]) + HiveAggregate(group=[{0}], agg#0=[count($1)]) + HiveProject(id=[$0], $f1=[$1]) + HiveUnion(all=[true]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_alice]], table:alias=[country_alice]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + HiveProject(channel=['c':VARCHAR(2147483647) CHARACTER SET "UTF-16LE"], cnt=[$0]) + HiveAggregate(group=[{}], agg#0=[count()]) + HiveSemiJoin(condition=[=($0, $1)], joinType=[semi]) + HiveProject(id=[$0]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + HiveProject($f0=[$0]) + HiveFilter(condition=[=($1, 3)]) + HiveAggregate(group=[{0}], agg#0=[count($1)]) + HiveProject(id=[$0], $f1=[$1]) + HiveUnion(all=[true]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_alice]], table:alias=[country_alice]) + HiveProject(id=[$0], $f1=[$1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{0}], agg#0=[count()]) + JdbcFilter(condition=[IS NOT NULL($0)]) + JdbcProject(id=[$0]) + JdbcHiveTableScan(table=[[default, country_bob]], table:alias=[country_bob]) + diff --git a/ql/src/test/results/clientpositive/llap/jdbc_split_filter.q.out b/ql/src/test/results/clientpositive/llap/jdbc_split_filter.q.out index cf55088eaa98..47b0f6f8e1d0 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_split_filter.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_split_filter.q.out @@ -142,16 +142,15 @@ POSTHOOK: Input: default@ext_simple_derby_table2 #### A masked pattern was here #### CBO PLAN: HiveProject(t1.fkey=[$0], t2.dkey=[$1], _c2=[$2]) - HiveProject(fkey=[$0], dkey=[$1], _o__c2=[$2]) - HiveJdbcConverter(convention=[JDBC.DERBY]) - JdbcProject(fkey=[$0], dkey=[$2], _o__c2=[$3]) - JdbcAggregate(group=[{0, 4, 5}], agg#0=[sum($1)]) - JdbcFilter(condition=[IS NULL($2)]) - JdbcJoin(condition=[AND(=($1, $3), =($0, $2))], joinType=[left]) - HiveProject(fkey=[$2], ikey=[$0]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table1]], table:alias=[ext_simple_derby_table1]) - JdbcProject(fkey=[$1], ikey=[$0], datekey=[$3], dkey=[$2]) - JdbcFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) - JdbcProject(ikey=[$0], fkey=[$2], dkey=[$3], datekey=[$4]) - JdbcHiveTableScan(table=[[default, ext_simple_derby_table2]], table:alias=[ext_simple_derby_table2]) + HiveJdbcConverter(convention=[JDBC.DERBY]) + JdbcProject(fkey=[$0], dkey=[$2], _o__c2=[$3]) + JdbcAggregate(group=[{0, 4, 5}], agg#0=[sum($1)]) + JdbcFilter(condition=[IS NULL($2)]) + JdbcJoin(condition=[AND(=($1, $3), =($0, $2))], joinType=[left]) + HiveProject(fkey=[$2], ikey=[$0]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table1]], table:alias=[ext_simple_derby_table1]) + JdbcProject(fkey=[$1], ikey=[$0], datekey=[$3], dkey=[$2]) + JdbcFilter(condition=[AND(IS NOT NULL($0), IS NOT NULL($1))]) + JdbcProject(ikey=[$0], fkey=[$2], dkey=[$3], datekey=[$4]) + JdbcHiveTableScan(table=[[default, ext_simple_derby_table2]], table:alias=[ext_simple_derby_table2]) diff --git a/ql/src/test/results/clientpositive/llap/jdbc_table_limit_postgres.q.out b/ql/src/test/results/clientpositive/llap/jdbc_table_limit_postgres.q.out index 42b45ebb29e9..801dfd4c4737 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_table_limit_postgres.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_table_limit_postgres.q.out @@ -32,10 +32,9 @@ POSTHOOK: Input: default@country #### A masked pattern was here #### CBO PLAN: HiveProject(country.id=[$0], country.name=[$1]) - HiveProject(id=[$0], name=[$1]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcSort(sort0=[$0], dir0=[ASC], fetch=[2]) - JdbcHiveTableScan(table=[[default, country]], table:alias=[country]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcSort(sort0=[$0], dir0=[ASC], fetch=[2]) + JdbcHiveTableScan(table=[[default, country]], table:alias=[country]) PREHOOK: query: EXPLAIN SELECT * FROM country ORDER BY id LIMIT 2 PREHOOK: type: QUERY diff --git a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mariadb.q.out b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mariadb.q.out index 771a811073d5..1da24155c64e 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mariadb.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mariadb.q.out @@ -32,10 +32,9 @@ POSTHOOK: Input: default@country_0 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.MYSQL]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) + HiveJdbcConverter(convention=[JDBC.MYSQL]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) PREHOOK: query: SELECT COUNT(*) FROM country_0 PREHOOK: type: QUERY @@ -82,10 +81,9 @@ POSTHOOK: Input: default@country_1 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.MYSQL]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) + HiveJdbcConverter(convention=[JDBC.MYSQL]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) PREHOOK: query: SELECT COUNT(*) FROM country_1 PREHOOK: type: QUERY @@ -130,10 +128,9 @@ POSTHOOK: Input: default@country_2 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.MYSQL]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) + HiveJdbcConverter(convention=[JDBC.MYSQL]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) PREHOOK: query: SELECT COUNT(*) FROM country_2 PREHOOK: type: QUERY @@ -180,10 +177,9 @@ POSTHOOK: Input: default@country_3 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.MYSQL]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_3]], table:alias=[country_3]) + HiveJdbcConverter(convention=[JDBC.MYSQL]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_3]], table:alias=[country_3]) PREHOOK: query: SELECT COUNT(*) FROM country_3 PREHOOK: type: QUERY diff --git a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mssql.q.out b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mssql.q.out index 50a1b2b52328..620879d4eaa8 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mssql.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_mssql.q.out @@ -34,10 +34,9 @@ POSTHOOK: Input: default@country_0 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.MSSQL]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) + HiveJdbcConverter(convention=[JDBC.MSSQL]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) PREHOOK: query: SELECT COUNT(*) FROM country_0 PREHOOK: type: QUERY @@ -84,10 +83,9 @@ POSTHOOK: Input: default@country_1 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.MSSQL]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) + HiveJdbcConverter(convention=[JDBC.MSSQL]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) PREHOOK: query: SELECT COUNT(*) FROM country_1 PREHOOK: type: QUERY @@ -153,10 +151,9 @@ POSTHOOK: Input: default@country_2 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.MSSQL]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) + HiveJdbcConverter(convention=[JDBC.MSSQL]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) PREHOOK: query: SELECT COUNT(*) FROM country_2 PREHOOK: type: QUERY diff --git a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_oracle.q.out b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_oracle.q.out index 468fe7c717e6..51848ee02ca8 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_oracle.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_oracle.q.out @@ -36,10 +36,9 @@ POSTHOOK: Input: default@country_0 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.ORACLE]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) + HiveJdbcConverter(convention=[JDBC.ORACLE]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) PREHOOK: query: SELECT COUNT(*) FROM country_0 PREHOOK: type: QUERY @@ -86,10 +85,9 @@ POSTHOOK: Input: default@country_1 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.ORACLE]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) + HiveJdbcConverter(convention=[JDBC.ORACLE]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) PREHOOK: query: SELECT COUNT(*) FROM country_1 PREHOOK: type: QUERY @@ -138,10 +136,9 @@ POSTHOOK: Input: default@country_2 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.ORACLE]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) + HiveJdbcConverter(convention=[JDBC.ORACLE]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) PREHOOK: query: SELECT COUNT(*) FROM country_2 PREHOOK: type: QUERY diff --git a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_postgres.q.out b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_postgres.q.out index 3b146786219c..26a3fb02e12f 100644 --- a/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_postgres.q.out +++ b/ql/src/test/results/clientpositive/llap/jdbc_table_with_schema_postgres.q.out @@ -34,10 +34,9 @@ POSTHOOK: Input: default@country_0 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_0]], table:alias=[country_0]) PREHOOK: query: SELECT COUNT(*) FROM country_0 PREHOOK: type: QUERY @@ -84,10 +83,9 @@ POSTHOOK: Input: default@country_1 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_1]], table:alias=[country_1]) PREHOOK: query: SELECT COUNT(*) FROM country_1 PREHOOK: type: QUERY @@ -153,10 +151,9 @@ POSTHOOK: Input: default@country_2 #### A masked pattern was here #### CBO PLAN: HiveProject(_c0=[$0]) - HiveProject($f0=[$0]) - HiveJdbcConverter(convention=[JDBC.POSTGRES]) - JdbcAggregate(group=[{}], agg#0=[count()]) - JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) + HiveJdbcConverter(convention=[JDBC.POSTGRES]) + JdbcAggregate(group=[{}], agg#0=[count()]) + JdbcHiveTableScan(table=[[default, country_2]], table:alias=[country_2]) PREHOOK: query: SELECT COUNT(*) FROM country_2 PREHOOK: type: QUERY