Clickhouse: Strange results when using the same field 2 times in a where clause

Created on 10 Jul 2020  Â·  3Comments  Â·  Source: ClickHouse/ClickHouse

Describe the unexpected behaviour

Not sure if it is a bug but we encounter a very strange issue when using the same field 2 times in a where clause.
Basically : field = <> and toYear(field)= <>

How to reproduce

  • Clickhouse 20.5.2.7

Create table statement :

DROP TABLE IF EXISTS datasources.cal_pace_strange2;
CREATE TABLE datasources.cal_pace_strange2
(
    `htl_id` UInt32,
    `stay_date` Date,
    `snpdate` Date,
    `leadtime` String,
    `los` String,
    `mkt_id` String,
    `sob_id` String,
    `res_status_id` String,
    `rt_id` String,
    `cur` String,
    `rns` Decimal(9, 4),
    `arrivals` Decimal(9, 4),
    `departures` Decimal(9, 4),
    `adults` Decimal(9, 4),
    `children` Decimal(9, 4),
    `rm_rev` Decimal(18, 10),
    `fd_rev` Decimal(18, 10),
    `oth_rev` Decimal(18, 10),
    `tot_rev` Decimal(18, 10)

)
    ENGINE = MergeTree()
        PARTITION BY toYYYYMM(snpdate)
        ORDER BY (htl_id, stay_date, snpdate)
        SETTINGS index_granularity = 8192;

Load the data using the attached SQL inserts.

data_bug_clickhouse.txt

This query returns 0 results :

select * from cal_pace_strange2 where snpdate='2020-06-09' and htl_id=66 and stay_date='2020-10-02' and toYear(stay_date) = 2020;

This one return the correct results :

select * from cal_pace_strange2 where snpdate='2020-06-09' and htl_id=66 and stay_date='2020-10-02'

Same behavior occurs in 20.4.3 and 20.4.4

Expected behavior :

Both queries should return the same results.

st-fixed unexpected behaviour v20.4-affected v20.5-affected

Most helpful comment

The issue reproduces.

All 3 comments

The issue reproduces.

@filimonov
@CurtizJ checked that version 20.3 is not affected.

I was checking that, but it's possible i've messed up smth.

Was this page helpful?
0 / 5 - 0 ratings