Skip to content

Commit d1f5b91

Browse files
committed
Merge pull request #14716 from ydb-platform/merge-libs-250218-0050
2 parents 22bc9b8 + a2f16dc commit d1f5b91

File tree

56 files changed

+1643
-355
lines changed

Some content is hidden

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

56 files changed

+1643
-355
lines changed

build/external_resources/gdb/a.yaml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,50 @@
11
title: gdb14
22
service: buildroot
33

4+
arcanum:
5+
review:
6+
ignore_self_ship: true
7+
min_approvers_count: 1
8+
disabling_policy: denied
9+
override_policy: append
10+
groups:
11+
- name: reviewers
12+
roles:
13+
- "cc:duty"
14+
- name: owners
15+
roles:
16+
- "cc:duty"
17+
- "cc:developer"
18+
rules:
19+
- reviewers:
20+
- name: reviewers
21+
ship: 0
22+
assign: 1
23+
ignore_self_ship: false
24+
25+
- subpaths: "a.yaml"
26+
reviewers:
27+
- name: reviewers
28+
ship: 0
29+
assign: 1
30+
- name: owners
31+
ship: 1
32+
assign: 0
33+
ignore_self_ship: false
34+
35+
auto_merge:
36+
requirements:
37+
- system: arcanum
38+
type: st_issue_linked
39+
disabling_policy: denied
40+
override_policy: final
41+
data:
42+
in_commit_message: true
43+
- system: arcanum
44+
type: comment_issues_closed
45+
disabling_policy: need_reason
46+
override_policy: final
47+
448
shared:
549
mapping_path: &mapping-path "build/external_resources/gdb/resources.json"
650
input: &base-input

build/plugins/lib/nots/typescript/ts_config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def __init__(self, path):
6464

6565
def read(self):
6666
try:
67-
with open(self.path) as f:
67+
with open(self.path, encoding="utf-8") as f:
6868
self.data = self.rj.load(f, parse_mode=(self.rj.PM_COMMENTS | self.rj.PM_TRAILING_COMMAS))
6969

7070
except Exception as e:

