drill-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From daveoshinsky <...@git.apache.org>
Subject [GitHub] drill pull request: DRILL-4184: support variable length decimal fi...
Date Tue, 08 Mar 2016 19:52:39 GMT
Github user daveoshinsky commented on a diff in the pull request:

    --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/columnreaders/NullableVarLengthValuesColumn.java
    @@ -69,11 +73,16 @@ protected boolean readAndStoreValueSizeInformation() throws IOException
         if ( currDefLevel == -1 ) {
           currDefLevel = pageReader.definitionLevels.readInteger();
    -    if ( columnDescriptor.getMaxDefinitionLevel() > currDefLevel) {
    +    if (columnDescriptor.getMaxDefinitionLevel() > currDefLevel) {
    -      // set length of zero, each index in the vector defaults to null so no need to
set the nullability
    -      variableWidthVector.getMutator().setValueLengthSafe(
    -          valuesReadInCurrentPass + pageReader.valuesReadyToRead, 0);
    +      // set length of zero, each index in the vector defaults to null so no
    +      // need to set the nullability
    +      if (variableWidthVector == null) {
    --- End diff --
    Regarding the two variables variableWidthVector and fixedWidthVector that I added, here
is my reasoning.  Either variableWidthVector is set if we have a VariableWidthVector, or fixedWidthVector
is set if we have a FixedWidthVector (i.e., decimal).  Hence, variableWidthVector is non-null
if and only if we are to invoke the pre-existing logic, that assumed a variable width vector.
 When variableWidthVector is null (fixedWidthVector is non-null, but not currently used),
we invoke the new logic to save the length information in decimalLengths.  If this is no good,
please tell me why, and suggest an alternative.

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message