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/03/20 21:16:38 UTC

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

Victoria Markman created DRILL-2511:
---------------------------------------

             Summary: 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: Daniel Barclay (Drill)


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)