diff options
| author | grigoriypisar <[email protected]> | 2025-08-28 16:56:17 +0300 |
|---|---|---|
| committer | grigoriypisar <[email protected]> | 2025-08-28 17:21:58 +0300 |
| commit | 45c5e8ac55972ded21c846f9e05a3d61d197e3a4 (patch) | |
| tree | 058b5d184adcc94e57a8262c9dcde768d5589eb7 /yql/essentials/sql/v1/query.cpp | |
| parent | 9be8744bb96ab00cbf25afb60ab54db5cbad95dc (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.cpp | 17 |
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) { |
