Skip to content

Commit

Permalink
Fix typing for block decimal avg (use logic of non-block version) (#9327
Browse files Browse the repository at this point in the history
)
  • Loading branch information
resetius authored Sep 17, 2024
1 parent f25098d commit fe04aee
Show file tree
Hide file tree
Showing 11 changed files with 244 additions and 1 deletion.
6 changes: 5 additions & 1 deletion ydb/library/yql/core/type_ann/type_ann_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5668,7 +5668,11 @@ namespace {
}
}

input->SetTypeAnn(retType);
if (originalType && originalType->GetKind() != NYql::ETypeAnnotationKind::Null) {
input->SetTypeAnn(originalType);
} else {
input->SetTypeAnn(retType);
}
} else if (name == "min" || name == "max") {
auto itemType = input->Child(overState ? 2 : 1)->GetTypeAnn()->Cast<TTypeExprType>()->GetType();
const TTypeAnnotationNode* retType;
Expand Down
22 changes: 22 additions & 0 deletions ydb/library/yql/tests/sql/dq_file/part4/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,28 @@
}
],
"test.test[blocks-combine_all_min_filter_opt--Results]": [],
"test.test[blocks-decimal_avg--Analyze]": [
{
"checksum": "e7f90eff609d00b82ab5da5b0310dc13",
"size": 5474,
"uri": "https://{canondata_backend}/212715/e9c0ac99e18ec4ae27142c9c2577dc676b157d44/resource.tar.gz#test.test_blocks-decimal_avg--Analyze_/plan.txt"
}
],
"test.test[blocks-decimal_avg--Debug]": [
{
"checksum": "8b2e667e5990a8a85f31c3cc84653101",
"size": 3946,
"uri": "https://{canondata_backend}/212715/e9c0ac99e18ec4ae27142c9c2577dc676b157d44/resource.tar.gz#test.test_blocks-decimal_avg--Debug_/opt.yql_patched"
}
],
"test.test[blocks-decimal_avg--Plan]": [
{
"checksum": "e7f90eff609d00b82ab5da5b0310dc13",
"size": 5474,
"uri": "https://{canondata_backend}/212715/e9c0ac99e18ec4ae27142c9c2577dc676b157d44/resource.tar.gz#test.test_blocks-decimal_avg--Plan_/plan.txt"
}
],
"test.test[blocks-decimal_avg--Results]": [],
"test.test[blocks-json_document_type--Analyze]": [
{
"checksum": "918007365a27e11795012d2f4841750b",
Expand Down
22 changes: 22 additions & 0 deletions ydb/library/yql/tests/sql/dq_file/part9/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,28 @@
}
],
"test.test[agg_phases-sum_opt-default.txt-Results]": [],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Analyze]": [
{
"checksum": "01775e7c945a56ebf0edc2d478f4f68d",
"size": 2567,
"uri": "https://{canondata_backend}/1814674/77d41c903ddd926a62e64221c321109c23757fa8/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Analyze_/plan.txt"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Debug]": [
{
"checksum": "c141458b4faf20cdfa0b2581438b2060",
"size": 2167,
"uri": "https://{canondata_backend}/1814674/77d41c903ddd926a62e64221c321109c23757fa8/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Debug_/opt.yql_patched"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Plan]": [
{
"checksum": "01775e7c945a56ebf0edc2d478f4f68d",
"size": 2567,
"uri": "https://{canondata_backend}/1814674/77d41c903ddd926a62e64221c321109c23757fa8/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Plan_/plan.txt"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Results]": [],
"test.test[aggr_factory-def_value_full_table-default.txt-Analyze]": [
{
"checksum": "b4dd508a329723c74293d80f0278c705",
Expand Down
14 changes: 14 additions & 0 deletions ydb/library/yql/tests/sql/hybrid_file/part1/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -601,6 +601,20 @@
"uri": "https://{canondata_backend}/1130705/20da23c279246100d1cf6675c98b016c27d78ebb/resource.tar.gz#test.test_blocks-date_less_or_equal--Plan_/plan.txt"
}
],
"test.test[blocks-decimal_avg--Debug]": [
{
"checksum": "e5ac1e47bf139b64ded063ddd4cc4c12",
"size": 5024,
"uri": "https://{canondata_backend}/1775319/e518084f9a6f7560212f360435984047c6cdf17e/resource.tar.gz#test.test_blocks-decimal_avg--Debug_/opt.yql_patched"
}
],
"test.test[blocks-decimal_avg--Plan]": [
{
"checksum": "4dca34e324385b874d48ea9873fef139",
"size": 5859,
"uri": "https://{canondata_backend}/1775319/e518084f9a6f7560212f360435984047c6cdf17e/resource.tar.gz#test.test_blocks-decimal_avg--Plan_/plan.txt"
}
],
"test.test[blocks-decimal_unary--Debug]": [
{
"checksum": "91d5eaa9920fe9015067ab6eca6c9a1e",
Expand Down
14 changes: 14 additions & 0 deletions ydb/library/yql/tests/sql/hybrid_file/part6/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,20 @@
"uri": "https://{canondata_backend}/1775059/3cb7d014d70b84dbcb84645fa987dd9d47d7fd6c/resource.tar.gz#test.test_agg_phases-min_by_opt-default.txt-Plan_/plan.txt"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Debug]": [
{
"checksum": "c56652553674020751912ebf71b374bd",
"size": 2166,
"uri": "https://{canondata_backend}/1937424/4bf3629a378a97c2134d5c9ef82b431269f7812a/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Debug_/opt.yql_patched"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Plan]": [
{
"checksum": "01775e7c945a56ebf0edc2d478f4f68d",
"size": 2567,
"uri": "https://{canondata_backend}/1937424/4bf3629a378a97c2134d5c9ef82b431269f7812a/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Plan_/plan.txt"
}
],
"test.test[agg_phases_agg_apply-sum_null-default.txt-Debug]": [
{
"checksum": "2e40595d136cde726a1085ed674a7f29",
Expand Down
28 changes: 28 additions & 0 deletions ydb/library/yql/tests/sql/sql2yql/canondata/result.json
Original file line number Diff line number Diff line change
Expand Up @@ -1126,6 +1126,13 @@
"uri": "https://{canondata_backend}/1784117/d56ae82ad9d30397a41490647be1bd2124718f98/resource.tar.gz#test_sql2yql.test_agg_phases_agg_apply-avg_/sql.yql"
}
],
"test_sql2yql.test[agg_phases_agg_apply-avg_decimal]": [
{
"checksum": "6995e83bda818a897fdd0eae9d07dcc0",
"size": 13095,
"uri": "https://{canondata_backend}/1942415/d77582873ccf3369a6a530c6d99bb20a670b52e8/resource.tar.gz#test_sql2yql.test_agg_phases_agg_apply-avg_decimal_/sql.yql"
}
],
"test_sql2yql.test[agg_phases_agg_apply-count]": [
{
"checksum": "c3ef6597e1dad8332df19e9bd78f2dc5",
Expand Down Expand Up @@ -3779,6 +3786,13 @@
"uri": "https://{canondata_backend}/1942100/4770669c24007543908dd55606255f269883b26e/resource.tar.gz#test_sql2yql.test_blocks-date_top_sort_/sql.yql"
}
],
"test_sql2yql.test[blocks-decimal_avg]": [
{
"checksum": "196ced0d7dead2abf0aa5fa8dc6b10cf",
"size": 2231,
"uri": "https://{canondata_backend}/1775319/1580c5e8e4c110f53c15179e596f8942460372c9/resource.tar.gz#test_sql2yql.test_blocks-decimal_avg_/sql.yql"
}
],
"test_sql2yql.test[blocks-decimal_comparison]": [
{
"checksum": "8ca5e73502f650d4d05eb9770ffbf4a0",
Expand Down Expand Up @@ -20782,6 +20796,13 @@
"uri": "https://{canondata_backend}/1880306/64654158d6bfb1289c66c626a8162239289559d0/resource.tar.gz#test_sql_format.test_agg_phases_agg_apply-avg_/formatted.sql"
}
],
"test_sql_format.test[agg_phases_agg_apply-avg_decimal]": [
{
"checksum": "8d57ef61f93cb12395632a984257cda6",
"size": 1443,
"uri": "https://{canondata_backend}/1942415/d77582873ccf3369a6a530c6d99bb20a670b52e8/resource.tar.gz#test_sql_format.test_agg_phases_agg_apply-avg_decimal_/formatted.sql"
}
],
"test_sql_format.test[agg_phases_agg_apply-count]": [
{
"checksum": "674b92a7d1504376a5f847da9c78a38e",
Expand Down Expand Up @@ -23435,6 +23456,13 @@
"uri": "https://{canondata_backend}/1942100/4770669c24007543908dd55606255f269883b26e/resource.tar.gz#test_sql_format.test_blocks-date_top_sort_/formatted.sql"
}
],
"test_sql_format.test[blocks-decimal_avg]": [
{
"checksum": "d077a59363e93c9cf3548b776b93e316",
"size": 175,
"uri": "https://{canondata_backend}/1775319/1580c5e8e4c110f53c15179e596f8942460372c9/resource.tar.gz#test_sql_format.test_blocks-decimal_avg_/formatted.sql"
}
],
"test_sql_format.test[blocks-decimal_comparison]": [
{
"checksum": "95016b817141a7fbfd888700217463bc",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
/* syntax version 1 */
/* postgres can not */
pragma EmitAggApply;

$t = SELECT * FROM AS_TABLE([<|key: 1, value: decimal("2.1", 7, 2)|>,<|key: 1, value: decimal("3.5", 7, 2)|>]);

$p =
SELECT
key,avg(value) as a
FROM $t
GROUP BY
key
with combine
;

$p = PROCESS $p;
--select FormatType(TypeOf($p));
select * from $p;

$p = SELECT
key,avg(a) as a
FROM $p
GROUP BY
key
with combinestate
;

$p = PROCESS $p;
--select FormatType(TypeOf($p));
select * from $p;

$p = SELECT
key,avg(a) as a
FROM $p
GROUP BY
key
with mergestate
;

$p = PROCESS $p;
--select FormatType(TypeOf($p));
select * from $p;


$p1 = SELECT
key,avg(a) as a
FROM $p
GROUP BY
key
with mergefinalize
;

$p1 = PROCESS $p1;
--select FormatType(TypeOf($p1));
select * from $p1;

$p2 = SELECT
key,avg(a) as a
FROM (select key, just(a) as a from $p)
GROUP BY
key
with mergemanyfinalize
;

$p2 = PROCESS $p2;
--select FormatType(TypeOf($p2));
select * from $p2;

$p3 =
SELECT
key,avg(value) as a
FROM $t
GROUP BY
key
with finalize
;

$p3 = PROCESS $p3;
--select FormatType(TypeOf($p));
select * from $p3;

1 change: 1 addition & 0 deletions ydb/library/yql/tests/sql/suites/blocks/decimal_avg.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
in Input input_decimal.txt
8 changes: 8 additions & 0 deletions ydb/library/yql/tests/sql/suites/blocks/decimal_avg.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
USE plato;

SELECT
avg(cs_ext_list_price), avg(cs_ext_tax),
avg(cs_ext_list_price) * decimal("1.1", 7, 2),
decimal("1.1", 7, 2) * avg(cs_ext_tax),
FROM Input;

Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,34 @@
"uri": "https://{canondata_backend}/1923547/b4d7ef0db5ad067d9e88ccc4c12a4e7ac4da46df/resource.tar.gz#test.test_blocks-combine_all_min_filter_opt--Results_/results.txt"
}
],
"test.test[blocks-decimal_avg--Debug]": [
{
"checksum": "cc25aaccbcf6e6a9eae8f64d05f22249",
"size": 4240,
"uri": "https://{canondata_backend}/1931696/1cb947d289c4d65b45c3fba919aa59c8a7d02c7a/resource.tar.gz#test.test_blocks-decimal_avg--Debug_/opt.yql"
}
],
"test.test[blocks-decimal_avg--Peephole]": [
{
"checksum": "cdc8a4d00988408c92640297fa47c45a",
"size": 3137,
"uri": "https://{canondata_backend}/1931696/1cb947d289c4d65b45c3fba919aa59c8a7d02c7a/resource.tar.gz#test.test_blocks-decimal_avg--Peephole_/opt.yql"
}
],
"test.test[blocks-decimal_avg--Plan]": [
{
"checksum": "4fd2b20bef4b38f050144521fa5cbde2",
"size": 5255,
"uri": "https://{canondata_backend}/1931696/1cb947d289c4d65b45c3fba919aa59c8a7d02c7a/resource.tar.gz#test.test_blocks-decimal_avg--Plan_/plan.txt"
}
],
"test.test[blocks-decimal_avg--Results]": [
{
"checksum": "73950ed0f0cd1ee8aba4b14dac403407",
"size": 2732,
"uri": "https://{canondata_backend}/1931696/1cb947d289c4d65b45c3fba919aa59c8a7d02c7a/resource.tar.gz#test.test_blocks-decimal_avg--Results_/results.txt"
}
],
"test.test[blocks-json_document_type--Debug]": [
{
"checksum": "2b2604f43a5fbed9f67049c9833d5c63",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,27 @@
"uri": "https://{canondata_backend}/1775059/59a8dbe71df1bdc11b3f063ab535eee737c36649/resource.tar.gz#test.test_agg_phases-sum_opt-default.txt-Results_/results.txt"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Debug]": [
{
"checksum": "cd392f0b06514619e1bf394ac2d9b7b0",
"size": 2096,
"uri": "https://{canondata_backend}/1881367/fb8d21445e0a0d2f03124fd4ba32bf9268680d10/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Debug_/opt.yql"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Plan]": [
{
"checksum": "01775e7c945a56ebf0edc2d478f4f68d",
"size": 2567,
"uri": "https://{canondata_backend}/1881367/fb8d21445e0a0d2f03124fd4ba32bf9268680d10/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Plan_/plan.txt"
}
],
"test.test[agg_phases_agg_apply-avg_decimal-default.txt-Results]": [
{
"checksum": "2260e3996d469378c8aba67d6f833b2a",
"size": 7951,
"uri": "https://{canondata_backend}/1881367/fb8d21445e0a0d2f03124fd4ba32bf9268680d10/resource.tar.gz#test.test_agg_phases_agg_apply-avg_decimal-default.txt-Results_/results.txt"
}
],
"test.test[aggr_factory-def_value_full_table-default.txt-Debug]": [
{
"checksum": "9abf3c83a73d29257334b992690b94c8",
Expand Down

0 comments on commit fe04aee

Please sign in to comment.