@@ -2189,23 +2189,25 @@ var AggregationTests = []AggregationTestCase{
21892189 },
21902190 },
21912191 ExpectedPancakeSQL : `
2192- SELECT sum(countIf("taxful_total_price" > '250' )) OVER () AS "aggr__1__count",
2192+ SELECT sum(count(* )) OVER () AS "aggr__1__count",
21932193 toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(toTimezone(
21942194 "order_date", 'Europe/Warsaw'))*1000) / 43200000) AS "aggr__1__2__key_0",
2195- countIf("taxful_total_price" > '250' ) AS "aggr__1__2__count"
2195+ count(* ) AS "aggr__1__2__count"
21962196 FROM __quesma_table_name
2197- WHERE ("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"<=fromUnixTimestamp64Milli(1707818397034))
2197+ WHERE (("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"<=
2198+ fromUnixTimestamp64Milli(1707818397034)) AND "taxful_total_price" > '250')
21982199 GROUP BY toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(toTimezone
21992200 ("order_date", 'Europe/Warsaw'))*1000) / 43200000) AS "aggr__1__2__key_0"
22002201 ORDER BY "aggr__1__2__key_0" ASC` ,
22012202 ExpectedAdditionalPancakeSQLs : []string {`
22022203 WITH quesma_top_hits_group_table AS (
2203- SELECT sum(countIf("taxful_total_price" > '250' )) OVER () AS "aggr__1__count",
2204+ SELECT sum(count(* )) OVER () AS "aggr__1__count",
22042205 toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(toTimezone(
22052206 "order_date", 'Europe/Warsaw'))*1000) / 43200000) AS "aggr__1__2__key_0",
2206- countIf("taxful_total_price" > '250' ) AS "aggr__1__2__count"
2207+ count(* ) AS "aggr__1__2__count"
22072208 FROM __quesma_table_name
2208- WHERE ("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"<=fromUnixTimestamp64Milli(1707818397034))
2209+ WHERE (("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"
2210+ <=fromUnixTimestamp64Milli(1707818397034)) AND "taxful_total_price" > '250')
22092211 GROUP BY toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(
22102212 toTimezone("order_date", 'Europe/Warsaw'))*1000) / 43200000) AS
22112213 "aggr__1__2__key_0"
@@ -2222,21 +2224,22 @@ var AggregationTests = []AggregationTestCase{
22222224 __quesma_table_name AS "hit_table" ON ("group_table"."aggr__1__2__key_0"=
22232225 toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(toTimezone(
22242226 "order_date", 'Europe/Warsaw'))*1000) / 43200000))
2225- WHERE ("taxful_total_price" > '250' AND ("order_date">=fromUnixTimestamp64Milli(1707213597034)
2226- AND "order_date" <=fromUnixTimestamp64Milli(1707818397034))))
2227+ WHERE (("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"
2228+ <=fromUnixTimestamp64Milli(1707818397034)) AND "taxful_total_price" > '250' ))
22272229 SELECT "aggr__1__count", "aggr__1__2__key_0", "aggr__1__2__count",
22282230 "top_metrics__1__2__4_col_0", "top_metrics__1__2__4_col_1", "top_hits_rank"
22292231 FROM "quesma_top_hits_join"
22302232 WHERE "top_hits_rank"<=10
22312233 ORDER BY "aggr__1__2__key_0" ASC, "top_hits_rank" ASC
22322234 ` , `
22332235 WITH quesma_top_hits_group_table AS (
2234- SELECT sum(countIf("taxful_total_price" > '250' )) OVER () AS "aggr__1__count",
2236+ SELECT sum(count(* )) OVER () AS "aggr__1__count",
22352237 toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(toTimezone(
22362238 "order_date", 'Europe/Warsaw'))*1000) / 43200000) AS "aggr__1__2__key_0",
2237- countIf("taxful_total_price" > '250' ) AS "aggr__1__2__count"
2239+ count(* ) AS "aggr__1__2__count"
22382240 FROM __quesma_table_name
2239- WHERE ("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"<=fromUnixTimestamp64Milli(1707818397034))
2241+ WHERE (("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"
2242+ <=fromUnixTimestamp64Milli(1707818397034)) AND "taxful_total_price" > '250')
22402243 GROUP BY toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(
22412244 toTimezone("order_date", 'Europe/Warsaw'))*1000) / 43200000) AS
22422245 "aggr__1__2__key_0"
@@ -2253,8 +2256,8 @@ var AggregationTests = []AggregationTestCase{
22532256 __quesma_table_name AS "hit_table" ON ("group_table"."aggr__1__2__key_0"=
22542257 toInt64((toUnixTimestamp64Milli("order_date")+timeZoneOffset(toTimezone(
22552258 "order_date", 'Europe/Warsaw'))*1000) / 43200000))
2256- WHERE ("taxful_total_price" > '250' AND
2257- ("order_date"> =fromUnixTimestamp64Milli(1707213597034) AND "order_date"<=fromUnixTimestamp64Milli(1707818397034)) ))
2259+ WHERE (("order_date">=fromUnixTimestamp64Milli(1707213597034) AND "order_date"
2260+ < =fromUnixTimestamp64Milli(1707818397034)) AND "taxful_total_price" > '250' ))
22582261 SELECT "aggr__1__count", "aggr__1__2__key_0", "aggr__1__2__count",
22592262 "top_metrics__1__2__5_col_0", "top_metrics__1__2__5_col_1", "top_hits_rank"
22602263 FROM "quesma_top_hits_join"
@@ -3452,77 +3455,57 @@ var AggregationTests = []AggregationTestCase{
34523455 }` ,
34533456 ExpectedPancakeResults : []model.QueryResultRow {
34543457 {Cols : []model.QueryResultCol {
3455- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__count " , int64 (1051 )),
3456- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__0__key_0 " , int64 (1708560000000 / 86400000 )),
3457- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__0__count " , int64 (10 )),
3458- model .NewQueryResultCol ("filter_0__metric__time_offset_split__0__1_col_0 " , 840.921875 ),
3459- model .NewQueryResultCol ("filter_0__metric__time_offset_split__0__2_col_0 " , 841.921875 ),
3460- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__count" , int64 (1026 )),
3461- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__0__key_0" , int64 (1708560000000 / 86400000 )),
3462- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__0__count" , int64 (0 )),
3463- model .NewQueryResultCol ("filter_1__metric__time_offset_split__0__1_col_0" , nil ),
3464- model .NewQueryResultCol ("filter_1__metric__time_offset_split__0__2_col_0" , nil ),
3458+ model .NewQueryResultCol ("aggr__time_offset_split__count " , int64 (1051 )),
3459+ model .NewQueryResultCol ("aggr__time_offset_split__0__key_0 " , int64 (1708560000000 / 86400000 )),
3460+ model .NewQueryResultCol ("aggr__time_offset_split__0__count " , int64 (10 )),
3461+ model .NewQueryResultCol ("metric__time_offset_split__0__1_col_0 " , 840.921875 ),
3462+ model .NewQueryResultCol ("metric__time_offset_split__0__2_col_0 " , 841.921875 ),
3463+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__count", int64(1026)),
3464+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__0__key_0", int64(1708560000000/86400000)),
3465+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__0__count", int64(0)),
3466+ // model.NewQueryResultCol("filter_1__metric__time_offset_split__0__1_col_0", nil),
3467+ // model.NewQueryResultCol("filter_1__metric__time_offset_split__0__2_col_0", nil),
34653468 }},
34663469
34673470 {Cols : []model.QueryResultCol {
3468- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__count " , int64 (1051 )),
3469- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__0__key_0 " , int64 (1708646400000 / 86400000 )),
3470- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__0__count " , int64 (166 )),
3471- model .NewQueryResultCol ("filter_0__metric__time_offset_split__0__1_col_0 " , 13902.156250 ),
3472- model .NewQueryResultCol ("filter_0__metric__time_offset_split__0__2_col_0 " , 13903.156250 ),
3473- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__count" , int64 (1026 )),
3474- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__0__key_0" , int64 (1708646400000 / 86400000 )),
3475- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__0__count" , int64 (0 )),
3476- model .NewQueryResultCol ("filter_1__metric__time_offset_split__0__1_col_0" , nil ),
3477- model .NewQueryResultCol ("filter_1__metric__time_offset_split__0__2_col_0" , nil ),
3471+ model .NewQueryResultCol ("aggr__time_offset_split__count " , int64 (1051 )),
3472+ model .NewQueryResultCol ("aggr__time_offset_split__0__key_0 " , int64 (1708646400000 / 86400000 )),
3473+ model .NewQueryResultCol ("aggr__time_offset_split__0__count " , int64 (166 )),
3474+ model .NewQueryResultCol ("metric__time_offset_split__0__1_col_0 " , 13902.156250 ),
3475+ model .NewQueryResultCol ("metric__time_offset_split__0__2_col_0 " , 13903.156250 ),
3476+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__count", int64(1026)),
3477+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__0__key_0", int64(1708646400000/86400000)),
3478+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__0__count", int64(0)),
3479+ // model.NewQueryResultCol("filter_1__metric__time_offset_split__0__1_col_0", nil),
3480+ // model.NewQueryResultCol("filter_1__metric__time_offset_split__0__2_col_0", nil),
34783481 }},
34793482 {Cols : []model.QueryResultCol {
3480- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__count " , int64 (1051 )),
3481- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__0__key_0 " , int64 (1707955200000 / 86400000 )),
3482- model .NewQueryResultCol ("filter_0__aggr__time_offset_split__0__count " , int64 (0 )),
3483- model .NewQueryResultCol ("filter_0__metric__time_offset_split__0__1_col_0 " , nil ),
3484- model .NewQueryResultCol ("filter_0__metric__time_offset_split__0__2_col_0 " , nil ),
3485- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__count" , int64 (1026 )),
3486- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__0__key_0" , int64 (1707955200000 / 86400000 )),
3487- model .NewQueryResultCol ("filter_1__aggr__time_offset_split__0__count" , int64 (7 )),
3488- model .NewQueryResultCol ("filter_1__metric__time_offset_split__0__1_col_0" , 465.843750 ),
3489- model .NewQueryResultCol ("filter_1__metric__time_offset_split__0__2_col_0" , 466.843750 ),
3483+ model .NewQueryResultCol ("aggr__time_offset_split__count " , int64 (1051 )),
3484+ model .NewQueryResultCol ("aggr__time_offset_split__0__key_0 " , int64 (1707955200000 / 86400000 )),
3485+ model .NewQueryResultCol ("aggr__time_offset_split__0__count " , int64 (0 )),
3486+ model .NewQueryResultCol ("metric__time_offset_split__0__1_col_0 " , nil ),
3487+ model .NewQueryResultCol ("metric__time_offset_split__0__2_col_0 " , nil ),
3488+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__count", int64(1026)),
3489+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__0__key_0", int64(1707955200000/86400000)),
3490+ // model.NewQueryResultCol("filter_1__aggr__time_offset_split__0__count", int64(7)),
3491+ // model.NewQueryResultCol("filter_1__metric__time_offset_split__0__1_col_0", 465.843750),
3492+ // model.NewQueryResultCol("filter_1__metric__time_offset_split__0__2_col_0", 466.843750),
34903493 }},
34913494 },
34923495 ExpectedPancakeSQL : `
3493- SELECT sum(countIf(("order_date">=fromUnixTimestamp64Milli(1708639056376) AND
3494- "order_date"<=fromUnixTimestamp64Milli(1709243856376)))) OVER () AS
3495- "filter_0__aggr__time_offset_split__count",
3496- toInt64(toUnixTimestamp64Milli("order_date") / 86400000) AS
3497- "filter_0__aggr__time_offset_split__0__key_0",
3498- countIf(("order_date">=fromUnixTimestamp64Milli(1708639056376) AND
3499- "order_date"<=fromUnixTimestamp64Milli(1709243856376))) AS
3500- "filter_0__aggr__time_offset_split__0__count",
3501- sumOrNullIf("taxful_total_price", ("order_date">=fromUnixTimestamp64Milli(
3502- 1708639056376) AND "order_date"<=fromUnixTimestamp64Milli(1709243856376))) AS
3503- "filter_0__metric__time_offset_split__0__1_col_0",
3504- sumOrNullIf("taxful_total_price", ("order_date">=fromUnixTimestamp64Milli(
3505- 1708639056376) AND "order_date"<=fromUnixTimestamp64Milli(1709243856376))) AS
3506- "filter_0__metric__time_offset_split__0__2_col_0",
3507- sum(countIf(("order_date">=fromUnixTimestamp64Milli(1708034256376) AND
3508- "order_date"<=fromUnixTimestamp64Milli(1708639056376)))) OVER () AS
3509- "filter_1__aggr__time_offset_split__count",
3496+ SELECT sum(count(*)) OVER () AS "aggr__time_offset_split__count",
35103497 toInt64(toUnixTimestamp64Milli("order_date") / 86400000) AS
3511- "filter_1__aggr__time_offset_split__0__key_0",
3512- countIf(("order_date">=fromUnixTimestamp64Milli(1708034256376) AND
3513- "order_date"<=fromUnixTimestamp64Milli(1708639056376))) AS
3514- "filter_1__aggr__time_offset_split__0__count",
3515- sumOrNullIf("taxful_total_price", ("order_date">=fromUnixTimestamp64Milli(
3516- 1708034256376) AND "order_date"<=fromUnixTimestamp64Milli(1708639056376))) AS
3517- "filter_1__metric__time_offset_split__0__1_col_0",
3518- sumOrNullIf("taxful_total_price", ("order_date">=fromUnixTimestamp64Milli(
3519- 1708034256376) AND "order_date"<=fromUnixTimestamp64Milli(1708639056376))) AS
3520- "filter_1__metric__time_offset_split__0__2_col_0"
3498+ "aggr__time_offset_split__0__key_0",
3499+ count(*) AS "aggr__time_offset_split__0__count",
3500+ sumOrNull("taxful_total_price") AS "metric__time_offset_split__0__1_col_0",
3501+ sumOrNull("taxful_total_price") AS "metric__time_offset_split__0__2_col_0"
35213502 FROM __quesma_table_name
3522- WHERE (("order_date">=fromUnixTimestamp64Milli(1708639056376) AND "order_date"<=
3523- fromUnixTimestamp64Milli(1709243856376)) OR ("order_date">=
3503+ WHERE ((( "order_date">=fromUnixTimestamp64Milli(1708639056376) AND "order_date"
3504+ <= fromUnixTimestamp64Milli(1709243856376)) OR ("order_date">=
35243505 fromUnixTimestamp64Milli(1708034256376) AND "order_date"<=
3525- fromUnixTimestamp64Milli(1708639056376)))
3506+ fromUnixTimestamp64Milli(1708639056376))) AND ("order_date">=
3507+ fromUnixTimestamp64Milli(1708639056376) AND "order_date"<=
3508+ fromUnixTimestamp64Milli(1709243856376)))
35263509 GROUP BY toInt64(toUnixTimestamp64Milli("order_date") / 86400000) AS
35273510 "aggr__time_offset_split__0__key_0"
35283511 ORDER BY "aggr__time_offset_split__0__key_0" ASC` ,
0 commit comments