[ https://issues.apache.org/jira/browse/DRILL-425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Steven Phillips updated DRILL-425: ---------------------------------- Attachment: DRILL-425.patch > mock-sub-scan is not setting 'lastSet' in NullableVarCharVector or > NullableVar16CharVector > ------------------------------------------------------------------------------------------ > > Key: DRILL-425 > URL: https://issues.apache.org/jira/browse/DRILL-425 > Project: Apache Drill > Issue Type: Bug > Reporter: Venki Korukanti > Assignee: Steven Phillips > Attachments: DRILL-425.patch > > > Following plan outputs empty values for nullableStr1 column after 1st row. > {code} > { > head:{ > type:"APACHE_DRILL_PHYSICAL", > version:"1", > generator:{ > type:"manual" > } > }, > graph:[ > { > @id:1, > pop:"mock-sub-scan", > url: "http://apache.org", > entries:[ > {records: 100, types: [ > {name: "nullableStr1", type: "VARCHAR", mode: "OPTIONAL"} > ]} > ] > }, > { > @id:2, > child: 1, > pop:"project", > exprs: [ > { ref: "nullableStr1", expr: "nullableStr1" } > ] > }, > { > @id: 3, > child: 2, > pop: "screen" > } > ] > } > {code} > After transferring the ValueVector from 'scan' to 'project', > ProjectRecordBatch calls NullableVarCharVector.setValueCount. As part of this > method, all records from "lastSet +1" to "count" are set to empty byte array, > because 'lastSet' is not set as part of the mock-sub-scan (default to 0), all > but the first record have empty string data. > {code} > public void setValueCount(int valueCount) { > ..... > for (int i = lastSet + 1; i < valueCount; i++) { > values.getMutator().set(i, new byte[]{}); > } > .... > } > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)