HIVE-16975: Vectorization: Fully vectorize CAST date as TIMESTAMP so 
VectorUDFAdaptor is now used (Teddy Choi, reviewed by Matt McCline)


Project: http://git-wip-us.apache.org/repos/asf/hive/repo
Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/31a7987f
Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/31a7987f
Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/31a7987f

Branch: refs/heads/master
Commit: 31a7987fde0b3ce9b86c93e31c7aa6dde46a17ff
Parents: 6af30bf
Author: Teddy Choi <tc...@hortonworks.com>
Authored: Wed Jul 12 21:04:37 2017 -0500
Committer: Matt McCline <mmccl...@hortonworks.com>
Committed: Wed Jul 12 21:04:37 2017 -0500

----------------------------------------------------------------------
 .../vector/expressions/CastDateToTimestamp.java | 131 +++++++++++++++++++
 .../ql/udf/generic/GenericUDFTimestamp.java     |   3 +-
 .../expressions/TestVectorMathFunctions.java    |  22 ++++
 .../vector/expressions/TestVectorTypeCasts.java |  16 +++
 .../queries/clientpositive/vectorized_casts.q   |   4 +-
 .../clientpositive/llap/vectorized_casts.q.out  |  89 ++++++++-----
 .../clientpositive/vectorized_casts.q.out       |  85 +++++++-----
 7 files changed, 286 insertions(+), 64 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hive/blob/31a7987f/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDateToTimestamp.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDateToTimestamp.java
 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDateToTimestamp.java
new file mode 100644
index 0000000..05b0e8a
--- /dev/null
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/CastDateToTimestamp.java
@@ -0,0 +1,131 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.ql.exec.vector.expressions;
+
+import org.apache.hadoop.hive.ql.exec.vector.LongColumnVector;
+import org.apache.hadoop.hive.ql.exec.vector.TimestampColumnVector;
+import org.apache.hadoop.hive.ql.exec.vector.VectorExpressionDescriptor;
+import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
+
+public class CastDateToTimestamp extends VectorExpression {
+  private static final long serialVersionUID = 1L;
+
+  private int colNum;
+  private int outputColumn;
+
+  public CastDateToTimestamp(int colNum, int outputColumn) {
+    this();
+    this.colNum = colNum;
+    this.outputColumn = outputColumn;
+  }
+
+  public CastDateToTimestamp() {
+    super();
+  }
+
+  private void setDays(TimestampColumnVector timestampColVector, long[] 
vector, int elementNum) {
+    
timestampColVector.getScratchTimestamp().setTime(DateWritable.daysToMillis((int)
 vector[elementNum]));
+    timestampColVector.setFromScratchTimestamp(elementNum);
+  }
+
+  @Override
+  public void evaluate(VectorizedRowBatch batch) {
+
+    if (childExpressions != null) {
+      this.evaluateChildren(batch);
+    }
+
+    LongColumnVector inputColVector = (LongColumnVector) batch.cols[colNum];
+    TimestampColumnVector outputColVector = (TimestampColumnVector) 
batch.cols[outputColumn];
+    int[] sel = batch.selected;
+    boolean[] inputIsNull = inputColVector.isNull;
+    boolean[] outputIsNull = outputColVector.isNull;
+    outputColVector.noNulls = inputColVector.noNulls;
+    int n = batch.size;
+    long[] vector = inputColVector.vector;
+
+    // return immediately if batch is empty
+    if (n == 0) {
+      return;
+    }
+
+    if (inputColVector.isRepeating) {
+      //All must be selected otherwise size would be zero
+      //Repeating property will not change.
+      setDays(outputColVector, vector, 0);
+      // Even if there are no nulls, we always copy over entry 0. Simplifies 
code.
+      outputIsNull[0] = inputIsNull[0];
+      outputColVector.isRepeating = true;
+    } else if (inputColVector.noNulls) {
+      if (batch.selectedInUse) {
+        for(int j = 0; j != n; j++) {
+          int i = sel[j];
+          setDays(outputColVector, vector, i);
+        }
+      } else {
+        for(int i = 0; i != n; i++) {
+          setDays(outputColVector, vector, i);
+        }
+      }
+      outputColVector.isRepeating = false;
+    } else /* there are nulls */ {
+      if (batch.selectedInUse) {
+        for(int j = 0; j != n; j++) {
+          int i = sel[j];
+          setDays(outputColVector, vector, i);
+          outputIsNull[i] = inputIsNull[i];
+        }
+      } else {
+        for(int i = 0; i != n; i++) {
+          setDays(outputColVector, vector, i);
+        }
+        System.arraycopy(inputIsNull, 0, outputIsNull, 0, n);
+      }
+      outputColVector.isRepeating = false;
+    }
+  }
+
+  @Override
+  public int getOutputColumn() {
+    return outputColumn;
+  }
+
+  @Override
+  public String getOutputType() {
+    return "timestamp";
+  }
+
+  @Override
+  public String vectorExpressionParameters() {
+    return "col " + colNum;
+  }
+
+  @Override
+  public VectorExpressionDescriptor.Descriptor getDescriptor() {
+    return (new VectorExpressionDescriptor.Builder())
+        .setMode(
+            VectorExpressionDescriptor.Mode.PROJECTION)
+        .setNumArguments(1)
+        .setArgumentTypes(
+            VectorExpressionDescriptor.ArgumentType.getType("date"))
+        .setInputExpressionTypes(
+            VectorExpressionDescriptor.InputExpressionType.COLUMN).build();
+  }
+}

http://git-wip-us.apache.org/repos/asf/hive/blob/31a7987f/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTimestamp.java
----------------------------------------------------------------------
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTimestamp.java 
b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTimestamp.java
index 4d9691e..105378d 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTimestamp.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFTimestamp.java
@@ -24,6 +24,7 @@ import org.apache.hadoop.hive.ql.exec.Description;
 import org.apache.hadoop.hive.ql.exec.UDFArgumentException;
 import org.apache.hadoop.hive.ql.exec.UDFArgumentLengthException;
 import org.apache.hadoop.hive.ql.exec.vector.VectorizedExpressions;
+import org.apache.hadoop.hive.ql.exec.vector.expressions.CastDateToTimestamp;
 import 
org.apache.hadoop.hive.ql.exec.vector.expressions.CastDecimalToTimestamp;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.CastDoubleToTimestamp;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.CastLongToTimestamp;
@@ -47,7 +48,7 @@ import 
org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectIn
  */
 @Description(name = "timestamp",
 value = "cast(date as timestamp) - Returns timestamp")
