Fix incorrect row pruning for non-text BYTE_ARRAY

This commit is contained in:
Colin Dellow 2018-03-18 19:43:09 -04:00
parent 893e4c63f5
commit 8bf890ab66
3 changed files with 39 additions and 2 deletions

View File

@ -638,7 +638,7 @@ bool ParquetCursor::currentRowSatisfiesFilter() {
} else {
parquet::Type::type pqType = types[column];
if(pqType == parquet::Type::BYTE_ARRAY) {
if(pqType == parquet::Type::BYTE_ARRAY && logicalTypes[column] == parquet::LogicalType::UTF8) {
rv = currentRowSatisfiesTextFilter(constraints[i]);
} else if(pqType == parquet::Type::INT32 ||
pqType == parquet::Type::INT64 ||

View File

@ -0,0 +1,37 @@
select rowid from nulls1 where binary_9 >= '56' and ts_5 < 496886400000;
1
2
3
4
5
6
7
8
9
10
21
23
25
27
29
31
33
35
37
39
41
43
45
47
49
51
53
55
57
59
61
63
65
67
69
71

View File

@ -80,7 +80,7 @@ def test_table(conn, table):
for name in column_names:
column_values[name] = get_column_values(conn, table, name)
random.seed(0)
#random.seed(0)
all_values = []
for values in column_values.values():
all_values = all_values + values