You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Krystal (JIRA)" <ji...@apache.org> on 2016/07/29 22:04:21 UTC
[jira] [Created] (DRILL-4814) extractHeader attribute not working
with the table function
Krystal created DRILL-4814:
------------------------------
Summary: extractHeader attribute not working with the table function
Key: DRILL-4814
URL: https://issues.apache.org/jira/browse/DRILL-4814
Project: Apache Drill
Issue Type: Bug
Components: Functions - Drill
Affects Versions: 1.8.0
Reporter: Krystal
I have the following table with line delimiter as \r\n:
Id,col1,col2
1,aaa,bbb
2,ccc,ddd
3,eee
4,fff,ggg
The following queries work fine:
select * from table(`drill-3149/header.csv`(type=>'text',lineDelimiter=>'\r\n',fieldDelimiter=>','));
+-----------------------+
| columns |
+-----------------------+
| ["Id","col1","col2"] |
| ["1","aaa","bbb"] |
| ["2","ccc","ddd"] |
| ["3","eee"] |
| ["4","fff","ggg"] |
+-----------------------+
select * from table(`drill-3149/header.csv`(type=>'text',lineDelimiter=>'\r\n',fieldDelimiter=>',',skipFirstLine=>true));
+--------------------+
| columns |
+--------------------+
| ["1","aaa","bbb"] |
| ["2","ccc","ddd"] |
| ["3","eee"] |
| ["4","fff","ggg"] |
+--------------------+
The following query fail with extractHeader attribute:
select * from table(`drill-3149/header.csv`(type=>'text',lineDelimiter=>'\r\n',fieldDelimiter=>',',extractHeader=>true));
{code}
java.lang.IndexOutOfBoundsException: index: 254, length: 3 (expected: range(0, 256))
at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1134)
at io.netty.buffer.PooledUnsafeDirectByteBuf.getBytes(PooledUnsafeDirectByteBuf.java:136)
at io.netty.buffer.WrappedByteBuf.getBytes(WrappedByteBuf.java:289)
at io.netty.buffer.UnsafeDirectLittleEndian.getBytes(UnsafeDirectLittleEndian.java:30)
at io.netty.buffer.DrillBuf.getBytes(DrillBuf.java:629)
at org.apache.drill.exec.vector.VarCharVector$Accessor.get(VarCharVector.java:441)
at org.apache.drill.exec.vector.accessor.VarCharAccessor.getBytes(VarCharAccessor.java:125)
at org.apache.drill.exec.vector.accessor.VarCharAccessor.getString(VarCharAccessor.java:146)
at org.apache.drill.exec.vector.accessor.VarCharAccessor.getObject(VarCharAccessor.java:136)
at org.apache.drill.exec.vector.accessor.VarCharAccessor.getObject(VarCharAccessor.java:94)
at org.apache.drill.exec.vector.accessor.BoundCheckingAccessor.getObject(BoundCheckingAccessor.java:148)
at org.apache.drill.jdbc.impl.TypeConvertingSqlAccessor.getObject(TypeConvertingSqlAccessor.java:795)
at org.apache.drill.jdbc.impl.AvaticaDrillSqlAccessor.getObject(AvaticaDrillSqlAccessor.java:179)
at net.hydromatic.avatica.AvaticaResultSet.getObject(AvaticaResultSet.java:351)
at org.apache.drill.jdbc.impl.DrillResultSetImpl.getObject(DrillResultSetImpl.java:420)
at sqlline.Rows$Row.<init>(Rows.java:157)
at sqlline.IncrementalRows.hasNext(IncrementalRows.java:63)
at sqlline.TableOutputFormat$ResizingRowsProvider.next(TableOutputFormat.java:87)
at sqlline.TableOutputFormat.print(TableOutputFormat.java:118)
at sqlline.SqlLine.print(SqlLine.java:1593)
at sqlline.Commands.execute(Commands.java:852)
at sqlline.Commands.sql(Commands.java:751)
at sqlline.SqlLine.dispatch(SqlLine.java:746)
at sqlline.SqlLine.begin(SqlLine.java:621)
at sqlline.SqlLine.start(SqlLine.java:375)
at sqlline.SqlLine.main(SqlLine.java:268)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)