Skip to content

Commit 42e251f

Browse files
authored
Merge d679ddd into a04d89b
2 parents a04d89b + d679ddd commit 42e251f

Some content is hidden

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

92 files changed

+21415
-823
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: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,12 @@ 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+
const auto& columnOrder = (outTableInfo.RowSpec)
464+
? outTableInfo.RowSpec->GetColumnOrder()
465+
: contentColumnOrder;
466+
467+
bool result = NCommon::RenamePgSelectColumns(pgSelect, output, columnOrder, ctx, *State_->Types);
463468
if (!result) {
464469
return TStatus::Error;
465470
}

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3400,6 +3400,13 @@ class TYtPhysicalOptProposalTransformer : public TOptimizeTransformerBase {
34003400
return {};
34013401
}
34023402
TYtOutTableInfo outTable(outItemType, State_->Configuration->UseNativeYtTypes.Get().GetOrElse(DEFAULT_USE_NATIVE_YT_TYPES) ? NTCF_ALL : NTCF_NONE);
3403+
3404+
{
3405+
auto path = write.Table().Name().StringValue();
3406+
auto commitEpoch = TEpochInfo::Parse(write.Table().CommitEpoch().Ref()).GetOrElse(0);
3407+
auto dstRowSpec = State_->TablesData->GetTable(cluster, path, commitEpoch).RowSpec;
3408+
outTable.RowSpec->SetColumnOrder(dstRowSpec->GetColumnOrder());
3409+
}
34033410
auto content = write.Content();
34043411
if (auto sorted = content.Ref().GetConstraint<TSortedConstraintNode>()) {
34053412
const bool useNativeDescSort = State_->Configuration->UseNativeDescSort.Get().GetOrElse(DEFAULT_USE_NATIVE_DESC_SORT);

0 commit comments

Comments
 (0)