Skip to content

Commit b66c18e

Browse files
authored
Merge 595b4a6 into 2c8f3e7
2 parents 2c8f3e7 + 595b4a6 commit b66c18e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+6391
-1616
lines changed

ydb/library/yql/providers/common/provider/yql_provider.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,7 +1475,7 @@ bool NeedToRenamePgSelectColumns(const TCoPgSelect& pgSelect) {
14751475
bool RenamePgSelectColumns(
14761476
const TCoPgSelect& node,
14771477
TExprNode::TPtr& output,
1478-
TMaybe<TVector<TString>> tableColumnOrder,
1478+
const TMaybe<TColumnOrder>& tableColumnOrder,
14791479
TExprContext& ctx,
14801480
TTypeAnnotationContext& types) {
14811481

@@ -1485,7 +1485,7 @@ bool RenamePgSelectColumns(
14851485
TString optionName = (hasValues) ? "values" : "projection_order";
14861486

14871487
auto selectorColumnOrder = types.LookupColumnOrder(node.Ref());
1488-
TVector<TString> insertColumnOrder;
1488+
TColumnOrder insertColumnOrder;
14891489
if (auto targetColumnsOption = GetSetItemOption(node, "target_columns")) {
14901490
auto targetColumns = GetSetItemOptionValue(TExprBase(targetColumnsOption));
14911491
for (const auto& child : targetColumns->ChildrenList()) {

ydb/library/yql/providers/common/provider/yql_provider.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ bool NeedToRenamePgSelectColumns(const NNodes::TCoPgSelect& pgSelect);
209209
bool RenamePgSelectColumns(
210210
const NNodes::TCoPgSelect& node,
211211
TExprNode::TPtr& output,
212-
TMaybe<TVector<TString>> tableColumnOrder,
212+
const TMaybe<TColumnOrder>& tableColumnOrder,
213213
TExprContext& ctx,
214214
TTypeAnnotationContext& types);
215215
} // namespace NCommon

ydb/library/yql/providers/yt/provider/yql_yt_datasink_type_ann.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,9 @@ class TYtDataSinkTypeAnnotationTransformer : public TVisitorTransformerBase {
459459
auto pgSelect = TCoPgSelect(content);
460460
if (NCommon::NeedToRenamePgSelectColumns(pgSelect)) {
461461
TExprNode::TPtr output;
462-
bool result = NCommon::RenamePgSelectColumns(pgSelect, output, contentColumnOrder, ctx, *State_->Types);
462+
463+
Y_ENSURE(outTableInfo.RowSpec);
464+
bool result = NCommon::RenamePgSelectColumns(pgSelect, output, outTableInfo.RowSpec->GetColumnOrder(), ctx, *State_->Types);
463465
if (!result) {
464466
return TStatus::Error;
465467
}

ydb/library/yql/tests/postgresql/cases/aggregates.out

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,13 @@ SELECT covar_pop(1::float8,'nan'::float8), covar_samp(3::float8,'nan'::float8);
270270
-- test accum and combine functions directly
271271
CREATE TABLE regr_test (x float8, y float8);
272272
INSERT INTO regr_test VALUES (10,150),(20,250),(30,350),(80,540),(100,200);
273+
SELECT count(*), sum(x), regr_sxx(y,x), sum(y),regr_syy(y,x), regr_sxy(y,x)
274+
FROM regr_test;
275+
count | sum | regr_sxx | sum | regr_syy | regr_sxy
276+
-------+-----+----------+------+----------+----------
277+
5 | 240 | 6280 | 1490 | 95080 | 8680
278+
(1 row)
279+
273280
SELECT float8_accum('{4,140,2900}'::float8[], 100);
274281
float8_accum
275282
--------------

ydb/library/yql/tests/postgresql/cases/aggregates.sql

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ SELECT covar_pop(1::float8,'nan'::float8), covar_samp(3::float8,'nan'::float8);
6565
-- test accum and combine functions directly
6666
CREATE TABLE regr_test (x float8, y float8);
6767
INSERT INTO regr_test VALUES (10,150),(20,250),(30,350),(80,540),(100,200);
68+
SELECT count(*), sum(x), regr_sxx(y,x), sum(y),regr_syy(y,x), regr_sxy(y,x)
69+
FROM regr_test;
6870
SELECT float8_accum('{4,140,2900}'::float8[], 100);
6971
SELECT float8_regr_accum('{4,140,2900,1290,83075,15050}'::float8[], 200, 100);
7072
SELECT float8_combine('{3,60,200}'::float8[], '{0,0,0}'::float8[]);

0 commit comments

Comments
 (0)