summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruzhas <[email protected]>2022-11-08 19:35:37 +0300
committeruzhas <[email protected]>2022-11-08 19:35:37 +0300
commitec88ef89732c0101952ffa73bde39685fd75e95e (patch)
tree897ee0bbda9163f53d830fc3722ded32e560927d
parent136a1044ad7b5d26a8b48cf9c66a8b71e4a90bb5 (diff)
use syntax field in protobuf to enable PG syntax
-rw-r--r--ydb/core/yq/libs/actors/pending_fetcher.cpp1
-rw-r--r--ydb/core/yq/libs/actors/run_actor.cpp39
-rw-r--r--ydb/core/yq/libs/actors/run_actor_params.cpp2
-rw-r--r--ydb/core/yq/libs/actors/run_actor_params.h14
-rw-r--r--ydb/core/yq/libs/control_plane_storage/internal/task_get.cpp1
-rw-r--r--ydb/core/yq/libs/protos/fq_private.proto1
6 files changed, 33 insertions, 25 deletions
diff --git a/ydb/core/yq/libs/actors/pending_fetcher.cpp b/ydb/core/yq/libs/actors/pending_fetcher.cpp
index ce89ac9ea4a..5196c9a7d90 100644
--- a/ydb/core/yq/libs/actors/pending_fetcher.cpp
+++ b/ydb/core/yq/libs/actors/pending_fetcher.cpp
@@ -375,6 +375,7 @@ private:
CredentialsFactory,
serviceAccounts,
task.query_type(),
+ task.query_syntax(),
task.execute_mode(),
GetEntityIdAsString(CommonConfig.GetIdsPrefix(), EEntityType::RESULT),
task.state_load_mode(),
diff --git a/ydb/core/yq/libs/actors/run_actor.cpp b/ydb/core/yq/libs/actors/run_actor.cpp
index 3b6b6e8929d..8b61c8cc59c 100644
--- a/ydb/core/yq/libs/actors/run_actor.cpp
+++ b/ydb/core/yq/libs/actors/run_actor.cpp
@@ -129,23 +129,23 @@ public:
const NKikimr::NMiniKQL::IFunctionRegistry* functionRegistry,
ui64 nextUniqueId,
TVector<TDataProviderInitializer> dataProvidersInit,
- NYql::IModuleResolver::TPtr& moduleResolver,
- NYql::TGatewaysConfig gatewaysConfig,
+ NYql::IModuleResolver::TPtr moduleResolver,
+ const NYql::TGatewaysConfig& gatewaysConfig,
const TString& sql,
const TString& sessionId,
- NSQLTranslation::TTranslationSettings sqlSettings,
+ const NSQLTranslation::TTranslationSettings& sqlSettings,
YandexQuery::ExecuteMode executeMode
)
- : RunActorId(runActorId),
- FunctionRegistry(functionRegistry),
- NextUniqueId(nextUniqueId),
- DataProvidersInit(dataProvidersInit),
- ModuleResolver(moduleResolver),
- GatewaysConfig(gatewaysConfig),
- Sql(sql),
- SessionId(sessionId),
- SqlSettings(sqlSettings),
- ExecuteMode(executeMode)
+ : RunActorId(runActorId)
+ , FunctionRegistry(functionRegistry)
+ , NextUniqueId(nextUniqueId)
+ , DataProvidersInit(std::move(dataProvidersInit))
+ , ModuleResolver(moduleResolver)
+ , GatewaysConfig(gatewaysConfig)
+ , Sql(sql)
+ , SessionId(sessionId)
+ , SqlSettings(sqlSettings)
+ , ExecuteMode(executeMode)
{
}
@@ -251,16 +251,16 @@ public:
private:
TProgramPtr Program;
TIssues Issues;
- TActorId RunActorId;
+ const TActorId RunActorId;
const NKikimr::NMiniKQL::IFunctionRegistry* FunctionRegistry;
ui64 NextUniqueId;
- TVector<TDataProviderInitializer> DataProvidersInit;
- NYql::IModuleResolver::TPtr ModuleResolver;
- NYql::TGatewaysConfig GatewaysConfig;
+ const TVector<TDataProviderInitializer> DataProvidersInit;
+ const NYql::IModuleResolver::TPtr ModuleResolver;
+ const NYql::TGatewaysConfig GatewaysConfig;
const TString Sql;
const TString SessionId;
- NSQLTranslation::TTranslationSettings SqlSettings;
- YandexQuery::ExecuteMode ExecuteMode;
+ const NSQLTranslation::TTranslationSettings SqlSettings;
+ const YandexQuery::ExecuteMode ExecuteMode;
bool Compiled = false;
};
@@ -1617,6 +1617,7 @@ private:
NSQLTranslation::TTranslationSettings sqlSettings;
sqlSettings.ClusterMapping = clusters;
sqlSettings.SyntaxVersion = 1;
+ sqlSettings.PgParser = (Params.QuerySyntax == YandexQuery::QueryContent::PG);
sqlSettings.V0Behavior = NSQLTranslation::EV0Behavior::Disable;
sqlSettings.Flags.insert({ "DqEngineEnable", "DqEngineForce", "DisableAnsiOptionalAs" });
try {
diff --git a/ydb/core/yq/libs/actors/run_actor_params.cpp b/ydb/core/yq/libs/actors/run_actor_params.cpp
index 3239f8d5b44..a25b03fa3b2 100644
--- a/ydb/core/yq/libs/actors/run_actor_params.cpp
+++ b/ydb/core/yq/libs/actors/run_actor_params.cpp
@@ -33,6 +33,7 @@ TRunActorParams::TRunActorParams(
NYql::ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory,
THashMap<TString, TString> accountIdSignatures,
YandexQuery::QueryContent::QueryType queryType,
+ YandexQuery::QueryContent::QuerySyntax querySyntax,
YandexQuery::ExecuteMode executeMode,
const TString& resultId,
const YandexQuery::StateLoadMode stateLoadMode,
@@ -84,6 +85,7 @@ TRunActorParams::TRunActorParams(
, CredentialsFactory(std::move(credentialsFactory))
, AccountIdSignatures(std::move(accountIdSignatures))
, QueryType(queryType)
+ , QuerySyntax(querySyntax)
, ExecuteMode(executeMode)
, ResultId(resultId)
, StateLoadMode(stateLoadMode)
diff --git a/ydb/core/yq/libs/actors/run_actor_params.h b/ydb/core/yq/libs/actors/run_actor_params.h
index 716c131e980..21f23270fcc 100644
--- a/ydb/core/yq/libs/actors/run_actor_params.h
+++ b/ydb/core/yq/libs/actors/run_actor_params.h
@@ -48,6 +48,7 @@ struct TRunActorParams { // TODO2 : Change name
NYql::ISecuredServiceAccountCredentialsFactory::TPtr credentialsFactory,
THashMap<TString, TString> accountIdSignatures,
YandexQuery::QueryContent::QueryType queryType,
+ YandexQuery::QueryContent::QuerySyntax querySyntax,
YandexQuery::ExecuteMode executeMode,
const TString& resultId,
const YandexQuery::StateLoadMode stateLoadMode,
@@ -104,6 +105,7 @@ struct TRunActorParams { // TODO2 : Change name
const NYql::ISecuredServiceAccountCredentialsFactory::TPtr CredentialsFactory;
const THashMap<TString, TString> AccountIdSignatures;
const YandexQuery::QueryContent::QueryType QueryType;
+ const YandexQuery::QueryContent::QuerySyntax QuerySyntax;
const YandexQuery::ExecuteMode ExecuteMode;
const TString ResultId;
const YandexQuery::StateLoadMode StateLoadMode;
@@ -115,17 +117,17 @@ struct TRunActorParams { // TODO2 : Change name
const int32_t DqGraphIndex;
TVector<Fq::Private::TopicConsumer> CreatedTopicConsumers;
- bool Automatic = false;
- TString QueryName;
- TInstant Deadline;
+ const bool Automatic = false;
+ const TString QueryName;
+ const TInstant Deadline;
const ::NMonitoring::TDynamicCounterPtr ClientCounters;
const TInstant CreatedAt;
const TString TenantName;
- uint64_t ResultBytesLimit;
- TDuration ExecutionTtl;
+ const uint64_t ResultBytesLimit;
+ const TDuration ExecutionTtl;
TInstant RequestStartedAt;
- ui32 RestartCount;
+ const ui32 RestartCount;
const TString JobId;
Fq::Private::TaskResources Resources;
};
diff --git a/ydb/core/yq/libs/control_plane_storage/internal/task_get.cpp b/ydb/core/yq/libs/control_plane_storage/internal/task_get.cpp
index 79f18095922..06e80f9f4b5 100644
--- a/ydb/core/yq/libs/control_plane_storage/internal/task_get.cpp
+++ b/ydb/core/yq/libs/control_plane_storage/internal/task_get.cpp
@@ -447,6 +447,7 @@ void TYdbControlPlaneStorageActor::Handle(TEvControlPlaneStorage::TEvGetTaskRequ
auto* newTask = result.add_tasks();
newTask->set_query_type(queryType);
+ newTask->set_query_syntax(task.Query.content().syntax());
newTask->set_execute_mode(task.Query.meta().execute_mode());
newTask->set_state_load_mode(task.Internal.state_load_mode());
auto* queryId = newTask->mutable_query_id();
diff --git a/ydb/core/yq/libs/protos/fq_private.proto b/ydb/core/yq/libs/protos/fq_private.proto
index 022c1fa619b..457c0f77f32 100644
--- a/ydb/core/yq/libs/protos/fq_private.proto
+++ b/ydb/core/yq/libs/protos/fq_private.proto
@@ -108,6 +108,7 @@ message GetTaskResult {
uint32 restart_count = 32;
TaskResources resources = 33;
+ YandexQuery.QueryContent.QuerySyntax query_syntax = 34;
}
repeated Task tasks = 1;
}