build/plugins/nots.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -981,3 +981,6 @@ def on_run_javascript_after_build_add_js_script_as_input(unit: NotsUnitType, js_
981981
return
982982

983983
__set_append(unit, "_RUN_JAVASCRIPT_AFTER_BUILD_INPUTS", js_script)
984+
985+
986+
# Zero-diff commit

build/ymake.core.conf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3152,8 +3152,9 @@ macro AR_PLUGIN(name) {
31523152
### Register script, which will process all inputs to any link_exe.py call with modules's library
31533153
### Script will receive all arguments to link_exe.py, and can output into stdout preprocessed list
31543154
### of all arguments, in JSON format
3155-
macro LD_PLUGIN(name) {
3156-
SRCS(GLOBAL $name.pyplugin)
3155+
macro LD_PLUGIN(Name) {
3156+
.CMD=$COPY_CMD ${context=TEXT;input:Name} ${noauto;output;global;suf=.pyplugin:Name}
3157+
.SEM=_SEM_IGNORED
31573158
}
31583159

31593160
USE_FLANG=no

ydb/ci/rightlib.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d7d62149f9bae7bdb622300a54f678cc419c81f9
1+
8fe93946bc369873a7ffbb3a7403463aa80e3117

yql/essentials/ast/yql_type_string.cpp

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ enum EToken
9191
TOKEN_TZDATE32 = -56,
9292
TOKEN_TZDATETIME64 = -57,
9393
TOKEN_TZTIMESTAMP64 = -58,
94+
TOKEN_MULTI = -59,
9495

9596
// identifiers
9697
TOKEN_IDENTIFIER = -100,
@@ -121,6 +122,7 @@ EToken TokenTypeFromStr(TStringBuf str)
121122
{ TStringBuf("Dict"), TOKEN_DICT },
122123
{ TStringBuf("Tuple"), TOKEN_TUPLE },
123124
{ TStringBuf("Struct"), TOKEN_STRUCT },
125+
{ TStringBuf("Multi"), TOKEN_MULTI },
124126
{ TStringBuf("Resource"), TOKEN_RESOURCE },
125127
{ TStringBuf("Void"), TOKEN_VOID },
126128
{ TStringBuf("Callable"), TOKEN_CALLABLE },
@@ -267,6 +269,10 @@ class TTypeParser
267269
type = ParseStructType();
268270
break;
269271

272+
case TOKEN_MULTI:
273+
type = ParseMultiType();
274+
break;
275+
270276
case TOKEN_RESOURCE:
271277
type = ParseResourceType();
272278
break;
@@ -752,9 +758,9 @@ class TTypeParser
752758
return MakeDictType(keyType, MakeVoidType());
753759
}
754760

755-
TAstNode* ParseTupleTypeImpl() {
761+
TAstNode* ParseTupleTypeImpl(TAstNode* (TTypeParser::*typeCreator)(TSmallVec<TAstNode*>&)) {
756762
TSmallVec<TAstNode*> items;
757-
items.push_back(nullptr); // reserve for TupleType
763+
items.push_back(nullptr); // reserve for type callable
758764

759765
if (Token != '>') {
760766
for (;;) {
@@ -773,13 +779,13 @@ class TTypeParser
773779
}
774780
}
775781

776-
return MakeTupleType(items);
782+
return (this->*typeCreator)(items);
777783
}
778784

779785
TAstNode* ParseTupleType() {
780786
GetNextToken(); // eat keyword
781787
EXPECT_AND_SKIP_TOKEN('<', nullptr);
782-
TAstNode* tupleType = ParseTupleTypeImpl();
788+
TAstNode* tupleType = ParseTupleTypeImpl(&TTypeParser::MakeTupleType);
783789
if (tupleType) {
784790
EXPECT_AND_SKIP_TOKEN('>', nullptr);
785791
}
@@ -836,6 +842,16 @@ class TTypeParser
836842
return structType;
837843
}
838844

845+
TAstNode* ParseMultiType() {
846+
GetNextToken(); // eat keyword
847+
EXPECT_AND_SKIP_TOKEN('<', nullptr);
848+
TAstNode* tupleType = ParseTupleTypeImpl(&TTypeParser::MakeMultiType);
849+
if (tupleType) {
850+
EXPECT_AND_SKIP_TOKEN('>', nullptr);
851+
}
852+
return tupleType;
853+
}
854+
839855
TAstNode* ParseVariantType() {
840856
GetNextToken(); // eat keyword
841857
EXPECT_AND_SKIP_TOKEN('<', nullptr);
@@ -844,7 +860,7 @@ class TTypeParser
844860
if (Token == TOKEN_IDENTIFIER || Token == TOKEN_ESCAPED_IDENTIFIER) {
845861
underlyingType = ParseStructTypeImpl();
846862
} else if (IsTypeKeyword(Token) || Token == '(') {
847-
underlyingType = ParseTupleTypeImpl();
863+
underlyingType = ParseTupleTypeImpl(&TTypeParser::MakeTupleType);
848864
} else {
849865
return AddError("Expected type");
850866
}
@@ -995,6 +1011,11 @@ class TTypeParser
9951011
return MakeList(items.data(), items.size());
9961012
}
9971013

1014+
TAstNode* MakeMultiType(TSmallVec<TAstNode*>& items) {
1015+
items[0] = MakeLiteralAtom(TStringBuf("MultiType"));
1016+
return MakeList(items.data(), items.size());
1017+
}
1018+
9981019
TAstNode* ParseResourceType() {
9991020
GetNextToken(); // eat keyword
10001021
EXPECT_AND_SKIP_TOKEN('<', nullptr);

yql/essentials/core/expr_nodes/yql_expr_nodes.json

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1612,19 +1612,38 @@
16121612
{"Index": 8, "Name": "RightKeysColumnNames", "Type": "TCoAtomList"}
16131613
]
16141614
},
1615+
{
1616+
"Name": "TCoBlockStorage",
1617+
"Base": "TCallable",
1618+
"Match": {"Type": "Callable", "Name": "BlockStorage"},
1619+
"Children": [
1620+
{"Index": 0, "Name": "Input", "Type": "TExprBase"}
1621+
]
1622+
},
1623+
{
1624+
"Name": "TCoBlockMapJoinIndex",
1625+
"Base": "TCallable",
1626+
"Match": {"Type": "Callable", "Name": "BlockMapJoinIndex"},
1627+
"Children": [
1628+
{"Index": 0, "Name": "BlockStorage", "Type": "TExprBase"},
1629+
{"Index": 1, "Name": "InputType", "Type": "TExprBase"},
1630+
{"Index": 2, "Name": "KeyColumns", "Type": "TCoAtomList"},
1631+
{"Index": 3, "Name": "Options", "Type": "TExprList"}
1632+
]
1633+
},
16151634
{
16161635
"Name": "TCoBlockMapJoinCore",
16171636
"Base": "TCallable",
16181637
"Match": {"Type": "Callable", "Name": "BlockMapJoinCore"},
16191638
"Children": [
16201639
{"Index": 0, "Name": "LeftInput", "Type": "TExprBase"},
16211640
{"Index": 1, "Name": "RightInput", "Type": "TExprBase"},
1622-
{"Index": 2, "Name": "JoinKind", "Type": "TCoAtom"},
1623-
{"Index": 3, "Name": "LeftKeyColumns", "Type": "TCoAtomList"},
1624-
{"Index": 4, "Name": "LeftKeyDrops", "Type": "TCoAtomList"},
1625-
{"Index": 5, "Name": "RightKeyColumns", "Type": "TCoAtomList"},
1626-
{"Index": 6, "Name": "RightKeyDrops", "Type": "TCoAtomList"},
1627-
{"Index": 7, "Name": "Options", "Type": "TExprList"}
1641+
{"Index": 2, "Name": "RightInputType", "Type": "TExprBase"},
1642+
{"Index": 3, "Name": "JoinKind", "Type": "TCoAtom"},
1643+
{"Index": 4, "Name": "LeftKeyColumns", "Type": "TCoAtomList"},
1644+
{"Index": 5, "Name": "LeftKeyDrops", "Type": "TCoAtomList"},
1645+
{"Index": 6, "Name": "RightKeyColumns", "Type": "TCoAtomList"},
1646+
{"Index": 7, "Name": "RightKeyDrops", "Type": "TCoAtomList"}
16281647
]
16291648
},
16301649
{

yql/essentials/core/facade/yql_facade.cpp

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -895,7 +895,6 @@ TProgram::TFutureStatus TProgram::LineageAsync(const TString& username, IOutputS
895895
.AddTypeAnnotation(TIssuesIds::CORE_TYPE_ANN, true)
896896
.AddPostTypeAnnotation()
897897
.Add(TExprOutputTransformer::Sync(ExprRoot_, traceOut), "ExprOutput")
898-
.AddCheckExecution(false)
899898
.AddLineageOptimization(LineageStr_)
900899
.Add(TExprOutputTransformer::Sync(ExprRoot_, exprOut, withTypes), "AstOutput")
901900
.Build();
@@ -1161,7 +1160,6 @@ TProgram::TFutureStatus TProgram::LineageAsyncWithConfig(
11611160
pipeline.AddPostTypeAnnotation();
11621161
pipelineConf.AfterTypeAnnotation(&pipeline);
11631162

1164-
pipeline.AddCheckExecution(false);
11651163
pipeline.AddLineageOptimization(LineageStr_);
11661164

11671165
Transformer_ = pipeline.Build();

yql/essentials/core/services/yql_transform_pipeline.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ TTransformationPipeline& TTransformationPipeline::AddOptimization(bool checkWorl
200200

201201
TTransformationPipeline& TTransformationPipeline::AddLineageOptimization(TMaybe<TString>& lineageOut, EYqlIssueCode issueCode) {
202202
AddCommonOptimization(issueCode);
203+
AddCheckExecution(false, issueCode);
203204
Transformers_.push_back(TTransformStage(
204205
CreateFunctorTransformer(
205206
[typeCtx = TypeAnnotationContext_, &lineageOut](const TExprNode::TPtr& input, TExprNode::TPtr& output, TExprContext& ctx) {

yql/essentials/core/type_ann/type_ann_core.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12987,17 +12987,18 @@ template <NKikimr::NUdf::EDataSlot DataSlot>
1298712987
Functions["BlockDecimalMul"] = &BlockDecimalBinaryWrapper;
1298812988
Functions["BlockDecimalMod"] = &BlockDecimalBinaryWrapper;
1298912989
Functions["BlockDecimalDiv"] = &BlockDecimalBinaryWrapper;
12990+
Functions["BlockStorage"] = &BlockStorageWrapper;
1299012991

1299112992
ExtFunctions["BlockFunc"] = &BlockFuncWrapper;
1299212993

12993-
Functions["BlockMapJoinCore"] = &BlockMapJoinCoreWrapper;
12994-
1299512994
ExtFunctions["AsScalar"] = &AsScalarWrapper;
1299612995
ExtFunctions["WideToBlocks"] = &WideToBlocksWrapper;
1299712996
ExtFunctions["BlockCombineAll"] = &BlockCombineAllWrapper;
1299812997
ExtFunctions["BlockCombineHashed"] = &BlockCombineHashedWrapper;
1299912998
ExtFunctions["BlockMergeFinalizeHashed"] = &BlockMergeFinalizeHashedWrapper;
1300012999
ExtFunctions["BlockMergeManyFinalizeHashed"] = &BlockMergeFinalizeHashedWrapper;
13000+
ExtFunctions["BlockMapJoinIndex"] = &BlockMapJoinIndexWrapper;
13001+
ExtFunctions["BlockMapJoinCore"] = &BlockMapJoinCoreWrapper;
1300113002

1300213003
ExtFunctions["SqlRename"] = &SqlRenameWrapper;
1300313004
ExtFunctions["OrderedSqlRename"] = &SqlRenameWrapper;

0 commit comments

Comments
 (0)