@@ -2251,8 +2251,8 @@ TStatus AnnotateTableSinkSettings(const TExprNode::TPtr& input, TExprContext& ct
22512251 return TStatus::Ok;
22522252}
22532253
2254- TStatus AnnotatePgExprSublink (const TExprNode::TPtr& node, TExprContext& ctx) {
2255- auto expr = node->Child (TKqpPgExprSublink ::idx_Expr);
2254+ TStatus AnnotateExprSublink (const TExprNode::TPtr& node, TExprContext& ctx) {
2255+ auto expr = node->Child (TKqpExprSublink ::idx_Expr);
22562256 auto itemType = expr->GetTypeAnn ()->Cast <TListExprType>()->GetItemType ()->Cast <TStructExprType>();
22572257 auto valueType = itemType->GetItems ()[0 ]->GetItemType ();
22582258 if (!valueType->IsOptionalOrNull ()) {
@@ -2290,7 +2290,10 @@ TStatus AnnotateOpRead(const TExprNode::TPtr& node, TExprContext& ctx, const TSt
22902290 TVector<const TItemExprType*> structItemTypes = rowType->Cast <TStructExprType>()->GetItems ();
22912291 TVector<const TItemExprType*> newItemTypes;
22922292 for (auto t : structItemTypes ) {
2293- newItemTypes.push_back (ctx.MakeType <TItemExprType>(" _alias_" + TString (alias->Content ()) + " ." + t->GetName (), t->GetItemType ()));
2293+ TString aliasName = TString (alias->Content ());
2294+ TString columnName = TString (t->GetName ());
2295+ TString fullName = aliasName != " " ? ( " _alias_" + aliasName + " ." + columnName ) : columnName;
2296+ newItemTypes.push_back (ctx.MakeType <TItemExprType>(fullName, t->GetItemType ()));
22942297 }
22952298
22962299 YQL_CLOG (TRACE, CoreDq) << " Row type:" << *rowType;
@@ -2710,8 +2713,8 @@ TAutoPtr<IGraphTransformer> CreateKqpTypeAnnotationTransformer(const TString& cl
27102713 return AnnotateTableSinkSettings (input, ctx);
27112714 }
27122715
2713- if (TKqpPgExprSublink ::Match (input.Get ())) {
2714- return AnnotatePgExprSublink (input, ctx);
2716+ if (TKqpExprSublink ::Match (input.Get ())) {
2717+ return AnnotateExprSublink (input, ctx);
27152718 }
27162719
27172720 if (TKqpOpRead::Match (input.Get ())) {
0 commit comments