diff --git ql/src/gen/protobuf/gen-java/org/apache/hadoop/hive/ql/io/orc/OrcProto.java ql/src/gen/protobuf/gen-java/org/apache/hadoop/hive/ql/io/orc/OrcProto.java index 662e058..5523e97 100644 --- ql/src/gen/protobuf/gen-java/org/apache/hadoop/hive/ql/io/orc/OrcProto.java +++ ql/src/gen/protobuf/gen-java/org/apache/hadoop/hive/ql/io/orc/OrcProto.java @@ -4796,6 +4796,16 @@ public Builder clearSum() { * optional .org.apache.hadoop.hive.ql.io.orc.TimestampStatistics timestampStatistics = 9; */ org.apache.hadoop.hive.ql.io.orc.OrcProto.TimestampStatisticsOrBuilder getTimestampStatisticsOrBuilder(); + + // optional bool hasNull = 10; + /** + * optional bool hasNull = 10; + */ + boolean hasHasNull(); + /** + * optional bool hasNull = 10; + */ + boolean getHasNull(); } /** * Protobuf type {@code org.apache.hadoop.hive.ql.io.orc.ColumnStatistics} @@ -4957,6 +4967,11 @@ private ColumnStatistics( bitField0_ |= 0x00000100; break; } + case 80: { + bitField0_ |= 0x00000200; + hasNull_ = input.readBool(); + break; + } } } } catch (com.google.protobuf.InvalidProtocolBufferException e) { @@ -5189,6 +5204,22 @@ public boolean hasTimestampStatistics() { return timestampStatistics_; } + // optional bool hasNull = 10; + public static final int HASNULL_FIELD_NUMBER = 10; + private boolean hasNull_; + /** + * optional bool hasNull = 10; + */ + public boolean hasHasNull() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * optional bool hasNull = 10; + */ + public boolean getHasNull() { + return hasNull_; + } + private void initFields() { numberOfValues_ = 0L; intStatistics_ = org.apache.hadoop.hive.ql.io.orc.OrcProto.IntegerStatistics.getDefaultInstance(); @@ -5199,6 +5230,7 @@ private void initFields() { dateStatistics_ = org.apache.hadoop.hive.ql.io.orc.OrcProto.DateStatistics.getDefaultInstance(); binaryStatistics_ = org.apache.hadoop.hive.ql.io.orc.OrcProto.BinaryStatistics.getDefaultInstance(); timestampStatistics_ = org.apache.hadoop.hive.ql.io.orc.OrcProto.TimestampStatistics.getDefaultInstance(); + hasNull_ = false; } private byte memoizedIsInitialized = -1; public final boolean isInitialized() { @@ -5239,6 +5271,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) if (((bitField0_ & 0x00000100) == 0x00000100)) { output.writeMessage(9, timestampStatistics_); } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + output.writeBool(10, hasNull_); + } getUnknownFields().writeTo(output); } @@ -5284,6 +5319,10 @@ public int getSerializedSize() { size += com.google.protobuf.CodedOutputStream .computeMessageSize(9, timestampStatistics_); } + if (((bitField0_ & 0x00000200) == 0x00000200)) { + size += com.google.protobuf.CodedOutputStream + .computeBoolSize(10, hasNull_); + } size += getUnknownFields().getSerializedSize(); memoizedSerializedSize = size; return size; @@ -5458,6 +5497,8 @@ public Builder clear() { timestampStatisticsBuilder_.clear(); } bitField0_ = (bitField0_ & ~0x00000100); + hasNull_ = false; + bitField0_ = (bitField0_ & ~0x00000200); return this; } @@ -5554,6 +5595,10 @@ public Builder clone() { } else { result.timestampStatistics_ = timestampStatisticsBuilder_.build(); } + if (((from_bitField0_ & 0x00000200) == 0x00000200)) { + to_bitField0_ |= 0x00000200; + } + result.hasNull_ = hasNull_; result.bitField0_ = to_bitField0_; onBuilt(); return result; @@ -5597,6 +5642,9 @@ public Builder mergeFrom(org.apache.hadoop.hive.ql.io.orc.OrcProto.ColumnStatist if (other.hasTimestampStatistics()) { mergeTimestampStatistics(other.getTimestampStatistics()); } + if (other.hasHasNull()) { + setHasNull(other.getHasNull()); + } this.mergeUnknownFields(other.getUnknownFields()); return this; } @@ -6593,6 +6641,39 @@ public Builder clearTimestampStatistics() { return timestampStatisticsBuilder_; } + // optional bool hasNull = 10; + private boolean hasNull_ ; + /** + * optional bool hasNull = 10; + */ + public boolean hasHasNull() { + return ((bitField0_ & 0x00000200) == 0x00000200); + } + /** + * optional bool hasNull = 10; + */ + public boolean getHasNull() { + return hasNull_; + } + /** + * optional bool hasNull = 10; + */ + public Builder setHasNull(boolean value) { + bitField0_ |= 0x00000200; + hasNull_ = value; + onChanged(); + return this; + } + /** + * optional bool hasNull = 10; + */ + public Builder clearHasNull() { + bitField0_ = (bitField0_ & ~0x00000200); + hasNull_ = false; + onChanged(); + return this; + } + // @@protoc_insertion_point(builder_scope:org.apache.hadoop.hive.ql.io.orc.ColumnStatistics) } @@ -17657,7 +17738,7 @@ public Builder setMagicBytes( "\"2\n\016DateStatistics\022\017\n\007minimum\030\001 \001(\021\022\017\n\007m", "aximum\030\002 \001(\021\"7\n\023TimestampStatistics\022\017\n\007m" + "inimum\030\001 \001(\022\022\017\n\007maximum\030\002 \001(\022\"\037\n\020BinaryS" + - "tatistics\022\013\n\003sum\030\001 \001(\022\"\234\005\n\020ColumnStatist" + + "tatistics\022\013\n\003sum\030\001 \001(\022\"\255\005\n\020ColumnStatist" + "ics\022\026\n\016numberOfValues\030\001 \001(\004\022J\n\rintStatis" + "tics\030\002 \001(\01323.org.apache.hadoop.hive.ql.i" + "o.orc.IntegerStatistics\022L\n\020doubleStatist" + @@ -17674,60 +17755,60 @@ public Builder setMagicBytes( "org.apache.hadoop.hive.ql.io.orc.BinaryS" + "tatistics\022R\n\023timestampStatistics\030\t \001(\01325" + ".org.apache.hadoop.hive.ql.io.orc.Timest" + - "ampStatistics\"n\n\rRowIndexEntry\022\025\n\tpositi", - "ons\030\001 \003(\004B\002\020\001\022F\n\nstatistics\030\002 \001(\01322.org." + - "apache.hadoop.hive.ql.io.orc.ColumnStati" + - "stics\"J\n\010RowIndex\022>\n\005entry\030\001 \003(\0132/.org.a" + - "pache.hadoop.hive.ql.io.orc.RowIndexEntr" + - "y\"\331\001\n\006Stream\022;\n\004kind\030\001 \002(\0162-.org.apache." + - "hadoop.hive.ql.io.orc.Stream.Kind\022\016\n\006col" + - "umn\030\002 \001(\r\022\016\n\006length\030\003 \001(\004\"r\n\004Kind\022\013\n\007PRE" + - "SENT\020\000\022\010\n\004DATA\020\001\022\n\n\006LENGTH\020\002\022\023\n\017DICTIONA" + - "RY_DATA\020\003\022\024\n\020DICTIONARY_COUNT\020\004\022\r\n\tSECON" + - "DARY\020\005\022\r\n\tROW_INDEX\020\006\"\263\001\n\016ColumnEncoding", - "\022C\n\004kind\030\001 \002(\01625.org.apache.hadoop.hive." + - "ql.io.orc.ColumnEncoding.Kind\022\026\n\016diction" + - "arySize\030\002 \001(\r\"D\n\004Kind\022\n\n\006DIRECT\020\000\022\016\n\nDIC" + - "TIONARY\020\001\022\r\n\tDIRECT_V2\020\002\022\021\n\rDICTIONARY_V" + - "2\020\003\"\214\001\n\014StripeFooter\0229\n\007streams\030\001 \003(\0132(." + - "org.apache.hadoop.hive.ql.io.orc.Stream\022" + - "A\n\007columns\030\002 \003(\01320.org.apache.hadoop.hiv" + - "e.ql.io.orc.ColumnEncoding\"\370\002\n\004Type\0229\n\004k" + - "ind\030\001 \002(\0162+.org.apache.hadoop.hive.ql.io" + - ".orc.Type.Kind\022\024\n\010subtypes\030\002 \003(\rB\002\020\001\022\022\n\n", - "fieldNames\030\003 \003(\t\022\025\n\rmaximumLength\030\004 \001(\r\022" + - "\021\n\tprecision\030\005 \001(\r\022\r\n\005scale\030\006 \001(\r\"\321\001\n\004Ki" + - "nd\022\013\n\007BOOLEAN\020\000\022\010\n\004BYTE\020\001\022\t\n\005SHORT\020\002\022\007\n\003" + - "INT\020\003\022\010\n\004LONG\020\004\022\t\n\005FLOAT\020\005\022\n\n\006DOUBLE\020\006\022\n" + - "\n\006STRING\020\007\022\n\n\006BINARY\020\010\022\r\n\tTIMESTAMP\020\t\022\010\n" + - "\004LIST\020\n\022\007\n\003MAP\020\013\022\n\n\006STRUCT\020\014\022\t\n\005UNION\020\r\022" + - "\013\n\007DECIMAL\020\016\022\010\n\004DATE\020\017\022\013\n\007VARCHAR\020\020\022\010\n\004C" + - "HAR\020\021\"x\n\021StripeInformation\022\016\n\006offset\030\001 \001" + - "(\004\022\023\n\013indexLength\030\002 \001(\004\022\022\n\ndataLength\030\003 " + - "\001(\004\022\024\n\014footerLength\030\004 \001(\004\022\024\n\014numberOfRow", - "s\030\005 \001(\004\"/\n\020UserMetadataItem\022\014\n\004name\030\001 \002(" + - "\t\022\r\n\005value\030\002 \002(\014\"X\n\020StripeStatistics\022D\n\010" + - "colStats\030\001 \003(\01322.org.apache.hadoop.hive." + - "ql.io.orc.ColumnStatistics\"S\n\010Metadata\022G" + - "\n\013stripeStats\030\001 \003(\01322.org.apache.hadoop." + - "hive.ql.io.orc.StripeStatistics\"\356\002\n\006Foot" + - "er\022\024\n\014headerLength\030\001 \001(\004\022\025\n\rcontentLengt" + - "h\030\002 \001(\004\022D\n\007stripes\030\003 \003(\01323.org.apache.ha" + - "doop.hive.ql.io.orc.StripeInformation\0225\n" + - "\005types\030\004 \003(\0132&.org.apache.hadoop.hive.ql", - ".io.orc.Type\022D\n\010metadata\030\005 \003(\01322.org.apa" + - "che.hadoop.hive.ql.io.orc.UserMetadataIt" + - "em\022\024\n\014numberOfRows\030\006 \001(\004\022F\n\nstatistics\030\007" + - " \003(\01322.org.apache.hadoop.hive.ql.io.orc." + - "ColumnStatistics\022\026\n\016rowIndexStride\030\010 \001(\r" + - "\"\334\001\n\nPostScript\022\024\n\014footerLength\030\001 \001(\004\022F\n" + - "\013compression\030\002 \001(\01621.org.apache.hadoop.h" + - "ive.ql.io.orc.CompressionKind\022\034\n\024compres" + - "sionBlockSize\030\003 \001(\004\022\023\n\007version\030\004 \003(\rB\002\020\001" + - "\022\026\n\016metadataLength\030\005 \001(\004\022\025\n\rwriterVersio", - "n\030\006 \001(\r\022\016\n\005magic\030\300> \001(\t*:\n\017CompressionKi" + - "nd\022\010\n\004NONE\020\000\022\010\n\004ZLIB\020\001\022\n\n\006SNAPPY\020\002\022\007\n\003LZ" + - "O\020\003" + "ampStatistics\022\017\n\007hasNull\030\n \001(\010\"n\n\rRowInd", + "exEntry\022\025\n\tpositions\030\001 \003(\004B\002\020\001\022F\n\nstatis" + + "tics\030\002 \001(\01322.org.apache.hadoop.hive.ql.i" + + "o.orc.ColumnStatistics\"J\n\010RowIndex\022>\n\005en" + + "try\030\001 \003(\0132/.org.apache.hadoop.hive.ql.io" + + ".orc.RowIndexEntry\"\331\001\n\006Stream\022;\n\004kind\030\001 " + + "\002(\0162-.org.apache.hadoop.hive.ql.io.orc.S" + + "tream.Kind\022\016\n\006column\030\002 \001(\r\022\016\n\006length\030\003 \001" + + "(\004\"r\n\004Kind\022\013\n\007PRESENT\020\000\022\010\n\004DATA\020\001\022\n\n\006LEN" + + "GTH\020\002\022\023\n\017DICTIONARY_DATA\020\003\022\024\n\020DICTIONARY" + + "_COUNT\020\004\022\r\n\tSECONDARY\020\005\022\r\n\tROW_INDEX\020\006\"\263", + "\001\n\016ColumnEncoding\022C\n\004kind\030\001 \002(\01625.org.ap" + + "ache.hadoop.hive.ql.io.orc.ColumnEncodin" + + "g.Kind\022\026\n\016dictionarySize\030\002 \001(\r\"D\n\004Kind\022\n" + + "\n\006DIRECT\020\000\022\016\n\nDICTIONARY\020\001\022\r\n\tDIRECT_V2\020" + + "\002\022\021\n\rDICTIONARY_V2\020\003\"\214\001\n\014StripeFooter\0229\n" + + "\007streams\030\001 \003(\0132(.org.apache.hadoop.hive." + + "ql.io.orc.Stream\022A\n\007columns\030\002 \003(\01320.org." + + "apache.hadoop.hive.ql.io.orc.ColumnEncod" + + "ing\"\370\002\n\004Type\0229\n\004kind\030\001 \002(\0162+.org.apache." + + "hadoop.hive.ql.io.orc.Type.Kind\022\024\n\010subty", + "pes\030\002 \003(\rB\002\020\001\022\022\n\nfieldNames\030\003 \003(\t\022\025\n\rmax" + + "imumLength\030\004 \001(\r\022\021\n\tprecision\030\005 \001(\r\022\r\n\005s" + + "cale\030\006 \001(\r\"\321\001\n\004Kind\022\013\n\007BOOLEAN\020\000\022\010\n\004BYTE" + + "\020\001\022\t\n\005SHORT\020\002\022\007\n\003INT\020\003\022\010\n\004LONG\020\004\022\t\n\005FLOA" + + "T\020\005\022\n\n\006DOUBLE\020\006\022\n\n\006STRING\020\007\022\n\n\006BINARY\020\010\022" + + "\r\n\tTIMESTAMP\020\t\022\010\n\004LIST\020\n\022\007\n\003MAP\020\013\022\n\n\006STR" + + "UCT\020\014\022\t\n\005UNION\020\r\022\013\n\007DECIMAL\020\016\022\010\n\004DATE\020\017\022" + + "\013\n\007VARCHAR\020\020\022\010\n\004CHAR\020\021\"x\n\021StripeInformat" + + "ion\022\016\n\006offset\030\001 \001(\004\022\023\n\013indexLength\030\002 \001(\004" + + "\022\022\n\ndataLength\030\003 \001(\004\022\024\n\014footerLength\030\004 \001", + "(\004\022\024\n\014numberOfRows\030\005 \001(\004\"/\n\020UserMetadata" + + "Item\022\014\n\004name\030\001 \002(\t\022\r\n\005value\030\002 \002(\014\"X\n\020Str" + + "ipeStatistics\022D\n\010colStats\030\001 \003(\01322.org.ap" + + "ache.hadoop.hive.ql.io.orc.ColumnStatist" + + "ics\"S\n\010Metadata\022G\n\013stripeStats\030\001 \003(\01322.o" + + "rg.apache.hadoop.hive.ql.io.orc.StripeSt" + + "atistics\"\356\002\n\006Footer\022\024\n\014headerLength\030\001 \001(" + + "\004\022\025\n\rcontentLength\030\002 \001(\004\022D\n\007stripes\030\003 \003(" + + "\01323.org.apache.hadoop.hive.ql.io.orc.Str" + + "ipeInformation\0225\n\005types\030\004 \003(\0132&.org.apac", + "he.hadoop.hive.ql.io.orc.Type\022D\n\010metadat" + + "a\030\005 \003(\01322.org.apache.hadoop.hive.ql.io.o" + + "rc.UserMetadataItem\022\024\n\014numberOfRows\030\006 \001(" + + "\004\022F\n\nstatistics\030\007 \003(\01322.org.apache.hadoo" + + "p.hive.ql.io.orc.ColumnStatistics\022\026\n\016row" + + "IndexStride\030\010 \001(\r\"\334\001\n\nPostScript\022\024\n\014foot" + + "erLength\030\001 \001(\004\022F\n\013compression\030\002 \001(\01621.or" + + "g.apache.hadoop.hive.ql.io.orc.Compressi" + + "onKind\022\034\n\024compressionBlockSize\030\003 \001(\004\022\023\n\007" + + "version\030\004 \003(\rB\002\020\001\022\026\n\016metadataLength\030\005 \001(", + "\004\022\025\n\rwriterVersion\030\006 \001(\r\022\016\n\005magic\030\300> \001(\t" + + "*:\n\017CompressionKind\022\010\n\004NONE\020\000\022\010\n\004ZLIB\020\001\022" + + "\n\n\006SNAPPY\020\002\022\007\n\003LZO\020\003" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() { @@ -17787,7 +17868,7 @@ public Builder setMagicBytes( internal_static_org_apache_hadoop_hive_ql_io_orc_ColumnStatistics_fieldAccessorTable = new com.google.protobuf.GeneratedMessage.FieldAccessorTable( internal_static_org_apache_hadoop_hive_ql_io_orc_ColumnStatistics_descriptor, - new java.lang.String[] { "NumberOfValues", "IntStatistics", "DoubleStatistics", "StringStatistics", "BucketStatistics", "DecimalStatistics", "DateStatistics", "BinaryStatistics", "TimestampStatistics", }); + new java.lang.String[] { "NumberOfValues", "IntStatistics", "DoubleStatistics", "StringStatistics", "BucketStatistics", "DecimalStatistics", "DateStatistics", "BinaryStatistics", "TimestampStatistics", "HasNull", }); internal_static_org_apache_hadoop_hive_ql_io_orc_RowIndexEntry_descriptor = getDescriptor().getMessageTypes().get(9); internal_static_org_apache_hadoop_hive_ql_io_orc_RowIndexEntry_fieldAccessorTable = new diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatistics.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatistics.java index 31fa012..7c973c2 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatistics.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatistics.java @@ -27,4 +27,10 @@ * @return the number of values */ long getNumberOfValues(); + + /** + * Returns true if there are nulls in the scope of column statistics. + * @return true if null present else false + */ + boolean hasNull(); } diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java index 3235b0e..718119a 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/ColumnStatisticsImpl.java @@ -17,8 +17,6 @@ */ package org.apache.hadoop.hive.ql.io.orc; -import java.sql.Timestamp; - import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hadoop.hive.serde2.io.DateWritable; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; @@ -26,6 +24,8 @@ import org.apache.hadoop.io.BytesWritable; import org.apache.hadoop.io.Text; +import java.sql.Timestamp; + class ColumnStatisticsImpl implements ColumnStatistics { private static final class BooleanStatisticsImpl extends ColumnStatisticsImpl @@ -816,11 +816,16 @@ public String toString() { } private long count = 0; + private boolean hasNull = false; ColumnStatisticsImpl(OrcProto.ColumnStatistics stats) { if (stats.hasNumberOfValues()) { count = stats.getNumberOfValues(); } + + if (stats.hasHasNull()) { + hasNull = stats.getHasNull(); + } } ColumnStatisticsImpl() { @@ -830,6 +835,10 @@ void increment() { count += 1; } + void setNull() { + hasNull = true; + } + void updateBoolean(boolean value) { throw new UnsupportedOperationException("Can't update boolean"); } @@ -864,10 +873,12 @@ void updateTimestamp(Timestamp value) { void merge(ColumnStatisticsImpl stats) { count += stats.count; + hasNull |= stats.hasNull; } void reset() { count = 0; + hasNull = false; } @Override @@ -876,14 +887,20 @@ public long getNumberOfValues() { } @Override + public boolean hasNull() { + return hasNull; + } + + @Override public String toString() { - return "count: " + count; + return "count: " + count + " hasNull: " + hasNull; } OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder builder = OrcProto.ColumnStatistics.newBuilder(); builder.setNumberOfValues(count); + builder.setHasNull(hasNull); return builder; } diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/FileDump.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/FileDump.java index 10f8b8d..79279ea 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/FileDump.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/FileDump.java @@ -17,15 +17,6 @@ */ package org.apache.hadoop.hive.ql.io.orc; -import java.io.OutputStreamWriter; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import java.io.IOException; -import java.text.DecimalFormat; -import java.util.Map; - import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; @@ -46,6 +37,14 @@ import org.codehaus.jettison.json.JSONException; import org.codehaus.jettison.json.JSONWriter; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.text.DecimalFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + /** * A tool for printing out the file structure of ORC files. */ @@ -170,10 +169,7 @@ private static void printMetaData(List files, Configuration conf, buf.append("no stats at "); } else { ColumnStatistics cs = ColumnStatisticsImpl.deserialize(colStats); - Object min = RecordReaderImpl.getMin(cs), max = RecordReaderImpl.getMax(cs); - buf.append(" count: ").append(cs.getNumberOfValues()); - buf.append(" min: ").append(min); - buf.append(" max: ").append(max); + buf.append(cs.toString()); } buf.append(" positions: "); for (int posIx = 0; posIx < entry.getPositionsCount(); ++posIx) { diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java index 5be2b4f..9e6c06d 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcInputFormat.java @@ -18,18 +18,9 @@ package org.apache.hadoop.hive.ql.io.orc; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; -import java.util.NavigableMap; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.atomic.AtomicInteger; +import com.google.common.cache.Cache; +import com.google.common.cache.CacheBuilder; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -54,9 +45,9 @@ import org.apache.hadoop.hive.ql.io.StatsProvidingRecordReader; import org.apache.hadoop.hive.ql.io.sarg.PredicateLeaf; import org.apache.hadoop.hive.ql.io.sarg.SearchArgument; +import org.apache.hadoop.hive.ql.io.sarg.SearchArgument.TruthValue; import org.apache.hadoop.hive.ql.io.sarg.SearchArgumentFactory; import org.apache.hadoop.hive.ql.log.PerfLogger; -import org.apache.hadoop.hive.ql.io.sarg.SearchArgument.TruthValue; import org.apache.hadoop.hive.ql.plan.TableScanDesc; import org.apache.hadoop.hive.serde2.ColumnProjectionUtils; import org.apache.hadoop.hive.serde2.SerDeStats; @@ -74,9 +65,18 @@ import org.apache.hadoop.mapred.Reporter; import org.apache.hadoop.util.StringUtils; -import com.google.common.cache.Cache; -import com.google.common.cache.CacheBuilder; -import com.google.common.util.concurrent.ThreadFactoryBuilder; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.NavigableMap; +import java.util.TreeMap; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicInteger; /** * A MapReduce/Hive input format for ORC files. *

@@ -919,13 +919,8 @@ private boolean isStripeSatisfyPredicate(StripeStatistics stripeStatistics, if (filterColumns[pred] != -1) { // column statistics at index 0 contains only the number of rows - ColumnStatistics stats = - stripeStatistics.getColumnStatistics()[filterColumns[pred]]; - Object minValue = RecordReaderImpl.getMin(stats); - Object maxValue = RecordReaderImpl.getMax(stats); - truthValues[pred] = - RecordReaderImpl.evaluatePredicateRange(predLeaves.get(pred), - minValue, maxValue); + ColumnStatistics stats = stripeStatistics.getColumnStatistics()[filterColumns[pred]]; + truthValues[pred] = RecordReaderImpl.evaluatePredicate(stats, predLeaves.get(pred)); } else { // parition column case. diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java index f7fce3f..fcd9b26 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java @@ -2356,21 +2356,36 @@ static Object getMin(ColumnStatistics index) { /** * Evaluate a predicate with respect to the statistics from the column * that is referenced in the predicate. - * @param index the statistics for the column mentioned in the predicate + * @param statsProto the statistics for the column mentioned in the predicate * @param predicate the leaf predicate we need to evaluation * @return the set of truth values that may be returned for the given * predicate. */ - static TruthValue evaluatePredicate(OrcProto.ColumnStatistics index, + static TruthValue evaluatePredicate(OrcProto.ColumnStatistics statsProto, PredicateLeaf predicate) { - ColumnStatistics cs = ColumnStatisticsImpl.deserialize(index); + ColumnStatistics cs = ColumnStatisticsImpl.deserialize(statsProto); Object minValue = getMin(cs); Object maxValue = getMax(cs); - return evaluatePredicateRange(predicate, minValue, maxValue); + return evaluatePredicateRange(predicate, minValue, maxValue, cs.hasNull()); + } + + /** + * Evaluate a predicate with respect to the statistics from the column + * that is referenced in the predicate. + * @param stats the statistics for the column mentioned in the predicate + * @param predicate the leaf predicate we need to evaluation + * @return the set of truth values that may be returned for the given + * predicate. + */ + static TruthValue evaluatePredicate(ColumnStatistics stats, + PredicateLeaf predicate) { + Object minValue = getMin(stats); + Object maxValue = getMax(stats); + return evaluatePredicateRange(predicate, minValue, maxValue, stats.hasNull()); } static TruthValue evaluatePredicateRange(PredicateLeaf predicate, Object min, - Object max) { + Object max, boolean hasNull) { // if we didn't have any values, everything must have been null if (min == null) { if (predicate.getOperator() == PredicateLeaf.Operator.IS_NULL) { @@ -2405,29 +2420,29 @@ static TruthValue evaluatePredicateRange(PredicateLeaf predicate, Object min, case EQUALS: loc = compareToRange((Comparable) predObj, minValue, maxValue); if (minValue.equals(maxValue) && loc == Location.MIN) { - return TruthValue.YES_NULL; + return hasNull ? TruthValue.YES_NULL : TruthValue.YES; } else if (loc == Location.BEFORE || loc == Location.AFTER) { - return TruthValue.NO_NULL; + return hasNull ? TruthValue.NO_NULL : TruthValue.NO; } else { - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } case LESS_THAN: loc = compareToRange((Comparable) predObj, minValue, maxValue); if (loc == Location.AFTER) { - return TruthValue.YES_NULL; + return hasNull ? TruthValue.YES_NULL : TruthValue.YES; } else if (loc == Location.BEFORE || loc == Location.MIN) { - return TruthValue.NO_NULL; + return hasNull ? TruthValue.NO_NULL : TruthValue.NO; } else { - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } case LESS_THAN_EQUALS: loc = compareToRange((Comparable) predObj, minValue, maxValue); if (loc == Location.AFTER || loc == Location.MAX) { - return TruthValue.YES_NULL; + return hasNull ? TruthValue.YES_NULL : TruthValue.YES; } else if (loc == Location.BEFORE) { - return TruthValue.NO_NULL; + return hasNull ? TruthValue.NO_NULL : TruthValue.NO; } else { - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } case IN: if (minValue.equals(maxValue)) { @@ -2437,10 +2452,10 @@ static TruthValue evaluatePredicateRange(PredicateLeaf predicate, Object min, predObj = getBaseObjectForComparison(arg, minValue); loc = compareToRange((Comparable) predObj, minValue, maxValue); if (loc == Location.MIN) { - return TruthValue.YES_NULL; + return hasNull ? TruthValue.YES_NULL : TruthValue.YES; } } - return TruthValue.NO_NULL; + return hasNull ? TruthValue.NO_NULL : TruthValue.NO; } else { // are all of the values outside of the range? for (Object arg : predicate.getLiteralList(PredicateLeaf.FileFormat.ORC)) { @@ -2448,10 +2463,10 @@ static TruthValue evaluatePredicateRange(PredicateLeaf predicate, Object min, loc = compareToRange((Comparable) predObj, minValue, maxValue); if (loc == Location.MIN || loc == Location.MIDDLE || loc == Location.MAX) { - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } } - return TruthValue.NO_NULL; + return hasNull ? TruthValue.NO_NULL : TruthValue.NO; } case BETWEEN: List args = predicate.getLiteralList(PredicateLeaf.FileFormat.ORC); @@ -2463,26 +2478,26 @@ static TruthValue evaluatePredicateRange(PredicateLeaf predicate, Object min, Location loc2 = compareToRange((Comparable) predObj2, minValue, maxValue); if (loc2 == Location.AFTER || loc2 == Location.MAX) { - return TruthValue.YES_NULL; + return hasNull ? TruthValue.YES_NULL : TruthValue.YES; } else if (loc2 == Location.BEFORE) { - return TruthValue.NO_NULL; + return hasNull ? TruthValue.NO_NULL : TruthValue.NO; } else { - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } } else if (loc == Location.AFTER) { - return TruthValue.NO_NULL; + return hasNull ? TruthValue.NO_NULL : TruthValue.NO; } else { - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } case IS_NULL: - return TruthValue.YES_NO; + return hasNull ? TruthValue.YES : TruthValue.NO; default: - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } // in case failed conversion, return the default YES_NO_NULL truth value } catch (NumberFormatException nfe) { - return TruthValue.YES_NO_NULL; + return hasNull ? TruthValue.YES_NO_NULL : TruthValue.YES_NO; } } diff --git ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java index 24da301..159d3ab 100644 --- ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java +++ ql/src/java/org/apache/hadoop/hive/ql/io/orc/WriterImpl.java @@ -656,6 +656,8 @@ boolean isNewWriteFormat(StreamFactory writer) { void write(Object obj) throws IOException { if (obj != null) { indexStatistics.increment(); + } else { + indexStatistics.setNull(); } if (isPresent != null) { isPresent.write(obj == null ? 0 : 1); diff --git ql/src/protobuf/org/apache/hadoop/hive/ql/io/orc/orc_proto.proto ql/src/protobuf/org/apache/hadoop/hive/ql/io/orc/orc_proto.proto index cbfe57b..98459fb 100644 --- ql/src/protobuf/org/apache/hadoop/hive/ql/io/orc/orc_proto.proto +++ ql/src/protobuf/org/apache/hadoop/hive/ql/io/orc/orc_proto.proto @@ -74,6 +74,7 @@ message ColumnStatistics { optional DateStatistics dateStatistics = 7; optional BinaryStatistics binaryStatistics = 8; optional TimestampStatistics timestampStatistics = 9; + optional bool hasNull = 10; } message RowIndexEntry { diff --git ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java index dbd38c8..5c7fe60 100644 --- ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java +++ ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestColumnStatistics.java @@ -18,16 +18,28 @@ package org.apache.hadoop.hive.ql.io.orc; +import static junit.framework.Assert.assertEquals; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; import org.apache.hadoop.hive.common.type.HiveDecimal; import org.apache.hadoop.hive.serde2.io.DateWritable; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory; +import org.apache.hadoop.io.BytesWritable; import org.apache.hadoop.io.Text; +import org.junit.Before; +import org.junit.Rule; import org.junit.Test; +import org.junit.rules.TestName; +import java.io.File; +import java.io.FileOutputStream; +import java.io.PrintStream; import java.sql.Timestamp; - -import static junit.framework.Assert.assertEquals; +import java.util.List; /** * Test ColumnStatisticsImpl for ORC. @@ -173,4 +185,159 @@ public void testDecimalMerge() throws Exception { assertEquals(-10, typed.getMinimum().longValue()); assertEquals(10000, typed.getMaximum().longValue()); } + + + public static class SimpleStruct { + BytesWritable bytes1; + Text string1; + + SimpleStruct(BytesWritable b1, String s1) { + this.bytes1 = b1; + if (s1 == null) { + this.string1 = null; + } else { + this.string1 = new Text(s1); + } + } + } + + Path workDir = new Path(System.getProperty("test.tmp.dir", + "target" + File.separator + "test" + File.separator + "tmp")); + + Configuration conf; + FileSystem fs; + Path testFilePath; + + @Rule + public TestName testCaseName = new TestName(); + + @Before + public void openFileSystem() throws Exception { + conf = new Configuration(); + fs = FileSystem.getLocal(conf); + fs.setWorkingDirectory(workDir); + testFilePath = new Path("TestOrcFile." + testCaseName.getMethodName() + ".orc"); + fs.delete(testFilePath, false); + } + + private static BytesWritable bytes(int... items) { + BytesWritable result = new BytesWritable(); + result.setSize(items.length); + for (int i = 0; i < items.length; ++i) { + result.getBytes()[i] = (byte) items[i]; + } + return result; + } + + @Test + public void testHasNull() throws Exception { + + ObjectInspector inspector; + synchronized (TestOrcFile.class) { + inspector = ObjectInspectorFactory.getReflectionObjectInspector + (SimpleStruct.class, ObjectInspectorFactory.ObjectInspectorOptions.JAVA); + } + Writer writer = OrcFile.createWriter(testFilePath, + OrcFile.writerOptions(conf) + .inspector(inspector) + .rowIndexStride(1000) + .stripeSize(10000) + .bufferSize(10000)); + // STRIPE 1 + // RG1 + for(int i=0; i<1000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), "RG1")); + } + // RG2 + for(int i=0; i<1000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), null)); + } + // RG3 + for(int i=0; i<1000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), "RG3")); + } + // RG4 + for(int i=0; i<1000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), null)); + } + // RG5 + for(int i=0; i<1000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), null)); + } + // STRIPE 2 + for(int i=0; i<5000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), null)); + } + // STRIPE 3 + for(int i=0; i<5000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), "STRIPE-3")); + } + // STRIPE 4 + for(int i=0; i<5000; i++) { + writer.addRow(new SimpleStruct(bytes(1,2,3), null)); + } + writer.close(); + Reader reader = OrcFile.createReader(testFilePath, + OrcFile.readerOptions(conf).filesystem(fs)); + + // check the file level stats + ColumnStatistics[] stats = reader.getStatistics(); + assertEquals(20000, stats[0].getNumberOfValues()); + assertEquals(20000, stats[1].getNumberOfValues()); + assertEquals(7000, stats[2].getNumberOfValues()); + assertEquals(false, stats[0].hasNull()); + assertEquals(false, stats[1].hasNull()); + assertEquals(true, stats[2].hasNull()); + + // check the stripe level stats + List stripeStats = reader.getMetadata().getStripeStatistics(); + // stripe 1 stats + StripeStatistics ss1 = stripeStats.get(0); + ColumnStatistics ss1_cs1 = ss1.getColumnStatistics()[0]; + ColumnStatistics ss1_cs2 = ss1.getColumnStatistics()[1]; + ColumnStatistics ss1_cs3 = ss1.getColumnStatistics()[2]; + assertEquals(false, ss1_cs1.hasNull()); + assertEquals(false, ss1_cs2.hasNull()); + assertEquals(true, ss1_cs3.hasNull()); + + // stripe 2 stats + StripeStatistics ss2 = stripeStats.get(1); + ColumnStatistics ss2_cs1 = ss2.getColumnStatistics()[0]; + ColumnStatistics ss2_cs2 = ss2.getColumnStatistics()[1]; + ColumnStatistics ss2_cs3 = ss2.getColumnStatistics()[2]; + assertEquals(false, ss2_cs1.hasNull()); + assertEquals(false, ss2_cs2.hasNull()); + assertEquals(true, ss2_cs3.hasNull()); + + // stripe 3 stats + StripeStatistics ss3 = stripeStats.get(2); + ColumnStatistics ss3_cs1 = ss3.getColumnStatistics()[0]; + ColumnStatistics ss3_cs2 = ss3.getColumnStatistics()[1]; + ColumnStatistics ss3_cs3 = ss3.getColumnStatistics()[2]; + assertEquals(false, ss3_cs1.hasNull()); + assertEquals(false, ss3_cs2.hasNull()); + assertEquals(false, ss3_cs3.hasNull()); + + // stripe 4 stats + StripeStatistics ss4 = stripeStats.get(3); + ColumnStatistics ss4_cs1 = ss4.getColumnStatistics()[0]; + ColumnStatistics ss4_cs2 = ss4.getColumnStatistics()[1]; + ColumnStatistics ss4_cs3 = ss4.getColumnStatistics()[2]; + assertEquals(false, ss4_cs1.hasNull()); + assertEquals(false, ss4_cs2.hasNull()); + assertEquals(true, ss4_cs3.hasNull()); + + // Test file dump + PrintStream origOut = System.out; + String outputFilename = "orc-file-has-null.out"; + FileOutputStream myOut = new FileOutputStream(workDir + File.separator + outputFilename); + + // replace stdout and run command + System.setOut(new PrintStream(myOut)); + FileDump.main(new String[]{testFilePath.toString(), "--rowindex=2"}); + System.out.flush(); + System.setOut(origOut); + + TestFileDump.checkOutput(outputFilename, workDir + File.separator + outputFilename); + } } diff --git ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestFileDump.java ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestFileDump.java index e7c7919..e451143 100644 --- ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestFileDump.java +++ ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestFileDump.java @@ -21,6 +21,19 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hive.common.type.HiveChar; +import org.apache.hadoop.hive.common.type.HiveDecimal; +import org.apache.hadoop.hive.common.type.HiveVarchar; +import org.apache.hadoop.hive.conf.HiveConf; +import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; +import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory; +import org.apache.hive.common.util.HiveTestUtils; +import org.junit.Before; +import org.junit.Test; + import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; @@ -36,21 +49,6 @@ import java.util.Map; import java.util.Random; -import junit.framework.Assert; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.fs.FileSystem; -import org.apache.hadoop.fs.Path; -import org.apache.hadoop.hive.common.type.HiveChar; -import org.apache.hadoop.hive.common.type.HiveDecimal; -import org.apache.hadoop.hive.common.type.HiveVarchar; -import org.apache.hadoop.hive.conf.HiveConf; -import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; -import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory; -import org.apache.hive.common.util.HiveTestUtils; -import org.fusesource.leveldbjni.All; -import org.junit.Before; -import org.junit.Test; - public class TestFileDump { Path workDir = new Path(System.getProperty("test.tmp.dir")); @@ -127,7 +125,7 @@ public void openFileSystem () throws Exception { } } - private static void checkOutput(String expected, + static void checkOutput(String expected, String actual) throws Exception { BufferedReader eStream = new BufferedReader(new FileReader(HiveTestUtils.getFileFromClasspath(expected))); diff --git ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestInputOutputFormat.java ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestInputOutputFormat.java index d1acd88..2cc3d7a 100644 --- ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestInputOutputFormat.java +++ ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestInputOutputFormat.java @@ -21,6 +21,27 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import java.io.DataInput; +import java.io.DataOutput; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; +import java.sql.Date; +import java.sql.Timestamp; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Properties; +import java.util.Set; +import java.util.TimeZone; +import java.util.TreeSet; + import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.BlockLocation; import org.apache.hadoop.fs.FSDataInputStream; @@ -83,27 +104,6 @@ import org.junit.Test; import org.junit.rules.TestName; -import java.io.DataInput; -import java.io.DataOutput; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.sql.Date; -import java.sql.Timestamp; -import java.text.SimpleDateFormat; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Properties; -import java.util.Set; -import java.util.TimeZone; -import java.util.TreeSet; - public class TestInputOutputFormat { Path workDir = new Path(System.getProperty("test.tmp.dir","target/tmp")); @@ -1638,14 +1638,14 @@ public void testCombinationInputFormatWithAcid() throws Exception { assertEquals("mock:/combinationAcid/p=0/base_0000010/bucket_00000", split.getPath().toString()); assertEquals(0, split.getStart()); - assertEquals(582, split.getLength()); + assertEquals(607, split.getLength()); split = (HiveInputFormat.HiveInputSplit) splits[1]; assertEquals("org.apache.hadoop.hive.ql.io.orc.OrcInputFormat", split.inputFormatClassName()); assertEquals("mock:/combinationAcid/p=0/base_0000010/bucket_00001", split.getPath().toString()); assertEquals(0, split.getStart()); - assertEquals(603, split.getLength()); + assertEquals(629, split.getLength()); CombineHiveInputFormat.CombineHiveInputSplit combineSplit = (CombineHiveInputFormat.CombineHiveInputSplit) splits[2]; assertEquals(BUCKETS, combineSplit.getNumPaths()); @@ -1653,7 +1653,7 @@ public void testCombinationInputFormatWithAcid() throws Exception { assertEquals("mock:/combinationAcid/p=1/00000" + bucket + "_0", combineSplit.getPath(bucket).toString()); assertEquals(0, combineSplit.getOffset(bucket)); - assertEquals(227, combineSplit.getLength(bucket)); + assertEquals(241, combineSplit.getLength(bucket)); } String[] hosts = combineSplit.getLocations(); assertEquals(2, hosts.length); diff --git ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java index 7aeaf9f..5c48d0b 100644 --- ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java +++ ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcFile.java @@ -256,13 +256,13 @@ public void testReadFormat_0_11() throws Exception { assertEquals(7500, stats[1].getNumberOfValues()); assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getFalseCount()); assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getTrueCount()); - assertEquals("count: 7500 true: 3750", stats[1].toString()); + assertEquals("count: 7500 hasNull: false true: 3750", stats[1].toString()); assertEquals(2048, ((IntegerColumnStatistics) stats[3]).getMaximum()); assertEquals(1024, ((IntegerColumnStatistics) stats[3]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[3]).isSumDefined()); assertEquals(11520000, ((IntegerColumnStatistics) stats[3]).getSum()); - assertEquals("count: 7500 min: 1024 max: 2048 sum: 11520000", + assertEquals("count: 7500 hasNull: false min: 1024 max: 2048 sum: 11520000", stats[3].toString()); assertEquals(Long.MAX_VALUE, @@ -271,17 +271,17 @@ public void testReadFormat_0_11() throws Exception { ((IntegerColumnStatistics) stats[5]).getMinimum()); assertEquals(false, ((IntegerColumnStatistics) stats[5]).isSumDefined()); assertEquals( - "count: 7500 min: 9223372036854775807 max: 9223372036854775807", + "count: 7500 hasNull: false min: 9223372036854775807 max: 9223372036854775807", stats[5].toString()); assertEquals(-15.0, ((DoubleColumnStatistics) stats[7]).getMinimum()); assertEquals(-5.0, ((DoubleColumnStatistics) stats[7]).getMaximum()); assertEquals(-75000.0, ((DoubleColumnStatistics) stats[7]).getSum(), 0.00001); - assertEquals("count: 7500 min: -15.0 max: -5.0 sum: -75000.0", + assertEquals("count: 7500 hasNull: false min: -15.0 max: -5.0 sum: -75000.0", stats[7].toString()); - assertEquals("count: 7500 min: bye max: hi sum: 0", stats[9].toString()); + assertEquals("count: 7500 hasNull: false min: bye max: hi sum: 0", stats[9].toString()); // check the inspectors StructObjectInspector readerInspector = (StructObjectInspector) reader @@ -541,17 +541,17 @@ public void testStringAndBinaryStatistics() throws Exception { // check the stats ColumnStatistics[] stats = reader.getStatistics(); assertEquals(4, stats[0].getNumberOfValues()); - assertEquals("count: 4", stats[0].toString()); + assertEquals("count: 4 hasNull: false", stats[0].toString()); assertEquals(3, stats[1].getNumberOfValues()); assertEquals(15, ((BinaryColumnStatistics) stats[1]).getSum()); - assertEquals("count: 3 sum: 15", stats[1].toString()); + assertEquals("count: 3 hasNull: true sum: 15", stats[1].toString()); assertEquals(3, stats[2].getNumberOfValues()); assertEquals("bar", ((StringColumnStatistics) stats[2]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[2]).getMaximum()); assertEquals(8, ((StringColumnStatistics) stats[2]).getSum()); - assertEquals("count: 3 min: bar max: hi sum: 8", + assertEquals("count: 3 hasNull: true min: bar max: hi sum: 8", stats[2].toString()); // check the inspectors @@ -722,13 +722,13 @@ public void test1() throws Exception { assertEquals(2, stats[1].getNumberOfValues()); assertEquals(1, ((BooleanColumnStatistics) stats[1]).getFalseCount()); assertEquals(1, ((BooleanColumnStatistics) stats[1]).getTrueCount()); - assertEquals("count: 2 true: 1", stats[1].toString()); + assertEquals("count: 2 hasNull: false true: 1", stats[1].toString()); assertEquals(2048, ((IntegerColumnStatistics) stats[3]).getMaximum()); assertEquals(1024, ((IntegerColumnStatistics) stats[3]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[3]).isSumDefined()); assertEquals(3072, ((IntegerColumnStatistics) stats[3]).getSum()); - assertEquals("count: 2 min: 1024 max: 2048 sum: 3072", + assertEquals("count: 2 hasNull: false min: 1024 max: 2048 sum: 3072", stats[3].toString()); StripeStatistics ss = metadata.getStripeStatistics().get(0); @@ -740,10 +740,10 @@ public void test1() throws Exception { assertEquals(-15.0, ((DoubleColumnStatistics) stats[7]).getMinimum()); assertEquals(-5.0, ((DoubleColumnStatistics) stats[7]).getMaximum()); assertEquals(-20.0, ((DoubleColumnStatistics) stats[7]).getSum(), 0.00001); - assertEquals("count: 2 min: -15.0 max: -5.0 sum: -20.0", + assertEquals("count: 2 hasNull: false min: -15.0 max: -5.0 sum: -20.0", stats[7].toString()); - assertEquals("count: 2 min: bye max: hi sum: 5", stats[9].toString()); + assertEquals("count: 2 hasNull: false min: bye max: hi sum: 5", stats[9].toString()); // check the inspectors StructObjectInspector readerInspector = diff --git ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcNullOptimization.java ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcNullOptimization.java index 2ec4d36..340951b 100644 --- ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcNullOptimization.java +++ ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcNullOptimization.java @@ -119,13 +119,13 @@ public void testMultiStripeWithNull() throws Exception { assertEquals(0, ((IntegerColumnStatistics) stats[1]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[1]).isSumDefined()); assertEquals(0, ((IntegerColumnStatistics) stats[1]).getSum()); - assertEquals("count: 19998 min: 0 max: 0 sum: 0", + assertEquals("count: 19998 hasNull: true min: 0 max: 0 sum: 0", stats[1].toString()); assertEquals("a", ((StringColumnStatistics) stats[2]).getMaximum()); assertEquals("a", ((StringColumnStatistics) stats[2]).getMinimum()); assertEquals(19998, stats[2].getNumberOfValues()); - assertEquals("count: 19998 min: a max: a sum: 19998", + assertEquals("count: 19998 hasNull: true min: a max: a sum: 19998", stats[2].toString()); // check the inspectors @@ -223,13 +223,13 @@ public void testMultiStripeWithoutNull() throws Exception { assertEquals(0, ((IntegerColumnStatistics) stats[1]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[1]).isSumDefined()); assertEquals(0, ((IntegerColumnStatistics) stats[1]).getSum()); - assertEquals("count: 20000 min: 0 max: 0 sum: 0", + assertEquals("count: 20000 hasNull: false min: 0 max: 0 sum: 0", stats[1].toString()); assertEquals("b", ((StringColumnStatistics) stats[2]).getMaximum()); assertEquals("a", ((StringColumnStatistics) stats[2]).getMinimum()); assertEquals(20000, stats[2].getNumberOfValues()); - assertEquals("count: 20000 min: a max: b sum: 20000", + assertEquals("count: 20000 hasNull: false min: a max: b sum: 20000", stats[2].toString()); // check the inspectors @@ -324,13 +324,13 @@ public void testColumnsWithNullAndCompression() throws Exception { assertEquals(2, ((IntegerColumnStatistics) stats[1]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[1]).isSumDefined()); assertEquals(17, ((IntegerColumnStatistics) stats[1]).getSum()); - assertEquals("count: 7 min: 2 max: 3 sum: 17", + assertEquals("count: 7 hasNull: true min: 2 max: 3 sum: 17", stats[1].toString()); assertEquals("h", ((StringColumnStatistics) stats[2]).getMaximum()); assertEquals("a", ((StringColumnStatistics) stats[2]).getMinimum()); assertEquals(7, stats[2].getNumberOfValues()); - assertEquals("count: 7 min: a max: h sum: 7", + assertEquals("count: 7 hasNull: true min: a max: h sum: 7", stats[2].toString()); // check the inspectors diff --git ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java index f94fd25..698523c 100644 --- ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java +++ ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestOrcSerDeStats.java @@ -220,17 +220,17 @@ public void testStringAndBinaryStatistics() throws Exception { // check the stats ColumnStatistics[] stats = reader.getStatistics(); assertEquals(4, stats[0].getNumberOfValues()); - assertEquals("count: 4", stats[0].toString()); + assertEquals("count: 4 hasNull: false", stats[0].toString()); assertEquals(3, stats[1].getNumberOfValues()); assertEquals(15, ((BinaryColumnStatistics) stats[1]).getSum()); - assertEquals("count: 3 sum: 15", stats[1].toString()); + assertEquals("count: 3 hasNull: true sum: 15", stats[1].toString()); assertEquals(3, stats[2].getNumberOfValues()); assertEquals("bar", ((StringColumnStatistics) stats[2]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[2]).getMaximum()); assertEquals(8, ((StringColumnStatistics) stats[2]).getSum()); - assertEquals("count: 3 min: bar max: hi sum: 8", + assertEquals("count: 3 hasNull: true min: bar max: hi sum: 8", stats[2].toString()); // check the inspectors @@ -448,13 +448,13 @@ public void testOrcSerDeStatsComplex() throws Exception { assertEquals(2, stats[1].getNumberOfValues()); assertEquals(1, ((BooleanColumnStatistics) stats[1]).getFalseCount()); assertEquals(1, ((BooleanColumnStatistics) stats[1]).getTrueCount()); - assertEquals("count: 2 true: 1", stats[1].toString()); + assertEquals("count: 2 hasNull: false true: 1", stats[1].toString()); assertEquals(2048, ((IntegerColumnStatistics) stats[3]).getMaximum()); assertEquals(1024, ((IntegerColumnStatistics) stats[3]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[3]).isSumDefined()); assertEquals(3072, ((IntegerColumnStatistics) stats[3]).getSum()); - assertEquals("count: 2 min: 1024 max: 2048 sum: 3072", + assertEquals("count: 2 hasNull: false min: 1024 max: 2048 sum: 3072", stats[3].toString()); assertEquals(Long.MAX_VALUE, @@ -462,16 +462,16 @@ public void testOrcSerDeStatsComplex() throws Exception { assertEquals(Long.MAX_VALUE, ((IntegerColumnStatistics) stats[5]).getMinimum()); assertEquals(false, ((IntegerColumnStatistics) stats[5]).isSumDefined()); - assertEquals("count: 2 min: 9223372036854775807 max: 9223372036854775807", + assertEquals("count: 2 hasNull: false min: 9223372036854775807 max: 9223372036854775807", stats[5].toString()); assertEquals(-15.0, ((DoubleColumnStatistics) stats[7]).getMinimum()); assertEquals(-5.0, ((DoubleColumnStatistics) stats[7]).getMaximum()); assertEquals(-20.0, ((DoubleColumnStatistics) stats[7]).getSum(), 0.00001); - assertEquals("count: 2 min: -15.0 max: -5.0 sum: -20.0", + assertEquals("count: 2 hasNull: false min: -15.0 max: -5.0 sum: -20.0", stats[7].toString()); - assertEquals("count: 2 min: bye max: hi sum: 5", stats[9].toString()); + assertEquals("count: 2 hasNull: false min: bye max: hi sum: 5", stats[9].toString()); } @Test @@ -541,13 +541,13 @@ public void testOrcSerDeStatsComplexOldFormat() throws Exception { assertEquals(2, stats[1].getNumberOfValues()); assertEquals(1, ((BooleanColumnStatistics) stats[1]).getFalseCount()); assertEquals(1, ((BooleanColumnStatistics) stats[1]).getTrueCount()); - assertEquals("count: 2 true: 1", stats[1].toString()); + assertEquals("count: 2 hasNull: false true: 1", stats[1].toString()); assertEquals(2048, ((IntegerColumnStatistics) stats[3]).getMaximum()); assertEquals(1024, ((IntegerColumnStatistics) stats[3]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[3]).isSumDefined()); assertEquals(3072, ((IntegerColumnStatistics) stats[3]).getSum()); - assertEquals("count: 2 min: 1024 max: 2048 sum: 3072", + assertEquals("count: 2 hasNull: false min: 1024 max: 2048 sum: 3072", stats[3].toString()); assertEquals(Long.MAX_VALUE, @@ -555,22 +555,22 @@ public void testOrcSerDeStatsComplexOldFormat() throws Exception { assertEquals(Long.MAX_VALUE, ((IntegerColumnStatistics) stats[5]).getMinimum()); assertEquals(false, ((IntegerColumnStatistics) stats[5]).isSumDefined()); - assertEquals("count: 2 min: 9223372036854775807 max: 9223372036854775807", + assertEquals("count: 2 hasNull: false min: 9223372036854775807 max: 9223372036854775807", stats[5].toString()); assertEquals(-15.0, ((DoubleColumnStatistics) stats[7]).getMinimum()); assertEquals(-5.0, ((DoubleColumnStatistics) stats[7]).getMaximum()); assertEquals(-20.0, ((DoubleColumnStatistics) stats[7]).getSum(), 0.00001); - assertEquals("count: 2 min: -15.0 max: -5.0 sum: -20.0", + assertEquals("count: 2 hasNull: false min: -15.0 max: -5.0 sum: -20.0", stats[7].toString()); assertEquals(5, ((BinaryColumnStatistics) stats[8]).getSum()); - assertEquals("count: 2 sum: 5", stats[8].toString()); + assertEquals("count: 2 hasNull: false sum: 5", stats[8].toString()); assertEquals("bye", ((StringColumnStatistics) stats[9]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[9]).getMaximum()); assertEquals(5, ((StringColumnStatistics) stats[9]).getSum()); - assertEquals("count: 2 min: bye max: hi sum: 5", stats[9].toString()); + assertEquals("count: 2 hasNull: false min: bye max: hi sum: 5", stats[9].toString()); } @Test(expected = ClassCastException.class) @@ -603,13 +603,13 @@ public void testSerdeStatsOldFormat() throws Exception { assertEquals(7500, stats[1].getNumberOfValues()); assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getFalseCount()); assertEquals(3750, ((BooleanColumnStatistics) stats[1]).getTrueCount()); - assertEquals("count: 7500 true: 3750", stats[1].toString()); + assertEquals("count: 7500 hasNull: false true: 3750", stats[1].toString()); assertEquals(2048, ((IntegerColumnStatistics) stats[3]).getMaximum()); assertEquals(1024, ((IntegerColumnStatistics) stats[3]).getMinimum()); assertEquals(true, ((IntegerColumnStatistics) stats[3]).isSumDefined()); assertEquals(11520000, ((IntegerColumnStatistics) stats[3]).getSum()); - assertEquals("count: 7500 min: 1024 max: 2048 sum: 11520000", + assertEquals("count: 7500 hasNull: false min: 1024 max: 2048 sum: 11520000", stats[3].toString()); assertEquals(Long.MAX_VALUE, @@ -618,24 +618,24 @@ public void testSerdeStatsOldFormat() throws Exception { ((IntegerColumnStatistics) stats[5]).getMinimum()); assertEquals(false, ((IntegerColumnStatistics) stats[5]).isSumDefined()); assertEquals( - "count: 7500 min: 9223372036854775807 max: 9223372036854775807", + "count: 7500 hasNull: false min: 9223372036854775807 max: 9223372036854775807", stats[5].toString()); assertEquals(-15.0, ((DoubleColumnStatistics) stats[7]).getMinimum()); assertEquals(-5.0, ((DoubleColumnStatistics) stats[7]).getMaximum()); assertEquals(-75000.0, ((DoubleColumnStatistics) stats[7]).getSum(), 0.00001); - assertEquals("count: 7500 min: -15.0 max: -5.0 sum: -75000.0", + assertEquals("count: 7500 hasNull: false min: -15.0 max: -5.0 sum: -75000.0", stats[7].toString()); assertEquals("bye", ((StringColumnStatistics) stats[9]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[9]).getMaximum()); assertEquals(0, ((StringColumnStatistics) stats[9]).getSum()); - assertEquals("count: 7500 min: bye max: hi sum: 0", stats[9].toString()); + assertEquals("count: 7500 hasNull: false min: bye max: hi sum: 0", stats[9].toString()); // old orc format will not have binary statistics. toString() will show only // the general column statistics - assertEquals("count: 7500", stats[8].toString()); + assertEquals("count: 7500 hasNull: false", stats[8].toString()); // since old orc format doesn't support binary statistics, // this should throw ClassCastException assertEquals(5, ((BinaryColumnStatistics) stats[8]).getSum()); diff --git ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java index 3e43ade..cab6538 100644 --- ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java +++ ql/src/test/org/apache/hadoop/hive/ql/io/orc/TestRecordReaderImpl.java @@ -23,11 +23,6 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FileStatus; @@ -46,6 +41,11 @@ import org.mockito.MockSettings; import org.mockito.Mockito; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + public class TestRecordReaderImpl { // can add .verboseLogging() to cause Mockito to log invocations @@ -264,6 +264,15 @@ public void testGetMin() throws Exception { return OrcProto.ColumnStatistics.newBuilder().setDoubleStatistics(dblStats.build()).build(); } + private static OrcProto.ColumnStatistics createStringStats(String min, String max, + boolean hasNull) { + OrcProto.StringStatistics.Builder strStats = OrcProto.StringStatistics.newBuilder(); + strStats.setMinimum(min); + strStats.setMaximum(max); + return OrcProto.ColumnStatistics.newBuilder().setStringStatistics(strStats.build()) + .setHasNull(hasNull).build(); + } + private static OrcProto.ColumnStatistics createStringStats(String min, String max) { OrcProto.StringStatistics.Builder strStats = OrcProto.StringStatistics.newBuilder(); strStats.setMinimum(min); @@ -483,17 +492,17 @@ public void testEquals() throws Exception { PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf (PredicateLeaf.Operator.EQUALS, PredicateLeaf.Type.INTEGER, "x", 15L, null); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(20L, 30L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(15L, 30L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 30L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 15L), pred)); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(0L, 10L), pred)); - assertEquals(TruthValue.YES_NULL, + assertEquals(TruthValue.YES, RecordReaderImpl.evaluatePredicate(createIntStats(15L, 15L), pred)); } @@ -521,15 +530,15 @@ public void testLessThan() throws Exception { PredicateLeaf lessThan = TestSearchArgumentImpl.createPredicateLeaf (PredicateLeaf.Operator.LESS_THAN, PredicateLeaf.Type.INTEGER, "x", 15L, null); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(20L, 30L), lessThan)); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(15L, 30L), lessThan)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 30L), lessThan)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 15L), lessThan)); - assertEquals(TruthValue.YES_NULL, + assertEquals(TruthValue.YES, RecordReaderImpl.evaluatePredicate(createIntStats(0L, 10L), lessThan)); } @@ -538,15 +547,15 @@ public void testLessThanEquals() throws Exception { PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf (PredicateLeaf.Operator.LESS_THAN_EQUALS, PredicateLeaf.Type.INTEGER, "x", 15L, null); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(20L, 30L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(15L, 30L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 30L), pred)); - assertEquals(TruthValue.YES_NULL, + assertEquals(TruthValue.YES, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 15L), pred)); - assertEquals(TruthValue.YES_NULL, + assertEquals(TruthValue.YES, RecordReaderImpl.evaluatePredicate(createIntStats(0L, 10L), pred)); } @@ -558,13 +567,13 @@ public void testIn() throws Exception { PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf (PredicateLeaf.Operator.IN, PredicateLeaf.Type.INTEGER, "x", null, args); - assertEquals(TruthValue.YES_NULL, + assertEquals(TruthValue.YES, RecordReaderImpl.evaluatePredicate(createIntStats(20L, 20L), pred)); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(30L, 30L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 30L), pred)); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(12L, 18L), pred)); } @@ -576,19 +585,19 @@ public void testBetween() throws Exception { PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf (PredicateLeaf.Operator.BETWEEN, PredicateLeaf.Type.INTEGER, "x", null, args); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(0L, 5L), pred)); - assertEquals(TruthValue.NO_NULL, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(30L, 40L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(5L, 15L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(15L, 25L), pred)); - assertEquals(TruthValue.YES_NO_NULL, + assertEquals(TruthValue.YES_NO, RecordReaderImpl.evaluatePredicate(createIntStats(5L, 25L), pred)); - assertEquals(TruthValue.YES_NULL, + assertEquals(TruthValue.YES, RecordReaderImpl.evaluatePredicate(createIntStats(10L, 20L), pred)); - assertEquals(TruthValue.YES_NULL, + assertEquals(TruthValue.YES, RecordReaderImpl.evaluatePredicate(createIntStats(12L, 18L), pred)); } @@ -597,10 +606,156 @@ public void testIsNull() throws Exception { PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf (PredicateLeaf.Operator.IS_NULL, PredicateLeaf.Type.INTEGER, "x", null, null); - assertEquals(TruthValue.YES_NO, + assertEquals(TruthValue.NO, RecordReaderImpl.evaluatePredicate(createIntStats(20L, 30L), pred)); } + + @Test + public void testEqualsWithNullInStats() throws Exception { + PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf + (PredicateLeaf.Operator.EQUALS, PredicateLeaf.Type.STRING, + "x", "c", null); + assertEquals(TruthValue.NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("d", "e", true), pred)); // before + assertEquals(TruthValue.NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("a", "b", true), pred)); // after + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "c", true), pred)); // max + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "d", true), pred)); // min + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "d", true), pred)); // middle + assertEquals(TruthValue.YES_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "c", true), pred)); // same + } + + @Test + public void testNullSafeEqualsWithNullInStats() throws Exception { + PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf + (PredicateLeaf.Operator.NULL_SAFE_EQUALS, PredicateLeaf.Type.STRING, + "x", "c", null); + assertEquals(TruthValue.NO, + RecordReaderImpl.evaluatePredicate(createStringStats("d", "e", true), pred)); // before + assertEquals(TruthValue.NO, + RecordReaderImpl.evaluatePredicate(createStringStats("a", "b", true), pred)); // after + assertEquals(TruthValue.YES_NO, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "c", true), pred)); // max + assertEquals(TruthValue.YES_NO, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "d", true), pred)); // min + assertEquals(TruthValue.YES_NO, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "d", true), pred)); // middle + assertEquals(TruthValue.YES_NO, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "c", true), pred)); // same + } + + @Test + public void testLessThanWithNullInStats() throws Exception { + PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf + (PredicateLeaf.Operator.LESS_THAN, PredicateLeaf.Type.STRING, + "x", "c", null); + assertEquals(TruthValue.NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("d", "e", true), pred)); // before + assertEquals(TruthValue.YES_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("a", "b", true), pred)); // after + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "c", true), pred)); // max + assertEquals(TruthValue.NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "d", true), pred)); // min + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "d", true), pred)); // middle + assertEquals(TruthValue.NO_NULL, // min, same stats + RecordReaderImpl.evaluatePredicate(createStringStats("c", "c", true), pred)); + } + + @Test + public void testLessThanEqualsWithNullInStats() throws Exception { + PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf + (PredicateLeaf.Operator.LESS_THAN_EQUALS, PredicateLeaf.Type.STRING, + "x", "c", null); + assertEquals(TruthValue.NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("d", "e", true), pred)); // before + assertEquals(TruthValue.YES_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("a", "b", true), pred)); // after + assertEquals(TruthValue.YES_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "c", true), pred)); // max + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "d", true), pred)); // min + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "d", true), pred)); // middle + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "c", true), pred)); // same + } + + @Test + public void testInWithNullInStats() throws Exception { + List args = new ArrayList(); + args.add("c"); + args.add("f"); + PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf + (PredicateLeaf.Operator.IN, PredicateLeaf.Type.STRING, + "x", null, args); + assertEquals(TruthValue.NO_NULL, // before & after + RecordReaderImpl.evaluatePredicate(createStringStats("d", "e", true), pred)); + assertEquals(TruthValue.NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("a", "b", true), pred)); // after + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("e", "f", true), pred)); // max + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "d", true), pred)); // min + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "d", true), pred)); // middle + assertEquals(TruthValue.YES_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "c", true), pred)); // same + } + + @Test + public void testBetweenWithNullInStats() throws Exception { + List args = new ArrayList(); + args.add("c"); + args.add("f"); + PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf + (PredicateLeaf.Operator.BETWEEN, PredicateLeaf.Type.STRING, + "x", null, args); + assertEquals(TruthValue.YES_NULL, // before & after + RecordReaderImpl.evaluatePredicate(createStringStats("d", "e", true), pred)); + assertEquals(TruthValue.YES_NULL, // before & max + RecordReaderImpl.evaluatePredicate(createStringStats("e", "f", true), pred)); + assertEquals(TruthValue.NO_NULL, // before & before + RecordReaderImpl.evaluatePredicate(createStringStats("h", "g", true), pred)); + assertEquals(TruthValue.YES_NO_NULL, // before & min + RecordReaderImpl.evaluatePredicate(createStringStats("f", "g", true), pred)); + assertEquals(TruthValue.YES_NO_NULL, // before & middle + RecordReaderImpl.evaluatePredicate(createStringStats("e", "g", true), pred)); + + assertEquals(TruthValue.YES_NULL, // min & after + RecordReaderImpl.evaluatePredicate(createStringStats("c", "e", true), pred)); + assertEquals(TruthValue.YES_NULL, // min & max + RecordReaderImpl.evaluatePredicate(createStringStats("c", "f", true), pred)); + assertEquals(TruthValue.YES_NO_NULL, // min & middle + RecordReaderImpl.evaluatePredicate(createStringStats("c", "g", true), pred)); + + assertEquals(TruthValue.NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("a", "b", true), pred)); // after + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("a", "c", true), pred)); // max + assertEquals(TruthValue.YES_NO_NULL, + RecordReaderImpl.evaluatePredicate(createStringStats("b", "d", true), pred)); // middle + assertEquals(TruthValue.YES_NULL, // min & after, same stats + RecordReaderImpl.evaluatePredicate(createStringStats("c", "c", true), pred)); + } + + @Test + public void testIsNullWithNullInStats() throws Exception { + PredicateLeaf pred = TestSearchArgumentImpl.createPredicateLeaf + (PredicateLeaf.Operator.IS_NULL, PredicateLeaf.Type.STRING, + "x", null, null); + assertEquals(TruthValue.YES, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "d", true), pred)); + assertEquals(TruthValue.NO, + RecordReaderImpl.evaluatePredicate(createStringStats("c", "d", false), pred)); + } + @Test public void testOverlap() throws Exception { assertTrue(!RecordReaderImpl.overlap(0, 10, -10, -1)); diff --git ql/src/test/resources/orc-file-dump-dictionary-threshold.out ql/src/test/resources/orc-file-dump-dictionary-threshold.out index 519fa07..ac74e51 100644 --- ql/src/test/resources/orc-file-dump-dictionary-threshold.out +++ ql/src/test/resources/orc-file-dump-dictionary-threshold.out @@ -7,182 +7,182 @@ Type: struct Stripe Statistics: Stripe 1: - Column 0: count: 5000 - Column 1: count: 5000 min: -2147115959 max: 2145911404 sum: 159677169195 - Column 2: count: 5000 min: -9216505819108477308 max: 9217851628057711416 - Column 3: count: 5000 min: Darkness,-230 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744 sum: 381254 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2147115959 max: 2145911404 sum: 159677169195 + Column 2: count: 5000 hasNull: false min: -9216505819108477308 max: 9217851628057711416 + Column 3: count: 5000 hasNull: false min: Darkness,-230 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744 sum: 381254 Stripe 2: - Column 0: count: 5000 - Column 1: count: 5000 min: -2147390285 max: 2147224606 sum: -14961457759 - Column 2: count: 5000 min: -9222178666167296739 max: 9221301751385928177 - Column 3: count: 5000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938 sum: 1117994 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2147390285 max: 2147224606 sum: -14961457759 + Column 2: count: 5000 hasNull: false min: -9222178666167296739 max: 9221301751385928177 + Column 3: count: 5000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938 sum: 1117994 Stripe 3: - Column 0: count: 5000 - Column 1: count: 5000 min: -2145842720 max: 2146718321 sum: 141092475520 - Column 2: count: 5000 min: -9221963099397084326 max: 9222722740629726770 - Column 3: count: 5000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974 sum: 1925226 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2145842720 max: 2146718321 sum: 141092475520 + Column 2: count: 5000 hasNull: false min: -9221963099397084326 max: 9222722740629726770 + Column 3: count: 5000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974 sum: 1925226 Stripe 4: - Column 0: count: 5000 - Column 1: count: 5000 min: -2145378214 max: 2147453086 sum: -153680004530 - Column 2: count: 5000 min: -9222731174895935707 max: 9222919052987871506 - Column 3: count: 5000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904 sum: 2815002 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2145378214 max: 2147453086 sum: -153680004530 + Column 2: count: 5000 hasNull: false min: -9222731174895935707 max: 9222919052987871506 + Column 3: count: 5000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904 sum: 2815002 Stripe 5: - Column 0: count: 1000 - Column 1: count: 1000 min: -2143595397 max: 2136858458 sum: -22999664100 - Column 2: count: 1000 min: -9212379634781416464 max: 9197412874152820822 - Column 3: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214-18444-18446-18724-18912-18952-19164-19348-19400-19546-19776-19896-20084 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904-20390-20752-20936 sum: 670762 + Column 0: count: 1000 hasNull: false + Column 1: count: 1000 hasNull: false min: -2143595397 max: 2136858458 sum: -22999664100 + Column 2: count: 1000 hasNull: false min: -9212379634781416464 max: 9197412874152820822 + Column 3: count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214-18444-18446-18724-18912-18952-19164-19348-19400-19546-19776-19896-20084 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904-20390-20752-20936 sum: 670762 File Statistics: - Column 0: count: 21000 - Column 1: count: 21000 min: -2147390285 max: 2147453086 sum: 109128518326 - Column 2: count: 21000 min: -9222731174895935707 max: 9222919052987871506 - Column 3: count: 21000 min: Darkness,-230 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904-20390-20752-20936 sum: 6910238 + Column 0: count: 21000 hasNull: false + Column 1: count: 21000 hasNull: false min: -2147390285 max: 2147453086 sum: 109128518326 + Column 2: count: 21000 hasNull: false min: -9222731174895935707 max: 9222919052987871506 + Column 3: count: 21000 hasNull: false min: Darkness,-230 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904-20390-20752-20936 sum: 6910238 Stripes: - Stripe: offset: 3 data: 151108 rows: 5000 tail: 68 index: 704 - Stream: column 0 section ROW_INDEX start: 3 length 15 - Stream: column 1 section ROW_INDEX start: 18 length 156 - Stream: column 2 section ROW_INDEX start: 174 length 172 - Stream: column 3 section ROW_INDEX start: 346 length 361 - Stream: column 1 section DATA start: 707 length 20029 - Stream: column 2 section DATA start: 20736 length 40035 - Stream: column 3 section DATA start: 60771 length 86757 - Stream: column 3 section LENGTH start: 147528 length 4287 + Stripe: offset: 3 data: 151108 rows: 5000 tail: 68 index: 718 + Stream: column 0 section ROW_INDEX start: 3 length 17 + Stream: column 1 section ROW_INDEX start: 20 length 162 + Stream: column 2 section ROW_INDEX start: 182 length 174 + Stream: column 3 section ROW_INDEX start: 356 length 365 + Stream: column 1 section DATA start: 721 length 20029 + Stream: column 2 section DATA start: 20750 length 40035 + Stream: column 3 section DATA start: 60785 length 86757 + Stream: column 3 section LENGTH start: 147542 length 4287 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DIRECT_V2 Row group index column 1: - Entry 0: count: 1000 min: -2132329551 max: 2145911404 positions: 0,0,0 - Entry 1: count: 1000 min: -2138433136 max: 2145210552 positions: 0,2050,488 - Entry 2: count: 1000 min: -2147115959 max: 2137805337 positions: 0,6150,464 - Entry 3: count: 1000 min: -2137828953 max: 2145877119 positions: 10003,250,440 - Entry 4: count: 1000 min: -2146452517 max: 2142394906 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2132329551 max: 2145911404 sum: 61941331718 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2138433136 max: 2145210552 sum: 14574030042 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2147115959 max: 2137805337 sum: -2032493169 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2137828953 max: 2145877119 sum: -3167202608 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2146452517 max: 2142394906 sum: 88361503212 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9206837518492372266 max: 9169230975203934579 positions: 0,0,0 - Entry 1: count: 1000 min: -9188878639954124284 max: 9213664245516510068 positions: 0,4098,488 - Entry 2: count: 1000 min: -9211329013123260308 max: 9217851628057711416 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9185745718227889962 max: 9181722705210917931 positions: 20006,490,440 - Entry 4: count: 1000 min: -9216505819108477308 max: 9196474183833079923 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9206837518492372266 max: 9169230975203934579 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9188878639954124284 max: 9213664245516510068 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9211329013123260308 max: 9217851628057711416 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9185745718227889962 max: 9181722705210917931 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9216505819108477308 max: 9196474183833079923 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness,-230 max: worst-54-290-346-648-908-996 positions: 0,0,0,0,0 - Entry 1: count: 1000 min: Darkness,-230-368-488-586-862-930-1686 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966 positions: 2777,8442,0,695,18 - Entry 2: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660 positions: 13595,4780,0,1554,14 - Entry 3: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788 positions: 31432,228,0,2372,90 - Entry 4: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744 positions: 54111,5096,0,3354,108 - Stripe: offset: 151883 data: 336358 rows: 5000 tail: 69 index: 941 - Stream: column 0 section ROW_INDEX start: 151883 length 15 - Stream: column 1 section ROW_INDEX start: 151898 length 150 - Stream: column 2 section ROW_INDEX start: 152048 length 167 - Stream: column 3 section ROW_INDEX start: 152215 length 609 - Stream: column 1 section DATA start: 152824 length 20029 - Stream: column 2 section DATA start: 172853 length 40035 - Stream: column 3 section DATA start: 212888 length 270789 - Stream: column 3 section LENGTH start: 483677 length 5505 + Entry 0:count: 1000 hasNull: false min: Darkness,-230 max: worst-54-290-346-648-908-996 sum: 18442 positions: 0,0,0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966 sum: 46338 positions: 2777,8442,0,695,18 + Entry 2:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660 sum: 75448 positions: 13595,4780,0,1554,14 + Entry 3:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788 sum: 104868 positions: 31432,228,0,2372,90 + Entry 4:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744 sum: 136158 positions: 54111,5096,0,3354,108 + Stripe: offset: 151897 data: 336358 rows: 5000 tail: 69 index: 954 + Stream: column 0 section ROW_INDEX start: 151897 length 17 + Stream: column 1 section ROW_INDEX start: 151914 length 153 + Stream: column 2 section ROW_INDEX start: 152067 length 169 + Stream: column 3 section ROW_INDEX start: 152236 length 615 + Stream: column 1 section DATA start: 152851 length 20029 + Stream: column 2 section DATA start: 172880 length 40035 + Stream: column 3 section DATA start: 212915 length 270789 + Stream: column 3 section LENGTH start: 483704 length 5505 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DIRECT_V2 Row group index column 1: - Entry 0: count: 1000 min: -2146021688 max: 2146838901 positions: 0,0,0 - Entry 1: count: 1000 min: -2143569489 max: 2141223179 positions: 0,2050,488 - Entry 2: count: 1000 min: -2140649392 max: 2146301701 positions: 0,6150,464 - Entry 3: count: 1000 min: -2147390285 max: 2146299933 positions: 10003,250,440 - Entry 4: count: 1000 min: -2145928262 max: 2147224606 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2146021688 max: 2146838901 sum: -50979197646 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2143569489 max: 2141223179 sum: 22810066834 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2140649392 max: 2146301701 sum: -31694882346 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2147390285 max: 2146299933 sum: 79371934221 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2145928262 max: 2147224606 sum: -34469378822 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9222178666167296739 max: 9191250610515369723 positions: 0,0,0 - Entry 1: count: 1000 min: -9220148577547102875 max: 9213945522531717278 positions: 0,4098,488 - Entry 2: count: 1000 min: -9220818777591257749 max: 9221301751385928177 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9220031433030423388 max: 9207856144487414148 positions: 20006,490,440 - Entry 4: count: 1000 min: -9201438531577205959 max: 9212462124593119846 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9222178666167296739 max: 9191250610515369723 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9220148577547102875 max: 9213945522531717278 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9220818777591257749 max: 9221301751385928177 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9220031433030423388 max: 9207856144487414148 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9201438531577205959 max: 9212462124593119846 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726 positions: 0,0,0,0,0 - Entry 1: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994 positions: 37112,6320,0,967,90 - Entry 2: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988 positions: 80822,9756,0,1945,222 - Entry 3: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984 positions: 137149,4496,0,3268,48 - Entry 4: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938 positions: 197972,6590,0,4064,342 - Stripe: offset: 489251 data: 558031 rows: 5000 tail: 69 index: 1169 - Stream: column 0 section ROW_INDEX start: 489251 length 15 - Stream: column 1 section ROW_INDEX start: 489266 length 159 - Stream: column 2 section ROW_INDEX start: 489425 length 169 - Stream: column 3 section ROW_INDEX start: 489594 length 826 - Stream: column 1 section DATA start: 490420 length 20029 - Stream: column 2 section DATA start: 510449 length 40035 - Stream: column 3 section DATA start: 550484 length 492258 - Stream: column 3 section LENGTH start: 1042742 length 5709 + Entry 0:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726 sum: 166320 positions: 0,0,0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994 sum: 193436 positions: 37112,6320,0,967,90 + Entry 2:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988 sum: 224740 positions: 80822,9756,0,1945,222 + Entry 3:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984 sum: 252094 positions: 137149,4496,0,3268,48 + Entry 4:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938 sum: 281404 positions: 197972,6590,0,4064,342 + Stripe: offset: 489278 data: 558031 rows: 5000 tail: 69 index: 1181 + Stream: column 0 section ROW_INDEX start: 489278 length 17 + Stream: column 1 section ROW_INDEX start: 489295 length 166 + Stream: column 2 section ROW_INDEX start: 489461 length 171 + Stream: column 3 section ROW_INDEX start: 489632 length 827 + Stream: column 1 section DATA start: 490459 length 20029 + Stream: column 2 section DATA start: 510488 length 40035 + Stream: column 3 section DATA start: 550523 length 492258 + Stream: column 3 section LENGTH start: 1042781 length 5709 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DIRECT_V2 Row group index column 1: - Entry 0: count: 1000 min: -2138229212 max: 2144818981 positions: 0,0,0 - Entry 1: count: 1000 min: -2145842720 max: 2144179881 positions: 0,2050,488 - Entry 2: count: 1000 min: -2143045885 max: 2146718321 positions: 0,6150,464 - Entry 3: count: 1000 min: -2144745617 max: 2146570474 positions: 10003,250,440 - Entry 4: count: 1000 min: -2140127150 max: 2135081620 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2138229212 max: 2144818981 sum: -22823642812 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2145842720 max: 2144179881 sum: -12562754334 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2143045885 max: 2146718321 sum: 82993638644 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2144745617 max: 2146570474 sum: 25138722367 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2140127150 max: 2135081620 sum: 68346511655 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9204340807292138409 max: 9208698732685326961 positions: 0,0,0 - Entry 1: count: 1000 min: -9221963099397084326 max: 9222722740629726770 positions: 0,4098,488 - Entry 2: count: 1000 min: -9210480084701091299 max: 9207767402467343058 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9195038026813631215 max: 9199201928563274421 positions: 20006,490,440 - Entry 4: count: 1000 min: -9215483580266514322 max: 9220102792864959501 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9204340807292138409 max: 9208698732685326961 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9221963099397084326 max: 9222722740629726770 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9210480084701091299 max: 9207767402467343058 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9195038026813631215 max: 9199201928563274421 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9215483580266514322 max: 9220102792864959501 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876 positions: 0,0,0,0,0 - Entry 1: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964 positions: 80352,3880,0,1097,28 - Entry 2: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976 positions: 170641,3422,0,2077,162 - Entry 3: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766 positions: 268420,9960,0,3369,16 - Entry 4: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974 positions: 377916,1620,0,4041,470 - Stripe: offset: 1048520 data: 792850 rows: 5000 tail: 69 index: 1351 - Stream: column 0 section ROW_INDEX start: 1048520 length 15 - Stream: column 1 section ROW_INDEX start: 1048535 length 149 - Stream: column 2 section ROW_INDEX start: 1048684 length 170 - Stream: column 3 section ROW_INDEX start: 1048854 length 1017 - Stream: column 1 section DATA start: 1049871 length 20029 - Stream: column 2 section DATA start: 1069900 length 40035 - Stream: column 3 section DATA start: 1109935 length 727038 - Stream: column 3 section LENGTH start: 1836973 length 5748 + Entry 0:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876 sum: 313880 positions: 0,0,0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964 sum: 349542 positions: 80352,3880,0,1097,28 + Entry 2:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976 sum: 386538 positions: 170641,3422,0,2077,162 + Entry 3:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766 sum: 421660 positions: 268420,9960,0,3369,16 + Entry 4:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974 sum: 453606 positions: 377916,1620,0,4041,470 + Stripe: offset: 1048559 data: 792850 rows: 5000 tail: 69 index: 1369 + Stream: column 0 section ROW_INDEX start: 1048559 length 17 + Stream: column 1 section ROW_INDEX start: 1048576 length 153 + Stream: column 2 section ROW_INDEX start: 1048729 length 172 + Stream: column 3 section ROW_INDEX start: 1048901 length 1027 + Stream: column 1 section DATA start: 1049928 length 20029 + Stream: column 2 section DATA start: 1069957 length 40035 + Stream: column 3 section DATA start: 1109992 length 727038 + Stream: column 3 section LENGTH start: 1837030 length 5748 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DIRECT_V2 Row group index column 1: - Entry 0: count: 1000 min: -2145319330 max: 2146998132 positions: 0,0,0 - Entry 1: count: 1000 min: -2134288866 max: 2147453086 positions: 0,2050,488 - Entry 2: count: 1000 min: -2139010804 max: 2144727593 positions: 0,6150,464 - Entry 3: count: 1000 min: -2145378214 max: 2144098933 positions: 10003,250,440 - Entry 4: count: 1000 min: -2140494429 max: 2144595861 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2145319330 max: 2146998132 sum: -50856753363 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2134288866 max: 2147453086 sum: -17911019023 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2139010804 max: 2144727593 sum: -24993151857 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2145378214 max: 2144098933 sum: -18055164052 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2140494429 max: 2144595861 sum: -41863916235 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9172774601303513941 max: 9212917101275642143 positions: 0,0,0 - Entry 1: count: 1000 min: -9218164880949195469 max: 9222919052987871506 positions: 0,4098,488 - Entry 2: count: 1000 min: -9222731174895935707 max: 9214167447015056056 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9196276654247395117 max: 9210639275226058005 positions: 20006,490,440 - Entry 4: count: 1000 min: -9197393848859294562 max: 9208134757538374043 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9172774601303513941 max: 9212917101275642143 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9218164880949195469 max: 9222919052987871506 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9222731174895935707 max: 9214167447015056056 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9196276654247395117 max: 9210639275226058005 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9197393848859294562 max: 9208134757538374043 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610 positions: 0,0,0,0,0 - Entry 1: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936 positions: 126968,2916,0,1077,140 - Entry 2: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878 positions: 263111,206,0,1926,462 - Entry 3: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788 positions: 407371,8480,0,3444,250 - Entry 4: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214-18444-18446-18724-18912-18952-19164 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904 positions: 562094,3058,0,4643,292 - Stripe: offset: 1842790 data: 188033 rows: 1000 tail: 67 index: 832 - Stream: column 0 section ROW_INDEX start: 1842790 length 10 - Stream: column 1 section ROW_INDEX start: 1842800 length 36 - Stream: column 2 section ROW_INDEX start: 1842836 length 39 - Stream: column 3 section ROW_INDEX start: 1842875 length 747 - Stream: column 1 section DATA start: 1843622 length 4007 - Stream: column 2 section DATA start: 1847629 length 8007 - Stream: column 3 section DATA start: 1855636 length 174759 - Stream: column 3 section LENGTH start: 2030395 length 1260 + Entry 0:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610 sum: 492916 positions: 0,0,0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936 sum: 527290 positions: 126968,2916,0,1077,140 + Entry 2:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878 sum: 568274 positions: 263111,206,0,1926,462 + Entry 3:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788 sum: 594578 positions: 407371,8480,0,3444,250 + Entry 4:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214-18444-18446-18724-18912-18952-19164 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904 sum: 631944 positions: 562094,3058,0,4643,292 + Stripe: offset: 1842847 data: 188033 rows: 1000 tail: 67 index: 841 + Stream: column 0 section ROW_INDEX start: 1842847 length 12 + Stream: column 1 section ROW_INDEX start: 1842859 length 38 + Stream: column 2 section ROW_INDEX start: 1842897 length 41 + Stream: column 3 section ROW_INDEX start: 1842938 length 750 + Stream: column 1 section DATA start: 1843688 length 4007 + Stream: column 2 section DATA start: 1847695 length 8007 + Stream: column 3 section DATA start: 1855702 length 174759 + Stream: column 3 section LENGTH start: 2030461 length 1260 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DIRECT_V2 Row group index column 1: - Entry 0: count: 1000 min: -2143595397 max: 2136858458 positions: 0,0,0 + Entry 0:count: 1000 hasNull: false min: -2143595397 max: 2136858458 sum: -22999664100 positions: 0,0,0 Row group index column 2: - Entry 0: count: 1000 min: -9212379634781416464 max: 9197412874152820822 positions: 0,0,0 + Entry 0:count: 1000 hasNull: false min: -9212379634781416464 max: 9197412874152820822 positions: 0,0,0 Row group index column 3: - Entry 0: count: 1000 min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214-18444-18446-18724-18912-18952-19164-19348-19400-19546-19776-19896-20084 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904-20390-20752-20936 positions: 0,0,0,0,0 + Entry 0:count: 1000 hasNull: false min: Darkness,-230-368-488-586-862-930-1686-2044-2636-2652-2872-3108-3162-3192-3404-3442-3508-3542-3550-3712-3980-4146-4204-4336-4390-4418-4424-4490-4512-4650-4768-4924-4950-5210-5524-5630-5678-5710-5758-5952-6238-6252-6300-6366-6668-6712-6926-6942-7100-7194-7802-8030-8452-8608-8640-8862-8868-9134-9234-9412-9602-9608-9642-9678-9740-9780-10426-10510-10514-10706-10814-10870-10942-11028-11244-11326-11462-11496-11656-11830-12022-12178-12418-12832-13304-13448-13590-13618-13908-14188-14246-14340-14364-14394-14762-14850-14964-15048-15494-15674-15726-16006-16056-16180-16304-16332-16452-16598-16730-16810-16994-17210-17268-17786-17962-18214-18444-18446-18724-18912-18952-19164-19348-19400-19546-19776-19896-20084 max: worst-54-290-346-648-908-996-1038-1080-1560-1584-1620-1744-1770-1798-1852-1966-2162-2244-2286-2296-2534-2660-3114-3676-3788-4068-4150-4706-4744-5350-5420-5582-5696-5726-6006-6020-6024-6098-6184-6568-6636-6802-6994-7004-7318-7498-7758-7780-7798-7920-7952-7960-7988-8232-8256-8390-8416-8478-8620-8840-8984-9038-9128-9236-9248-9344-9594-9650-9714-9928-9938-10178-10368-10414-10502-10732-10876-11008-11158-11410-11722-11836-11964-12054-12096-12126-12136-12202-12246-12298-12616-12774-12782-12790-12802-12976-13216-13246-13502-13766-14454-14974-15004-15124-15252-15294-15356-15530-15610-16316-16936-17024-17122-17214-17310-17528-17682-17742-17870-17878-18010-18410-18524-18788-19204-19254-19518-19596-19786-19874-19904-20390-20752-20936 sum: 670762 positions: 0,0,0,0,0 -File length: 2033559 bytes +File length: 2033643 bytes Padding length: 0 bytes Padding ratio: 0% diff --git ql/src/test/resources/orc-file-dump.out ql/src/test/resources/orc-file-dump.out index d0cb1be..cfeea24 100644 --- ql/src/test/resources/orc-file-dump.out +++ ql/src/test/resources/orc-file-dump.out @@ -7,187 +7,187 @@ Type: struct Stripe Statistics: Stripe 1: - Column 0: count: 5000 - Column 1: count: 5000 min: -2146021688 max: 2147223299 sum: 515792826 - Column 2: count: 5000 min: -9218592812243954469 max: 9221614132680747961 - Column 3: count: 5000 min: Darkness, max: worst sum: 19280 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2146021688 max: 2147223299 sum: 515792826 + Column 2: count: 5000 hasNull: false min: -9218592812243954469 max: 9221614132680747961 + Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19280 Stripe 2: - Column 0: count: 5000 - Column 1: count: 5000 min: -2146733128 max: 2147001622 sum: 7673427 - Column 2: count: 5000 min: -9220818777591257749 max: 9222259462014003839 - Column 3: count: 5000 min: Darkness, max: worst sum: 19504 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2146733128 max: 2147001622 sum: 7673427 + Column 2: count: 5000 hasNull: false min: -9220818777591257749 max: 9222259462014003839 + Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19504 Stripe 3: - Column 0: count: 5000 - Column 1: count: 5000 min: -2146993718 max: 2147378179 sum: 132660742551 - Column 2: count: 5000 min: -9218342074710552826 max: 9222303228623055266 - Column 3: count: 5000 min: Darkness, max: worst sum: 19641 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2146993718 max: 2147378179 sum: 132660742551 + Column 2: count: 5000 hasNull: false min: -9218342074710552826 max: 9222303228623055266 + Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19641 Stripe 4: - Column 0: count: 5000 - Column 1: count: 5000 min: -2146658006 max: 2145520931 sum: 8533549236 - Column 2: count: 5000 min: -9222758097219661129 max: 9221043130193737406 - Column 3: count: 5000 min: Darkness, max: worst sum: 19470 + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false min: -2146658006 max: 2145520931 sum: 8533549236 + Column 2: count: 5000 hasNull: false min: -9222758097219661129 max: 9221043130193737406 + Column 3: count: 5000 hasNull: false min: Darkness, max: worst sum: 19470 Stripe 5: - Column 0: count: 1000 - Column 1: count: 1000 min: -2146245500 max: 2146378640 sum: 51299706363 - Column 2: count: 1000 min: -9208193203370316142 max: 9218567213558056476 - Column 3: count: 1000 min: Darkness, max: worst sum: 3866 + Column 0: count: 1000 hasNull: false + Column 1: count: 1000 hasNull: false min: -2146245500 max: 2146378640 sum: 51299706363 + Column 2: count: 1000 hasNull: false min: -9208193203370316142 max: 9218567213558056476 + Column 3: count: 1000 hasNull: false min: Darkness, max: worst sum: 3866 File Statistics: - Column 0: count: 21000 - Column 1: count: 21000 min: -2146993718 max: 2147378179 sum: 193017464403 - Column 2: count: 21000 min: -9222758097219661129 max: 9222303228623055266 - Column 3: count: 21000 min: Darkness, max: worst sum: 81761 + Column 0: count: 21000 hasNull: false + Column 1: count: 21000 hasNull: false min: -2146993718 max: 2147378179 sum: 193017464403 + Column 2: count: 21000 hasNull: false min: -9222758097219661129 max: 9222303228623055266 + Column 3: count: 21000 hasNull: false min: Darkness, max: worst sum: 81761 Stripes: - Stripe: offset: 3 data: 63765 rows: 5000 tail: 79 index: 428 - Stream: column 0 section ROW_INDEX start: 3 length 15 - Stream: column 1 section ROW_INDEX start: 18 length 158 - Stream: column 2 section ROW_INDEX start: 176 length 171 - Stream: column 3 section ROW_INDEX start: 347 length 84 - Stream: column 1 section DATA start: 431 length 20029 - Stream: column 2 section DATA start: 20460 length 40035 - Stream: column 3 section DATA start: 60495 length 3543 - Stream: column 3 section LENGTH start: 64038 length 25 - Stream: column 3 section DICTIONARY_DATA start: 64063 length 133 + Stripe: offset: 3 data: 63765 rows: 5000 tail: 79 index: 441 + Stream: column 0 section ROW_INDEX start: 3 length 17 + Stream: column 1 section ROW_INDEX start: 20 length 164 + Stream: column 2 section ROW_INDEX start: 184 length 173 + Stream: column 3 section ROW_INDEX start: 357 length 87 + Stream: column 1 section DATA start: 444 length 20029 + Stream: column 2 section DATA start: 20473 length 40035 + Stream: column 3 section DATA start: 60508 length 3543 + Stream: column 3 section LENGTH start: 64051 length 25 + Stream: column 3 section DICTIONARY_DATA start: 64076 length 133 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DICTIONARY_V2[35] Row group index column 1: - Entry 0: count: 1000 min: -2145365268 max: 2135491313 positions: 0,0,0 - Entry 1: count: 1000 min: -2139452528 max: 2147223299 positions: 0,2050,488 - Entry 2: count: 1000 min: -2142420586 max: 2143898386 positions: 0,6150,464 - Entry 3: count: 1000 min: -2137233441 max: 2144267163 positions: 10003,250,440 - Entry 4: count: 1000 min: -2146021688 max: 2146838901 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2145365268 max: 2135491313 sum: 7521792925 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2139452528 max: 2147223299 sum: -12923774313 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2142420586 max: 2143898386 sum: -25521983511 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2137233441 max: 2144267163 sum: 40993386199 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2146021688 max: 2146838901 sum: -9553628474 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9200577545527640566 max: 9175500305011173751 positions: 0,0,0 - Entry 1: count: 1000 min: -9203618157670445774 max: 9208123824411178101 positions: 0,4098,488 - Entry 2: count: 1000 min: -9218592812243954469 max: 9221351515892923972 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9206585617947511272 max: 9167703224425685487 positions: 20006,490,440 - Entry 4: count: 1000 min: -9206645795733282496 max: 9221614132680747961 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9200577545527640566 max: 9175500305011173751 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9203618157670445774 max: 9208123824411178101 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9218592812243954469 max: 9221351515892923972 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9206585617947511272 max: 9167703224425685487 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9206645795733282496 max: 9221614132680747961 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness, max: worst positions: 0,0,0 - Entry 1: count: 1000 min: Darkness, max: worst positions: 0,659,149 - Entry 2: count: 1000 min: Darkness, max: worst positions: 0,1531,3 - Entry 3: count: 1000 min: Darkness, max: worst positions: 0,2281,32 - Entry 4: count: 1000 min: Darkness, max: worst positions: 0,3033,45 - Stripe: offset: 64275 data: 63754 rows: 5000 tail: 79 index: 421 - Stream: column 0 section ROW_INDEX start: 64275 length 15 - Stream: column 1 section ROW_INDEX start: 64290 length 157 - Stream: column 2 section ROW_INDEX start: 64447 length 169 - Stream: column 3 section ROW_INDEX start: 64616 length 80 - Stream: column 1 section DATA start: 64696 length 20029 - Stream: column 2 section DATA start: 84725 length 40035 - Stream: column 3 section DATA start: 124760 length 3532 - Stream: column 3 section LENGTH start: 128292 length 25 - Stream: column 3 section DICTIONARY_DATA start: 128317 length 133 + Entry 0:count: 1000 hasNull: false min: Darkness, max: worst sum: 3862 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness, max: worst sum: 3884 positions: 0,659,149 + Entry 2:count: 1000 hasNull: false min: Darkness, max: worst sum: 3893 positions: 0,1531,3 + Entry 3:count: 1000 hasNull: false min: Darkness, max: worst sum: 3798 positions: 0,2281,32 + Entry 4:count: 1000 hasNull: false min: Darkness, max: worst sum: 3843 positions: 0,3033,45 + Stripe: offset: 64288 data: 63754 rows: 5000 tail: 79 index: 433 + Stream: column 0 section ROW_INDEX start: 64288 length 17 + Stream: column 1 section ROW_INDEX start: 64305 length 162 + Stream: column 2 section ROW_INDEX start: 64467 length 171 + Stream: column 3 section ROW_INDEX start: 64638 length 83 + Stream: column 1 section DATA start: 64721 length 20029 + Stream: column 2 section DATA start: 84750 length 40035 + Stream: column 3 section DATA start: 124785 length 3532 + Stream: column 3 section LENGTH start: 128317 length 25 + Stream: column 3 section DICTIONARY_DATA start: 128342 length 133 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DICTIONARY_V2[35] Row group index column 1: - Entry 0: count: 1000 min: -2143799121 max: 2145249879 positions: 0,0,0 - Entry 1: count: 1000 min: -2146733128 max: 2147001622 positions: 0,2050,488 - Entry 2: count: 1000 min: -2144302712 max: 2146299933 positions: 0,6150,464 - Entry 3: count: 1000 min: -2145172948 max: 2144335014 positions: 10003,250,440 - Entry 4: count: 1000 min: -2146428427 max: 2144067253 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2143799121 max: 2145249879 sum: -6966266181 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2146733128 max: 2147001622 sum: -35930106333 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2144302712 max: 2146299933 sum: 6944230435 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2145172948 max: 2144335014 sum: -29624404959 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2146428427 max: 2144067253 sum: 65584220465 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9218450653857701562 max: 9189819526332228512 positions: 0,0,0 - Entry 1: count: 1000 min: -9220818777591257749 max: 9178821722829648113 positions: 0,4098,488 - Entry 2: count: 1000 min: -9220031433030423388 max: 9210838931786956852 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9208195729739635607 max: 9222259462014003839 positions: 20006,490,440 - Entry 4: count: 1000 min: -9174271499932339698 max: 9212277876771676916 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9218450653857701562 max: 9189819526332228512 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9220818777591257749 max: 9178821722829648113 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9220031433030423388 max: 9210838931786956852 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9208195729739635607 max: 9222259462014003839 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9174271499932339698 max: 9212277876771676916 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness, max: worst positions: 0,0,0 - Entry 1: count: 1000 min: Darkness, max: worst positions: 0,761,12 - Entry 2: count: 1000 min: Darkness, max: worst positions: 0,1472,70 - Entry 3: count: 1000 min: Darkness, max: worst positions: 0,2250,43 - Entry 4: count: 1000 min: Darkness, max: worst positions: 0,2978,88 - Stripe: offset: 128529 data: 63766 rows: 5000 tail: 79 index: 422 - Stream: column 0 section ROW_INDEX start: 128529 length 15 - Stream: column 1 section ROW_INDEX start: 128544 length 153 - Stream: column 2 section ROW_INDEX start: 128697 length 169 - Stream: column 3 section ROW_INDEX start: 128866 length 85 - Stream: column 1 section DATA start: 128951 length 20029 - Stream: column 2 section DATA start: 148980 length 40035 - Stream: column 3 section DATA start: 189015 length 3544 - Stream: column 3 section LENGTH start: 192559 length 25 - Stream: column 3 section DICTIONARY_DATA start: 192584 length 133 + Entry 0:count: 1000 hasNull: false min: Darkness, max: worst sum: 3923 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness, max: worst sum: 3869 positions: 0,761,12 + Entry 2:count: 1000 hasNull: false min: Darkness, max: worst sum: 3817 positions: 0,1472,70 + Entry 3:count: 1000 hasNull: false min: Darkness, max: worst sum: 3931 positions: 0,2250,43 + Entry 4:count: 1000 hasNull: false min: Darkness, max: worst sum: 3964 positions: 0,2978,88 + Stripe: offset: 128554 data: 63766 rows: 5000 tail: 79 index: 437 + Stream: column 0 section ROW_INDEX start: 128554 length 17 + Stream: column 1 section ROW_INDEX start: 128571 length 159 + Stream: column 2 section ROW_INDEX start: 128730 length 171 + Stream: column 3 section ROW_INDEX start: 128901 length 90 + Stream: column 1 section DATA start: 128991 length 20029 + Stream: column 2 section DATA start: 149020 length 40035 + Stream: column 3 section DATA start: 189055 length 3544 + Stream: column 3 section LENGTH start: 192599 length 25 + Stream: column 3 section DICTIONARY_DATA start: 192624 length 133 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DICTIONARY_V2[35] Row group index column 1: - Entry 0: count: 1000 min: -2146993718 max: 2144179881 positions: 0,0,0 - Entry 1: count: 1000 min: -2144095505 max: 2144883384 positions: 0,2050,488 - Entry 2: count: 1000 min: -2144113995 max: 2143773575 positions: 0,6150,464 - Entry 3: count: 1000 min: -2146954065 max: 2146794873 positions: 10003,250,440 - Entry 4: count: 1000 min: -2135511523 max: 2147378179 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2146993718 max: 2144179881 sum: -7829543271 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2144095505 max: 2144883384 sum: 51623839692 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2144113995 max: 2143773575 sum: 56574412741 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2146954065 max: 2146794873 sum: 4336083432 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2135511523 max: 2147378179 sum: 27955949957 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9211978436552246208 max: 9179058898902097152 positions: 0,0,0 - Entry 1: count: 1000 min: -9195645160817780503 max: 9189147759444307708 positions: 0,4098,488 - Entry 2: count: 1000 min: -9202888157616520823 max: 9193561362676960747 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9216318198067839390 max: 9221286760675829363 positions: 20006,490,440 - Entry 4: count: 1000 min: -9218342074710552826 max: 9222303228623055266 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9211978436552246208 max: 9179058898902097152 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9195645160817780503 max: 9189147759444307708 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9202888157616520823 max: 9193561362676960747 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9216318198067839390 max: 9221286760675829363 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9218342074710552826 max: 9222303228623055266 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness, max: worst positions: 0,0,0 - Entry 1: count: 1000 min: Darkness, max: worst positions: 0,634,174 - Entry 2: count: 1000 min: Darkness, max: worst positions: 0,1469,69 - Entry 3: count: 1000 min: Darkness, max: worst positions: 0,2133,194 - Entry 4: count: 1000 min: Darkness, max: worst positions: 0,3005,43 - Stripe: offset: 192796 data: 63796 rows: 5000 tail: 79 index: 425 - Stream: column 0 section ROW_INDEX start: 192796 length 15 - Stream: column 1 section ROW_INDEX start: 192811 length 156 - Stream: column 2 section ROW_INDEX start: 192967 length 168 - Stream: column 3 section ROW_INDEX start: 193135 length 86 - Stream: column 1 section DATA start: 193221 length 20029 - Stream: column 2 section DATA start: 213250 length 40035 - Stream: column 3 section DATA start: 253285 length 3574 - Stream: column 3 section LENGTH start: 256859 length 25 - Stream: column 3 section DICTIONARY_DATA start: 256884 length 133 + Entry 0:count: 1000 hasNull: false min: Darkness, max: worst sum: 3817 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness, max: worst sum: 4008 positions: 0,634,174 + Entry 2:count: 1000 hasNull: false min: Darkness, max: worst sum: 3999 positions: 0,1469,69 + Entry 3:count: 1000 hasNull: false min: Darkness, max: worst sum: 3817 positions: 0,2133,194 + Entry 4:count: 1000 hasNull: false min: Darkness, max: worst sum: 4000 positions: 0,3005,43 + Stripe: offset: 192836 data: 63796 rows: 5000 tail: 79 index: 440 + Stream: column 0 section ROW_INDEX start: 192836 length 17 + Stream: column 1 section ROW_INDEX start: 192853 length 162 + Stream: column 2 section ROW_INDEX start: 193015 length 170 + Stream: column 3 section ROW_INDEX start: 193185 length 91 + Stream: column 1 section DATA start: 193276 length 20029 + Stream: column 2 section DATA start: 213305 length 40035 + Stream: column 3 section DATA start: 253340 length 3574 + Stream: column 3 section LENGTH start: 256914 length 25 + Stream: column 3 section DICTIONARY_DATA start: 256939 length 133 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DICTIONARY_V2[35] Row group index column 1: - Entry 0: count: 1000 min: -2141355639 max: 2145520931 positions: 0,0,0 - Entry 1: count: 1000 min: -2138324170 max: 2140167376 positions: 0,2050,488 - Entry 2: count: 1000 min: -2146658006 max: 2144329742 positions: 0,6150,464 - Entry 3: count: 1000 min: -2144207593 max: 2139456355 positions: 10003,250,440 - Entry 4: count: 1000 min: -2145744719 max: 2145417153 positions: 10003,4350,416 + Entry 0:count: 1000 hasNull: false min: -2141355639 max: 2145520931 sum: 2726719912 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -2138324170 max: 2140167376 sum: -23606674002 positions: 0,2050,488 + Entry 2:count: 1000 hasNull: false min: -2146658006 max: 2144329742 sum: -41530109703 positions: 0,6150,464 + Entry 3:count: 1000 hasNull: false min: -2144207593 max: 2139456355 sum: 13559842458 positions: 10003,250,440 + Entry 4:count: 1000 hasNull: false min: -2145744719 max: 2145417153 sum: 57383770571 positions: 10003,4350,416 Row group index column 2: - Entry 0: count: 1000 min: -9222731174895935707 max: 9214167447015056056 positions: 0,0,0 - Entry 1: count: 1000 min: -9222758097219661129 max: 9221043130193737406 positions: 0,4098,488 - Entry 2: count: 1000 min: -9174483776261243438 max: 9208134757538374043 positions: 10003,2294,464 - Entry 3: count: 1000 min: -9174329712613510612 max: 9197412874152820822 positions: 20006,490,440 - Entry 4: count: 1000 min: -9221162005892422758 max: 9220625004936875965 positions: 20006,8686,416 + Entry 0:count: 1000 hasNull: false min: -9222731174895935707 max: 9214167447015056056 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: -9222758097219661129 max: 9221043130193737406 positions: 0,4098,488 + Entry 2:count: 1000 hasNull: false min: -9174483776261243438 max: 9208134757538374043 positions: 10003,2294,464 + Entry 3:count: 1000 hasNull: false min: -9174329712613510612 max: 9197412874152820822 positions: 20006,490,440 + Entry 4:count: 1000 hasNull: false min: -9221162005892422758 max: 9220625004936875965 positions: 20006,8686,416 Row group index column 3: - Entry 0: count: 1000 min: Darkness, max: worst positions: 0,0,0 - Entry 1: count: 1000 min: Darkness, max: worst positions: 0,431,431 - Entry 2: count: 1000 min: Darkness, max: worst positions: 0,1485,52 - Entry 3: count: 1000 min: Darkness, max: worst positions: 0,2196,104 - Entry 4: count: 1000 min: Darkness, max: worst positions: 0,2934,131 - Stripe: offset: 257096 data: 12940 rows: 1000 tail: 71 index: 123 - Stream: column 0 section ROW_INDEX start: 257096 length 10 - Stream: column 1 section ROW_INDEX start: 257106 length 36 - Stream: column 2 section ROW_INDEX start: 257142 length 39 - Stream: column 3 section ROW_INDEX start: 257181 length 38 - Stream: column 1 section DATA start: 257219 length 4007 - Stream: column 2 section DATA start: 261226 length 8007 - Stream: column 3 section DATA start: 269233 length 768 - Stream: column 3 section LENGTH start: 270001 length 25 - Stream: column 3 section DICTIONARY_DATA start: 270026 length 133 + Entry 0:count: 1000 hasNull: false min: Darkness, max: worst sum: 3901 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: Darkness, max: worst sum: 3900 positions: 0,431,431 + Entry 2:count: 1000 hasNull: false min: Darkness, max: worst sum: 3909 positions: 0,1485,52 + Entry 3:count: 1000 hasNull: false min: Darkness, max: worst sum: 3947 positions: 0,2196,104 + Entry 4:count: 1000 hasNull: false min: Darkness, max: worst sum: 3813 positions: 0,2934,131 + Stripe: offset: 257151 data: 12940 rows: 1000 tail: 71 index: 131 + Stream: column 0 section ROW_INDEX start: 257151 length 12 + Stream: column 1 section ROW_INDEX start: 257163 length 38 + Stream: column 2 section ROW_INDEX start: 257201 length 41 + Stream: column 3 section ROW_INDEX start: 257242 length 40 + Stream: column 1 section DATA start: 257282 length 4007 + Stream: column 2 section DATA start: 261289 length 8007 + Stream: column 3 section DATA start: 269296 length 768 + Stream: column 3 section LENGTH start: 270064 length 25 + Stream: column 3 section DICTIONARY_DATA start: 270089 length 133 Encoding column 0: DIRECT Encoding column 1: DIRECT_V2 Encoding column 2: DIRECT_V2 Encoding column 3: DICTIONARY_V2[35] Row group index column 1: - Entry 0: count: 1000 min: -2146245500 max: 2146378640 positions: 0,0,0 + Entry 0:count: 1000 hasNull: false min: -2146245500 max: 2146378640 sum: 51299706363 positions: 0,0,0 Row group index column 2: - Entry 0: count: 1000 min: -9208193203370316142 max: 9218567213558056476 positions: 0,0,0 + Entry 0:count: 1000 hasNull: false min: -9208193203370316142 max: 9218567213558056476 positions: 0,0,0 Row group index column 3: - Entry 0: count: 1000 min: Darkness, max: worst positions: 0,0,0 + Entry 0:count: 1000 hasNull: false min: Darkness, max: worst sum: 3866 positions: 0,0,0 -File length: 270762 bytes +File length: 270838 bytes Padding length: 0 bytes Padding ratio: 0% diff --git ql/src/test/resources/orc-file-has-null.out ql/src/test/resources/orc-file-has-null.out new file mode 100644 index 0000000..f1dfcd3 --- /dev/null +++ ql/src/test/resources/orc-file-has-null.out @@ -0,0 +1,110 @@ +Structure for TestOrcFile.testHasNull.orc +File Version: 0.12 with HIVE_8732 +Rows: 20000 +Compression: ZLIB +Compression size: 10000 +Type: struct + +Stripe Statistics: + Stripe 1: + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false sum: 15000 + Column 2: count: 2000 hasNull: true min: RG1 max: RG3 sum: 6000 + Stripe 2: + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false sum: 15000 + Column 2: count: 0 hasNull: true + Stripe 3: + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false sum: 15000 + Column 2: count: 5000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 40000 + Stripe 4: + Column 0: count: 5000 hasNull: false + Column 1: count: 5000 hasNull: false sum: 15000 + Column 2: count: 0 hasNull: true + +File Statistics: + Column 0: count: 20000 hasNull: false + Column 1: count: 20000 hasNull: false sum: 60000 + Column 2: count: 7000 hasNull: true min: RG1 max: STRIPE-3 sum: 46000 + +Stripes: + Stripe: offset: 3 data: 195 rows: 5000 tail: 64 index: 162 + Stream: column 0 section ROW_INDEX start: 3 length 17 + Stream: column 1 section ROW_INDEX start: 20 length 63 + Stream: column 2 section ROW_INDEX start: 83 length 82 + Stream: column 1 section DATA start: 165 length 113 + Stream: column 1 section LENGTH start: 278 length 32 + Stream: column 2 section PRESENT start: 310 length 13 + Stream: column 2 section DATA start: 323 length 22 + Stream: column 2 section LENGTH start: 345 length 6 + Stream: column 2 section DICTIONARY_DATA start: 351 length 9 + Encoding column 0: DIRECT + Encoding column 1: DIRECT_V2 + Encoding column 2: DICTIONARY_V2[2] + Row group index column 2: + Entry 0:count: 1000 hasNull: false min: RG1 max: RG1 sum: 3000 positions: 0,0,0,0,0,0,0 + Entry 1:count: 0 hasNull: true positions: 0,0,125,0,0,66,488 + Entry 2:count: 1000 hasNull: false min: RG3 max: RG3 sum: 3000 positions: 0,2,125,0,0,66,488 + Entry 3:count: 0 hasNull: true positions: 0,4,125,0,0,136,488 + Entry 4:count: 0 hasNull: true positions: 0,6,125,0,0,136,488 + Stripe: offset: 424 data: 156 rows: 5000 tail: 60 index: 119 + Stream: column 0 section ROW_INDEX start: 424 length 17 + Stream: column 1 section ROW_INDEX start: 441 length 63 + Stream: column 2 section ROW_INDEX start: 504 length 39 + Stream: column 1 section DATA start: 543 length 113 + Stream: column 1 section LENGTH start: 656 length 32 + Stream: column 2 section PRESENT start: 688 length 11 + Stream: column 2 section DATA start: 699 length 0 + Stream: column 2 section LENGTH start: 699 length 0 + Stream: column 2 section DICTIONARY_DATA start: 699 length 0 + Encoding column 0: DIRECT + Encoding column 1: DIRECT_V2 + Encoding column 2: DICTIONARY_V2[0] + Row group index column 2: + Entry 0:count: 0 hasNull: true positions: 0,0,0,0,0,0,0 + Entry 1:count: 0 hasNull: true positions: 0,0,125,0,0,0,0 + Entry 2:count: 0 hasNull: true positions: 0,2,120,0,0,0,0 + Entry 3:count: 0 hasNull: true positions: 0,4,115,0,0,0,0 + Entry 4:count: 0 hasNull: true positions: 0,6,110,0,0,0,0 + Stripe: offset: 759 data: 186 rows: 5000 tail: 60 index: 148 + Stream: column 0 section ROW_INDEX start: 759 length 17 + Stream: column 1 section ROW_INDEX start: 776 length 63 + Stream: column 2 section ROW_INDEX start: 839 length 68 + Stream: column 1 section DATA start: 907 length 113 + Stream: column 1 section LENGTH start: 1020 length 32 + Stream: column 2 section DATA start: 1052 length 24 + Stream: column 2 section LENGTH start: 1076 length 6 + Stream: column 2 section DICTIONARY_DATA start: 1082 length 11 + Encoding column 0: DIRECT + Encoding column 1: DIRECT_V2 + Encoding column 2: DICTIONARY_V2[1] + Row group index column 2: + Entry 0:count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,0,0 + Entry 1:count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,66,488 + Entry 2:count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,198,464 + Entry 3:count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,330,440 + Entry 4:count: 1000 hasNull: false min: STRIPE-3 max: STRIPE-3 sum: 8000 positions: 0,462,416 + Stripe: offset: 1153 data: 156 rows: 5000 tail: 60 index: 119 + Stream: column 0 section ROW_INDEX start: 1153 length 17 + Stream: column 1 section ROW_INDEX start: 1170 length 63 + Stream: column 2 section ROW_INDEX start: 1233 length 39 + Stream: column 1 section DATA start: 1272 length 113 + Stream: column 1 section LENGTH start: 1385 length 32 + Stream: column 2 section PRESENT start: 1417 length 11 + Stream: column 2 section DATA start: 1428 length 0 + Stream: column 2 section LENGTH start: 1428 length 0 + Stream: column 2 section DICTIONARY_DATA start: 1428 length 0 + Encoding column 0: DIRECT + Encoding column 1: DIRECT_V2 + Encoding column 2: DICTIONARY_V2[0] + Row group index column 2: + Entry 0:count: 0 hasNull: true positions: 0,0,0,0,0,0,0 + Entry 1:count: 0 hasNull: true positions: 0,0,125,0,0,0,0 + Entry 2:count: 0 hasNull: true positions: 0,2,120,0,0,0,0 + Entry 3:count: 0 hasNull: true positions: 0,4,115,0,0,0,0 + Entry 4:count: 0 hasNull: true positions: 0,6,110,0,0,0,0 + +File length: 1736 bytes +Padding length: 0 bytes +Padding ratio: 0% diff --git ql/src/test/results/clientpositive/alter_merge_orc.q.out ql/src/test/results/clientpositive/alter_merge_orc.q.out index 22914a8..b5a6d04 100644 --- ql/src/test/results/clientpositive/alter_merge_orc.q.out +++ ql/src/test/results/clientpositive/alter_merge_orc.q.out @@ -48,9 +48,9 @@ columns:struct columns { i32 key, string value} partitioned:false partitionColumns: totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test @@ -91,9 +91,9 @@ columns:struct columns { i32 key, string value} partitioned:false partitionColumns: totalNumberFiles:1 -totalFileSize:7169 -maxFileSize:7169 -minFileSize:7169 +totalFileSize:7198 +maxFileSize:7198 +minFileSize:7198 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test @@ -171,9 +171,9 @@ columns:struct columns { i32 key, string value} partitioned:true partitionColumns:struct partition_columns { string ds} totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test_part @@ -218,9 +218,9 @@ columns:struct columns { i32 key, string value} partitioned:true partitionColumns:struct partition_columns { string ds} totalNumberFiles:1 -totalFileSize:7169 -maxFileSize:7169 -minFileSize:7169 +totalFileSize:7198 +maxFileSize:7198 +minFileSize:7198 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test_part diff --git ql/src/test/results/clientpositive/alter_merge_stats_orc.q.out ql/src/test/results/clientpositive/alter_merge_stats_orc.q.out index cdcc18a..43cc4ef 100644 --- ql/src/test/results/clientpositive/alter_merge_stats_orc.q.out +++ ql/src/test/results/clientpositive/alter_merge_stats_orc.q.out @@ -48,9 +48,9 @@ columns:struct columns { i32 key, string value} partitioned:false partitionColumns: totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: desc extended src_orc_merge_test_stat @@ -94,7 +94,7 @@ Table Parameters: numFiles 3 numRows 1500 rawDataSize 141000 - totalSize 7494 + totalSize 7545 #### A masked pattern was here #### # Storage Information @@ -146,7 +146,7 @@ Table Parameters: numFiles 1 numRows 1500 rawDataSize 141000 - totalSize 7169 + totalSize 7198 #### A masked pattern was here #### # Storage Information @@ -216,9 +216,9 @@ columns:struct columns { i32 key, string value} partitioned:true partitionColumns:struct partition_columns { string ds} totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: desc formatted src_orc_merge_test_part_stat partition (ds='2011') @@ -249,7 +249,7 @@ Partition Parameters: numFiles 3 numRows 1500 rawDataSize 141000 - totalSize 7494 + totalSize 7545 #### A masked pattern was here #### # Storage Information @@ -300,7 +300,7 @@ Partition Parameters: numFiles 3 numRows 1500 rawDataSize 141000 - totalSize 7494 + totalSize 7545 #### A masked pattern was here #### # Storage Information @@ -359,7 +359,7 @@ Partition Parameters: numFiles 1 numRows 1500 rawDataSize 141000 - totalSize 7169 + totalSize 7198 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/annotate_stats_part.q.out ql/src/test/results/clientpositive/annotate_stats_part.q.out index c1b67b5..f003576 100644 --- ql/src/test/results/clientpositive/annotate_stats_part.q.out +++ ql/src/test/results/clientpositive/annotate_stats_part.q.out @@ -98,11 +98,11 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 5 Data size: 727 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 6 Data size: 767 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string) outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 5 Data size: 920 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 6 Data size: 1104 Basic stats: COMPLETE Column stats: PARTIAL ListSink PREHOOK: query: -- partition level analyze statistics for specific parition @@ -135,11 +135,11 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 2 Data size: 325 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3 Data size: 342 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), '__HIVE_DEFAULT_PARTITION__' (type: string) outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 2 Data size: 325 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3 Data size: 342 Basic stats: COMPLETE Column stats: NONE ListSink PREHOOK: query: -- basicStatState: PARTIAL colStatState: NONE @@ -158,11 +158,11 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 9 Data size: 727 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 10 Data size: 767 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string) outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 9 Data size: 1656 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 10 Data size: 1840 Basic stats: COMPLETE Column stats: PARTIAL ListSink PREHOOK: query: -- basicStatState: COMPLETE colStatState: NONE @@ -181,11 +181,11 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 7 Data size: 402 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 7 Data size: 425 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), '2001' (type: string) outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 7 Data size: 402 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 7 Data size: 425 Basic stats: COMPLETE Column stats: NONE ListSink PREHOOK: query: -- partition level analyze statistics for all partitions @@ -222,11 +222,11 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 1 Data size: 325 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), '__HIVE_DEFAULT_PARTITION__' (type: string) outputColumnNames: _col0, _col1, _col2, _col3 - Statistics: Num rows: 1 Data size: 325 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE ListSink PREHOOK: query: -- basicStatState: COMPLETE colStatState: NONE @@ -245,7 +245,7 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string) outputColumnNames: _col0, _col1, _col2, _col3 @@ -268,7 +268,7 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string) outputColumnNames: _col0, _col1, _col2, _col3 @@ -331,11 +331,11 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: zip (type: bigint) outputColumnNames: _col0 - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: NONE ListSink PREHOOK: query: -- basicStatState: COMPLETE colStatState: PARTIAL @@ -354,7 +354,7 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: state (type: string) outputColumnNames: _col0 @@ -377,7 +377,7 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: year (type: string) outputColumnNames: _col0 @@ -402,7 +402,7 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: state (type: string), locid (type: int) outputColumnNames: _col0, _col1 @@ -425,7 +425,7 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 7 Data size: 402 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 425 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: state (type: string), locid (type: int) outputColumnNames: _col0, _col1 @@ -448,11 +448,11 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 1 Data size: 325 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: state (type: string), locid (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 325 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 1 Data size: 342 Basic stats: COMPLETE Column stats: NONE ListSink PREHOOK: query: -- basicStatState: COMPLETE colStatState: PARTIAL @@ -471,7 +471,7 @@ STAGE PLANS: Processor Tree: TableScan alias: loc_orc - Statistics: Num rows: 8 Data size: 727 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 8 Data size: 767 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: state (type: string), locid (type: int), zip (type: bigint), year (type: string) outputColumnNames: _col0, _col1, _col2, _col3 @@ -496,7 +496,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: loc_orc - Statistics: Num rows: 7 Data size: 402 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 425 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (locid > 0) (type: boolean) Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE @@ -532,7 +532,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: loc_orc - Statistics: Num rows: 7 Data size: 402 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 425 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (locid > 0) (type: boolean) Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE @@ -568,7 +568,7 @@ STAGE PLANS: Map Operator Tree: TableScan alias: loc_orc - Statistics: Num rows: 7 Data size: 402 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 7 Data size: 425 Basic stats: COMPLETE Column stats: COMPLETE Filter Operator predicate: (locid > 0) (type: boolean) Statistics: Num rows: 2 Data size: 8 Basic stats: COMPLETE Column stats: COMPLETE diff --git ql/src/test/results/clientpositive/annotate_stats_table.q.out ql/src/test/results/clientpositive/annotate_stats_table.q.out index 796ac07..d89e669 100644 --- ql/src/test/results/clientpositive/annotate_stats_table.q.out +++ ql/src/test/results/clientpositive/annotate_stats_table.q.out @@ -89,11 +89,11 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 3 Data size: 366 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3 Data size: 384 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: lastname (type: string), deptid (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 3 Data size: 366 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 3 Data size: 384 Basic stats: COMPLETE Column stats: NONE ListSink PREHOOK: query: -- table level analyze statistics @@ -122,11 +122,11 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: NONE Select Operator expressions: lastname (type: string), deptid (type: int) outputColumnNames: _col0, _col1 - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: NONE + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: NONE ListSink PREHOOK: query: -- column level partial statistics @@ -155,7 +155,7 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: PARTIAL + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: PARTIAL Select Operator expressions: lastname (type: string), deptid (type: int) outputColumnNames: _col0, _col1 @@ -180,7 +180,7 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: deptid (type: int) outputColumnNames: _col0 @@ -213,7 +213,7 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: lastname (type: string), deptid (type: int) outputColumnNames: _col0, _col1 @@ -236,7 +236,7 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: lastname (type: string) outputColumnNames: _col0 @@ -259,7 +259,7 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: deptid (type: int) outputColumnNames: _col0 @@ -282,7 +282,7 @@ STAGE PLANS: Processor Tree: TableScan alias: emp_orc - Statistics: Num rows: 48 Data size: 366 Basic stats: COMPLETE Column stats: COMPLETE + Statistics: Num rows: 48 Data size: 384 Basic stats: COMPLETE Column stats: COMPLETE Select Operator expressions: lastname (type: string), deptid (type: int) outputColumnNames: _col0, _col1 diff --git ql/src/test/results/clientpositive/dynpart_sort_opt_vectorization.q.out ql/src/test/results/clientpositive/dynpart_sort_opt_vectorization.q.out index aecb390..32e0745 100644 --- ql/src/test/results/clientpositive/dynpart_sort_opt_vectorization.q.out +++ ql/src/test/results/clientpositive/dynpart_sort_opt_vectorization.q.out @@ -880,7 +880,7 @@ Partition Parameters: numFiles 2 numRows 32 rawDataSize 640 - totalSize 1352 + totalSize 1400 #### A masked pattern was here #### # Storage Information @@ -924,7 +924,7 @@ Partition Parameters: numFiles 2 numRows 6 rawDataSize 120 - totalSize 1054 + totalSize 1102 #### A masked pattern was here #### # Storage Information @@ -968,7 +968,7 @@ Partition Parameters: numFiles 2 numRows 14 rawDataSize 280 - totalSize 1170 + totalSize 1216 #### A masked pattern was here #### # Storage Information @@ -1012,7 +1012,7 @@ Partition Parameters: numFiles 2 numRows 6 rawDataSize 120 - totalSize 1054 + totalSize 1102 #### A masked pattern was here #### # Storage Information @@ -1055,7 +1055,7 @@ Partition Parameters: numFiles 8 numRows 32 rawDataSize 640 - totalSize 4356 + totalSize 4548 #### A masked pattern was here #### # Storage Information @@ -1098,7 +1098,7 @@ Partition Parameters: numFiles 8 numRows 6 rawDataSize 120 - totalSize 2110 + totalSize 2212 #### A masked pattern was here #### # Storage Information @@ -1141,7 +1141,7 @@ Partition Parameters: numFiles 8 numRows 32 rawDataSize 640 - totalSize 4342 + totalSize 4534 #### A masked pattern was here #### # Storage Information @@ -1184,7 +1184,7 @@ Partition Parameters: numFiles 8 numRows 6 rawDataSize 120 - totalSize 2110 + totalSize 2212 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/dynpart_sort_optimization2.q.out ql/src/test/results/clientpositive/dynpart_sort_optimization2.q.out index 2b5f79b..84159ab 100644 --- ql/src/test/results/clientpositive/dynpart_sort_optimization2.q.out +++ ql/src/test/results/clientpositive/dynpart_sort_optimization2.q.out @@ -1171,7 +1171,7 @@ Partition Parameters: numFiles 1 numRows 11 rawDataSize 88 - totalSize 419 + totalSize 433 #### A masked pattern was here #### # Storage Information @@ -1233,7 +1233,7 @@ Partition Parameters: numFiles 1 numRows 13 rawDataSize 104 - totalSize 442 + totalSize 456 #### A masked pattern was here #### # Storage Information @@ -1392,7 +1392,7 @@ Partition Parameters: numFiles 1 numRows 11 rawDataSize 88 - totalSize 419 + totalSize 433 #### A masked pattern was here #### # Storage Information @@ -1454,7 +1454,7 @@ Partition Parameters: numFiles 1 numRows 13 rawDataSize 104 - totalSize 442 + totalSize 456 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/extrapolate_part_stats_full.q.out ql/src/test/results/clientpositive/extrapolate_part_stats_full.q.out index a14b922..0f6b15d 100644 --- ql/src/test/results/clientpositive/extrapolate_part_stats_full.q.out +++ ql/src/test/results/clientpositive/extrapolate_part_stats_full.q.out @@ -136,7 +136,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 345 + totalSize 362 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -179,7 +179,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 363 + totalSize 382 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -269,7 +269,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 345 + totalSize 362 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -312,7 +312,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 363 + totalSize 382 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -469,7 +469,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 260 + totalSize 277 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -513,7 +513,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 259 + totalSize 279 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -557,7 +557,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -601,7 +601,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -688,7 +688,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 260 + totalSize 277 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -732,7 +732,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 259 + totalSize 279 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -776,7 +776,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -820,7 +820,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde diff --git ql/src/test/results/clientpositive/extrapolate_part_stats_partial.q.out ql/src/test/results/clientpositive/extrapolate_part_stats_partial.q.out index f94fd76..1fdeb90 100644 --- ql/src/test/results/clientpositive/extrapolate_part_stats_partial.q.out +++ ql/src/test/results/clientpositive/extrapolate_part_stats_partial.q.out @@ -153,7 +153,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 345 + totalSize 362 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -196,7 +196,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 364 + totalSize 383 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -239,7 +239,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 388 + totalSize 404 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -282,7 +282,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 390 + totalSize 412 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -372,7 +372,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 345 + totalSize 362 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -415,7 +415,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 364 + totalSize 383 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -458,7 +458,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 388 + totalSize 404 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -501,7 +501,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 390 + totalSize 412 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -604,7 +604,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 345 + totalSize 362 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -647,7 +647,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 364 + totalSize 383 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -690,7 +690,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 388 + totalSize 404 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -733,7 +733,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 390 + totalSize 412 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -819,7 +819,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 345 + totalSize 362 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -862,7 +862,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 364 + totalSize 383 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -905,7 +905,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 388 + totalSize 404 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -948,7 +948,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_1d { string state, i32 locid, i32 zip} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 390 + totalSize 412 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1106,7 +1106,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 264 + totalSize 281 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1150,7 +1150,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 278 + totalSize 291 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1194,7 +1194,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 279 + totalSize 298 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1238,7 +1238,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 260 + totalSize 277 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1282,7 +1282,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 257 + totalSize 272 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1326,7 +1326,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 267 + totalSize 283 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1370,7 +1370,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 276 + totalSize 292 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1414,7 +1414,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1458,7 +1458,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1502,7 +1502,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 279 + totalSize 294 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1546,7 +1546,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 272 + totalSize 291 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1633,7 +1633,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 264 + totalSize 281 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1677,7 +1677,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 278 + totalSize 291 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1721,7 +1721,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 279 + totalSize 298 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1765,7 +1765,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 260 + totalSize 277 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1809,7 +1809,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 257 + totalSize 272 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1853,7 +1853,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 267 + totalSize 283 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1897,7 +1897,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 276 + totalSize 292 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1941,7 +1941,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1985,7 +1985,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 247 + totalSize 261 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2029,7 +2029,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 279 + totalSize 294 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2073,7 +2073,7 @@ STAGE PLANS: serialization.ddl struct loc_orc_2d { string state, i32 locid} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 272 + totalSize 291 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde diff --git ql/src/test/results/clientpositive/orc_analyze.q.out ql/src/test/results/clientpositive/orc_analyze.q.out index b422db5..60a23d4 100644 --- ql/src/test/results/clientpositive/orc_analyze.q.out +++ ql/src/test/results/clientpositive/orc_analyze.q.out @@ -107,7 +107,7 @@ Table Parameters: numFiles 1 numRows 100 rawDataSize 52600 - totalSize 3123 + totalSize 3158 #### A masked pattern was here #### # Storage Information @@ -197,7 +197,7 @@ Table Parameters: numFiles 1 numRows 100 rawDataSize 52600 - totalSize 3123 + totalSize 3158 #### A masked pattern was here #### # Storage Information @@ -313,7 +313,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -358,7 +358,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -460,7 +460,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -505,7 +505,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -627,7 +627,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -672,7 +672,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -780,7 +780,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -825,7 +825,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -992,7 +992,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out index 8b26470..d169fbb 100644 --- ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out +++ ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out @@ -747,9 +747,6 @@ POSTHOOK: query: SELECT t, si, d, s FROM orc_pred POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_pred #### A masked pattern was here #### -101 327 11.48 gabriella ellison -15 334 11.12 jessica robinson -7 320 11.54 bob ellison PREHOOK: query: EXPLAIN SELECT t, si, d, s FROM orc_pred WHERE d >= ROUND(9.99) AND d < 12 @@ -946,7 +943,6 @@ POSTHOOK: query: SELECT t, si, d, s FROM orc_pred POSTHOOK: type: QUERY POSTHOOK: Input: default@orc_pred #### A masked pattern was here #### -15 334 11.12 jessica robinson PREHOOK: query: EXPLAIN SELECT t, si, d, s FROM orc_pred WHERE t > 10 AND t <> 101 diff --git ql/src/test/results/clientpositive/tez/alter_merge_orc.q.out ql/src/test/results/clientpositive/tez/alter_merge_orc.q.out index 22914a8..b5a6d04 100644 --- ql/src/test/results/clientpositive/tez/alter_merge_orc.q.out +++ ql/src/test/results/clientpositive/tez/alter_merge_orc.q.out @@ -48,9 +48,9 @@ columns:struct columns { i32 key, string value} partitioned:false partitionColumns: totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test @@ -91,9 +91,9 @@ columns:struct columns { i32 key, string value} partitioned:false partitionColumns: totalNumberFiles:1 -totalFileSize:7169 -maxFileSize:7169 -minFileSize:7169 +totalFileSize:7198 +maxFileSize:7198 +minFileSize:7198 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test @@ -171,9 +171,9 @@ columns:struct columns { i32 key, string value} partitioned:true partitionColumns:struct partition_columns { string ds} totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test_part @@ -218,9 +218,9 @@ columns:struct columns { i32 key, string value} partitioned:true partitionColumns:struct partition_columns { string ds} totalNumberFiles:1 -totalFileSize:7169 -maxFileSize:7169 -minFileSize:7169 +totalFileSize:7198 +maxFileSize:7198 +minFileSize:7198 #### A masked pattern was here #### PREHOOK: query: select count(1) from src_orc_merge_test_part diff --git ql/src/test/results/clientpositive/tez/alter_merge_stats_orc.q.out ql/src/test/results/clientpositive/tez/alter_merge_stats_orc.q.out index cdcc18a..43cc4ef 100644 --- ql/src/test/results/clientpositive/tez/alter_merge_stats_orc.q.out +++ ql/src/test/results/clientpositive/tez/alter_merge_stats_orc.q.out @@ -48,9 +48,9 @@ columns:struct columns { i32 key, string value} partitioned:false partitionColumns: totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: desc extended src_orc_merge_test_stat @@ -94,7 +94,7 @@ Table Parameters: numFiles 3 numRows 1500 rawDataSize 141000 - totalSize 7494 + totalSize 7545 #### A masked pattern was here #### # Storage Information @@ -146,7 +146,7 @@ Table Parameters: numFiles 1 numRows 1500 rawDataSize 141000 - totalSize 7169 + totalSize 7198 #### A masked pattern was here #### # Storage Information @@ -216,9 +216,9 @@ columns:struct columns { i32 key, string value} partitioned:true partitionColumns:struct partition_columns { string ds} totalNumberFiles:3 -totalFileSize:7494 -maxFileSize:2498 -minFileSize:2498 +totalFileSize:7545 +maxFileSize:2515 +minFileSize:2515 #### A masked pattern was here #### PREHOOK: query: desc formatted src_orc_merge_test_part_stat partition (ds='2011') @@ -249,7 +249,7 @@ Partition Parameters: numFiles 3 numRows 1500 rawDataSize 141000 - totalSize 7494 + totalSize 7545 #### A masked pattern was here #### # Storage Information @@ -300,7 +300,7 @@ Partition Parameters: numFiles 3 numRows 1500 rawDataSize 141000 - totalSize 7494 + totalSize 7545 #### A masked pattern was here #### # Storage Information @@ -359,7 +359,7 @@ Partition Parameters: numFiles 1 numRows 1500 rawDataSize 141000 - totalSize 7169 + totalSize 7198 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/tez/dynpart_sort_opt_vectorization.q.out ql/src/test/results/clientpositive/tez/dynpart_sort_opt_vectorization.q.out index 563f3c2..ad6dbf7 100644 --- ql/src/test/results/clientpositive/tez/dynpart_sort_opt_vectorization.q.out +++ ql/src/test/results/clientpositive/tez/dynpart_sort_opt_vectorization.q.out @@ -932,7 +932,7 @@ Partition Parameters: numFiles 2 numRows 32 rawDataSize 640 - totalSize 1352 + totalSize 1400 #### A masked pattern was here #### # Storage Information @@ -976,7 +976,7 @@ Partition Parameters: numFiles 2 numRows 6 rawDataSize 120 - totalSize 1054 + totalSize 1102 #### A masked pattern was here #### # Storage Information @@ -1020,7 +1020,7 @@ Partition Parameters: numFiles 2 numRows 14 rawDataSize 280 - totalSize 1170 + totalSize 1216 #### A masked pattern was here #### # Storage Information @@ -1064,7 +1064,7 @@ Partition Parameters: numFiles 2 numRows 6 rawDataSize 120 - totalSize 1054 + totalSize 1102 #### A masked pattern was here #### # Storage Information @@ -1107,7 +1107,7 @@ Partition Parameters: numFiles 8 numRows 32 rawDataSize 640 - totalSize 4356 + totalSize 4548 #### A masked pattern was here #### # Storage Information @@ -1150,7 +1150,7 @@ Partition Parameters: numFiles 8 numRows 6 rawDataSize 120 - totalSize 2110 + totalSize 2212 #### A masked pattern was here #### # Storage Information @@ -1193,7 +1193,7 @@ Partition Parameters: numFiles 8 numRows 32 rawDataSize 640 - totalSize 4342 + totalSize 4534 #### A masked pattern was here #### # Storage Information @@ -1236,7 +1236,7 @@ Partition Parameters: numFiles 8 numRows 6 rawDataSize 120 - totalSize 2110 + totalSize 2212 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/tez/dynpart_sort_optimization2.q.out ql/src/test/results/clientpositive/tez/dynpart_sort_optimization2.q.out index a734432..5615df8 100644 --- ql/src/test/results/clientpositive/tez/dynpart_sort_optimization2.q.out +++ ql/src/test/results/clientpositive/tez/dynpart_sort_optimization2.q.out @@ -1222,7 +1222,7 @@ Partition Parameters: numFiles 1 numRows 11 rawDataSize 88 - totalSize 419 + totalSize 433 #### A masked pattern was here #### # Storage Information @@ -1284,7 +1284,7 @@ Partition Parameters: numFiles 1 numRows 13 rawDataSize 104 - totalSize 442 + totalSize 456 #### A masked pattern was here #### # Storage Information @@ -1454,7 +1454,7 @@ Partition Parameters: numFiles 1 numRows 11 rawDataSize 88 - totalSize 419 + totalSize 433 #### A masked pattern was here #### # Storage Information @@ -1516,7 +1516,7 @@ Partition Parameters: numFiles 1 numRows 13 rawDataSize 104 - totalSize 442 + totalSize 456 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/tez/orc_analyze.q.out ql/src/test/results/clientpositive/tez/orc_analyze.q.out index b422db5..60a23d4 100644 --- ql/src/test/results/clientpositive/tez/orc_analyze.q.out +++ ql/src/test/results/clientpositive/tez/orc_analyze.q.out @@ -107,7 +107,7 @@ Table Parameters: numFiles 1 numRows 100 rawDataSize 52600 - totalSize 3123 + totalSize 3158 #### A masked pattern was here #### # Storage Information @@ -197,7 +197,7 @@ Table Parameters: numFiles 1 numRows 100 rawDataSize 52600 - totalSize 3123 + totalSize 3158 #### A masked pattern was here #### # Storage Information @@ -313,7 +313,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -358,7 +358,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -460,7 +460,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -505,7 +505,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -627,7 +627,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -672,7 +672,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -780,7 +780,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information @@ -825,7 +825,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 22050 - totalSize 2045 + totalSize 2071 #### A masked pattern was here #### # Storage Information @@ -992,7 +992,7 @@ Partition Parameters: numFiles 1 numRows 50 rawDataSize 21950 - totalSize 2026 + totalSize 2055 #### A masked pattern was here #### # Storage Information diff --git ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out index ead5c8e..2363b02 100644 --- ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out +++ ql/src/test/results/clientpositive/tez/vectorized_ptf.q.out @@ -268,7 +268,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -288,7 +288,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -558,7 +558,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -578,7 +578,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -625,7 +625,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -645,7 +645,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -871,7 +871,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -891,7 +891,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -1128,7 +1128,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1148,7 +1148,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -1416,7 +1416,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1436,7 +1436,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -1714,7 +1714,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1734,7 +1734,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -1978,7 +1978,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1998,7 +1998,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2044,7 +2044,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2064,7 +2064,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2295,7 +2295,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2315,7 +2315,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2359,7 +2359,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2379,7 +2379,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2617,7 +2617,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2637,7 +2637,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2894,7 +2894,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2914,7 +2914,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -3173,7 +3173,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -3193,7 +3193,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -3462,7 +3462,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -3482,7 +3482,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -3788,7 +3788,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -3808,7 +3808,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -4174,7 +4174,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -4194,7 +4194,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -4240,7 +4240,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -4260,7 +4260,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -4501,7 +4501,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -4521,7 +4521,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -4783,7 +4783,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -4803,7 +4803,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -5244,7 +5244,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -5264,7 +5264,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -5752,7 +5752,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -5772,7 +5772,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -6109,7 +6109,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -6129,7 +6129,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -6462,7 +6462,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -6482,7 +6482,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -6812,7 +6812,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -6832,7 +6832,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -7210,7 +7210,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -7230,7 +7230,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -7559,7 +7559,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -7579,7 +7579,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc diff --git ql/src/test/results/clientpositive/vectorized_ptf.q.out ql/src/test/results/clientpositive/vectorized_ptf.q.out index 2a4a3f3..3d60d7f 100644 --- ql/src/test/results/clientpositive/vectorized_ptf.q.out +++ ql/src/test/results/clientpositive/vectorized_ptf.q.out @@ -263,7 +263,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -283,7 +283,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -609,7 +609,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -629,7 +629,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -942,7 +942,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -962,7 +962,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -1193,7 +1193,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1213,7 +1213,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -1522,7 +1522,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1542,7 +1542,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -1861,7 +1861,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -1881,7 +1881,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2212,7 +2212,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2232,7 +2232,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2341,7 +2341,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2361,7 +2361,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2559,7 +2559,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2579,7 +2579,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2688,7 +2688,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2708,7 +2708,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -2917,7 +2917,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -2937,7 +2937,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -3235,7 +3235,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -3255,7 +3255,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -3555,7 +3555,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -3575,7 +3575,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -3885,7 +3885,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -3905,7 +3905,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -4299,7 +4299,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -4319,7 +4319,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -4726,7 +4726,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -4746,7 +4746,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -4855,7 +4855,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -4875,7 +4875,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -5133,7 +5133,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -5153,7 +5153,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -5455,7 +5455,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -5475,7 +5475,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -6002,7 +6002,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -6022,7 +6022,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -6642,7 +6642,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -6662,7 +6662,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -7087,7 +7087,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -7107,7 +7107,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -7575,7 +7575,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -7595,7 +7595,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -8013,7 +8013,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -8033,7 +8033,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -8546,7 +8546,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -8566,7 +8566,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc @@ -8983,7 +8983,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde @@ -9003,7 +9003,7 @@ STAGE PLANS: serialization.ddl struct part_orc { i32 p_partkey, string p_name, string p_mfgr, string p_brand, string p_type, i32 p_size, string p_container, double p_retailprice, string p_comment} serialization.format 1 serialization.lib org.apache.hadoop.hive.ql.io.orc.OrcSerde - totalSize 2599 + totalSize 2639 #### A masked pattern was here #### serde: org.apache.hadoop.hive.ql.io.orc.OrcSerde name: default.part_orc