You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Victoria Markman (JIRA)" <ji...@apache.org> on 2015/04/03 17:48:53 UTC

[jira] [Reopened] (DRILL-2511) Assert with full outer join when one of the join predicates is of a required type (nullabe parquet)

     [ https://issues.apache.org/jira/browse/DRILL-2511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Victoria Markman reopened DRILL-2511:
-------------------------------------
      Assignee: Mehant Baid  (was: Victoria Markman)

> Assert with full outer join when one of the join predicates is of a required type (nullabe parquet)
> ---------------------------------------------------------------------------------------------------
>
>                 Key: DRILL-2511
>                 URL: https://issues.apache.org/jira/browse/DRILL-2511
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Data Types
>    Affects Versions: 0.8.0
>            Reporter: Victoria Markman
>            Assignee: Mehant Baid
>             Fix For: 0.9.0
>
>         Attachments: j3.parquet.required, j4.parquet.required
>
>
> Columns in tables j3 and j4 are created as 'required' data type:
> {code}
> [Fri Mar 20 11:30:42 root@~/parquet-tools-1.5.1-SNAPSHOT ] # ./parquet-schema ~/0_0_0.parquet
> message root {
>   required binary c_varchar (UTF8);
>   required int32 c_integer;
>   required int64 c_bigint;
>   required float c_float;
>   required double c_double;
>   required int32 c_date (DATE);
>   required int32 c_time (TIME);
>   required int64 c_timestamp (TIMESTAMP);
>   required boolean c_boolean;
>   required double d9;
>   required double d18;
>   required double d28;
>   required double d38;
> }
> {code}
> Full outer join on j3/j4 asserts.
> This is happening with the join predicate of every SQL type except boolean.
> {code}
> select * from j3 full outer join j4 on (j3.c_varchar = j4.c_varchar);
> java.lang.AssertionError at org.apache.drill.exec.vector.VarCharVector$Accessor.get(VarCharVector.java:382)
>         at org.apache.drill.exec.vector.VarCharVector$Accessor.getObject(VarCharVector.java:408)
>         at org.apache.drill.exec.vector.accessor.VarCharAccessor.getObject(VarCharAccessor.java:98)
>         at org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getObject(BoundCheckingAccessor.java:137)
>         at org.apache.drill.jdbc.AvaticaDrillSqlAccessor.getObject(AvaticaDrillSqlAccessor.java:146)
>         at net.hydromatic.avatica.AvaticaResultSet.getObject(AvaticaResultSet.java:351)
>         at sqlline.SqlLine$Rows$Row.<init>(SqlLine.java:2388)
>         at sqlline.SqlLine$IncrementalRows.hasNext(SqlLine.java:2504)
>         at sqlline.SqlLine$TableOutputFormat.print(SqlLine.java:2148)
>         at sqlline.SqlLine.print(SqlLine.java:1809)
>         at sqlline.SqlLine$Commands.execute(SqlLine.java:3766)
>         at sqlline.SqlLine$Commands.sql(SqlLine.java:3663)
>         at sqlline.SqlLine.dispatch(SqlLine.java:889)
>         at sqlline.SqlLine.begin(SqlLine.java:763)
>         at sqlline.SqlLine.start(SqlLine.java:498)
>         at sqlline.SqlLine.main(SqlLine.java:460)
> {code}
> Same problem happens if you one table column types are optional and the other one is required.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)