summaryrefslogtreecommitdiffstats
path: root/yql/essentials/sql/v1/query.cpp
diff options
context:
space:
mode:
authorgrigoriypisar <[email protected]>2025-08-28 16:56:17 +0300
committergrigoriypisar <[email protected]>2025-08-28 17:21:58 +0300
commit45c5e8ac55972ded21c846f9e05a3d61d197e3a4 (patch)
tree058b5d184adcc94e57a8262c9dcde768d5589eb7 /yql/essentials/sql/v1/query.cpp
parent9be8744bb96ab00cbf25afb60ab54db5cbad95dc (diff)
added sql syntax for CREATE / ALTER DROP STREAMING QUERY
Добавлен синтаксис (переиспользован код для inline action): ``` CREATE [OR REPLACE] STREAMING QUERY [IF NOT EXISTS] query_name [WITH ( key = value ... )] AS DO BEGIN ... END DO; ALTER STREAMING QUERY [IF EXISTS] query_name [SET( key = value ... )] [AS DO BEGIN ... END DO]; DROP STREAMING QUERY [IF EXISTS] query_name; ``` commit_hash:29fa6aa7e61ecf45112480fe3c1df8fab542354e
Diffstat (limited to 'yql/essentials/sql/v1/query.cpp')
-rw-r--r--yql/essentials/sql/v1/query.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/yql/essentials/sql/v1/query.cpp b/yql/essentials/sql/v1/query.cpp
index 5937ab680e0..ab863cc32ff 100644
--- a/yql/essentials/sql/v1/query.cpp
+++ b/yql/essentials/sql/v1/query.cpp
@@ -2475,21 +2475,22 @@ private:
TNodePtr BuildUpsertObjectOperation(TPosition pos, const TString& objectId, const TString& typeId,
std::map<TString, TDeferredAtom>&& features, const TObjectOperatorContext& context) {
- return new TUpsertObject(pos, objectId, typeId, false, false, std::move(features), std::set<TString>(), context);
+ return new TUpsertObject(pos, objectId, typeId, context, std::move(features));
}
+
TNodePtr BuildCreateObjectOperation(TPosition pos, const TString& objectId, const TString& typeId,
bool existingOk, bool replaceIfExists, std::map<TString, TDeferredAtom>&& features, const TObjectOperatorContext& context) {
- return new TCreateObject(pos, objectId, typeId, existingOk, replaceIfExists, std::move(features), std::set<TString>(), context);
+ return new TCreateObject(pos, objectId, typeId, context, std::move(features), existingOk, replaceIfExists);
}
+
TNodePtr BuildAlterObjectOperation(TPosition pos, const TString& secretId, const TString& typeId,
- std::map<TString, TDeferredAtom>&& features, std::set<TString>&& featuresToReset, const TObjectOperatorContext& context)
-{
- return new TAlterObject(pos, secretId, typeId, false, false, std::move(features), std::move(featuresToReset), context);
+ bool missingOk, std::map<TString, TDeferredAtom>&& features, std::set<TString>&& featuresToReset, const TObjectOperatorContext& context) {
+ return new TAlterObject(pos, secretId, typeId, context, std::move(features), std::move(featuresToReset), missingOk);
}
+
TNodePtr BuildDropObjectOperation(TPosition pos, const TString& secretId, const TString& typeId,
- bool missingOk, std::map<TString, TDeferredAtom>&& options, const TObjectOperatorContext& context)
-{
- return new TDropObject(pos, secretId, typeId, missingOk, false, std::move(options), std::set<TString>(), context);
+ bool missingOk, std::map<TString, TDeferredAtom>&& options, const TObjectOperatorContext& context) {
+ return new TDropObject(pos, secretId, typeId, context, std::move(options), missingOk);
}
TNodePtr BuildDropRoles(TPosition pos, const TString& service, const TDeferredAtom& cluster, const TVector<TDeferredAtom>& toDrop, bool isUser, bool missingOk, TScopedStatePtr scoped) {