Skip to content

Commit f53da4d

Browse files
Merge pull request #11608 from ClickHouse/fix-nullable-prewhere-type
Fix nullable prewhere type
2 parents d8312d0 + 83155e1 commit f53da4d

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

src/Storages/MergeTree/MergeTreeRangeReader.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -905,7 +905,9 @@ void MergeTreeRangeReader::executePrewhereActionsAndFilterColumns(ReadResult & r
905905
if (prewhere->remove_prewhere_column)
906906
result.columns.erase(result.columns.begin() + prewhere_column_pos);
907907
else
908-
result.columns[prewhere_column_pos] = DataTypeUInt8().createColumnConst(result.num_rows, 1u)->convertToFullColumnIfConst();
908+
result.columns[prewhere_column_pos] =
909+
getSampleBlock().getByName(prewhere->prewhere_column_name).type->
910+
createColumnConst(result.num_rows, 1u)->convertToFullColumnIfConst();
909911
}
910912
}
911913
/// Filter in WHERE instead
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
some_field_value 1
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
drop table if exists data;
2+
CREATE TABLE data (ts DateTime, field String, num_field Nullable(Float64)) ENGINE = MergeTree() PARTITION BY ts ORDER BY ts;
3+
insert into data values(toDateTime('2020-05-14 02:08:00'),'some_field_value',7.);
4+
SELECT field, countIf(num_field > 6.0) FROM data PREWHERE (num_field>6.0) GROUP BY field;
5+
drop table if exists data;

0 commit comments

Comments
 (0)