-@VectorizedExpressions({CastLongToTimestamp.class,
+@VectorizedExpressions({CastLongToTimestamp.class, CastDateToTimestamp.class,
   CastDoubleToTimestamp.class, CastDecimalToTimestamp.class})
 public class GenericUDFTimestamp extends GenericUDF {
 

http://git-wip-us.apache.org/repos/asf/hive/blob/31a7987f/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorMathFunctions.java
----------------------------------------------------------------------
diff --git 
a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorMathFunctions.java
 
b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorMathFunctions.java
index 31add6e..41f2621 100644
--- 
a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorMathFunctions.java
+++ 
b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorMathFunctions.java
@@ -114,6 +114,28 @@ public class TestVectorMathFunctions {
     Assert.assertEquals(1.2346d, resultV.vector[7]);
   }
 
+  static int DAYS_LIMIT = 365 * 9999;
+
+  public static VectorizedRowBatch 
getVectorizedRowBatchDateInTimestampOut(int[] intValues) {
+    Random r = new Random(12099);
+    VectorizedRowBatch batch = new VectorizedRowBatch(2);
+    LongColumnVector inV;
+    TimestampColumnVector outV;
+    inV = new LongColumnVector();
+    outV = new TimestampColumnVector();
+
+    for (int i = 0; i < intValues.length; i++) {
+      intValues[i] = r.nextInt() % DAYS_LIMIT;
+      inV.vector[i] = intValues[i];
+    }
+
+    batch.cols[0] = inV;
+    batch.cols[1] = outV;
+
+    batch.size = intValues.length;
+    return batch;
+  }
+
   public static VectorizedRowBatch getVectorizedRowBatchDoubleInLongOut() {
     VectorizedRowBatch batch = new VectorizedRowBatch(2);
     LongColumnVector lcv;

http://git-wip-us.apache.org/repos/asf/hive/blob/31a7987f/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
----------------------------------------------------------------------
diff --git 
a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
 
b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
index c7d9fae..887f090 100644
--- 
a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
+++ 
b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/expressions/TestVectorTypeCasts.java
@@ -44,6 +44,7 @@ import 
org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.gen.*;
 import org.apache.hadoop.hive.ql.exec.vector.expressions.*;
 import org.apache.hadoop.hive.ql.util.TimestampUtils;
+import org.apache.hadoop.hive.serde2.io.DateWritable;
 import org.apache.hadoop.hive.serde2.io.TimestampWritable;
 import org.apache.hadoop.hive.serde2.typeinfo.HiveDecimalUtils;
 import org.junit.Test;
@@ -74,6 +75,21 @@ public class TestVectorTypeCasts {
   }
 
   @Test
+  public void testCastDateToTimestamp() {
+    int[] intValues = new int[500];
+    VectorizedRowBatch b = 
TestVectorMathFunctions.getVectorizedRowBatchDateInTimestampOut(intValues);
+    TimestampColumnVector resultV = (TimestampColumnVector) b.cols[1];
+    b.cols[0].noNulls = true;
+    VectorExpression expr = new CastDateToTimestamp(0, 1);
+    expr.evaluate(b);
+    for (int i = 0; i < intValues.length; i++) {
+      Timestamp timestamp = resultV.asScratchTimestamp(i);
+      long actual = DateWritable.millisToDays(timestamp.getTime());
+      assertEquals(actual, intValues[i]);
+    }
+  }
+
+  @Test
   public void testCastDoubleToBoolean() {
     VectorizedRowBatch b = 
TestVectorMathFunctions.getVectorizedRowBatchDoubleInLongOut();
     LongColumnVector resultV = (LongColumnVector) b.cols[1];

http://git-wip-us.apache.org/repos/asf/hive/blob/31a7987f/ql/src/test/queries/clientpositive/vectorized_casts.q
----------------------------------------------------------------------
diff --git a/ql/src/test/queries/clientpositive/vectorized_casts.q 
b/ql/src/test/queries/clientpositive/vectorized_casts.q
index a32c150..03c9062 100644
--- a/ql/src/test/queries/clientpositive/vectorized_casts.q
+++ b/ql/src/test/queries/clientpositive/vectorized_casts.q
@@ -8,7 +8,7 @@ SET hive.vectorized.execution.enabled = true;
 -- Currently, vectorization is not supported in fetch task 
(hive.fetch.task.conversion=none)
 -- Test type casting in vectorized mode to verify end-to-end functionality.
 
-explain vectorization 
+explain vectorization detail
 select 
 -- to boolean
    cast (ctinyint as boolean)
@@ -57,6 +57,7 @@ select
   ,cast (cdouble as timestamp)
   ,cast (cboolean1 as timestamp)
   ,cast (cbigint * 0 as timestamp)
+  ,cast (cast (ctimestamp1 as date) as timestamp)
   ,cast (ctimestamp1 as timestamp)
   ,cast (cstring1 as timestamp)
   ,cast (substr(cstring1, 1, 1) as timestamp)
@@ -131,6 +132,7 @@ select
   ,cast (cdouble as timestamp)
   ,cast (cboolean1 as timestamp)
   ,cast (cbigint * 0 as timestamp)
+  ,cast (cast (ctimestamp1 as date) as timestamp)
   ,cast (ctimestamp1 as timestamp)
   ,cast (cstring1 as timestamp)
   ,cast (substr(cstring1, 1, 1) as timestamp)

http://git-wip-us.apache.org/repos/asf/hive/blob/31a7987f/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out 
b/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
index db8df66..bec8034 100644
--- a/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
+++ b/ql/src/test/results/clientpositive/llap/vectorized_casts.q.out
@@ -1,4 +1,4 @@
-PREHOOK: query: explain vectorization 
+PREHOOK: query: explain vectorization detail
 select 
 
    cast (ctinyint as boolean)
@@ -47,6 +47,7 @@ select
   ,cast (cdouble as timestamp)
   ,cast (cboolean1 as timestamp)
   ,cast (cbigint * 0 as timestamp)
+  ,cast (cast (ctimestamp1 as date) as timestamp)
   ,cast (ctimestamp1 as timestamp)
   ,cast (cstring1 as timestamp)
   ,cast (substr(cstring1, 1, 1) as timestamp)
@@ -72,7 +73,7 @@ from alltypesorc
 
 where cbigint % 250 = 0
 PREHOOK: type: QUERY
-POSTHOOK: query: explain vectorization 
+POSTHOOK: query: explain vectorization detail
 select 
 
    cast (ctinyint as boolean)
@@ -121,6 +122,7 @@ select
   ,cast (cdouble as timestamp)
   ,cast (cboolean1 as timestamp)
   ,cast (cbigint * 0 as timestamp)
+  ,cast (cast (ctimestamp1 as date) as timestamp)
   ,cast (ctimestamp1 as timestamp)
   ,cast (cstring1 as timestamp)
   ,cast (substr(cstring1, 1, 1) as timestamp)
@@ -164,16 +166,31 @@ STAGE PLANS:
                 TableScan
                   alias: alltypesorc
                   Statistics: Num rows: 12288 Data size: 1684250 Basic stats: 
COMPLETE Column stats: COMPLETE
+                  TableScan Vectorization:
+                      native: true
+                      projectedOutputColumns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 
10, 11]
                   Filter Operator
+                    Filter Vectorization:
+                        className: VectorFilterOperator
+                        native: true
+                        predicateExpression: FilterLongColEqualLongScalar(col 
12, val 0)(children: LongColModuloLongScalar(col 3, val 250) -> 12:long) -> 
boolean
                     predicate: ((cbigint % 250) = 0) (type: boolean)
                     Statistics: Num rows: 6144 Data size: 842180 Basic stats: 
COMPLETE Column stats: COMPLETE
                     Select Operator
-                      expressions: UDFToBoolean(ctinyint) (type: boolean), 
UDFToBoolean(csmallint) (type: boolean), UDFToBoolean(cint) (type: boolean), 
UDFToBoolean(cbigint) (type: boolean), UDFToBoolean(cfloat) (type: boolean), 
UDFToBoolean(cdouble) (type: boolean), cboolean1 (type: boolean), 
UDFToBoolean((cbigint * 0)) (type: boolean), UDFToBoolean(ctimestamp1) (type: 
boolean), UDFToBoolean(cstring1) (type: boolean), UDFToInteger(ctinyint) (type: 
int), UDFToInteger(csmallint) (type: int), cint (type: int), 
UDFToInteger(cbigint) (type: int), UDFToInteger(cfloat) (type: int), 
UDFToInteger(cdouble) (type: int), UDFToInteger(cboolean1) (type: int), 
UDFToInteger(ctimestamp1) (type: int), UDFToInteger(cstring1) (type: int), 
UDFToInteger(substr(cstring1, 1, 1)) (type: int), UDFToByte(cfloat) (type: 
tinyint), UDFToShort(cfloat) (type: smallint), UDFToLong(cfloat) (type: 
bigint), UDFToDouble(ctinyint) (type: double), UDFToDouble(csmallint) (type: 
double), UDFToDouble(cint) (type: double), 
 UDFToDouble(cbigint) (type: double), UDFToDouble(cfloat) (type: double), 
cdouble (type: double), UDFToDouble(cboolean1) (type: double), 
UDFToDouble(ctimestamp1) (type: double), UDFToDouble(cstring1) (type: double), 
UDFToDouble(substr(cstring1, 1, 1)) (type: double), UDFToFloat(cint) (type: 
float), UDFToFloat(cdouble) (type: float), CAST( ctinyint AS TIMESTAMP) (type: 
timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS 
TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), 
CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) 
(type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( 
(cbigint * 0) AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), 
CAST( cstring1 AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS 
TIMESTAMP) (type: timestamp), UDFToString(ctinyint) (type: string), 
UDFToString(csmallint) (type: string), UDFToString(cint) (type: string), 
UDFToString(cbigint) (type: 
 string), UDFToString(cfloat) (type: string), UDFToString(cdouble) (type: 
string), UDFToString(cboolean1) (type: string), UDFToString((cbigint * 0)) 
(type: string), UDFToString(ctimestamp1) (type: string), cstring1 (type: 
string), UDFToString(CAST( cstring1 AS CHAR(10)) (type: string), 
UDFToString(CAST( cstring1 AS varchar(10))) (type: string), 
UDFToFloat(UDFToInteger(cfloat)) (type: float), UDFToDouble((cint * 2)) (type: 
double), UDFToString(sin(cfloat)) (type: string), 
(UDFToDouble(UDFToFloat(cint)) + UDFToDouble(cboolean1)) (type: double)
-                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, 
_col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, 
_col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, 
_col35, _col36, _col37, _col38, _col39, _col40, _col41, _col42, _col43, _col44, 
_col45, _col46, _col47, _col48, _col49, _col50, _col51, _col52, _col53, _col54, 
_col55, _col56, _col57, _col58, _col59, _col60, _col61
-                      Statistics: Num rows: 6144 Data size: 16117100 Basic 
stats: COMPLETE Column stats: COMPLETE
+                      expressions: UDFToBoolean(ctinyint) (type: boolean), 
UDFToBoolean(csmallint) (type: boolean), UDFToBoolean(cint) (type: boolean), 
UDFToBoolean(cbigint) (type: boolean), UDFToBoolean(cfloat) (type: boolean), 
UDFToBoolean(cdouble) (type: boolean), cboolean1 (type: boolean), 
UDFToBoolean((cbigint * 0)) (type: boolean), UDFToBoolean(ctimestamp1) (type: 
boolean), UDFToBoolean(cstring1) (type: boolean), UDFToInteger(ctinyint) (type: 
int), UDFToInteger(csmallint) (type: int), cint (type: int), 
UDFToInteger(cbigint) (type: int), UDFToInteger(cfloat) (type: int), 
UDFToInteger(cdouble) (type: int), UDFToInteger(cboolean1) (type: int), 
UDFToInteger(ctimestamp1) (type: int), UDFToInteger(cstring1) (type: int), 
UDFToInteger(substr(cstring1, 1, 1)) (type: int), UDFToByte(cfloat) (type: 
tinyint), UDFToShort(cfloat) (type: smallint), UDFToLong(cfloat) (type: 
bigint), UDFToDouble(ctinyint) (type: double), UDFToDouble(csmallint) (type: 
double), UDFToDouble(cint) (type: double), 
 UDFToDouble(cbigint) (type: double), UDFToDouble(cfloat) (type: double), 
cdouble (type: double), UDFToDouble(cboolean1) (type: double), 
UDFToDouble(ctimestamp1) (type: double), UDFToDouble(cstring1) (type: double), 
UDFToDouble(substr(cstring1, 1, 1)) (type: double), UDFToFloat(cint) (type: 
float), UDFToFloat(cdouble) (type: float), CAST( ctinyint AS TIMESTAMP) (type: 
timestamp), CAST( csmallint AS TIMESTAMP) (type: timestamp), CAST( cint AS 
TIMESTAMP) (type: timestamp), CAST( cbigint AS TIMESTAMP) (type: timestamp), 
CAST( cfloat AS TIMESTAMP) (type: timestamp), CAST( cdouble AS TIMESTAMP) 
(type: timestamp), CAST( cboolean1 AS TIMESTAMP) (type: timestamp), CAST( 
(cbigint * 0) AS TIMESTAMP) (type: timestamp), CAST( CAST( ctimestamp1 AS DATE) 
AS TIMESTAMP) (type: timestamp), ctimestamp1 (type: timestamp), CAST( cstring1 
AS TIMESTAMP) (type: timestamp), CAST( substr(cstring1, 1, 1) AS TIMESTAMP) 
(type: timestamp), UDFToString(ctinyint) (type: string), UDFToString(csmallint) 
(type: strin
 g), UDFToString(cint) (type: string), UDFToString(cbigint) (type: string), 
UDFToString(cfloat) (type: string), UDFToString(cdouble) (type: string), 
UDFToString(cboolean1) (type: string), UDFToString((cbigint * 0)) (type: 
string), UDFToString(ctimestamp1) (type: string), cstring1 (type: string), 
UDFToString(CAST( cstring1 AS CHAR(10)) (type: string), UDFToString(CAST( 
cstring1 AS varchar(10))) (type: string), UDFToFloat(UDFToInteger(cfloat)) 
(type: float), UDFToDouble((cint * 2)) (type: double), UDFToString(sin(cfloat)) 
(type: string), (UDFToDouble(UDFToFloat(cint)) + UDFToDouble(cboolean1)) (type: 
double)
+                      outputColumnNames: _col0, _col1, _col2, _col3, _col4, 
_col5, _col6, _col7, _col8, _col9, _col10, _col11, _col12, _col13, _col14, 
_col15, _col16, _col17, _col18, _col19, _col20, _col21, _col22, _col23, _col24, 
_col25, _col26, _col27, _col28, _col29, _col30, _col31, _col32, _col33, _col34, 
_col35, _col36, _col37, _col38, _col39, _col40, _col41, _col42, _col43, _col44, 
_col45, _col46, _col47, _col48, _col49, _col50, _col51, _col52, _col53, _col54, 
_col55, _col56, _col57, _col58, _col59, _col60, _col61, _col62
+                      Select Vectorization:
+                          className: VectorSelectOperator
+                          native: true
+                          projectedOutputColumns: [12, 13, 14, 15, 16, 17, 10, 
19, 18, 21, 0, 1, 2, 3, 20, 22, 10, 23, 24, 26, 27, 28, 29, 30, 31, 32, 33, 4, 
5, 34, 35, 36, 37, 38, 5, 40, 42, 44, 46, 47, 48, 50, 53, 54, 8, 55, 56, 25, 
57, 58, 59, 60, 61, 62, 63, 64, 6, 66, 67, 68, 69, 65, 72]
+                          selectExpressions: 
CastLongToBooleanViaLongToLong(col 0) -> 12:long, 
CastLongToBooleanViaLongToLong(col 1) -> 13:long, 
CastLongToBooleanViaLongToLong(col 2) -> 14:long, 
CastLongToBooleanViaLongToLong(col 3) -> 15:long, 
CastDoubleToBooleanViaDoubleToLong(col 4) -> 16:long, 
CastDoubleToBooleanViaDoubleToLong(col 5) -> 17:long, 
CastLongToBooleanViaLongToLong(col 18)(children: LongColMultiplyLongScalar(col 
3, val 0) -> 18:long) -> 19:long, CastTimestampToBoolean(col 8) -> 18:long, 
CastLongToBooleanViaLongToLong(col 20)(children: StringLength(col 6) -> 
20:Long) -> 21:long, CastDoubleToLong(col 4) -> 20:long, CastDoubleToLong(col 
5) -> 22:long, CastTimestampToLong(col 8) -> 23:long, CastStringToLong(col 6) 
-> 24:int, CastStringToLong(col 25)(children: StringSubstrColStartLen(col 6, 
start 0, length 1) -> 25:string) -> 26:int, CastDoubleToLong(col 4) -> 27:long, 
CastDoubleToLong(col 4) -> 28:long, CastDoubleToLong(col 4) -> 29:long, 
CastLongToDouble(col 0) -> 30:do
 uble, CastLongToDouble(col 1) -> 31:double, CastLongToDouble(col 2) -> 
32:double, CastLongToDouble(col 3) -> 33:double, CastLongToDouble(col 10) -> 
34:double, CastTimestampToDouble(col 8) -> 35:double, 
VectorUDFAdaptor(UDFToDouble(cstring1)) -> 36:double, 
VectorUDFAdaptor(UDFToDouble(substr(cstring1, 1, 1)))(children: 
StringSubstrColStartLen(col 6, start 0, length 1) -> 25:string) -> 37:double, 
CastLongToFloatViaLongToDouble(col 2) -> 38:double, 
CastMillisecondsLongToTimestamp(col 0) -> 40:timestamp, 
CastMillisecondsLongToTimestamp(col 1) -> 42:timestamp, 
CastMillisecondsLongToTimestamp(col 2) -> 44:timestamp, 
CastMillisecondsLongToTimestamp(col 3) -> 46:timestamp, 
CastDoubleToTimestamp(col 4) -> 47:timestamp, CastDoubleToTimestamp(col 5) -> 
48:timestamp, CastMillisecondsLongToTimestamp(col 10) -> 50:timestamp, 
CastMillisecondsLongToTimestamp(col 51)(children: LongColMultiplyLongScalar(col 
3, val 0) -> 51:long) -> 53:timestamp, CastDateToTimestamp(col 51)(children: 
CastTimestampToDa
 te(col 8) -> 51:date) -> 54:timestamp, VectorUDFAdaptor(CAST( cstring1 AS 
TIMESTAMP)) -> 55:timestamp, VectorUDFAdaptor(CAST( substr(cstring1, 1, 1) AS 
TIMESTAMP))(children: StringSubstrColStartLen(col 6, start 0, length 1) -> 
25:string) -> 56:timestamp, CastLongToString(col 0) -> 25:String, 
CastLongToString(col 1) -> 57:String, CastLongToString(col 2) -> 58:String, 
CastLongToString(col 3) -> 59:String, VectorUDFAdaptor(UDFToString(cfloat)) -> 
60:string, VectorUDFAdaptor(UDFToString(cdouble)) -> 61:string, 
CastBooleanToStringViaLongToString(col 10) -> 62:String, CastLongToString(col 
51)(children: LongColMultiplyLongScalar(col 3, val 0) -> 51:long) -> 63:String, 
VectorUDFAdaptor(UDFToString(ctimestamp1)) -> 64:string, 
CastStringGroupToString(col 65)(children: CastStringGroupToChar(col 6, 
maxLength 10) -> 65:Char) -> 66:String, CastStringGroupToString(col 
65)(children: CastStringGroupToVarChar(col 6, maxLength 10) -> 65:VarChar) -> 
67:String, CastLongToFloatViaLongToDouble(col 51)(chi
 ldren: CastDoubleToLong(col 4) -> 51:long) -> 68:double, CastLongToDouble(col 
51)(children: LongColMultiplyLongScalar(col 2, val 2) -> 51:long) -> 69:double, 
VectorUDFAdaptor(UDFToString(sin(cfloat)))(children: FuncSinDoubleToDouble(col 
4) -> 70:double) -> 65:string, DoubleColAddDoubleColumn(col 70, col 
71)(children: col 70, CastLongToDouble(col 10) -> 71:double) -> 72:double
+                      Statistics: Num rows: 6144 Data size: 16362860 Basic 
stats: COMPLETE Column stats: COMPLETE
                       File Output Operator
                         compressed: false
-                        Statistics: Num rows: 6144 Data size: 16117100 Basic 
stats: COMPLETE Column stats: COMPLETE
+                        File Sink Vectorization:
+                            className: VectorFileSinkOperator
+                            native: false
+                        Statistics: Num rows: 6144 Data size: 16362860 Basic 
stats: COMPLETE Column stats: COMPLETE
                         table:
                             input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                             output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -188,6 +205,12 @@ STAGE PLANS:
                 allNative: false
                 usesVectorUDFAdaptor: true
                 vectorized: true
+                rowBatchContext:
+                    dataColumnCount: 12
+                    includeColumns: [0, 1, 2, 3, 4, 5, 6, 8, 10]
+                    dataColumns: ctinyint:tinyint, csmallint:smallint, 
cint:int, cbigint:bigint, cfloat:float, cdouble:double, cstring1:string, 
cstring2:string, ctimestamp1:timestamp, ctimestamp2:timestamp, 
cboolean1:boolean, cboolean2:boolean
+                    partitionColumnCount: 0
+                    scratchColumnTypeNames: bigint, bigint, bigint, bigint, 
bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, bigint, string, 
bigint, bigint, bigint, bigint, double, double, double, double, double, double, 
double, double, double, timestamp, timestamp, timestamp, timestamp, timestamp, 
timestamp, timestamp, timestamp, timestamp, timestamp, timestamp, timestamp, 
bigint, timestamp, timestamp, timestamp, timestamp, timestamp, string, string, 
string, string, string, string, string, string, string, string, string, double, 
double, double, double, double
 
   Stage: Stage-0
     Fetch Operator
@@ -243,6 +266,7 @@ PREHOOK: query: select
   ,cast (cdouble as timestamp)
   ,cast (cboolean1 as timestamp)
   ,cast (cbigint * 0 as timestamp)
+  ,cast (cast (ctimestamp1 as date) as timestamp)
   ,cast (ctimestamp1 as timestamp)
   ,cast (cstring1 as timestamp)
   ,cast (substr(cstring1, 1, 1) as timestamp)
@@ -318,6 +342,7 @@ POSTHOOK: query: select
   ,cast (cdouble as timestamp)
   ,cast (cboolean1 as timestamp)
   ,cast (cbigint * 0 as timestamp)
+  ,cast (cast (ctimestamp1 as date) as timestamp)
   ,cast (ctimestamp1 as timestamp)
   ,cast (cstring1 as timestamp)
   ,cast (substr(cstring1, 1, 1) as timestamp)
@@ -345,29 +370,29 @@ where cbigint % 250 = 0
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@alltypesorc
 #### A masked pattern was here ####
-true   NULL    true    true    true    NULL    false   false   true    true    
-51     NULL    773600971       1053923250      -51     NULL    0       8       
NULL    2       -51     -51     -51     -51.0   NULL    7.73600971E8    
1.05392325E9    -51.0   NULL    0.0     8.451   NULL    2.0     7.7360096E8     
NULL    1969-12-31 15:59:59.949 NULL    1970-01-09 14:53:20.971 1970-01-12 
20:45:23.25  1969-12-31 15:59:09     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 16:00:08.451 NULL    NULL    -51     NULL    773600971  
     1053923250      -51.0   NULL    FALSE   0       1969-12-31 16:00:08.451 
2yK4Bx76O       2yK4Bx76O       2yK4Bx76O       -51.0   1.547201942E9   
-0.6702291758433747     7.7360096E8
-true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    -102936434      -1312782750     8       NULL    0       15      
NULL    NULL    8       8       8       8.0     NULL    -1.02936434E8   
-1.31278275E9   8.0     NULL    0.0     15.892  NULL    NULL    -1.02936432E8   
NULL    1969-12-31 16:00:00.008 NULL    1969-12-30 11:24:23.566 1969-12-16 
11:20:17.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 16:00:15.892 NULL    NULL    8       NULL    -102936434 
     -1312782750     8.0     NULL    FALSE   0       1969-12-31 16:00:15.892 
eJROSNhugc3kQR7Pb       eJROSNhugc      eJROSNhugc      8.0     -2.05872868E8   
0.9893582466233818      -1.02936432E8
-true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    -661621138      -931392750      8       NULL    0       15      
NULL    NULL    8       8       8       8.0     NULL    -6.61621138E8   
-9.3139275E8    8.0     NULL    0.0     15.892  NULL    NULL    -6.6162112E8    
NULL    1969-12-31 16:00:00.008 NULL    1969-12-24 00:12:58.862 1969-12-20 
21:16:47.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 16:00:15.892 NULL    NULL    8       NULL    -661621138 
     -931392750      8.0     NULL    FALSE   0       1969-12-31 16:00:15.892 
L15l8i5k558tBcDV20      L15l8i5k55      L15l8i5k55      8.0     -1.323242276E9  
0.9893582466233818      -6.6162112E8
-true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    -669632311      1588591250      8       NULL    0       15      
NULL    3       8       8       8       8.0     NULL    -6.69632311E8   
1.58859125E9    8.0     NULL    0.0     15.892  NULL    3.0     -6.6963232E8    
NULL    1969-12-31 16:00:00.008 NULL    1969-12-23 21:59:27.689 1970-01-19 
01:16:31.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 16:00:15.892 NULL    NULL    8       NULL    -669632311 
     1588591250      8.0     NULL    FALSE   0       1969-12-31 16:00:15.892 
3r3sDvfUkG0yTP3LnX5mNQRr        3r3sDvfUkG      3r3sDvfUkG      8.0     
-1.339264622E9  0.9893582466233818      -6.6963232E8
-true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    805179664       868161500       8       NULL    0       15      
NULL    NULL    8       8       8       8.0     NULL    8.05179664E8    
8.681615E8      8.0     NULL    0.0     15.892  NULL    NULL    8.0517965E8     
NULL    1969-12-31 16:00:00.008 NULL    1970-01-09 23:39:39.664 1970-01-10 
17:09:21.5   1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 16:00:15.892 NULL    NULL    8       NULL    805179664  
     868161500       8.0     NULL    FALSE   0       1969-12-31 16:00:15.892 
e005B5q e005B5q e005B5q 8.0     1.610359328E9   0.9893582466233818      
8.05179648E8
-true   NULL    true    true    true    NULL    true    false   true    true    
-51     NULL    747553882       -1930467250     -51     NULL    1       8       
NULL    NULL    -51     -51     -51     -51.0   NULL    7.47553882E8    
-1.93046725E9   -51.0   NULL    1.0     8.451   NULL    NULL    7.4755386E8     
NULL    1969-12-31 15:59:59.949 NULL    1970-01-09 07:39:13.882 1969-12-09 
07:45:32.75  1969-12-31 15:59:09     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 16:00:08.451 NULL    NULL    -51     NULL    747553882  
     -1930467250     -51.0   NULL    TRUE    0       1969-12-31 16:00:08.451 
q8M86Fx0r       q8M86Fx0r       q8M86Fx0r       -51.0   1.495107764E9   
-0.6702291758433747     7.47553857E8
-true   NULL    true    true    true    NULL    true    false   true    true    
11      NULL    -335450417      1233327000      11      NULL    1       2       
NULL    NULL    11      11      11      11.0    NULL    -3.35450417E8   
1.233327E9      11.0    NULL    1.0     2.351   NULL    NULL    -3.35450432E8   
NULL    1969-12-31 16:00:00.011 NULL    1969-12-27 18:49:09.583 1970-01-14 
22:35:27     1969-12-31 16:00:11     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 16:00:02.351 NULL    NULL    11      NULL    -335450417 
     1233327000      11.0    NULL    TRUE    0       1969-12-31 16:00:02.351 
dOYnqgaXoJ1P3ERwxe5N7   dOYnqgaXoJ      dOYnqgaXoJ      11.0    -6.70900834E8   
-0.9999902065507035     -3.35450431E8
-true   NULL    true    true    true    NULL    true    false   true    true    
11      NULL    -64615982       1803053750      11      NULL    1       2       
NULL    8       11      11      11      11.0    NULL    -6.4615982E7    
1.80305375E9    11.0    NULL    1.0     2.351   NULL    8.0     -6.4615984E7    
NULL    1969-12-31 16:00:00.011 NULL    1969-12-30 22:03:04.018 1970-01-21 
12:50:53.75  1969-12-31 16:00:11     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 16:00:02.351 NULL    NULL    11      NULL    -64615982  
     1803053750      11.0    NULL    TRUE    0       1969-12-31 16:00:02.351 
8J5OB7K26PEV7kdbeHr3    8J5OB7K26P      8J5OB7K26P      11.0    -1.29231964E8   
-0.9999902065507035     -6.4615983E7
-true   NULL    true    true    true    NULL    true    false   true    true    
8       NULL    890988972       -1862301000     8       NULL    1       15      
NULL    NULL    8       8       8       8.0     NULL    8.90988972E8    
-1.862301E9     8.0     NULL    1.0     15.892  NULL    NULL    8.9098899E8     
NULL    1969-12-31 16:00:00.008 NULL    1970-01-10 23:29:48.972 1969-12-10 
02:41:39     1969-12-31 16:00:08     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 16:00:15.892 NULL    NULL    8       NULL    890988972  
     -1862301000     8.0     NULL    TRUE    0       1969-12-31 16:00:15.892 
XylAH4  XylAH4  XylAH4  8.0     1.781977944E9   0.9893582466233818      
8.90988993E8
-true   NULL    true    true    true    NULL    true    false   true    true    
8       NULL    930867246       1205399250      8       NULL    1       15      
NULL    NULL    8       8       8       8.0     NULL    9.30867246E8    
1.20539925E9    8.0     NULL    1.0     15.892  NULL    NULL    9.3086726E8     
NULL    1969-12-31 16:00:00.008 NULL    1970-01-11 10:34:27.246 1970-01-14 
14:49:59.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 16:00:15.892 NULL    NULL    8       NULL    930867246  
     1205399250      8.0     NULL    TRUE    0       1969-12-31 16:00:15.892 
c1V8o1A c1V8o1A c1V8o1A 8.0     1.861734492E9   0.9893582466233818      
9.30867265E8
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-14     -7196   NULL    -1552199500     -14     -7196   NULL    11      NULL    
NULL    -14     -14     -14     -14.0   -7196.0 NULL    -1.5521995E9    -14.0   
-7196.0 NULL    11.065  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.986 
1969-12-31 15:59:52.804 NULL    1969-12-13 16:50:00.5   1969-12-31 15:59:46     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 16:00:11.065 
NULL    NULL    -14     -7196   NULL    -1552199500     -14.0   -7196.0 NULL    
0       1969-12-31 16:00:11.065 NULL    NULL    NULL    -14.0   NULL    
-0.9906073556948704     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-21     -7196   NULL    1542429000      -21     -7196   NULL    -5      NULL    
NULL    -21     -21     -21     -21.0   -7196.0 NULL    1.542429E9      -21.0   
-7196.0 NULL    -4.1    NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.979 
1969-12-31 15:59:52.804 NULL    1970-01-18 12:27:09     1969-12-31 15:59:39     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 15:59:55.9   
NULL    NULL    -21     -7196   NULL    1542429000      -21.0   -7196.0 NULL    
0       1969-12-31 15:59:55.9   NULL    NULL    NULL    -21.0   NULL    
-0.8366556385360561     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-24     -7196   NULL    829111000       -24     -7196   NULL    -7      NULL    
NULL    -24     -24     -24     -24.0   -7196.0 NULL    8.29111E8       -24.0   
-7196.0 NULL    -6.855  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.976 
1969-12-31 15:59:52.804 NULL    1970-01-10 06:18:31     1969-12-31 15:59:36     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 15:59:53.145 
NULL    NULL    -24     -7196   NULL    829111000       -24.0   -7196.0 NULL    
0       1969-12-31 15:59:53.145 NULL    NULL    NULL    -24.0   NULL    
0.9055783620066238      NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-30     -200    NULL    1429852250      -30     -200    NULL    12      NULL    
NULL    -30     -30     -30     -30.0   -200.0  NULL    1.42985225E9    -30.0   
-200.0  NULL    12.935  NULL    NULL    NULL    -200.0  1969-12-31 15:59:59.97  
1969-12-31 15:59:59.8   NULL    1970-01-17 05:10:52.25  1969-12-31 15:59:30     
1969-12-31 15:56:40     NULL    1969-12-31 16:00:00     1969-12-31 16:00:12.935 
NULL    NULL    -30     -200    NULL    1429852250      -30.0   -200.0  NULL    
0       1969-12-31 16:00:12.935 NULL    NULL    NULL    -30.0   NULL    
0.9880316240928618      NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-36     -200    NULL    -2006216750     -36     -200    NULL    -15     NULL    
NULL    -36     -36     -36     -36.0   -200.0  NULL    -2.00621675E9   -36.0   
-200.0  NULL    -14.252 NULL    NULL    NULL    -200.0  1969-12-31 15:59:59.964 
1969-12-31 15:59:59.8   NULL    1969-12-08 10:43:03.25  1969-12-31 15:59:24     
1969-12-31 15:56:40     NULL    1969-12-31 16:00:00     1969-12-31 15:59:45.748 
NULL    NULL    -36     -200    NULL    -2006216750     -36.0   -200.0  NULL    
0       1969-12-31 15:59:45.748 NULL    NULL    NULL    -36.0   NULL    
0.9917788534431158      NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-36     -200    NULL    1599879000      -36     -200    NULL    -7      NULL    
NULL    -36     -36     -36     -36.0   -200.0  NULL    1.599879E9      -36.0   
-200.0  NULL    -6.183  NULL    NULL    NULL    -200.0  1969-12-31 15:59:59.964 
1969-12-31 15:59:59.8   NULL    1970-01-19 04:24:39     1969-12-31 15:59:24     
1969-12-31 15:56:40     NULL    1969-12-31 16:00:00     1969-12-31 15:59:53.817 
NULL    NULL    -36     -200    NULL    1599879000      -36.0   -200.0  NULL    
0       1969-12-31 15:59:53.817 NULL    NULL    NULL    -36.0   NULL    
0.9917788534431158      NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-38     15601   NULL    -1858689000     -38     15601   NULL    -2      NULL    
NULL    -38     -38     -38     -38.0   15601.0 NULL    -1.858689E9     -38.0   
15601.0 NULL    -1.3860000000000001     NULL    NULL    NULL    15601.0 
1969-12-31 15:59:59.962 1969-12-31 16:00:15.601 NULL    1969-12-10 03:41:51     
1969-12-31 15:59:22     1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     
1969-12-31 15:59:58.614 NULL    NULL    -38     15601   NULL    -1858689000     
-38.0   15601.0 NULL    0       1969-12-31 15:59:58.614 NULL    NULL    NULL    
-38.0   NULL    -0.2963685787093853     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-5      15601   NULL    612416000       -5      15601   NULL    4       NULL    
NULL    -5      -5      -5      -5.0    15601.0 NULL    6.12416E8       -5.0    
15601.0 NULL    4.679   NULL    NULL    NULL    15601.0 1969-12-31 15:59:59.995 
1969-12-31 16:00:15.601 NULL    1970-01-07 18:06:56     1969-12-31 15:59:55     
1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     1969-12-31 16:00:04.679 
NULL    NULL    -5      15601   NULL    612416000       -5.0    15601.0 NULL    
0       1969-12-31 16:00:04.679 NULL    NULL    NULL    -5.0    NULL    
0.9589242746631385      NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-50     -7196   NULL    -1031187250     -50     -7196   NULL    -6      NULL    
NULL    -50     -50     -50     -50.0   -7196.0 NULL    -1.03118725E9   -50.0   
-7196.0 NULL    -5.267  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.95  
1969-12-31 15:59:52.804 NULL    1969-12-19 17:33:32.75  1969-12-31 15:59:10     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 15:59:54.733 
NULL    NULL    -50     -7196   NULL    -1031187250     -50.0   -7196.0 NULL    
0       1969-12-31 15:59:54.733 NULL    NULL    NULL    -50.0   NULL    
0.26237485370392877     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-59     -7196   NULL    -1604890000     -59     -7196   NULL    13      NULL    
NULL    -59     -59     -59     -59.0   -7196.0 NULL    -1.60489E9      -59.0   
-7196.0 NULL    13.15   NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.941 
1969-12-31 15:59:52.804 NULL    1969-12-13 02:11:50     1969-12-31 15:59:01     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 16:00:13.15  
NULL    NULL    -59     -7196   NULL    -1604890000     -59.0   -7196.0 NULL    
0       1969-12-31 16:00:13.15  NULL    NULL    NULL    -59.0   NULL    
-0.6367380071391379     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-60     -7196   NULL    1516314750      -60     -7196   NULL    -8      NULL    
NULL    -60     -60     -60     -60.0   -7196.0 NULL    1.51631475E9    -60.0   
-7196.0 NULL    -7.592  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.94  
1969-12-31 15:59:52.804 NULL    1970-01-18 05:11:54.75  1969-12-31 15:59:00     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 15:59:52.408 
NULL    NULL    -60     -7196   NULL    1516314750      -60.0   -7196.0 NULL    
0       1969-12-31 15:59:52.408 NULL    NULL    NULL    -60.0   NULL    
0.3048106211022167      NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
-8      -7196   NULL    -1849991500     -8      -7196   NULL    3       NULL    
NULL    -8      -8      -8      -8.0    -7196.0 NULL    -1.8499915E9    -8.0    
-7196.0 NULL    3.136   NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.992 
1969-12-31 15:59:52.804 NULL    1969-12-10 06:06:48.5   1969-12-31 15:59:52     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 16:00:03.136 
NULL    NULL    -8      -7196   NULL    -1849991500     -8.0    -7196.0 NULL    
0       1969-12-31 16:00:03.136 NULL    NULL    NULL    -8.0    NULL    
-0.9893582466233818     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
20      15601   NULL    -362433250      20      15601   NULL    -15     NULL    
NULL    20      20      20      20.0    15601.0 NULL    -3.6243325E8    20.0    
15601.0 NULL    -14.871 NULL    NULL    NULL    15601.0 1969-12-31 16:00:00.02  
1969-12-31 16:00:15.601 NULL    1969-12-27 11:19:26.75  1969-12-31 16:00:20     
1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     1969-12-31 15:59:45.129 
NULL    NULL    20      15601   NULL    -362433250      20.0    15601.0 NULL    
0       1969-12-31 15:59:45.129 NULL    NULL    NULL    20.0    NULL    
0.9129452507276277      NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
48      15601   NULL    -795361000      48      15601   NULL    -10     NULL    
NULL    48      48      48      48.0    15601.0 NULL    -7.95361E8      48.0    
15601.0 NULL    -9.765  NULL    NULL    NULL    15601.0 1969-12-31 16:00:00.048 
1969-12-31 16:00:15.601 NULL    1969-12-22 11:03:59     1969-12-31 16:00:48     
1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     1969-12-31 15:59:50.235 
NULL    NULL    48      15601   NULL    -795361000      48.0    15601.0 NULL    
0       1969-12-31 15:59:50.235 NULL    NULL    NULL    48.0    NULL    
-0.7682546613236668     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
5       -7196   NULL    -1015607500     5       -7196   NULL    10      NULL    
NULL    5       5       5       5.0     -7196.0 NULL    -1.0156075E9    5.0     
-7196.0 NULL    10.973  NULL    NULL    NULL    -7196.0 1969-12-31 16:00:00.005 
1969-12-31 15:59:52.804 NULL    1969-12-19 21:53:12.5   1969-12-31 16:00:05     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 16:00:10.973 
NULL    NULL    5       -7196   NULL    -1015607500     5.0     -7196.0 NULL    
0       1969-12-31 16:00:10.973 NULL    NULL    NULL    5.0     NULL    
-0.9589242746631385     NULL
-true   true    NULL    true    true    true    NULL    false   true    NULL    
59      -7196   NULL    -1137754500     59      -7196   NULL    10      NULL    
NULL    59      59      59      59.0    -7196.0 NULL    -1.1377545E9    59.0    
-7196.0 NULL    10.956  NULL    NULL    NULL    -7196.0 1969-12-31 16:00:00.059 
1969-12-31 15:59:52.804 NULL    1969-12-18 11:57:25.5   1969-12-31 16:00:59     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 16:00:10.956 
NULL    NULL    59      -7196   NULL    -1137754500     59.0    -7196.0 NULL    
0       1969-12-31 16:00:10.956 NULL    NULL    NULL    59.0    NULL    
0.6367380071391379      NULL
+true   NULL    true    true    true    NULL    false   false   true    true    
-51     NULL    773600971       1053923250      -51     NULL    0       8       
NULL    2       -51     -51     -51     -51.0   NULL    7.73600971E8    
1.05392325E9    -51.0   NULL    0.0     8.451   NULL    2.0     7.7360096E8     
NULL    1969-12-31 15:59:59.949 NULL    1970-01-09 14:53:20.971 1970-01-12 
20:45:23.25  1969-12-31 15:59:09     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:08.451 NULL    NULL    
-51     NULL    773600971       1053923250      -51.0   NULL    FALSE   0       
1969-12-31 16:00:08.451 2yK4Bx76O       2yK4Bx76O       2yK4Bx76O       -51.0   
1.547201942E9   -0.6702291758433747     7.7360096E8
+true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    -102936434      -1312782750     8       NULL    0       15      
NULL    NULL    8       8       8       8.0     NULL    -1.02936434E8   
-1.31278275E9   8.0     NULL    0.0     15.892  NULL    NULL    -1.02936432E8   
NULL    1969-12-31 16:00:00.008 NULL    1969-12-30 11:24:23.566 1969-12-16 
11:20:17.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:15.892 NULL    NULL    8  
     NULL    -102936434      -1312782750     8.0     NULL    FALSE   0       
1969-12-31 16:00:15.892 eJROSNhugc3kQR7Pb       eJROSNhugc      eJROSNhugc      
8.0     -2.05872868E8   0.9893582466233818      -1.02936432E8
+true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    -661621138      -931392750      8       NULL    0       15      
NULL    NULL    8       8       8       8.0     NULL    -6.61621138E8   
-9.3139275E8    8.0     NULL    0.0     15.892  NULL    NULL    -6.6162112E8    
NULL    1969-12-31 16:00:00.008 NULL    1969-12-24 00:12:58.862 1969-12-20 
21:16:47.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:15.892 NULL    NULL    8  
     NULL    -661621138      -931392750      8.0     NULL    FALSE   0       
1969-12-31 16:00:15.892 L15l8i5k558tBcDV20      L15l8i5k55      L15l8i5k55      
8.0     -1.323242276E9  0.9893582466233818      -6.6162112E8
+true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    -669632311      1588591250      8       NULL    0       15      
NULL    3       8       8       8       8.0     NULL    -6.69632311E8   
1.58859125E9    8.0     NULL    0.0     15.892  NULL    3.0     -6.6963232E8    
NULL    1969-12-31 16:00:00.008 NULL    1969-12-23 21:59:27.689 1970-01-19 
01:16:31.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:15.892 NULL    NULL    8  
     NULL    -669632311      1588591250      8.0     NULL    FALSE   0       
1969-12-31 16:00:15.892 3r3sDvfUkG0yTP3LnX5mNQRr        3r3sDvfUkG      
3r3sDvfUkG      8.0     -1.339264622E9  0.9893582466233818      -6.6963232E8
+true   NULL    true    true    true    NULL    false   false   true    true    
8       NULL    805179664       868161500       8       NULL    0       15      
NULL    NULL    8       8       8       8.0     NULL    8.05179664E8    
8.681615E8      8.0     NULL    0.0     15.892  NULL    NULL    8.0517965E8     
NULL    1969-12-31 16:00:00.008 NULL    1970-01-09 23:39:39.664 1970-01-10 
17:09:21.5   1969-12-31 16:00:08     NULL    1969-12-31 16:00:00     1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:15.892 NULL    NULL    8  
     NULL    805179664       868161500       8.0     NULL    FALSE   0       
1969-12-31 16:00:15.892 e005B5q e005B5q e005B5q 8.0     1.610359328E9   
0.9893582466233818      8.05179648E8
+true   NULL    true    true    true    NULL    true    false   true    true    
-51     NULL    747553882       -1930467250     -51     NULL    1       8       
NULL    NULL    -51     -51     -51     -51.0   NULL    7.47553882E8    
-1.93046725E9   -51.0   NULL    1.0     8.451   NULL    NULL    7.4755386E8     
NULL    1969-12-31 15:59:59.949 NULL    1970-01-09 07:39:13.882 1969-12-09 
07:45:32.75  1969-12-31 15:59:09     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:08.451 NULL    NULL    
-51     NULL    747553882       -1930467250     -51.0   NULL    TRUE    0       
1969-12-31 16:00:08.451 q8M86Fx0r       q8M86Fx0r       q8M86Fx0r       -51.0   
1.495107764E9   -0.6702291758433747     7.47553857E8
+true   NULL    true    true    true    NULL    true    false   true    true    
11      NULL    -335450417      1233327000      11      NULL    1       2       
NULL    NULL    11      11      11      11.0    NULL    -3.35450417E8   
1.233327E9      11.0    NULL    1.0     2.351   NULL    NULL    -3.35450432E8   
NULL    1969-12-31 16:00:00.011 NULL    1969-12-27 18:49:09.583 1970-01-14 
22:35:27     1969-12-31 16:00:11     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:02.351 NULL    NULL    11 
     NULL    -335450417      1233327000      11.0    NULL    TRUE    0       
1969-12-31 16:00:02.351 dOYnqgaXoJ1P3ERwxe5N7   dOYnqgaXoJ      dOYnqgaXoJ      
11.0    -6.70900834E8   -0.9999902065507035     -3.35450431E8
+true   NULL    true    true    true    NULL    true    false   true    true    
11      NULL    -64615982       1803053750      11      NULL    1       2       
NULL    8       11      11      11      11.0    NULL    -6.4615982E7    
1.80305375E9    11.0    NULL    1.0     2.351   NULL    8.0     -6.4615984E7    
NULL    1969-12-31 16:00:00.011 NULL    1969-12-30 22:03:04.018 1970-01-21 
12:50:53.75  1969-12-31 16:00:11     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:02.351 NULL    NULL    11 
     NULL    -64615982       1803053750      11.0    NULL    TRUE    0       
1969-12-31 16:00:02.351 8J5OB7K26PEV7kdbeHr3    8J5OB7K26P      8J5OB7K26P      
11.0    -1.29231964E8   -0.9999902065507035     -6.4615983E7
+true   NULL    true    true    true    NULL    true    false   true    true    
8       NULL    890988972       -1862301000     8       NULL    1       15      
NULL    NULL    8       8       8       8.0     NULL    8.90988972E8    
-1.862301E9     8.0     NULL    1.0     15.892  NULL    NULL    8.9098899E8     
NULL    1969-12-31 16:00:00.008 NULL    1970-01-10 23:29:48.972 1969-12-10 
02:41:39     1969-12-31 16:00:08     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:15.892 NULL    NULL    8  
     NULL    890988972       -1862301000     8.0     NULL    TRUE    0       
1969-12-31 16:00:15.892 XylAH4  XylAH4  XylAH4  8.0     1.781977944E9   
0.9893582466233818      8.90988993E8
+true   NULL    true    true    true    NULL    true    false   true    true    
8       NULL    930867246       1205399250      8       NULL    1       15      
NULL    NULL    8       8       8       8.0     NULL    9.30867246E8    
1.20539925E9    8.0     NULL    1.0     15.892  NULL    NULL    9.3086726E8     
NULL    1969-12-31 16:00:00.008 NULL    1970-01-11 10:34:27.246 1970-01-14 
14:49:59.25  1969-12-31 16:00:08     NULL    1969-12-31 16:00:00.001 1969-12-31 
16:00:00     1969-12-31 00:00:00     1969-12-31 16:00:15.892 NULL    NULL    8  
     NULL    930867246       1205399250      8.0     NULL    TRUE    0       
1969-12-31 16:00:15.892 c1V8o1A c1V8o1A c1V8o1A 8.0     1.861734492E9   
0.9893582466233818      9.30867265E8
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-14     -7196   NULL    -1552199500     -14     -7196   NULL    11      NULL    
NULL    -14     -14     -14     -14.0   -7196.0 NULL    -1.5521995E9    -14.0   
-7196.0 NULL    11.065  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.986 
1969-12-31 15:59:52.804 NULL    1969-12-13 16:50:00.5   1969-12-31 15:59:46     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 16:00:11.065 NULL    NULL    -14     -7196   NULL    -1552199500     
-14.0   -7196.0 NULL    0       1969-12-31 16:00:11.065 NULL    NULL    NULL    
-14.0   NULL    -0.9906073556948704     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-21     -7196   NULL    1542429000      -21     -7196   NULL    -5      NULL    
NULL    -21     -21     -21     -21.0   -7196.0 NULL    1.542429E9      -21.0   
-7196.0 NULL    -4.1    NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.979 
1969-12-31 15:59:52.804 NULL    1970-01-18 12:27:09     1969-12-31 15:59:39     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:55.9   NULL    NULL    -21     -7196   NULL    1542429000      
-21.0   -7196.0 NULL    0       1969-12-31 15:59:55.9   NULL    NULL    NULL    
-21.0   NULL    -0.8366556385360561     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-24     -7196   NULL    829111000       -24     -7196   NULL    -7      NULL    
NULL    -24     -24     -24     -24.0   -7196.0 NULL    8.29111E8       -24.0   
-7196.0 NULL    -6.855  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.976 
1969-12-31 15:59:52.804 NULL    1970-01-10 06:18:31     1969-12-31 15:59:36     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:53.145 NULL    NULL    -24     -7196   NULL    829111000       
-24.0   -7196.0 NULL    0       1969-12-31 15:59:53.145 NULL    NULL    NULL    
-24.0   NULL    0.9055783620066238      NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-30     -200    NULL    1429852250      -30     -200    NULL    12      NULL    
NULL    -30     -30     -30     -30.0   -200.0  NULL    1.42985225E9    -30.0   
-200.0  NULL    12.935  NULL    NULL    NULL    -200.0  1969-12-31 15:59:59.97  
1969-12-31 15:59:59.8   NULL    1970-01-17 05:10:52.25  1969-12-31 15:59:30     
1969-12-31 15:56:40     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 16:00:12.935 NULL    NULL    -30     -200    NULL    1429852250      
-30.0   -200.0  NULL    0       1969-12-31 16:00:12.935 NULL    NULL    NULL    
-30.0   NULL    0.9880316240928618      NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-36     -200    NULL    -2006216750     -36     -200    NULL    -15     NULL    
NULL    -36     -36     -36     -36.0   -200.0  NULL    -2.00621675E9   -36.0   
-200.0  NULL    -14.252 NULL    NULL    NULL    -200.0  1969-12-31 15:59:59.964 
1969-12-31 15:59:59.8   NULL    1969-12-08 10:43:03.25  1969-12-31 15:59:24     
1969-12-31 15:56:40     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:45.748 NULL    NULL    -36     -200    NULL    -2006216750     
-36.0   -200.0  NULL    0       1969-12-31 15:59:45.748 NULL    NULL    NULL    
-36.0   NULL    0.9917788534431158      NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-36     -200    NULL    1599879000      -36     -200    NULL    -7      NULL    
NULL    -36     -36     -36     -36.0   -200.0  NULL    1.599879E9      -36.0   
-200.0  NULL    -6.183  NULL    NULL    NULL    -200.0  1969-12-31 15:59:59.964 
1969-12-31 15:59:59.8   NULL    1970-01-19 04:24:39     1969-12-31 15:59:24     
1969-12-31 15:56:40     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:53.817 NULL    NULL    -36     -200    NULL    1599879000      
-36.0   -200.0  NULL    0       1969-12-31 15:59:53.817 NULL    NULL    NULL    
-36.0   NULL    0.9917788534431158      NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-38     15601   NULL    -1858689000     -38     15601   NULL    -2      NULL    
NULL    -38     -38     -38     -38.0   15601.0 NULL    -1.858689E9     -38.0   
15601.0 NULL    -1.3860000000000001     NULL    NULL    NULL    15601.0 
1969-12-31 15:59:59.962 1969-12-31 16:00:15.601 NULL    1969-12-10 03:41:51     
1969-12-31 15:59:22     1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     
1969-12-31 00:00:00     1969-12-31 15:59:58.614 NULL    NULL    -38     15601   
NULL    -1858689000     -38.0   15601.0 NULL    0       1969-12-31 15:59:58.614 
NULL    NULL    NULL    -38.0   NULL    -0.2963685787093853     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-5      15601   NULL    612416000       -5      15601   NULL    4       NULL    
NULL    -5      -5      -5      -5.0    15601.0 NULL    6.12416E8       -5.0    
15601.0 NULL    4.679   NULL    NULL    NULL    15601.0 1969-12-31 15:59:59.995 
1969-12-31 16:00:15.601 NULL    1970-01-07 18:06:56     1969-12-31 15:59:55     
1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 16:00:04.679 NULL    NULL    -5      15601   NULL    612416000       
-5.0    15601.0 NULL    0       1969-12-31 16:00:04.679 NULL    NULL    NULL    
-5.0    NULL    0.9589242746631385      NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-50     -7196   NULL    -1031187250     -50     -7196   NULL    -6      NULL    
NULL    -50     -50     -50     -50.0   -7196.0 NULL    -1.03118725E9   -50.0   
-7196.0 NULL    -5.267  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.95  
1969-12-31 15:59:52.804 NULL    1969-12-19 17:33:32.75  1969-12-31 15:59:10     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:54.733 NULL    NULL    -50     -7196   NULL    -1031187250     
-50.0   -7196.0 NULL    0       1969-12-31 15:59:54.733 NULL    NULL    NULL    
-50.0   NULL    0.26237485370392877     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-59     -7196   NULL    -1604890000     -59     -7196   NULL    13      NULL    
NULL    -59     -59     -59     -59.0   -7196.0 NULL    -1.60489E9      -59.0   
-7196.0 NULL    13.15   NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.941 
1969-12-31 15:59:52.804 NULL    1969-12-13 02:11:50     1969-12-31 15:59:01     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 16:00:13.15  NULL    NULL    -59     -7196   NULL    -1604890000     
-59.0   -7196.0 NULL    0       1969-12-31 16:00:13.15  NULL    NULL    NULL    
-59.0   NULL    -0.6367380071391379     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-60     -7196   NULL    1516314750      -60     -7196   NULL    -8      NULL    
NULL    -60     -60     -60     -60.0   -7196.0 NULL    1.51631475E9    -60.0   
-7196.0 NULL    -7.592  NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.94  
1969-12-31 15:59:52.804 NULL    1970-01-18 05:11:54.75  1969-12-31 15:59:00     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:52.408 NULL    NULL    -60     -7196   NULL    1516314750      
-60.0   -7196.0 NULL    0       1969-12-31 15:59:52.408 NULL    NULL    NULL    
-60.0   NULL    0.3048106211022167      NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
-8      -7196   NULL    -1849991500     -8      -7196   NULL    3       NULL    
NULL    -8      -8      -8      -8.0    -7196.0 NULL    -1.8499915E9    -8.0    
-7196.0 NULL    3.136   NULL    NULL    NULL    -7196.0 1969-12-31 15:59:59.992 
1969-12-31 15:59:52.804 NULL    1969-12-10 06:06:48.5   1969-12-31 15:59:52     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 16:00:03.136 NULL    NULL    -8      -7196   NULL    -1849991500     
-8.0    -7196.0 NULL    0       1969-12-31 16:00:03.136 NULL    NULL    NULL    
-8.0    NULL    -0.9893582466233818     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
20      15601   NULL    -362433250      20      15601   NULL    -15     NULL    
NULL    20      20      20      20.0    15601.0 NULL    -3.6243325E8    20.0    
15601.0 NULL    -14.871 NULL    NULL    NULL    15601.0 1969-12-31 16:00:00.02  
1969-12-31 16:00:15.601 NULL    1969-12-27 11:19:26.75  1969-12-31 16:00:20     
1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:45.129 NULL    NULL    20      15601   NULL    -362433250      
20.0    15601.0 NULL    0       1969-12-31 15:59:45.129 NULL    NULL    NULL    
20.0    NULL    0.9129452507276277      NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
48      15601   NULL    -795361000      48      15601   NULL    -10     NULL    
NULL    48      48      48      48.0    15601.0 NULL    -7.95361E8      48.0    
15601.0 NULL    -9.765  NULL    NULL    NULL    15601.0 1969-12-31 16:00:00.048 
1969-12-31 16:00:15.601 NULL    1969-12-22 11:03:59     1969-12-31 16:00:48     
1969-12-31 20:20:01     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 15:59:50.235 NULL    NULL    48      15601   NULL    -795361000      
48.0    15601.0 NULL    0       1969-12-31 15:59:50.235 NULL    NULL    NULL    
48.0    NULL    -0.7682546613236668     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
5       -7196   NULL    -1015607500     5       -7196   NULL    10      NULL    
NULL    5       5       5       5.0     -7196.0 NULL    -1.0156075E9    5.0     
-7196.0 NULL    10.973  NULL    NULL    NULL    -7196.0 1969-12-31 16:00:00.005 
1969-12-31 15:59:52.804 NULL    1969-12-19 21:53:12.5   1969-12-31 16:00:05     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 16:00:10.973 NULL    NULL    5       -7196   NULL    -1015607500     
5.0     -7196.0 NULL    0       1969-12-31 16:00:10.973 NULL    NULL    NULL    
5.0     NULL    -0.9589242746631385     NULL
+true   true    NULL    true    true    true    NULL    false   true    NULL    
59      -7196   NULL    -1137754500     59      -7196   NULL    10      NULL    
NULL    59      59      59      59.0    -7196.0 NULL    -1.1377545E9    59.0    
-7196.0 NULL    10.956  NULL    NULL    NULL    -7196.0 1969-12-31 16:00:00.059 
1969-12-31 15:59:52.804 NULL    1969-12-18 11:57:25.5   1969-12-31 16:00:59     
1969-12-31 14:00:04     NULL    1969-12-31 16:00:00     1969-12-31 00:00:00     
1969-12-31 16:00:10.956 NULL    NULL    59      -7196   NULL    -1137754500     
59.0    -7196.0 NULL    0       1969-12-31 16:00:10.956 NULL    NULL    NULL    
59.0    NULL    0.6367380071391379      NULL

Reply via email to