Skip to content

Commit 8b2c38b

Browse files
authored
Revert "YQL-18053: Add block implementation for AsStruct callable (#3485)" (#4054)
1 parent 57d605a commit 8b2c38b

File tree

57 files changed

+326
-434
lines changed

Some content is hidden

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

57 files changed

+326
-434
lines changed

ydb/library/yql/core/peephole_opt/yql_opt_peephole_physical.cpp

+1-24
Original file line numberDiff line numberDiff line change
@@ -5672,7 +5672,7 @@ bool CollectBlockRewrites(const TMultiExprType* multiInputType, bool keepInputCo
56725672
std::string_view arrowFunctionName;
56735673
const bool rewriteAsIs = node->IsCallable({"AssumeStrict", "AssumeNonStrict", "Likely"});
56745674
if (node->IsList() || rewriteAsIs ||
5675-
node->IsCallable({"And", "Or", "Xor", "Not", "Coalesce", "Exists", "If", "Just", "AsStruct", "Member", "Nth", "ToPg", "FromPg", "PgResolvedCall", "PgResolvedOp"}))
5675+
node->IsCallable({"And", "Or", "Xor", "Not", "Coalesce", "Exists", "If", "Just", "Member", "Nth", "ToPg", "FromPg", "PgResolvedCall", "PgResolvedOp"}))
56765676
{
56775677
if (node->IsCallable() && !IsSupportedAsBlockType(node->Pos(), *node->GetTypeAnn(), ctx, types)) {
56785678
return true;
@@ -5711,29 +5711,6 @@ bool CollectBlockRewrites(const TMultiExprType* multiInputType, bool keepInputCo
57115711
}
57125712
}
57135713

5714-
// <AsStruct> arguments (i.e. members of the resulting structure)
5715-
// are literal tuples, that don't propagate their child rewrites.
5716-
// Hence, process these rewrites the following way: wrap the
5717-
// complete expressions, supported by the block engine, with
5718-
// <AsScalar> callable or apply the rewrite of one is found.
5719-
// Otherwise, abort this <AsStruct> rewrite, since one of its
5720-
// arguments is neither block nor scalar.
5721-
if (node->IsCallable("AsStruct")) {
5722-
for (ui32 index = 0; index < node->ChildrenSize(); index++) {
5723-
auto member = funcArgs[index];
5724-
auto child = member->TailPtr();
5725-
TExprNodePtr rewrite;
5726-
if (child->IsComplete() && IsSupportedAsBlockType(child->Pos(), *child->GetTypeAnn(), ctx, types)) {
5727-
rewrite = ctx.NewCallable(child->Pos(), "AsScalar", { child });
5728-
} else if (auto rit = rewrites.find(child.Get()); rit != rewrites.end()) {
5729-
rewrite = rit->second;
5730-
} else {
5731-
return true;
5732-
}
5733-
funcArgs[index] = ctx.NewList(member->Pos(), {member->HeadPtr(), rewrite});
5734-
}
5735-
}
5736-
57375714
const TString blockFuncName = rewriteAsIs ? ToString(node->Content()) :
57385715
(TString("Block") + (node->IsList() ? "AsTuple" : node->Content()));
57395716
if (node->IsCallable({"And", "Or", "Xor"}) && funcArgs.size() > 2) {

ydb/library/yql/core/type_ann/type_ann_blocks.cpp

-45
Original file line numberDiff line numberDiff line change
@@ -388,51 +388,6 @@ IGraphTransformer::TStatus BlockJustWrapper(const TExprNode::TPtr& input, TExprN
388388
return IGraphTransformer::TStatus::Ok;
389389
}
390390

391-
IGraphTransformer::TStatus BlockAsStructWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx) {
392-
Y_UNUSED(output);
393-
if (!EnsureMinArgsCount(*input, 1, ctx.Expr)) {
394-
return IGraphTransformer::TStatus::Error;
395-
}
396-
397-
TVector<const TItemExprType*> members;
398-
bool onlyScalars = true;
399-
for (auto& child : input->Children()) {
400-
auto nameNode = child->Child(0);
401-
if (!EnsureAtom(*nameNode, ctx.Expr)) {
402-
return IGraphTransformer::TStatus::Error;
403-
}
404-
auto valueNode = child->Child(1);
405-
if (!EnsureBlockOrScalarType(*valueNode, ctx.Expr)) {
406-
return IGraphTransformer::TStatus::Error;
407-
}
408-
409-
bool isScalar;
410-
const TTypeAnnotationNode* blockItemType = GetBlockItemType(*valueNode->GetTypeAnn(), isScalar);
411-
412-
onlyScalars = onlyScalars && isScalar;
413-
members.push_back(ctx.Expr.MakeType<TItemExprType>(nameNode->Content(), blockItemType));
414-
}
415-
416-
auto structType = ctx.Expr.MakeType<TStructExprType>(members);
417-
if (!structType->Validate(input->Pos(), ctx.Expr)) {
418-
return IGraphTransformer::TStatus::Error;
419-
}
420-
421-
auto less = [](const TExprNode::TPtr& left, const TExprNode::TPtr& right) {
422-
return left->Head().Content() < right->Head().Content();
423-
};
424-
425-
if (!IsSorted(input->Children().begin(), input->Children().end(), less)) {
426-
auto list = input->ChildrenList();
427-
Sort(list.begin(), list.end(), less);
428-
output = ctx.Expr.ChangeChildren(*input, std::move(list));
429-
return IGraphTransformer::TStatus::Repeat;
430-
}
431-
432-
input->SetTypeAnn(MakeBlockOrScalarType(structType, onlyScalars, ctx.Expr));
433-
return IGraphTransformer::TStatus::Ok;
434-
}
435-
436391
IGraphTransformer::TStatus BlockAsTupleWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx) {
437392
Y_UNUSED(output);
438393
if (!EnsureMinArgsCount(*input, 1, ctx.Expr)) {

ydb/library/yql/core/type_ann/type_ann_blocks.h

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ namespace NTypeAnnImpl {
1818
IGraphTransformer::TStatus BlockLogicalWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
1919
IGraphTransformer::TStatus BlockIfWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
2020
IGraphTransformer::TStatus BlockJustWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
21-
IGraphTransformer::TStatus BlockAsStructWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
2221
IGraphTransformer::TStatus BlockAsTupleWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
2322
IGraphTransformer::TStatus BlockNthWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);
2423
IGraphTransformer::TStatus BlockMemberWrapper(const TExprNode::TPtr& input, TExprNode::TPtr& output, TContext& ctx);

ydb/library/yql/core/type_ann/type_ann_core.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -12384,7 +12384,6 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
1238412384
Functions["BlockNot"] = &BlockLogicalWrapper;
1238512385
Functions["BlockIf"] = &BlockIfWrapper;
1238612386
Functions["BlockJust"] = &BlockJustWrapper;
12387-
Functions["BlockAsStruct"] = &BlockAsStructWrapper;
1238812387
Functions["BlockAsTuple"] = &BlockAsTupleWrapper;
1238912388
Functions["BlockMember"] = &BlockMemberWrapper;
1239012389
Functions["BlockNth"] = &BlockNthWrapper;

ydb/library/yql/core/yql_expr_constraint.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ class TCallableConstraintTransformer : public TCallableTransformerBase<TCallable
155155
Functions["Limit"] = &TCallableConstraintTransformer::TakeWrap;
156156
Functions["Member"] = &TCallableConstraintTransformer::MemberWrap;
157157
Functions["AsStruct"] = &TCallableConstraintTransformer::AsStructWrap;
158-
Functions["BlockAsStruct"] = &TCallableConstraintTransformer::AsStructWrap;
159158
Functions["Just"] = &TCallableConstraintTransformer::FromFirst<TPassthroughConstraintNode, TUniqueConstraintNode, TPartOfUniqueConstraintNode, TDistinctConstraintNode, TPartOfDistinctConstraintNode, TPartOfSortedConstraintNode, TPartOfChoppedConstraintNode, TVarIndexConstraintNode, TMultiConstraintNode>;
160159
Functions["Unwrap"] = &TCallableConstraintTransformer::FromFirst<TPassthroughConstraintNode, TUniqueConstraintNode, TPartOfUniqueConstraintNode, TDistinctConstraintNode, TPartOfDistinctConstraintNode, TPartOfSortedConstraintNode, TPartOfChoppedConstraintNode, TVarIndexConstraintNode, TMultiConstraintNode>;
161160
Functions["Ensure"] = &TCallableConstraintTransformer::CopyAllFrom<0>;

ydb/library/yql/minikql/comp_nodes/mkql_block_container.h

-10
This file was deleted.

ydb/library/yql/minikql/comp_nodes/mkql_block_container.cpp renamed to ydb/library/yql/minikql/comp_nodes/mkql_block_tuple.cpp

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#include "mkql_block_container.h"
1+
#include "mkql_block_tuple.h"
22

33
#include <ydb/library/yql/minikql/computation/mkql_block_impl.h>
44

@@ -15,9 +15,9 @@ namespace NMiniKQL {
1515

1616
namespace {
1717

18-
class TBlockAsContainerExec {
18+
class TBlockAsTupleExec {
1919
public:
20-
TBlockAsContainerExec(const TVector<TType*>& argTypes, const std::shared_ptr<arrow::DataType>& returnArrowType)
20+
TBlockAsTupleExec(const TVector<TType*>& argTypes, const std::shared_ptr<arrow::DataType>& returnArrowType)
2121
: ArgTypes(argTypes)
2222
, ReturnArrowType(returnArrowType)
2323
{}
@@ -66,10 +66,10 @@ class TBlockAsContainerExec {
6666
const std::shared_ptr<arrow::DataType> ReturnArrowType;
6767
};
6868

69-
std::shared_ptr<arrow::compute::ScalarKernel> MakeBlockAsContainerKernel(const TVector<TType*>& argTypes, TType* resultType) {
69+
std::shared_ptr<arrow::compute::ScalarKernel> MakeBlockAsTupleKernel(const TVector<TType*>& argTypes, TType* resultType) {
7070
std::shared_ptr<arrow::DataType> returnArrowType;
7171
MKQL_ENSURE(ConvertArrowType(AS_TYPE(TBlockType, resultType)->GetItemType(), returnArrowType), "Unsupported arrow type");
72-
auto exec = std::make_shared<TBlockAsContainerExec>(argTypes, returnArrowType);
72+
auto exec = std::make_shared<TBlockAsTupleExec>(argTypes, returnArrowType);
7373
auto kernel = std::make_shared<arrow::compute::ScalarKernel>(ConvertToInputTypes(argTypes), ConvertToOutputType(resultType),
7474
[exec](arrow::compute::KernelContext* ctx, const arrow::compute::ExecBatch& batch, arrow::Datum* res) {
7575
return exec->Exec(ctx, batch, res);
@@ -81,17 +81,17 @@ std::shared_ptr<arrow::compute::ScalarKernel> MakeBlockAsContainerKernel(const T
8181

8282
} // namespace
8383

84-
IComputationNode* WrapBlockAsContainer(TCallable& callable, const TComputationNodeFactoryContext& ctx) {
84+
IComputationNode* WrapBlockAsTuple(TCallable& callable, const TComputationNodeFactoryContext& ctx) {
8585
TComputationNodePtrVector argsNodes;
8686
TVector<TType*> argsTypes;
8787
for (ui32 i = 0; i < callable.GetInputsCount(); ++i) {
8888
argsNodes.push_back(LocateNode(ctx.NodeLocator, callable, i));
8989
argsTypes.push_back(callable.GetInput(i).GetStaticType());
9090
}
9191

92-
auto kernel = MakeBlockAsContainerKernel(argsTypes, callable.GetType()->GetReturnType());
92+
auto kernel = MakeBlockAsTupleKernel(argsTypes, callable.GetType()->GetReturnType());
9393
return new TBlockFuncNode(ctx.Mutables, callable.GetType()->GetName(), std::move(argsNodes), argsTypes, *kernel, kernel);
9494
}
9595

96-
} // namespace NMiniKQL
97-
} // namespace NKikimr
96+
}
97+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#pragma once
2+
#include <ydb/library/yql/minikql/computation/mkql_computation_node.h>
3+
4+
namespace NKikimr {
5+
namespace NMiniKQL {
6+
7+
IComputationNode* WrapBlockAsTuple(TCallable& callable, const TComputationNodeFactoryContext& ctx);
8+
9+
}
10+
}

ydb/library/yql/minikql/comp_nodes/mkql_factory.cpp

+2-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#include "mkql_blocks.h"
99
#include "mkql_block_agg.h"
1010
#include "mkql_block_coalesce.h"
11-
#include "mkql_block_container.h"
1211
#include "mkql_block_exists.h"
1312
#include "mkql_block_getelem.h"
1413
#include "mkql_block_if.h"
@@ -17,6 +16,7 @@
1716
#include "mkql_block_compress.h"
1817
#include "mkql_block_skiptake.h"
1918
#include "mkql_block_top.h"
19+
#include "mkql_block_tuple.h"
2020
#include "mkql_callable.h"
2121
#include "mkql_chain_map.h"
2222
#include "mkql_chain1_map.h"
@@ -297,8 +297,7 @@ struct TCallableComputationNodeBuilderFuncMapFiller {
297297
{"BlockNot", &WrapBlockNot},
298298
{"BlockJust", &WrapBlockJust},
299299
{"BlockCompress", &WrapBlockCompress},
300-
{"BlockAsTuple", &WrapBlockAsContainer},
301-
{"BlockAsStruct", &WrapBlockAsContainer},
300+
{"BlockAsTuple", &WrapBlockAsTuple},
302301
{"BlockMember", &WrapBlockMember},
303302
{"BlockNth", &WrapBlockNth},
304303
{"BlockExpandChunked", &WrapBlockExpandChunked},

ydb/library/yql/minikql/comp_nodes/ya.make.inc

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ SET(ORIG_SOURCES
1515
mkql_block_agg_some.cpp
1616
mkql_block_agg_sum.cpp
1717
mkql_block_coalesce.cpp
18-
mkql_block_container.cpp
1918
mkql_block_exists.cpp
2019
mkql_block_getelem.cpp
2120
mkql_block_if.cpp
@@ -25,6 +24,7 @@ SET(ORIG_SOURCES
2524
mkql_block_func.cpp
2625
mkql_block_skiptake.cpp
2726
mkql_block_top.cpp
27+
mkql_block_tuple.cpp
2828
mkql_blocks.cpp
2929
mkql_callable.cpp
3030
mkql_chain_map.cpp

ydb/library/yql/minikql/mkql_program_builder.cpp

-22
Original file line numberDiff line numberDiff line change
@@ -1657,28 +1657,6 @@ TRuntimeNode TProgramBuilder::BlockNth(TRuntimeNode tuple, ui32 index) {
16571657
return TRuntimeNode(callableBuilder.Build(), false);
16581658
}
16591659

1660-
TRuntimeNode TProgramBuilder::BlockAsStruct(const TArrayRef<std::pair<std::string_view, TRuntimeNode>>& args) {
1661-
MKQL_ENSURE(!args.empty(), "Expected at least one argument");
1662-
1663-
TBlockType::EShape resultShape = TBlockType::EShape::Scalar;
1664-
TVector<std::pair<std::string_view, TType*>> members;
1665-
for (const auto& x : args) {
1666-
auto blockType = AS_TYPE(TBlockType, x.second.GetStaticType());
1667-
members.emplace_back(x.first, blockType->GetItemType());
1668-
if (blockType->GetShape() == TBlockType::EShape::Many) {
1669-
resultShape = TBlockType::EShape::Many;
1670-
}
1671-
}
1672-
1673-
auto returnType = NewBlockType(NewStructType(members), resultShape);
1674-
TCallableBuilder callableBuilder(Env, __func__, returnType);
1675-
for (const auto& x : args) {
1676-
callableBuilder.Add(x.second);
1677-
}
1678-
1679-
return TRuntimeNode(callableBuilder.Build(), false);
1680-
}
1681-
16821660
TRuntimeNode TProgramBuilder::BlockAsTuple(const TArrayRef<const TRuntimeNode>& args) {
16831661
MKQL_ENSURE(!args.empty(), "Expected at least one argument");
16841662

ydb/library/yql/minikql/mkql_program_builder.h

-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,6 @@ class TProgramBuilder : public TTypeBuilder {
239239
TRuntimeNode BlockExists(TRuntimeNode data);
240240
TRuntimeNode BlockMember(TRuntimeNode structure, const std::string_view& memberName);
241241
TRuntimeNode BlockNth(TRuntimeNode tuple, ui32 index);
242-
TRuntimeNode BlockAsStruct(const TArrayRef<std::pair<std::string_view, TRuntimeNode>>& args);
243242
TRuntimeNode BlockAsTuple(const TArrayRef<const TRuntimeNode>& args);
244243
TRuntimeNode BlockToPg(TRuntimeNode input, TType* returnType);
245244
TRuntimeNode BlockFromPg(TRuntimeNode input, TType* returnType);

ydb/library/yql/providers/common/mkql/yql_provider_mkql.cpp

-8
Original file line numberDiff line numberDiff line change
@@ -2737,14 +2737,6 @@ TMkqlCommonCallableCompiler::TShared::TShared() {
27372737
return ctx.ProgramBuilder.BlockNth(tupleObj, index);
27382738
});
27392739

2740-
AddCallable("BlockAsStruct", [](const TExprNode& node, TMkqlBuildContext& ctx) {
2741-
std::vector<std::pair<std::string_view, TRuntimeNode>> members;
2742-
for (const auto& x : node.Children()) {
2743-
members.emplace_back(x->Head().Content(), MkqlBuildExpr(x->Tail(), ctx));
2744-
}
2745-
return ctx.ProgramBuilder.BlockAsStruct(members);
2746-
});
2747-
27482740
AddCallable("BlockAsTuple", [](const TExprNode& node, TMkqlBuildContext& ctx) {
27492741
TVector<TRuntimeNode> args;
27502742
for (const auto& x : node.Children()) {

ydb/library/yql/tests/sql/dq_file/part11/canondata/result.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -557,23 +557,23 @@
557557
"test.test[blocks-lazy_nonstrict_nested--Results]": [],
558558
"test.test[blocks-member--Analyze]": [
559559
{
560-
"checksum": "4d80733bb5655340645b981057ba9910",
561-
"size": 3703,
562-
"uri": "https://{canondata_backend}/1942525/5635585a917e888e1628404d5ff137a2e18f23ca/resource.tar.gz#test.test_blocks-member--Analyze_/plan.txt"
560+
"checksum": "b08274fd137c1878d90520c832f06fd3",
561+
"size": 3676,
562+
"uri": "https://{canondata_backend}/1889210/75a1d72834c0a9de8b328ec130be934f6cc6cea0/resource.tar.gz#test.test_blocks-member--Analyze_/plan.txt"
563563
}
564564
],
565565
"test.test[blocks-member--Debug]": [
566566
{
567-
"checksum": "be5b35d7624905acc850940a1ff74780",
568-
"size": 1837,
569-
"uri": "https://{canondata_backend}/1775319/6624c18402d2e5473f3dcf5d9248a5e624496fd5/resource.tar.gz#test.test_blocks-member--Debug_/opt.yql_patched"
567+
"checksum": "a30b76ba380ee4f694dc731aa2771fed",
568+
"size": 1467,
569+
"uri": "https://{canondata_backend}/1937027/96028d31f8e29253c9276a86f02284e2a71add76/resource.tar.gz#test.test_blocks-member--Debug_/opt.yql_patched"
570570
}
571571
],
572572
"test.test[blocks-member--Plan]": [
573573
{
574-
"checksum": "4d80733bb5655340645b981057ba9910",
575-
"size": 3703,
576-
"uri": "https://{canondata_backend}/1942525/5635585a917e888e1628404d5ff137a2e18f23ca/resource.tar.gz#test.test_blocks-member--Plan_/plan.txt"
574+
"checksum": "b08274fd137c1878d90520c832f06fd3",
575+
"size": 3676,
576+
"uri": "https://{canondata_backend}/1889210/75a1d72834c0a9de8b328ec130be934f6cc6cea0/resource.tar.gz#test.test_blocks-member--Plan_/plan.txt"
577577
}
578578
],
579579
"test.test[blocks-member--Results]": [],
@@ -608,9 +608,9 @@
608608
],
609609
"test.test[blocks-sort_two_mix--Debug]": [
610610
{
611-
"checksum": "8324668b9f66ec5f9fc3e70217a057e9",
612-
"size": 2006,
613-
"uri": "https://{canondata_backend}/1937429/5efa179cb9a9173602a23e7c0e313970073e2969/resource.tar.gz#test.test_blocks-sort_two_mix--Debug_/opt.yql_patched"
611+
"checksum": "60076d20175ed4eb32b22f7be43cb490",
612+
"size": 1915,
613+
"uri": "https://{canondata_backend}/1936947/a99026e839b7e22714c2a9a81971a3b5e3ed1eb4/resource.tar.gz#test.test_blocks-sort_two_mix--Debug_/opt.yql_patched"
614614
}
615615
],
616616
"test.test[blocks-sort_two_mix--Plan]": [

ydb/library/yql/tests/sql/dq_file/part13/canondata/result.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -530,9 +530,9 @@
530530
],
531531
"test.test[blocks-sort_one_desc--Debug]": [
532532
{
533-
"checksum": "7d4eab41033eb90eb99af4870531b0d6",
534-
"size": 1827,
535-
"uri": "https://{canondata_backend}/1937429/1a0fd6a532256a80615a0e2f24e1f1ec999cb7ef/resource.tar.gz#test.test_blocks-sort_one_desc--Debug_/opt.yql_patched"
533+
"checksum": "3ff65a165f6fd32950d8b56ba98d95b4",
534+
"size": 1767,
535+
"uri": "https://{canondata_backend}/1936997/93899b3de50fae3f9677baacc98094a7a629590a/resource.tar.gz#test.test_blocks-sort_one_desc--Debug_/opt.yql_patched"
536536
}
537537
],
538538
"test.test[blocks-sort_one_desc--Plan]": [
@@ -552,9 +552,9 @@
552552
],
553553
"test.test[blocks-top_sort_one_desc--Debug]": [
554554
{
555-
"checksum": "c8bfd2fd80dc1bf818f5f61d99ff8ba9",
556-
"size": 1866,
557-
"uri": "https://{canondata_backend}/1937429/1a0fd6a532256a80615a0e2f24e1f1ec999cb7ef/resource.tar.gz#test.test_blocks-top_sort_one_desc--Debug_/opt.yql_patched"
555+
"checksum": "be5f2a8fbecfbe65f97c1ba40a556497",
556+
"size": 1806,
557+
"uri": "https://{canondata_backend}/1936997/93899b3de50fae3f9677baacc98094a7a629590a/resource.tar.gz#test.test_blocks-top_sort_one_desc--Debug_/opt.yql_patched"
558558
}
559559
],
560560
"test.test[blocks-top_sort_one_desc--Plan]": [

ydb/library/yql/tests/sql/dq_file/part15/canondata/result.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -680,9 +680,9 @@
680680
],
681681
"test.test[blocks-sort_two_desc--Debug]": [
682682
{
683-
"checksum": "fdc217d5f0a13a7f060e53c0b26bf955",
684-
"size": 2007,
685-
"uri": "https://{canondata_backend}/1936273/dc087a913c2a638b764a20e1066eb33c1b05f57b/resource.tar.gz#test.test_blocks-sort_two_desc--Debug_/opt.yql_patched"
683+
"checksum": "46f3a87a89918a4c8e91293f82f6f639",
684+
"size": 1923,
685+
"uri": "https://{canondata_backend}/1600758/aad142702907f13e911494c1a7b312bad34f692a/resource.tar.gz#test.test_blocks-sort_two_desc--Debug_/opt.yql_patched"
686686
}
687687
],
688688
"test.test[blocks-sort_two_desc--Plan]": [
@@ -702,9 +702,9 @@
702702
],
703703
"test.test[blocks-top_sort_two_desc--Debug]": [
704704
{
705-
"checksum": "00c63032e96f06a8b468d46263b7087c",
706-
"size": 2046,
707-
"uri": "https://{canondata_backend}/1936273/dc087a913c2a638b764a20e1066eb33c1b05f57b/resource.tar.gz#test.test_blocks-top_sort_two_desc--Debug_/opt.yql_patched"
705+
"checksum": "0e61c46d05ae7985462f918f60bab5d5",
706+
"size": 1962,
707+
"uri": "https://{canondata_backend}/1600758/aad142702907f13e911494c1a7b312bad34f692a/resource.tar.gz#test.test_blocks-top_sort_two_desc--Debug_/opt.yql_patched"
708708
}
709709
],
710710
"test.test[blocks-top_sort_two_desc--Plan]": [

ydb/library/yql/tests/sql/dq_file/part16/canondata/result.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -515,9 +515,9 @@
515515
],
516516
"test.test[blocks-sort_one_asc--Debug]": [
517517
{
518-
"checksum": "08dca0c6cb49cfe8f4a7f7d960e69734",
519-
"size": 1832,
520-
"uri": "https://{canondata_backend}/1936842/a9ad6542a42687330bba4d23229e8d61f74362a9/resource.tar.gz#test.test_blocks-sort_one_asc--Debug_/opt.yql_patched"
518+
"checksum": "681f062747993553e498cdf501d437df",
519+
"size": 1765,
520+
"uri": "https://{canondata_backend}/1599023/6ea95a71ae6e3995d639ef495d263a106e521882/resource.tar.gz#test.test_blocks-sort_one_asc--Debug_/opt.yql_patched"
521521
}
522522
],
523523
"test.test[blocks-sort_one_asc--Plan]": [

0 commit comments

Comments
 (0)