Skip to content

Commit f0cd8b3

Browse files
authored
Pass langver via dq (#17537)
1 parent 53ad5a8 commit f0cd8b3

File tree

5 files changed

+16
-4
lines changed

5 files changed

+16
-4
lines changed

ydb/library/yql/dq/proto/dq_tasks.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ message TProgram {
5252
uint32 RuntimeVersion = 1;
5353
bytes Raw = 2;
5454
TSettings Settings = 3;
55+
uint32 LangVer = 4;
5556
}
5657

5758
message TDqUri {

ydb/library/yql/dq/runtime/dq_tasks_runner.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,8 @@ class TDqTaskRunner : public IDqTaskRunner {
325325

326326
TComputationPatternOpts opts(alloc.Ref(), typeEnv, taskRunnerFactory,
327327
Context.FuncRegistry, NUdf::EValidateMode::None, validatePolicy, optLLVM, EGraphPerProcess::Multi,
328-
AllocatedHolder->ProgramParsed.StatsRegistry.Get(), CollectFull() ? &CountersProvider : nullptr, nullptr, ComputationLogProvider.Get());
328+
AllocatedHolder->ProgramParsed.StatsRegistry.Get(), CollectFull() ? &CountersProvider : nullptr, nullptr,
329+
ComputationLogProvider.Get(), task.GetProgram().GetLangVer());
329330

330331
if (!SecureParamsProvider) {
331332
SecureParamsProvider = MakeSimpleSecureParamsProvider(Settings.SecureParams);

ydb/library/yql/providers/dq/planner/execution_planner.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,7 @@ namespace NYql::NDqs {
454454
ui64 stageId, publicId;
455455
std::tie(programStr, stageId, publicId) = StagePrograms[task.StageId];
456456
program.SetRaw(programStr);
457+
program.SetLangVer(TypeContext->LangVer);
457458
taskMeta.SetStageId(publicId);
458459
taskDesc.MutableMeta()->PackFrom(taskMeta);
459460
taskDesc.SetStageId(stageId);
@@ -823,11 +824,13 @@ namespace NYql::NDqs {
823824
const TString& program,
824825
NActors::TActorId executerID,
825826
NActors::TActorId resultID,
826-
const TTypeAnnotationNode* typeAnn)
827+
const TTypeAnnotationNode* typeAnn,
828+
TLangVersion langver)
827829
: Program(program)
828830
, ExecuterID(executerID)
829831
, ResultID(resultID)
830832
, TypeAnn(typeAnn)
833+
, LangVer(langver)
831834
{ }
832835

833836
TVector<TDqTask>& TDqsSingleExecutionPlanner::GetTasks()
@@ -855,6 +858,7 @@ namespace NYql::NDqs {
855858
auto& program = *task.MutableProgram();
856859
program.SetRuntimeVersion(NYql::NDqProto::ERuntimeVersion::RUNTIME_VERSION_YQL_1_0);
857860
program.SetRaw(Program);
861+
program.SetLangVer(LangVer);
858862

859863
auto outputDesc = task.AddOutputs();
860864
outputDesc->MutableMap();

ydb/library/yql/providers/dq/planner/execution_planner.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,8 @@ namespace NYql::NDqs {
104104
const TString& program,
105105
NActors::TActorId executerID,
106106
NActors::TActorId resultID,
107-
const TTypeAnnotationNode* typeAnn);
107+
const TTypeAnnotationNode* typeAnn,
108+
TLangVersion langver);
108109

109110
TVector<NDqProto::TDqTask>& GetTasks() override;
110111
TVector<NDqProto::TDqTask> GetTasks(const TVector<NActors::TActorId>& workers) override;
@@ -119,6 +120,7 @@ namespace NYql::NDqs {
119120
TMaybe<NActors::TActorId> SourceID = {};
120121
TVector<NDqProto::TDqTask> Tasks;
121122
const TTypeAnnotationNode* TypeAnn;
123+
const TLangVersion LangVer;
122124
};
123125

124126
// Execution planner for Graph

ydb/library/yql/providers/dq/provider/exec/yql_dq_exectransformer.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ class TLocalExecutor: public TCounters
110110
auto& program = *task.MutableProgram();
111111
program.SetRuntimeVersion(NYql::NDqProto::ERuntimeVersion::RUNTIME_VERSION_YQL_1_0);
112112
program.SetRaw(lambda);
113+
program.SetLangVer(State->TypeCtx->LangVer);
113114

114115
auto outputDesc = task.AddOutputs();
115116
outputDesc->MutableMap();
@@ -990,7 +991,8 @@ class TDqExecTransformer: public TExecTransformerBase, TCounters
990991
new TDqsSingleExecutionPlanner(
991992
lambda, NActors::TActorId(),
992993
NActors::TActorId(1, 0, 1, 0),
993-
result.Input().Ref().GetTypeAnn()));
994+
result.Input().Ref().GetTypeAnn(),
995+
State->TypeCtx->LangVer));
994996
auto& tasks = executionPlanner->GetTasks();
995997
Yql::DqsProto::TTaskMeta taskMeta;
996998
tasks[0].MutableMeta()->UnpackTo(&taskMeta);
@@ -1401,6 +1403,7 @@ class TDqExecTransformer: public TExecTransformerBase, TCounters
14011403
TString lambda = t.GetProgram().GetRaw();
14021404
fallbackFlag |= BuildUploadList(&uploadList, localRun, &lambda, typeEnv, files);
14031405
t.MutableProgram()->SetRaw(lambda);
1406+
t.MutableProgram()->SetLangVer(State->TypeCtx->LangVer);
14041407

14051408
Yql::DqsProto::TTaskMeta taskMeta;
14061409
t.MutableMeta()->UnpackTo(&taskMeta);
@@ -1946,6 +1949,7 @@ class TDqExecTransformer: public TExecTransformerBase, TCounters
19461949
TString lambda = t.GetProgram().GetRaw();
19471950
fallbackFlag |= BuildUploadList(&uploadList, false, &lambda, typeEnv, files);
19481951
t.MutableProgram()->SetRaw(lambda);
1952+
t.MutableProgram()->SetLangVer(State->TypeCtx->LangVer);
19491953

19501954
Yql::DqsProto::TTaskMeta taskMeta;
19511955
t.MutableMeta()->UnpackTo(&taskMeta);

0 commit comments

Comments
 (0)