diff options
author | mpereskokova <mpereskokova@yandex-team.com> | 2023-08-02 19:55:33 +0300 |
---|---|---|
committer | mpereskokova <mpereskokova@yandex-team.com> | 2023-08-02 19:55:33 +0300 |
commit | eec9773c044273c28a4d1ade1c7547b95acbcbde (patch) | |
tree | a6eaa360366a1032cba6d329ab62528971ca8f9e | |
parent | 1015cf15287bb469d7b04c3135650e3812c3f25f (diff) | |
download | ydb-eec9773c044273c28a4d1ade1c7547b95acbcbde.tar.gz |
Make possible to add UserDataTable in TProgram
-rw-r--r-- | ydb/library/yql/core/facade/yql_facade.cpp | 9 | ||||
-rw-r--r-- | ydb/library/yql/core/facade/yql_facade.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/ydb/library/yql/core/facade/yql_facade.cpp b/ydb/library/yql/core/facade/yql_facade.cpp index 7872f74a29d..6019a537d75 100644 --- a/ydb/library/yql/core/facade/yql_facade.cpp +++ b/ydb/library/yql/core/facade/yql_facade.cpp @@ -410,6 +410,15 @@ TString TProgram::TakeSessionId() { } } +void TProgram::AddUserDataTable(const TUserDataTable& userDataTable) { + for (const auto& p : userDataTable) { + if (!SavedUserDataTable_.emplace(p).second) { + ythrow yexception() << "UserDataTable already has user data block with key " << p.first; + } + UserDataStorage_->AddUserDataBlock(p.first, p.second); + } +} + bool TProgram::ParseYql() { YQL_PROFILE_FUNC(TRACE); YQL_ENSURE(SourceSyntax_ == ESourceSyntax::Unknown); diff --git a/ydb/library/yql/core/facade/yql_facade.h b/ydb/library/yql/core/facade/yql_facade.h index 149c49c1b66..26529ed3883 100644 --- a/ydb/library/yql/core/facade/yql_facade.h +++ b/ydb/library/yql/core/facade/yql_facade.h @@ -102,6 +102,8 @@ public: public: ~TProgram(); + void AddUserDataTable(const TUserDataTable& userDataTable); + bool ParseYql(); bool ParseSql(); bool ParseSql(const NSQLTranslation::TTranslationSettings& settings); |