aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMars Agliullin <marsaly@ydb.tech>2024-01-04 17:00:55 +0300
committerGitHub <noreply@github.com>2024-01-04 17:00:55 +0300
commit63660ad5e7512029fd0218e7a636580695a24e1f (patch)
treeb7b234eff1bda8f8c9d04853bce8b9c14253e976
parent3df4be0207766d1f1d829ee3c35c9c4e72943cdc (diff)
downloadydb-63660ad5e7512029fd0218e7a636580695a24e1f.tar.gz
YQL-16896: Common type inferring for SELECT combinators (#843)
-rw-r--r--ydb/library/yql/core/common_opt/yql_co_pgselect.cpp69
-rw-r--r--ydb/library/yql/core/type_ann/type_ann_pg.cpp138
-rw-r--r--ydb/library/yql/core/type_ann/type_ann_pg.h1
-rw-r--r--ydb/library/yql/sql/pg/pg_sql.cpp11
-rw-r--r--ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json22
-rw-r--r--ydb/library/yql/tests/sql/dq_file/part1/canondata/result.json22
-rw-r--r--ydb/library/yql/tests/sql/dq_file/part10/canondata/result.json22
-rw-r--r--ydb/library/yql/tests/sql/dq_file/part11/canondata/result.json44
-rw-r--r--ydb/library/yql/tests/sql/dq_file/part7/canondata/result.json22
-rw-r--r--ydb/library/yql/tests/sql/dq_file/part8/canondata/result.json6
-rw-r--r--ydb/library/yql/tests/sql/sql2yql/canondata/result.json234
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt4
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt.attr6
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/select_common_type_except.sql4
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/select_common_type_exceptall.sql5
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/select_common_type_intersect.sql8
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/select_common_type_intersectall.sql4
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/select_common_type_union.sql7
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.cfg1
-rw-r--r--ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.sql21
-rw-r--r--ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json21
-rw-r--r--ydb/library/yql/tests/sql/yt_native_file/part1/canondata/result.json21
-rw-r--r--ydb/library/yql/tests/sql/yt_native_file/part10/canondata/result.json21
-rw-r--r--ydb/library/yql/tests/sql/yt_native_file/part11/canondata/result.json42
-rw-r--r--ydb/library/yql/tests/sql/yt_native_file/part7/canondata/result.json21
-rw-r--r--ydb/library/yql/tests/sql/yt_native_file/part8/canondata/result.json6
26 files changed, 656 insertions, 127 deletions
diff --git a/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp b/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp
index f74b9d067e..a42b3ac1b1 100644
--- a/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp
+++ b/ydb/library/yql/core/common_opt/yql_co_pgselect.cpp
@@ -1683,7 +1683,18 @@ TExprNode::TPtr BuildCrossJoinsBetweenGroups(TPositionHandle pos, const TExprNod
return ctx.NewCallable(pos, "EquiJoin", std::move(args));
}
-TExprNode::TPtr BuildProjectionLambda(TPositionHandle pos, const TExprNode::TPtr& result, bool subLink, bool emitPgStar, TExprContext& ctx) {
+TExprNode::TPtr BuildProjectionLambda(TPositionHandle pos, const TExprNode::TPtr& result, const TStructExprType* finalType,
+ const TColumnOrder& nodeColumnOrder, const TColumnOrder& setItemColumnOrder,
+ bool subLink, bool emitPgStar, TExprContext& ctx) {
+
+ YQL_ENSURE(nodeColumnOrder.size() == setItemColumnOrder.size());
+ TMap<TStringBuf, TStringBuf> columnNamesMap;
+ if (!emitPgStar) {
+ for (size_t i = 0; i < nodeColumnOrder.size(); ++i) {
+ columnNamesMap[setItemColumnOrder[i]] = nodeColumnOrder[i];
+ }
+ }
+
return ctx.Builder(pos)
.Lambda()
.Param("row")
@@ -1705,26 +1716,68 @@ TExprNode::TPtr BuildProjectionLambda(TPositionHandle pos, const TExprNode::TPtr
.Seal();
listBuilder.Seal();
};
+
+ auto addAtomToListWithCast = [&addAtomToList] (TExprNodeBuilder& listBuilder, TExprNode* x,
+ const TTypeAnnotationNode* expectedTypeNode) -> void {
+ auto actualType = x->GetTypeAnn()->Cast<TPgExprType>();
+ Y_ENSURE(expectedTypeNode);
+ const auto expectedType = expectedTypeNode->Cast<TPgExprType>();
+
+ if (actualType == expectedType) {
+ addAtomToList(listBuilder, x);
+ return;
+ }
+ listBuilder.Add(0, x->HeadPtr());
+ listBuilder.Callable(1, "PgCast")
+ .Apply(0, x->TailPtr())
+ .With(0, "row")
+ .Seal()
+ .Callable(1, "PgType")
+ .Atom(0, NPg::LookupType(expectedType->GetId()).Name)
+ .Seal();
+ listBuilder.Seal();
+ };
+
for (const auto& x : result->Tail().Children()) {
if (x->HeadPtr()->IsAtom()) {
if (!emitPgStar) {
+ const auto& columnName = x->Child(0)->Content();
auto listBuilder = parent.List(index++);
- addAtomToList(listBuilder, x.Get());
+ addAtomToListWithCast(listBuilder, x.Get(), finalType->FindItemType(columnNamesMap[columnName]));
}
} else {
auto type = x->Child(1)->GetTypeAnn()->Cast<TTypeExprType>()->GetType()->Cast<TStructExprType>();
+ Y_ENSURE(type);
+
for (const auto& item : type->GetItems()) {
TStringBuf column = item->GetName();
auto columnName = subLink ? column : NTypeAnnImpl::RemoveAlias(column);
+
auto listBuilder = parent.List(index++);
if (overrideColumns.contains(columnName)) {
+ // we never get here while processing SELECTs,
+ // so no need to add PgCasts due to query combining with UNION ALL et al
addAtomToList(listBuilder, overrideColumns[columnName]);
} else {
listBuilder.Atom(0, columnName);
- listBuilder.Callable(1, "Member")
- .Arg(0, "row")
- .Atom(1, column);
- listBuilder.Seal();
+
+ const auto expectedType = finalType->FindItemType(columnNamesMap[columnName]);
+ if (item->GetItemType() == expectedType) {
+ listBuilder.Callable(1, "Member")
+ .Arg(0, "row")
+ .Atom(1, column)
+ .Seal();
+ } else {
+ listBuilder.Callable(1, "PgCast")
+ .Callable(0, "Member")
+ .Arg(0, "row")
+ .Atom(1, column)
+ .Seal()
+ .Callable(1, "PgType")
+ .Atom(0, NPg::LookupType(expectedType->Cast<TPgExprType>()->GetId()).Name)
+ .Seal()
+ .Seal();
+ }
}
}
}
@@ -3159,7 +3212,9 @@ TExprNode::TPtr ExpandPgSelectImpl(const TExprNode::TPtr& node, TExprContext& ct
}
} else {
YQL_ENSURE(result);
- TExprNode::TPtr projectionLambda = BuildProjectionLambda(node->Pos(), result, subLinkId.Defined(), emitPgStar, ctx);
+ auto finalType = node->GetTypeAnn()->Cast<TListExprType>()->GetItemType()->Cast<TStructExprType>();
+ Y_ENSURE(finalType);
+ TExprNode::TPtr projectionLambda = BuildProjectionLambda(node->Pos(), result, finalType, *order, *childOrder, subLinkId.Defined(), emitPgStar, ctx);
TExprNode::TPtr projectionArg = projectionLambda->Head().HeadPtr();
TExprNode::TPtr projectionRoot = projectionLambda->TailPtr();
TVector<TString> inputAliases;
diff --git a/ydb/library/yql/core/type_ann/type_ann_pg.cpp b/ydb/library/yql/core/type_ann/type_ann_pg.cpp
index adbc5a8210..262abe8726 100644
--- a/ydb/library/yql/core/type_ann/type_ann_pg.cpp
+++ b/ydb/library/yql/core/type_ann/type_ann_pg.cpp
@@ -12,6 +12,7 @@
#include <ydb/library/yql/parser/pg_wrapper/interface/utils.h>
#include <util/generic/set.h>
+#include <util/generic/hash.h>
namespace NYql {
@@ -64,8 +65,8 @@ bool ValidateInputTypes(TExprNode& node, TExprContext& ctx) {
return true;
}
-TExprNodePtr WrapWithPgCast(TExprNodePtr&& node, ui32 targetTypeId, TContext& ctx) {
- return ctx.Expr.Builder(node->Pos())
+TExprNodePtr WrapWithPgCast(TExprNodePtr&& node, ui32 targetTypeId, TExprContext& ctx) {
+ return ctx.Builder(node->Pos())
.Callable("PgCast")
.Add(0, std::move(node))
.Callable(1, "PgType")
@@ -75,6 +76,113 @@ TExprNodePtr WrapWithPgCast(TExprNodePtr&& node, ui32 targetTypeId, TContext& ct
.Build();
};
+TExprNodePtr FindLeftCombinatorOfNthSetItem(const TExprNode* setItems, const TExprNode* setOps, ui32 n) {
+ TVector<ui32> setItemsStack(setItems->ChildrenSize());
+ i32 sp = -1;
+ ui32 itemIdx = 0;
+ for (const auto& op : setOps->Children()) {
+ if (op->Content() == "push") {
+ setItemsStack[++sp] = itemIdx++;
+ } else {
+ if (setItemsStack[sp] == n) {
+ return op;
+ }
+ --sp;
+ Y_ENSURE(0 <= sp);
+ }
+ }
+ Y_UNREACHABLE();
+}
+
+IGraphTransformer::TStatus InferPgCommonType(TPositionHandle pos, const TExprNode* setItems, const TExprNode* setOps,
+ TColumnOrder& resultColumnOrder, const TStructExprType*& resultStructType, TExtContext& ctx)
+{
+ TVector<TVector<ui32>> pgTypes;
+ size_t fieldsCnt = 0;
+
+ for (size_t i = 0; i < setItems->ChildrenSize(); ++i) {
+ const auto* child = setItems->Child(i);
+
+ if (!EnsureListType(*child, ctx.Expr)) {
+ return IGraphTransformer::TStatus::Error;
+ }
+ auto itemType = child->GetTypeAnn()->Cast<TListExprType>()->GetItemType();
+ YQL_ENSURE(itemType);
+
+ if (!EnsureStructType(child->Pos(), *itemType, ctx.Expr)) {
+ return IGraphTransformer::TStatus::Error;
+ }
+
+ auto childColumnOrder = ctx.Types.LookupColumnOrder(*child);
+ if (!childColumnOrder) {
+ ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(child->Pos()), TStringBuilder()
+ << "Input #" << i << " does not have ordered columns. "
+ << "Consider making column order explicit by using SELECT with column names"));
+ return IGraphTransformer::TStatus::Error;
+ }
+
+ if (0 == i) {
+ resultColumnOrder = *childColumnOrder;
+ fieldsCnt = resultColumnOrder.size();
+
+ pgTypes.resize(fieldsCnt);
+ for (size_t j = 0; j < fieldsCnt; ++j) {
+ pgTypes[j].reserve(setItems->ChildrenSize());
+ }
+ } else {
+ if ((*childColumnOrder).size() != fieldsCnt) {
+ TExprNodePtr combinator = FindLeftCombinatorOfNthSetItem(setItems, setOps, i);
+ Y_ENSURE(combinator);
+
+ TString op(combinator->Content());
+ if (op.EndsWith("_all")) {
+ op.erase(op.length() - 4);
+ }
+ op.to_upper();
+
+ ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(child->Pos()), TStringBuilder()
+ << "each " << op << " query must have the same number of columns"));
+
+ return IGraphTransformer::TStatus::Error;
+ }
+ }
+
+ const auto structType = itemType->Cast<TStructExprType>();
+ {
+ size_t j = 0;
+ for (const auto& col : *childColumnOrder) {
+ auto itemIdx = structType->FindItem(col);
+ YQL_ENSURE(itemIdx);
+ pgTypes[j].push_back(structType->GetItems()[*itemIdx]->GetItemType()->Cast<TPgExprType>()->GetId());
+
+ ++j;
+ }
+ }
+ }
+
+ TVector<const TItemExprType*> structItems;
+ for (size_t j = 0; j < fieldsCnt; ++j) {
+ const NPg::TTypeDesc* commonType;
+ if (const auto issue = NPg::LookupCommonType(pgTypes[j],
+ [j, &setItems, &ctx](size_t i) {
+ return ctx.Expr.GetPosition(setItems->Child(i)->Child(j)->Pos());
+ }, commonType))
+ {
+ ctx.Expr.AddError(*issue);
+ return IGraphTransformer::TStatus::Error;
+ }
+ structItems.push_back(ctx.Expr.MakeType<TItemExprType>(resultColumnOrder[j],
+ ctx.Expr.MakeType<TPgExprType>(commonType->TypeId)));
+ }
+
+ resultStructType = ctx.Expr.MakeType<TStructExprType>(structItems);
+ if (!resultStructType->Validate(pos, ctx.Expr)) {
+ return IGraphTransformer::TStatus::Error;
+ }
+
+ return IGraphTransformer::TStatus::Ok;
+}
+
IGraphTransformer::TStatus PgStarWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx) {
Y_UNUSED(output);
if (!EnsureArgsCount(*input, 0, ctx.Expr)) {
@@ -212,12 +320,12 @@ IGraphTransformer::TStatus PgCallWrapper(const TExprNode::TPtr& input, TExprNode
const auto& fargTypes = (*procPtr)->ArgTypes;
for (size_t i = 0; i < argTypes.size(); ++i) {
if (IsCastRequired(argTypes[i], fargTypes[i])) {
- children[i+3] = WrapWithPgCast(std::move(children[i+3]), fargTypes[i], ctx);
+ children[i+3] = WrapWithPgCast(std::move(children[i+3]), fargTypes[i], ctx.Expr);
}
}
output = ctx.Expr.NewCallable(input->Pos(), "PgResolvedCall", std::move(children));
} else if (const auto* typePtr = std::get_if<const NPg::TTypeDesc*>(&procOrType)) {
- output = WrapWithPgCast(std::move(children[2]), (*typePtr)->TypeId, ctx);
+ output = WrapWithPgCast(std::move(children[2]), (*typePtr)->TypeId, ctx.Expr);
} else {
Y_UNREACHABLE();
}
@@ -454,16 +562,16 @@ IGraphTransformer::TStatus PgOpWrapper(const TExprNode::TPtr& input, TExprNode::
switch(oper.Kind) {
case NPg::EOperKind::LeftUnary:
if (IsCastRequired(argTypes[0], oper.RightType)) {
- children[1] = WrapWithPgCast(std::move(children[1]), oper.RightType, ctx);
+ children[1] = WrapWithPgCast(std::move(children[1]), oper.RightType, ctx.Expr);
}
break;
case NYql::NPg::EOperKind::Binary:
if (IsCastRequired(argTypes[0], oper.LeftType)) {
- children[1] = WrapWithPgCast(std::move(children[1]), oper.LeftType, ctx);
+ children[1] = WrapWithPgCast(std::move(children[1]), oper.LeftType, ctx.Expr);
}
if (IsCastRequired(argTypes[1], oper.RightType)) {
- children[2] = WrapWithPgCast(std::move(children[2]), oper.RightType, ctx);
+ children[2] = WrapWithPgCast(std::move(children[2]), oper.RightType, ctx.Expr);
}
break;
@@ -648,7 +756,7 @@ IGraphTransformer::TStatus PgAggWrapper(const TExprNode::TPtr& input, TExprNode:
for (ui32 i = 0; i < argTypes.size(); ++i, ++argIdx) {
if (IsCastRequired(argTypes[i], aggDesc.ArgTypes[i])) {
auto& argNode = input->ChildRef(argIdx);
- argNode = WrapWithPgCast(std::move(argNode), aggDesc.ArgTypes[i], ctx);
+ argNode = WrapWithPgCast(std::move(argNode), aggDesc.ArgTypes[i], ctx.Expr);
needRetype = true;
}
}
@@ -4155,7 +4263,7 @@ IGraphTransformer::TStatus PgValuesListWrapper(const TExprNode::TPtr& input, TEx
if (item->GetTypeAnn()->Cast<TPgExprType>()->GetId() == commonTypes[j]) {
rowValues.push_back(item);
} else {
- rowValues.push_back(WrapWithPgCast(std::move(item), commonTypes[j], ctx));
+ rowValues.push_back(WrapWithPgCast(std::move(item), commonTypes[j], ctx.Expr));
}
}
resultValues.push_back(ctx.Expr.NewList(value->Pos(), std::move(rowValues)));
@@ -4338,7 +4446,11 @@ IGraphTransformer::TStatus PgSelectWrapper(const TExprNode::TPtr& input, TExprNo
TColumnOrder resultColumnOrder;
const TStructExprType* resultStructType = nullptr;
- auto status = InferPositionalUnionType(input->Pos(), setItems->ChildrenList(), resultColumnOrder, resultStructType, ctx);
+
+ auto status = (1 == setItems->ChildrenSize() && HasSetting(*setItems->Child(0)->Child(0), "unknowns_allowed"))
+ ? InferPositionalUnionType(input->Pos(), setItems->ChildrenList(), resultColumnOrder, resultStructType, ctx)
+ : InferPgCommonType(input->Pos(), setItems, setOps, resultColumnOrder, resultStructType, ctx);
+
if (status != IGraphTransformer::TStatus::Ok) {
return status;
}
@@ -4471,7 +4583,7 @@ IGraphTransformer::TStatus PgArrayWrapper(const TExprNode::TPtr& input, TExprNod
if (argTypes[i] == elemType) {
castArrayElems.push_back(child);
} else {
- castArrayElems.push_back(WrapWithPgCast(std::move(child), elemType, ctx));
+ castArrayElems.push_back(WrapWithPgCast(std::move(child), elemType, ctx.Expr));
}
}
output = ctx.Expr.NewCallable(input->Pos(), "PgArray", std::move(castArrayElems));
@@ -4587,7 +4699,7 @@ IGraphTransformer::TStatus PgLikeWrapper(const TExprNode::TPtr& input, TExprNode
if (argTypes[i] != textTypeId) {
if (argTypes[i] == NPg::UnknownOid) {
auto& argNode = input->ChildRef(i);
- argNode = WrapWithPgCast(std::move(argNode), textTypeId, ctx);
+ argNode = WrapWithPgCast(std::move(argNode), textTypeId, ctx.Expr);
return IGraphTransformer::TStatus::Repeat;
}
ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(input->Pos()),
@@ -4656,7 +4768,7 @@ IGraphTransformer::TStatus PgInWrapper(const TExprNode::TPtr& input, TExprNode::
if (itemTypePg && inputTypePg && itemTypePg != inputTypePg) {
if (inputTypePg == NPg::UnknownOid) {
- input->ChildRef(0) = WrapWithPgCast(std::move(input->Child(0)), itemTypePg, ctx);
+ input->ChildRef(0) = WrapWithPgCast(std::move(input->Child(0)), itemTypePg, ctx.Expr);
return IGraphTransformer::TStatus::Repeat;
}
if (itemTypePg == NPg::UnknownOid) {
diff --git a/ydb/library/yql/core/type_ann/type_ann_pg.h b/ydb/library/yql/core/type_ann/type_ann_pg.h
index 08c25e5da4..d8608fd712 100644
--- a/ydb/library/yql/core/type_ann/type_ann_pg.h
+++ b/ydb/library/yql/core/type_ann/type_ann_pg.h
@@ -8,6 +8,7 @@
namespace NYql {
namespace NTypeAnnImpl {
+TExprNodePtr WrapWithPgCast(TExprNodePtr&& node, ui32 targetTypeId, TExprContext& ctx);
TString MakeAliasedColumn(TStringBuf alias, TStringBuf column);
const TItemExprType* AddAlias(const TString& alias, const TItemExprType* item, TExprContext& ctx);
TStringBuf RemoveAlias(TStringBuf column);
diff --git a/ydb/library/yql/sql/pg/pg_sql.cpp b/ydb/library/yql/sql/pg/pg_sql.cpp
index 8960419e1c..808ef71b9b 100644
--- a/ydb/library/yql/sql/pg/pg_sql.cpp
+++ b/ydb/library/yql/sql/pg/pg_sql.cpp
@@ -705,6 +705,7 @@ public:
}
}
+ bool hasCombiningQueries = (1 < setItems.size());
TAstNode* sort = nullptr;
if (ListLength(value->sortClause) > 0) {
@@ -716,7 +717,7 @@ public:
return nullptr;
}
- auto sort = ParseSortBy(CAST_NODE_EXT(PG_SortBy, T_SortBy, node), setItems.size() == 1, true);
+ auto sort = ParseSortBy(CAST_NODE_EXT(PG_SortBy, T_SortBy, node), !hasCombiningQueries, true);
if (!sort) {
return nullptr;
}
@@ -728,7 +729,7 @@ public:
}
TVector<TAstNode*> setItemNodes;
- for (size_t id = 0; id < setItems.size(); id++) {
+ for (size_t id = 0; id < setItems.size(); ++id) {
const auto& x = setItems[id];
bool hasDistinctAll = false;
TVector<TAstNode*> distinctOnItems;
@@ -1051,11 +1052,11 @@ public:
setItemOptions.push_back(QL(QA("distinct_on"), distinctOn));
}
- if (setItems.size() == 1 && sort) {
+ if (!hasCombiningQueries && sort) {
setItemOptions.push_back(QL(QA("sort"), sort));
}
- if (unknownsAllowed) {
+ if (unknownsAllowed || hasCombiningQueries) {
setItemOptions.push_back(QL(QA("unknowns_allowed")));
}
@@ -1106,7 +1107,7 @@ public:
selectOptions.push_back(QL(QA("set_items"), QVL(setItemNodes.data(), setItemNodes.size())));
selectOptions.push_back(QL(QA("set_ops"), QVL(setOpsNodes.data(), setOpsNodes.size())));
- if (setItems.size() > 1 && sort) {
+ if (hasCombiningQueries && sort) {
selectOptions.push_back(QL(QA("sort"), sort));
}
diff --git a/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json b/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json
index 9c6f01828e..320262266e 100644
--- a/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json
+++ b/ydb/library/yql/tests/sql/dq_file/part0/canondata/result.json
@@ -2129,6 +2129,28 @@
}
],
"test.test[pg-select_agg_expr_having-default.txt-Results]": [],
+ "test.test[pg-select_common_type_exceptall-default.txt-Analyze]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1931696/12a17fd03ea37900d110696f266c04ad62432625/resource.tar.gz#test.test_pg-select_common_type_exceptall-default.txt-Analyze_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_exceptall-default.txt-Debug]": [
+ {
+ "checksum": "86def4c7f4efdf6e26a45f06259e1c67",
+ "size": 1385,
+ "uri": "https://{canondata_backend}/1931696/12a17fd03ea37900d110696f266c04ad62432625/resource.tar.gz#test.test_pg-select_common_type_exceptall-default.txt-Debug_/opt.yql_patched"
+ }
+ ],
+ "test.test[pg-select_common_type_exceptall-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1931696/12a17fd03ea37900d110696f266c04ad62432625/resource.tar.gz#test.test_pg-select_common_type_exceptall-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_exceptall-default.txt-Results]": [],
"test.test[pg-select_from_columns_star-default.txt-Analyze]": [
{
"checksum": "fc5340bdc777120c01eb5f7df2b5c38d",
diff --git a/ydb/library/yql/tests/sql/dq_file/part1/canondata/result.json b/ydb/library/yql/tests/sql/dq_file/part1/canondata/result.json
index 805db6fc40..a9ac00741a 100644
--- a/ydb/library/yql/tests/sql/dq_file/part1/canondata/result.json
+++ b/ydb/library/yql/tests/sql/dq_file/part1/canondata/result.json
@@ -1866,6 +1866,28 @@
}
],
"test.test[pg-select_alias_partial-default.txt-Results]": [],
+ "test.test[pg-select_common_type_union-default.txt-Analyze]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1924537/3ef7ee54911365a79534947d32d1e7c271e9edf3/resource.tar.gz#test.test_pg-select_common_type_union-default.txt-Analyze_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_union-default.txt-Debug]": [
+ {
+ "checksum": "72cd603bf6af4ab0c6e3c748d945dbd4",
+ "size": 1710,
+ "uri": "https://{canondata_backend}/1924537/3ef7ee54911365a79534947d32d1e7c271e9edf3/resource.tar.gz#test.test_pg-select_common_type_union-default.txt-Debug_/opt.yql_patched"
+ }
+ ],
+ "test.test[pg-select_common_type_union-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1924537/3ef7ee54911365a79534947d32d1e7c271e9edf3/resource.tar.gz#test.test_pg-select_common_type_union-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_union-default.txt-Results]": [],
"test.test[pg-select_join_inner_equi-default.txt-Analyze]": [
{
"checksum": "a3b64a2cf9903b3868a2dd88a18fc46e",
diff --git a/ydb/library/yql/tests/sql/dq_file/part10/canondata/result.json b/ydb/library/yql/tests/sql/dq_file/part10/canondata/result.json
index 3c05ce27fc..2d918eadb3 100644
--- a/ydb/library/yql/tests/sql/dq_file/part10/canondata/result.json
+++ b/ydb/library/yql/tests/sql/dq_file/part10/canondata/result.json
@@ -1785,6 +1785,28 @@
}
],
"test.test[pg-select_case-default.txt-Results]": [],
+ "test.test[pg-select_common_type_except-default.txt-Analyze]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1924537/dd93ed409770f0ece7fecd435f3849c139b141e9/resource.tar.gz#test.test_pg-select_common_type_except-default.txt-Analyze_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_except-default.txt-Debug]": [
+ {
+ "checksum": "fa39fdb658a4672e3a1d73ae6a11cf99",
+ "size": 1169,
+ "uri": "https://{canondata_backend}/1924537/dd93ed409770f0ece7fecd435f3849c139b141e9/resource.tar.gz#test.test_pg-select_common_type_except-default.txt-Debug_/opt.yql_patched"
+ }
+ ],
+ "test.test[pg-select_common_type_except-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1924537/dd93ed409770f0ece7fecd435f3849c139b141e9/resource.tar.gz#test.test_pg-select_common_type_except-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_except-default.txt-Results]": [],
"test.test[pg-select_proj_ref_distinct_on_star-default.txt-Analyze]": [
{
"checksum": "b4dd508a329723c74293d80f0278c705",
diff --git a/ydb/library/yql/tests/sql/dq_file/part11/canondata/result.json b/ydb/library/yql/tests/sql/dq_file/part11/canondata/result.json
index a8e8c575c7..70ccc7cacb 100644
--- a/ydb/library/yql/tests/sql/dq_file/part11/canondata/result.json
+++ b/ydb/library/yql/tests/sql/dq_file/part11/canondata/result.json
@@ -1684,6 +1684,50 @@
}
],
"test.test[pg-select_and_or_group-default.txt-Results]": [],
+ "test.test[pg-select_common_type_intersect-default.txt-Analyze]": [
+ {
+ "checksum": "a3b64a2cf9903b3868a2dd88a18fc46e",
+ "size": 922,
+ "uri": "https://{canondata_backend}/1942173/93413c7f437227eab2052810218d1df60ced3a52/resource.tar.gz#test.test_pg-select_common_type_intersect-default.txt-Analyze_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_intersect-default.txt-Debug]": [
+ {
+ "checksum": "b7f886ac72541468ca11daae8a5eb4df",
+ "size": 1761,
+ "uri": "https://{canondata_backend}/1942173/93413c7f437227eab2052810218d1df60ced3a52/resource.tar.gz#test.test_pg-select_common_type_intersect-default.txt-Debug_/opt.yql_patched"
+ }
+ ],
+ "test.test[pg-select_common_type_intersect-default.txt-Plan]": [
+ {
+ "checksum": "a3b64a2cf9903b3868a2dd88a18fc46e",
+ "size": 922,
+ "uri": "https://{canondata_backend}/1942173/93413c7f437227eab2052810218d1df60ced3a52/resource.tar.gz#test.test_pg-select_common_type_intersect-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_intersect-default.txt-Results]": [],
+ "test.test[pg-select_common_type_unionall--Analyze]": [
+ {
+ "checksum": "d3ddb17f7bc55de2042bf5496146e95d",
+ "size": 9436,
+ "uri": "https://{canondata_backend}/1942525/16208faf1c4299915ddd3945e2017b318594867c/resource.tar.gz#test.test_pg-select_common_type_unionall--Analyze_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_unionall--Debug]": [
+ {
+ "checksum": "2f74bbe13c3925beb55fea98975d9dd1",
+ "size": 6664,
+ "uri": "https://{canondata_backend}/1942525/16208faf1c4299915ddd3945e2017b318594867c/resource.tar.gz#test.test_pg-select_common_type_unionall--Debug_/opt.yql_patched"
+ }
+ ],
+ "test.test[pg-select_common_type_unionall--Plan]": [
+ {
+ "checksum": "d3ddb17f7bc55de2042bf5496146e95d",
+ "size": 9436,
+ "uri": "https://{canondata_backend}/1942525/16208faf1c4299915ddd3945e2017b318594867c/resource.tar.gz#test.test_pg-select_common_type_unionall--Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_unionall--Results]": [],
"test.test[pg-select_except-default.txt-Analyze]": [
{
"checksum": "b2a2eb5d6b0a138ee924c128fc7738ef",
diff --git a/ydb/library/yql/tests/sql/dq_file/part7/canondata/result.json b/ydb/library/yql/tests/sql/dq_file/part7/canondata/result.json
index c004a797e6..b07e9597bc 100644
--- a/ydb/library/yql/tests/sql/dq_file/part7/canondata/result.json
+++ b/ydb/library/yql/tests/sql/dq_file/part7/canondata/result.json
@@ -1885,6 +1885,28 @@
}
],
"test.test[pg-pg_types_window1-default.txt-Results]": [],
+ "test.test[pg-select_common_type_intersectall-default.txt-Analyze]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1924537/8552d3077ff10f95a9d6ae208c13d115e0b5bdf8/resource.tar.gz#test.test_pg-select_common_type_intersectall-default.txt-Analyze_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_intersectall-default.txt-Debug]": [
+ {
+ "checksum": "97abca176b213d94abcd898879168598",
+ "size": 1233,
+ "uri": "https://{canondata_backend}/1924537/8552d3077ff10f95a9d6ae208c13d115e0b5bdf8/resource.tar.gz#test.test_pg-select_common_type_intersectall-default.txt-Debug_/opt.yql_patched"
+ }
+ ],
+ "test.test[pg-select_common_type_intersectall-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1924537/8552d3077ff10f95a9d6ae208c13d115e0b5bdf8/resource.tar.gz#test.test_pg-select_common_type_intersectall-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_intersectall-default.txt-Results]": [],
"test.test[pg-select_join_right3-default.txt-Analyze]": [
{
"checksum": "a3b64a2cf9903b3868a2dd88a18fc46e",
diff --git a/ydb/library/yql/tests/sql/dq_file/part8/canondata/result.json b/ydb/library/yql/tests/sql/dq_file/part8/canondata/result.json
index 25347f6b5c..0180554668 100644
--- a/ydb/library/yql/tests/sql/dq_file/part8/canondata/result.json
+++ b/ydb/library/yql/tests/sql/dq_file/part8/canondata/result.json
@@ -2186,9 +2186,9 @@
],
"test.test[pg-pg_like--Debug]": [
{
- "checksum": "3742490a569a528f4ebd4d94bab4c292",
- "size": 2840,
- "uri": "https://{canondata_backend}/1889210/084e90712790a8b88d6411c0965093f72cfd32fb/resource.tar.gz#test.test_pg-pg_like--Debug_/opt.yql_patched"
+ "checksum": "045f463bdaf4036293debac3556efb8f",
+ "size": 3216,
+ "uri": "https://{canondata_backend}/1936997/74ffff2742274f6b91add68347458117e389d491/resource.tar.gz#test.test_pg-pg_like--Debug_/opt.yql_patched"
}
],
"test.test[pg-pg_like--Plan]": [
diff --git a/ydb/library/yql/tests/sql/sql2yql/canondata/result.json b/ydb/library/yql/tests/sql/sql2yql/canondata/result.json
index 1d53979b6f..5be9cbf817 100644
--- a/ydb/library/yql/tests/sql/sql2yql/canondata/result.json
+++ b/ydb/library/yql/tests/sql/sql2yql/canondata/result.json
@@ -10697,9 +10697,9 @@
],
"test_sql2yql.test[pg-aggregate_scalar_minus_zero]": [
{
- "checksum": "12ea154e629e19fd80707e8a42e02449",
- "size": 935,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-aggregate_scalar_minus_zero_/sql.yql"
+ "checksum": "7271193421f150771c12c6662baca128",
+ "size": 977,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-aggregate_scalar_minus_zero_/sql.yql"
}
],
"test_sql2yql.test[pg-avg_float_clone_init_value]": [
@@ -10760,9 +10760,9 @@
],
"test_sql2yql.test[pg-distinct_on_multi_projection]": [
{
- "checksum": "edcabb1e426a43f52eb9701859c79c45",
- "size": 1257,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-distinct_on_multi_projection_/sql.yql"
+ "checksum": "9e6b9386ad9668388298b5b3e6f53b9d",
+ "size": 1299,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-distinct_on_multi_projection_/sql.yql"
}
],
"test_sql2yql.test[pg-distinct_on_single_projection_no_order]": [
@@ -11005,9 +11005,9 @@
],
"test_sql2yql.test[pg-pg_types_aggregate1]": [
{
- "checksum": "1dac2361a1b2d3852b6781a3f2988b3b",
- "size": 10651,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-pg_types_aggregate1_/sql.yql"
+ "checksum": "11c036623a0209e7b8498dc9c6a2333f",
+ "size": 11239,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-pg_types_aggregate1_/sql.yql"
}
],
"test_sql2yql.test[pg-pg_types_array_literal]": [
@@ -11248,18 +11248,60 @@
"uri": "https://{canondata_backend}/1817427/5ebfc414781230f90b896d4ed143ea00cf4c7aaa/resource.tar.gz#test_sql2yql.test_pg-select_columnref2_/sql.yql"
}
],
+ "test_sql2yql.test[pg-select_common_type_except]": [
+ {
+ "checksum": "0d1bf4c2c7f850d7da3be3cff2f50575",
+ "size": 603,
+ "uri": "https://{canondata_backend}/1942173/ffb77843091f03e2b382ff14da1c2da73f8b4493/resource.tar.gz#test_sql2yql.test_pg-select_common_type_except_/sql.yql"
+ }
+ ],
+ "test_sql2yql.test[pg-select_common_type_exceptall]": [
+ {
+ "checksum": "5ac3061c0cc63513780b2ef34e9bf6bf",
+ "size": 722,
+ "uri": "https://{canondata_backend}/1942173/ffb77843091f03e2b382ff14da1c2da73f8b4493/resource.tar.gz#test_sql2yql.test_pg-select_common_type_exceptall_/sql.yql"
+ }
+ ],
+ "test_sql2yql.test[pg-select_common_type_intersect]": [
+ {
+ "checksum": "7846d73431641dee91093d888d57e02b",
+ "size": 1289,
+ "uri": "https://{canondata_backend}/1942173/ffb77843091f03e2b382ff14da1c2da73f8b4493/resource.tar.gz#test_sql2yql.test_pg-select_common_type_intersect_/sql.yql"
+ }
+ ],
+ "test_sql2yql.test[pg-select_common_type_intersectall]": [
+ {
+ "checksum": "4458491f5544130e6b2f7eb8e4c9b690",
+ "size": 653,
+ "uri": "https://{canondata_backend}/1942173/ffb77843091f03e2b382ff14da1c2da73f8b4493/resource.tar.gz#test_sql2yql.test_pg-select_common_type_intersectall_/sql.yql"
+ }
+ ],
+ "test_sql2yql.test[pg-select_common_type_union]": [
+ {
+ "checksum": "38a98294ecefaa5a2536b22408ef4b60",
+ "size": 811,
+ "uri": "https://{canondata_backend}/1942173/ffb77843091f03e2b382ff14da1c2da73f8b4493/resource.tar.gz#test_sql2yql.test_pg-select_common_type_union_/sql.yql"
+ }
+ ],
+ "test_sql2yql.test[pg-select_common_type_unionall]": [
+ {
+ "checksum": "992e12b42430a148ca76fed33019fb1e",
+ "size": 3003,
+ "uri": "https://{canondata_backend}/1942525/d22736fea21606e7d6b21c102064ca223b0970cd/resource.tar.gz#test_sql2yql.test_pg-select_common_type_unionall_/sql.yql"
+ }
+ ],
"test_sql2yql.test[pg-select_except]": [
{
- "checksum": "89a902fda7b7d6036067523638b26e94",
- "size": 2628,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-select_except_/sql.yql"
+ "checksum": "cac3d5cfed3614a0b9fb31b09591d765",
+ "size": 2754,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_except_/sql.yql"
}
],
"test_sql2yql.test[pg-select_except_all]": [
{
- "checksum": "127bf65c266f9676e6a842d2a237d3e0",
- "size": 2702,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-select_except_all_/sql.yql"
+ "checksum": "563979cb56094b8d25f65e2dd1fb2fa0",
+ "size": 2828,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_except_all_/sql.yql"
}
],
"test_sql2yql.test[pg-select_from_columns]": [
@@ -11313,16 +11355,16 @@
],
"test_sql2yql.test[pg-select_intersect]": [
{
- "checksum": "3881b1109a0e592a2bed8d8c13111f70",
- "size": 1787,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-select_intersect_/sql.yql"
+ "checksum": "21207b8d291106ca7eacfba99138e255",
+ "size": 1871,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_intersect_/sql.yql"
}
],
"test_sql2yql.test[pg-select_intersect_all]": [
{
- "checksum": "924f7216b7deeb51604c13bdec53d9d2",
- "size": 1795,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-select_intersect_all_/sql.yql"
+ "checksum": "bf37d31a1c44aa526f75d30f7496ea9d",
+ "size": 1879,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_intersect_all_/sql.yql"
}
],
"test_sql2yql.test[pg-select_is_null]": [
@@ -11656,9 +11698,9 @@
],
"test_sql2yql.test[pg-select_proj_ref_order_by_union_all_expr]": [
{
- "checksum": "ce0f2ab7ceb9e0feccffc50ec129df96",
- "size": 1246,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-select_proj_ref_order_by_union_all_expr_/sql.yql"
+ "checksum": "459b7fa82e1f4beb032970a04dfbf247",
+ "size": 1288,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_proj_ref_order_by_union_all_expr_/sql.yql"
}
],
"test_sql2yql.test[pg-select_qstarref1]": [
@@ -11789,23 +11831,23 @@
],
"test_sql2yql.test[pg-select_union]": [
{
- "checksum": "e25122f48f669f1c7d486581169dbd9d",
- "size": 1779,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-select_union_/sql.yql"
+ "checksum": "2fb4d5c1e7782ab938f02b7fcba78159",
+ "size": 1863,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_union_/sql.yql"
}
],
"test_sql2yql.test[pg-select_unionall_scalar]": [
{
- "checksum": "823b40a289e8da248fdafd21e582d444",
- "size": 1448,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-select_unionall_scalar_/sql.yql"
+ "checksum": "2a2e00fd9bfbad60882d611365b31a35",
+ "size": 1511,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_unionall_scalar_/sql.yql"
}
],
"test_sql2yql.test[pg-select_unionall_self]": [
{
- "checksum": "b8244ff94cce9bed22ce8fd2712a5b4c",
- "size": 1165,
- "uri": "https://{canondata_backend}/1903280/68f5a402c289e2daa05f92b53958f5c5f4304491/resource.tar.gz#test_sql2yql.test_pg-select_unionall_self_/sql.yql"
+ "checksum": "7c85103843d54ea829becd015fd110a5",
+ "size": 1228,
+ "uri": "https://{canondata_backend}/1925842/d62b5f5680f5595a57320ac8dac15190bfb0862a/resource.tar.gz#test_sql2yql.test_pg-select_unionall_self_/sql.yql"
}
],
"test_sql2yql.test[pg-select_where]": [
@@ -12223,9 +12265,9 @@
],
"test_sql2yql.test[pg-tpcds-q02]": [
{
- "checksum": "bfe4e3a74fff74160f938ecdd435de4c",
- "size": 11062,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q02_/sql.yql"
+ "checksum": "a2d2f3a5083967736e0dc90c31cbfde9",
+ "size": 11146,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q02_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q03]": [
@@ -12237,16 +12279,16 @@
],
"test_sql2yql.test[pg-tpcds-q04]": [
{
- "checksum": "42b53bfff5d1610df833ccc9eb0e45b9",
- "size": 41972,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q04_/sql.yql"
+ "checksum": "6b90610897e83b3fea8fc9fb9266a7cf",
+ "size": 42350,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q04_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q05]": [
{
- "checksum": "9b74acead32a5582ce29d7d61c216681",
- "size": 13817,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q05_/sql.yql"
+ "checksum": "4ea77fa397cbdfdca2a1a951d7f81b5e",
+ "size": 14006,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q05_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q06]": [
@@ -12265,9 +12307,9 @@
],
"test_sql2yql.test[pg-tpcds-q08]": [
{
- "checksum": "81de9c1d02b3157b17207fb2670ad670",
- "size": 18647,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q08_/sql.yql"
+ "checksum": "68a007e841b7c668d50445b8966a9a32",
+ "size": 18689,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q08_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q09]": [
@@ -12286,9 +12328,9 @@
],
"test_sql2yql.test[pg-tpcds-q11]": [
{
- "checksum": "26b8533f22803fb5785f1f90207e9b4c",
- "size": 18837,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q11_/sql.yql"
+ "checksum": "9a233f52aaceb56df183a851c29e561b",
+ "size": 19005,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q11_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q12]": [
@@ -12307,9 +12349,9 @@
],
"test_sql2yql.test[pg-tpcds-q14]": [
{
- "checksum": "c6d4d16285f2f45f1d89864c0e1a4157",
- "size": 45815,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q14_/sql.yql"
+ "checksum": "f13b011121cdbfc1ea55a3ceb0e69b82",
+ "size": 46508,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q14_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q15]": [
@@ -12370,9 +12412,9 @@
],
"test_sql2yql.test[pg-tpcds-q23]": [
{
- "checksum": "f718c027275537a35a2ee6ac71328dce",
- "size": 26099,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q23_/sql.yql"
+ "checksum": "f21ddc7586abab6b39edee162b5c5fbd",
+ "size": 26183,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q23_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q24]": [
@@ -12440,9 +12482,9 @@
],
"test_sql2yql.test[pg-tpcds-q33]": [
{
- "checksum": "c946d664d9ad12dd44b8a511a4ea3454",
- "size": 7784,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q33_/sql.yql"
+ "checksum": "55e1854a0068ce8148198798eaa72d31",
+ "size": 7847,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q33_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q34]": [
@@ -12475,9 +12517,9 @@
],
"test_sql2yql.test[pg-tpcds-q38]": [
{
- "checksum": "ae1e6567706289b01692dfaafbbb6cf4",
- "size": 4243,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q38_/sql.yql"
+ "checksum": "c754e2745315d392b1ce4994298b652f",
+ "size": 4306,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q38_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q39]": [
@@ -12552,9 +12594,9 @@
],
"test_sql2yql.test[pg-tpcds-q49]": [
{
- "checksum": "d34dad36c0ca1c14d007f690329c19cb",
- "size": 13875,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q49_/sql.yql"
+ "checksum": "59346c3b36408ca61df623c4762f52e6",
+ "size": 13938,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q49_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q50]": [
@@ -12587,9 +12629,9 @@
],
"test_sql2yql.test[pg-tpcds-q54]": [
{
- "checksum": "2638a79f60db66cde2ce86dd7c9c2d5a",
- "size": 6489,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q54_/sql.yql"
+ "checksum": "6b6a2c95e86852e6bac64bc1772bf6e4",
+ "size": 6531,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q54_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q55]": [
@@ -12601,9 +12643,9 @@
],
"test_sql2yql.test[pg-tpcds-q56]": [
{
- "checksum": "d60f380dc4aad752b8cec9b8ff202b1e",
- "size": 7980,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q56_/sql.yql"
+ "checksum": "4a84f13ecec75664adb4bb9b27883530",
+ "size": 8043,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q56_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q57]": [
@@ -12629,9 +12671,9 @@
],
"test_sql2yql.test[pg-tpcds-q60]": [
{
- "checksum": "882e868bd76f905691ab9d070929e9da",
- "size": 7770,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q60_/sql.yql"
+ "checksum": "62c32a20c3dcae42881ba00de87b2c83",
+ "size": 7833,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q60_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q61]": [
@@ -12671,9 +12713,9 @@
],
"test_sql2yql.test[pg-tpcds-q66]": [
{
- "checksum": "c6a44f636116a3879f6a7f35c03d2613",
- "size": 27550,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q66_/sql.yql"
+ "checksum": "a6c6660d4a9c9022141624735929d225",
+ "size": 27592,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q66_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q67]": [
@@ -12706,9 +12748,9 @@
],
"test_sql2yql.test[pg-tpcds-q71]": [
{
- "checksum": "2f3dea929d3ec54f3232fb4c98d0d0b5",
- "size": 4951,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q71_/sql.yql"
+ "checksum": "22341e68636e177a8931b82f86cb0d21",
+ "size": 5014,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q71_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q72]": [
@@ -12727,30 +12769,30 @@
],
"test_sql2yql.test[pg-tpcds-q74]": [
{
- "checksum": "83ea7a63141d634722f875b49a7f8c9d",
- "size": 14322,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q74_/sql.yql"
+ "checksum": "a64e0f5c6193caf3e41a4fc75097c075",
+ "size": 14490,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q74_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q75]": [
{
- "checksum": "d00d0d499553b92a30022ae178884ec4",
- "size": 15356,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q75_/sql.yql"
+ "checksum": "a21845d1c227ec53a475c15db6214ab4",
+ "size": 15482,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q75_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q76]": [
{
- "checksum": "d0b023fd6a89b84099131c4df7305ec5",
- "size": 5500,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q76_/sql.yql"
+ "checksum": "3723ace9e6e0dab64dfad16b16297611",
+ "size": 5563,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q76_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q77]": [
{
- "checksum": "2a69d06b07deaca21b89974a53ea6679",
- "size": 11847,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q77_/sql.yql"
+ "checksum": "48d341a94ad7ac3df26ac4e1be57f229",
+ "size": 11910,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q77_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q78]": [
@@ -12769,9 +12811,9 @@
],
"test_sql2yql.test[pg-tpcds-q80]": [
{
- "checksum": "3b43af667c4a77a2f73bc3532ad999cc",
- "size": 11172,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q80_/sql.yql"
+ "checksum": "77c34b6c88ee1d883e46f539e65ea6ee",
+ "size": 11235,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q80_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q81]": [
@@ -12818,9 +12860,9 @@
],
"test_sql2yql.test[pg-tpcds-q87]": [
{
- "checksum": "7921b91cd52f6af7be0d3c4c1bcd6126",
- "size": 4198,
- "uri": "https://{canondata_backend}/1599023/af9c2f81df0601cf266a0926b5ce73b6101b9115/resource.tar.gz#test_sql2yql.test_pg-tpcds-q87_/sql.yql"
+ "checksum": "9dddaa0653900a40a253c16b277d3adf",
+ "size": 4261,
+ "uri": "https://{canondata_backend}/1924537/241614a38cd19f5ec51eff46c5a2901cec4d291e/resource.tar.gz#test_sql2yql.test_pg-tpcds-q87_/sql.yql"
}
],
"test_sql2yql.test[pg-tpcds-q88]": [
diff --git a/ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt b/ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt
new file mode 100644
index 0000000000..79d59e9d3f
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt
@@ -0,0 +1,4 @@
+{"a"=1;"b"="aaa"};
+{"a"=1;"b"="bbb"};
+{"a"=2;"b"=#};
+{"a"=2;"b"="ccc"};
diff --git a/ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt.attr b/ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt.attr
new file mode 100644
index 0000000000..f10676fc0e
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/input_pg_int_and_text.txt.attr
@@ -0,0 +1,6 @@
+{"_yql_row_spec"={
+ "Type"=["StructType";[
+ ["a";["PgType";"int2"]];
+ ["b";["PgType";"text"]];
+ ]];
+}}
diff --git a/ydb/library/yql/tests/sql/suites/pg/select_common_type_except.sql b/ydb/library/yql/tests/sql/suites/pg/select_common_type_except.sql
new file mode 100644
index 0000000000..8a08cf3234
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/select_common_type_except.sql
@@ -0,0 +1,4 @@
+--!syntax_pg
+select 1
+except
+select '1';
diff --git a/ydb/library/yql/tests/sql/suites/pg/select_common_type_exceptall.sql b/ydb/library/yql/tests/sql/suites/pg/select_common_type_exceptall.sql
new file mode 100644
index 0000000000..f46620b7a7
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/select_common_type_exceptall.sql
@@ -0,0 +1,5 @@
+--!syntax_pg
+values ('1'), (1), ('2')
+except all
+select 1
+order by 1;
diff --git a/ydb/library/yql/tests/sql/suites/pg/select_common_type_intersect.sql b/ydb/library/yql/tests/sql/suites/pg/select_common_type_intersect.sql
new file mode 100644
index 0000000000..f25b41e8c1
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/select_common_type_intersect.sql
@@ -0,0 +1,8 @@
+--!syntax_pg
+select '1'
+intersect
+select 1;
+
+select * from (values ('1'), ('2')) t
+intersect
+select '1';
diff --git a/ydb/library/yql/tests/sql/suites/pg/select_common_type_intersectall.sql b/ydb/library/yql/tests/sql/suites/pg/select_common_type_intersectall.sql
new file mode 100644
index 0000000000..11bd725c66
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/select_common_type_intersectall.sql
@@ -0,0 +1,4 @@
+--!syntax_pg
+values ('1'), (1), (2)
+intersect all
+select 1;
diff --git a/ydb/library/yql/tests/sql/suites/pg/select_common_type_union.sql b/ydb/library/yql/tests/sql/suites/pg/select_common_type_union.sql
new file mode 100644
index 0000000000..5858c2f9c4
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/select_common_type_union.sql
@@ -0,0 +1,7 @@
+--!syntax_pg
+select 1
+union
+select '1'
+union
+select '2'
+order by 1;
diff --git a/ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.cfg b/ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.cfg
new file mode 100644
index 0000000000..1a343da34c
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.cfg
@@ -0,0 +1 @@
+in Input input_pg_int_and_text.txt
diff --git a/ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.sql b/ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.sql
new file mode 100644
index 0000000000..9b9c379e87
--- /dev/null
+++ b/ydb/library/yql/tests/sql/suites/pg/select_common_type_unionall.sql
@@ -0,0 +1,21 @@
+--!syntax_pg
+
+-- check unknown-typed string literals converted to int and text types
+-- also check that column names from the 1st select are used for result columns
+select 1 as step, '1', 'x' as c2
+union all
+-- 2nd column is of integer type
+-- It's important to have one of 1st columns' value as the 2nd column value in this SELECT. That helps us to catch ExprNode sharing bugs
+select 2, 3, null as c3
+union all
+-- we need to check casts of aggregation functions' results, so make 2nd column int8
+-- also, check we get PgCasts for columns generated by PgStar
+-- also, check aggregation functions in projection subqueries
+select 3, * from (select 4::int8 as c1, max(b) as c from plato."Input") as t
+union all
+-- check PgQualifiedStar
+select 4, t.* from plato."Input" as t
+union all
+-- check if casts are there for aggregation functions used directly and in a projection
+select 5, min(a), (select min(b) from plato."Input") from plato."Input"
+order by 1, 2, 3
diff --git a/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json b/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json
index af3aaf2278..60644611e9 100644
--- a/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json
+++ b/ydb/library/yql/tests/sql/yt_native_file/part0/canondata/result.json
@@ -1868,6 +1868,27 @@
"uri": "https://{canondata_backend}/1817427/68c56fcd2da6a60d859e92e2c248aec5f8523629/resource.tar.gz#test.test_pg-select_agg_expr_having-default.txt-Results_/results.txt"
}
],
+ "test.test[pg-select_common_type_exceptall-default.txt-Debug]": [
+ {
+ "checksum": "715efc1184c023fae0800e1de29e00b3",
+ "size": 1322,
+ "uri": "https://{canondata_backend}/1942173/e6803b5ddab7d212511def81ae13e8b74c0799ed/resource.tar.gz#test.test_pg-select_common_type_exceptall-default.txt-Debug_/opt.yql"
+ }
+ ],
+ "test.test[pg-select_common_type_exceptall-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1942173/e6803b5ddab7d212511def81ae13e8b74c0799ed/resource.tar.gz#test.test_pg-select_common_type_exceptall-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_exceptall-default.txt-Results]": [
+ {
+ "checksum": "649078fd58135b964eaecf78b71d6224",
+ "size": 735,
+ "uri": "https://{canondata_backend}/1942173/e6803b5ddab7d212511def81ae13e8b74c0799ed/resource.tar.gz#test.test_pg-select_common_type_exceptall-default.txt-Results_/results.txt"
+ }
+ ],
"test.test[pg-select_from_columns_star-default.txt-Debug]": [
{
"checksum": "98e8db1d0804578abd7dc8ea0364c0ee",
diff --git a/ydb/library/yql/tests/sql/yt_native_file/part1/canondata/result.json b/ydb/library/yql/tests/sql/yt_native_file/part1/canondata/result.json
index 72cadedb1e..9ae09e2585 100644
--- a/ydb/library/yql/tests/sql/yt_native_file/part1/canondata/result.json
+++ b/ydb/library/yql/tests/sql/yt_native_file/part1/canondata/result.json
@@ -1698,6 +1698,27 @@
"uri": "https://{canondata_backend}/1903885/d4ffc810ec380eecabd72b28ef073d2105834910/resource.tar.gz#test.test_pg-select_alias_partial-default.txt-Results_/results.txt"
}
],
+ "test.test[pg-select_common_type_union-default.txt-Debug]": [
+ {
+ "checksum": "f3334b9184dba4b823dcbed9e6869584",
+ "size": 1648,
+ "uri": "https://{canondata_backend}/1784826/362f0d72485da03c9b2fe3018536bede4dff7404/resource.tar.gz#test.test_pg-select_common_type_union-default.txt-Debug_/opt.yql"
+ }
+ ],
+ "test.test[pg-select_common_type_union-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1784826/362f0d72485da03c9b2fe3018536bede4dff7404/resource.tar.gz#test.test_pg-select_common_type_union-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_union-default.txt-Results]": [
+ {
+ "checksum": "649078fd58135b964eaecf78b71d6224",
+ "size": 735,
+ "uri": "https://{canondata_backend}/1784826/362f0d72485da03c9b2fe3018536bede4dff7404/resource.tar.gz#test.test_pg-select_common_type_union-default.txt-Results_/results.txt"
+ }
+ ],
"test.test[pg-select_join_inner_equi-default.txt-Debug]": [
{
"checksum": "776561b5f4ea288597356b9ee64641b2",
diff --git a/ydb/library/yql/tests/sql/yt_native_file/part10/canondata/result.json b/ydb/library/yql/tests/sql/yt_native_file/part10/canondata/result.json
index 2d32fafe2e..76619072f2 100644
--- a/ydb/library/yql/tests/sql/yt_native_file/part10/canondata/result.json
+++ b/ydb/library/yql/tests/sql/yt_native_file/part10/canondata/result.json
@@ -1693,6 +1693,27 @@
"uri": "https://{canondata_backend}/1924537/6033fa62c3628f7f8f85fe0b254eb896d2d9c2ce/resource.tar.gz#test.test_pg-select_case-default.txt-Results_/results.txt"
}
],
+ "test.test[pg-select_common_type_except-default.txt-Debug]": [
+ {
+ "checksum": "99b168ca0829104e701171b7e896c085",
+ "size": 1108,
+ "uri": "https://{canondata_backend}/1924537/b67deec785d954d016cf0cc857ccadcc1665c7f7/resource.tar.gz#test.test_pg-select_common_type_except-default.txt-Debug_/opt.yql"
+ }
+ ],
+ "test.test[pg-select_common_type_except-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1924537/b67deec785d954d016cf0cc857ccadcc1665c7f7/resource.tar.gz#test.test_pg-select_common_type_except-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_except-default.txt-Results]": [
+ {
+ "checksum": "ab5ca6249c2d75a9343521719fb878a9",
+ "size": 573,
+ "uri": "https://{canondata_backend}/1924537/b67deec785d954d016cf0cc857ccadcc1665c7f7/resource.tar.gz#test.test_pg-select_common_type_except-default.txt-Results_/results.txt"
+ }
+ ],
"test.test[pg-select_proj_ref_distinct_on_star-default.txt-Debug]": [
{
"checksum": "abfaeac424a5b500ae0ee5425049dca2",
diff --git a/ydb/library/yql/tests/sql/yt_native_file/part11/canondata/result.json b/ydb/library/yql/tests/sql/yt_native_file/part11/canondata/result.json
index fe4cc18bd5..524bcbc36a 100644
--- a/ydb/library/yql/tests/sql/yt_native_file/part11/canondata/result.json
+++ b/ydb/library/yql/tests/sql/yt_native_file/part11/canondata/result.json
@@ -1483,6 +1483,48 @@
"uri": "https://{canondata_backend}/1937027/642fd2ff53bdb0fed32ca89598d70c9c5848ac20/resource.tar.gz#test.test_pg-select_and_or_group-default.txt-Results_/results.txt"
}
],
+ "test.test[pg-select_common_type_intersect-default.txt-Debug]": [
+ {
+ "checksum": "b40cdd3206229abf2b7ab3021c718a56",
+ "size": 1700,
+ "uri": "https://{canondata_backend}/1942173/41533bd59da76a4855a65c84edc4284087a17fd8/resource.tar.gz#test.test_pg-select_common_type_intersect-default.txt-Debug_/opt.yql"
+ }
+ ],
+ "test.test[pg-select_common_type_intersect-default.txt-Plan]": [
+ {
+ "checksum": "a3b64a2cf9903b3868a2dd88a18fc46e",
+ "size": 922,
+ "uri": "https://{canondata_backend}/1942173/41533bd59da76a4855a65c84edc4284087a17fd8/resource.tar.gz#test.test_pg-select_common_type_intersect-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_intersect-default.txt-Results]": [
+ {
+ "checksum": "2241fd76b413cb2cfc0f441016738f31",
+ "size": 1322,
+ "uri": "https://{canondata_backend}/1942173/41533bd59da76a4855a65c84edc4284087a17fd8/resource.tar.gz#test.test_pg-select_common_type_intersect-default.txt-Results_/results.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_unionall--Debug]": [
+ {
+ "checksum": "2c375b992f5c040197e02d26ccd11b79",
+ "size": 9270,
+ "uri": "https://{canondata_backend}/1777230/3357002b611e7f8663adc13ea32a922e1953fa56/resource.tar.gz#test.test_pg-select_common_type_unionall--Debug_/opt.yql"
+ }
+ ],
+ "test.test[pg-select_common_type_unionall--Plan]": [
+ {
+ "checksum": "1f8ef40bb544ec202283d03b48873849",
+ "size": 16481,
+ "uri": "https://{canondata_backend}/1777230/3357002b611e7f8663adc13ea32a922e1953fa56/resource.tar.gz#test.test_pg-select_common_type_unionall--Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_unionall--Results]": [
+ {
+ "checksum": "1672558a63eb1d39cff97ddecdf2bccb",
+ "size": 2157,
+ "uri": "https://{canondata_backend}/1777230/3357002b611e7f8663adc13ea32a922e1953fa56/resource.tar.gz#test.test_pg-select_common_type_unionall--Results_/results.txt"
+ }
+ ],
"test.test[pg-select_except-default.txt-Debug]": [
{
"checksum": "b9dee89edd356c60cba20eb9530123b7",
diff --git a/ydb/library/yql/tests/sql/yt_native_file/part7/canondata/result.json b/ydb/library/yql/tests/sql/yt_native_file/part7/canondata/result.json
index 1d4ac287e6..850a73ff71 100644
--- a/ydb/library/yql/tests/sql/yt_native_file/part7/canondata/result.json
+++ b/ydb/library/yql/tests/sql/yt_native_file/part7/canondata/result.json
@@ -1585,6 +1585,27 @@
"uri": "https://{canondata_backend}/1931696/94a352982a2cdab336c295983304c9f056174488/resource.tar.gz#test.test_pg-pg_types_window1-default.txt-Results_/results.txt"
}
],
+ "test.test[pg-select_common_type_intersectall-default.txt-Debug]": [
+ {
+ "checksum": "444520253c8243faad2be2eb57b65a4e",
+ "size": 1170,
+ "uri": "https://{canondata_backend}/1931696/9a5fbf9a708b1c8e239b4a8656b41e59d9d73c37/resource.tar.gz#test.test_pg-select_common_type_intersectall-default.txt-Debug_/opt.yql"
+ }
+ ],
+ "test.test[pg-select_common_type_intersectall-default.txt-Plan]": [
+ {
+ "checksum": "b4dd508a329723c74293d80f0278c705",
+ "size": 505,
+ "uri": "https://{canondata_backend}/1931696/9a5fbf9a708b1c8e239b4a8656b41e59d9d73c37/resource.tar.gz#test.test_pg-select_common_type_intersectall-default.txt-Plan_/plan.txt"
+ }
+ ],
+ "test.test[pg-select_common_type_intersectall-default.txt-Results]": [
+ {
+ "checksum": "45a1eb90c01e40518b99f7ea80993b3b",
+ "size": 662,
+ "uri": "https://{canondata_backend}/1931696/9a5fbf9a708b1c8e239b4a8656b41e59d9d73c37/resource.tar.gz#test.test_pg-select_common_type_intersectall-default.txt-Results_/results.txt"
+ }
+ ],
"test.test[pg-select_join_right3-default.txt-Debug]": [
{
"checksum": "675dcafca2691a6bc1848856e9c50bd5",
diff --git a/ydb/library/yql/tests/sql/yt_native_file/part8/canondata/result.json b/ydb/library/yql/tests/sql/yt_native_file/part8/canondata/result.json
index 4704d36c6a..67634cef85 100644
--- a/ydb/library/yql/tests/sql/yt_native_file/part8/canondata/result.json
+++ b/ydb/library/yql/tests/sql/yt_native_file/part8/canondata/result.json
@@ -1920,9 +1920,9 @@
],
"test.test[pg-pg_like--Debug]": [
{
- "checksum": "c484d53d7542ce062e03f08caecec024",
- "size": 2775,
- "uri": "https://{canondata_backend}/1924537/21587f2d9f655668db9501751a9b543d6e1990b8/resource.tar.gz#test.test_pg-pg_like--Debug_/opt.yql"
+ "checksum": "f7272327227c998d420b9d1148607d22",
+ "size": 3148,
+ "uri": "https://{canondata_backend}/1847551/d98759c6e3c898a0af39e0c0bc49cc035f86f22b/resource.tar.gz#test.test_pg-pg_like--Debug_/opt.yql"
}
],
"test.test[pg-pg_like--Plan]": [