Github user vvysotskyi commented on a diff in the pull request:
https://github.com/apache/drill/pull/1049#discussion_r158703447
--- Diff:
exec/java-exec/src/test/java/org/apache/drill/exec/store/parquet/TestParquetComplex.java
---
@@ -193,4 +200,168 @@ public void notxistsField() throws Exception {
.run();
}
+ @Test //DRILL-5971
+ public void testComplexLogicalIntTypes() throws Exception {
+ String query = String.format("select t.complextype as complextype, " +
+ "t.uint_64 as uint_64, t.uint_32 as uint_32, t.uint_16 as
uint_16, t.uint_8 as uint_8, " +
+ "t.int_64 as int_64, t.int_32 as int_32, t.int_16 as int_16,
t.int_8 as int_8 " +
+ "from cp.`store/parquet/complex/logical_int_complex.parquet`
t" );
+ String[] columns = {"complextype", "uint_64", "uint_32", "uint_16",
"uint_8", "int_64", "int_32", "int_16", "int_8" };
+ testBuilder()
+ .sqlQuery(query)
+ .unOrdered()
+ .baselineColumns(columns)
+ .baselineValues( mapOf("a","a","b","b") , 0L ,
0 , 0 , 0 , 0L , 0 , 0
,0 )
+ .baselineValues( mapOf("a","a","b","b") , -1L ,
-1 , -1 , -1 , -1L , -1 , -1
, -1 )
+ .baselineValues( mapOf("a","a","b","b") , 1L ,
1 , 1 , 1 , -9223372036854775808L , 1 , 1
, 1 )
+ .baselineValues( mapOf("a","a","b","b") , 9223372036854775807L ,
2147483647 , 65535 , 255 , 9223372036854775807L , -2147483648 ,
-32768 , -128 )
+ .build()
+ .run();
+ }
+
+ @Test //DRILL-5971
+ public void testComplexLogicalIntTypes2() throws Exception {
+ byte[] bytes12 = {'1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
'a', 'b' };
+ byte[] bytesOnes = new byte[12]; Arrays.fill(bytesOnes, (byte)1);
+ byte[] bytesZeros = new byte[12];
+ String query = String.format(
+ " select " +
+ " t.rowKey as rowKey, " +
+ " t.StringTypes._UTF8 as _UTF8, " +
+ " t.StringTypes._Enum as _Enum, " +
+ " t.NumericTypes.Int32._INT32_RAW as _INT32_RAW, " +
+ " t.NumericTypes.Int32._INT_8 as _INT_8, " +
+ " t.NumericTypes.Int32._INT_16 as _INT_16, " +
+ " t.NumericTypes.Int32._INT_32 as _INT_32, " +
+ " t.NumericTypes.Int32._UINT_8 as _UINT_8, " +
+ " t.NumericTypes.Int32._UINT_16 as _UINT_16, " +
+ " t.NumericTypes.Int32._UINT_32 as _UINT_32, " +
+ " t.NumericTypes.Int64._INT64_RAW as _INT64_RAW, " +
+ " t.NumericTypes.Int64._INT_64 as _INT_64, " +
+ " t.NumericTypes.Int64._UINT_64 as _UINT_64, " +
+ " t.NumericTypes.DateTimeTypes._DATE_int32 as _DATE_int32, " +
+ " t.NumericTypes.DateTimeTypes._TIME_MILLIS_int32 as
_TIME_MILLIS_int32, " +
+ " t.NumericTypes.DateTimeTypes._TIMESTAMP_MILLIS_int64 as
_TIMESTAMP_MILLIS_int64, " +
+ " t.NumericTypes.DateTimeTypes._INTERVAL_fixed_len_byte_array_12
as _INTERVAL_fixed_len_byte_array_12, " +
+ " t.NumericTypes.Int96._INT96_RAW as _INT96_RAW " +
+ " from " +
+ " cp.`store/parquet/complex/parquet_logical_types_complex.parquet`
t " +
+ " order by t.rowKey "
+ );
+ String[] columns = {
+ "rowKey " ,
+ "_UTF8" ,
+ "_Enum" ,
+ "_INT32_RAW" ,
+ "_INT_8" ,
+ "_INT_16" ,
+ "_INT_32" ,
+ "_UINT_8" ,
+ "_UINT_16" ,
+ "_UINT_32" ,
+ "_INT64_RAW" ,
+ "_INT_64" ,
+ "_UINT_64" ,
+ "_DATE_int32" ,
+ "_TIME_MILLIS_int32" ,
+ "_TIMESTAMP_MILLIS_int64" ,
+ "_INTERVAL_fixed_len_byte_array_12" ,
+ "_INT96_RAW"
+
+ };
+ testBuilder()
+ .sqlQuery(query)
+ .ordered()
--- End diff --
Maybe `unOrdered`?
---