You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Volodymyr Vysotskyi (JIRA)" <ji...@apache.org> on 2018/01/19 12:34:00 UTC

[jira] [Commented] (DRILL-4402) pushing unsupported full outer join to Postgres

    [ https://issues.apache.org/jira/browse/DRILL-4402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16332196#comment-16332196 ] 

Volodymyr Vysotskyi commented on DRILL-4402:
--------------------------------------------

This bug is reproduced on current master [9e944c9|https://github.com/apache/drill/commit/9e944c97ee6f6c0d1705f09d531af35deed2e310] (it uses Calcite 1.15).

> pushing unsupported full outer join to Postgres
> -----------------------------------------------
>
>                 Key: DRILL-4402
>                 URL: https://issues.apache.org/jira/browse/DRILL-4402
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Storage - JDBC
>    Affects Versions: 1.5.0
>            Reporter: N Campbell
>            Priority: Major
>
> Error: DATA_READ ERROR: The JDBC storage plugin failed while trying setup the SQL query. 
> sql SELECT *
> FROM "public"."tjoin1"
> FULL JOIN "public"."tjoin2" ON "tjoin1"."c1" < "tjoin2"."c1"
> plugin postgres
> Fragment 0:0
> [Error Id: bc54cf76-f4ff-474c-b3df-fa357bdf0ff8 on centos1:31010]
>   (org.postgresql.util.PSQLException) ERROR: FULL JOIN is only supported with merge-joinable or hash-joinable join conditions
>     org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse():2182
>     org.postgresql.core.v3.QueryExecutorImpl.processResults():1911
>     org.postgresql.core.v3.QueryExecutorImpl.execute():173
>     org.postgresql.jdbc.PgStatement.execute():622
>     org.postgresql.jdbc.PgStatement.executeWithFlags():458
>     org.postgresql.jdbc.PgStatement.executeQuery():374
>     org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
>     org.apache.commons.dbcp.DelegatingStatement.executeQuery():208
>     org.apache.drill.exec.store.jdbc.JdbcRecordReader.setup():177
>     org.apache.drill.exec.physical.impl.ScanBatch.<init>():108
>     org.apache.drill.exec.physical.impl.ScanBatch.<init>():136
>     org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():40
>     org.apache.drill.exec.store.jdbc.JdbcBatchCreator.getBatch():33
>     org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():147
>     org.apache.drill.exec.physical.impl.ImplCreator.getChildren():170
>     org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():127
>     org.apache.drill.exec.physical.impl.ImplCreator.getChildren():170
>     org.apache.drill.exec.physical.impl.ImplCreator.getRecordBatch():127
>     org.apache.drill.exec.physical.impl.ImplCreator.getChildren():170
>     org.apache.drill.exec.physical.impl.ImplCreator.getRootExec():101
>     org.apache.drill.exec.physical.impl.ImplCreator.getExec():79
>     org.apache.drill.exec.work.fragment.FragmentExecutor.run():230
>     org.apache.drill.common.SelfCleaningRunnable.run():38
>     java.util.concurrent.ThreadPoolExecutor.runWorker():1142
>     java.util.concurrent.ThreadPoolExecutor$Worker.run():617
>     java.lang.Thread.run():745
> SQLState:  null
> ErrorCode: 0
> create table TJOIN1 (RNUM integer   not null , C1 integer, C2 integer);
> insert into TJOIN1 (RNUM, C1, C2) values ( 0, 10, 15);
> insert into TJOIN1 (RNUM, C1, C2) values ( 1, 20, 25);
> insert into TJOIN1 (RNUM, C1, C2) values ( 2, NULL, 50);
> create table TJOIN2 (RNUM integer   not null , C1 integer, C2 char(2));
> insert into TJOIN2 (RNUM, C1, C2) values ( 0, 10, 'BB');
> insert into TJOIN2 (RNUM, C1, C2) values ( 1, 15, 'DD');
> insert into TJOIN2 (RNUM, C1, C2) values ( 2, NULL, 'EE');
> insert into TJOIN2 (RNUM, C1, C2) values ( 3, 10, 'FF');



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)