diff options
author | vvvv <vvvv@yandex-team.com> | 2025-02-13 23:37:03 +0300 |
---|---|---|
committer | vvvv <vvvv@yandex-team.com> | 2025-02-14 00:12:49 +0300 |
commit | 123244a25618fe7f723fd302250f69ae07f5d3a6 (patch) | |
tree | 3f54ad922faf6b0ab1f8229bab954796a398ce53 /yql/essentials/sql/sql.h | |
parent | c0858c82f158f2a02cae4ac3acfbe486990a6c72 (diff) | |
download | ydb-123244a25618fe7f723fd302250f69ae07f5d3a6.tar.gz |
Introduced SQL ITranslator
commit_hash:f58b2fb436f14fc4a11ce2e315f10d71e6d1ec77
Diffstat (limited to 'yql/essentials/sql/sql.h')
-rw-r--r-- | yql/essentials/sql/sql.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/yql/essentials/sql/sql.h b/yql/essentials/sql/sql.h index 891ea4f684..250cefc2b1 100644 --- a/yql/essentials/sql/sql.h +++ b/yql/essentials/sql/sql.h @@ -7,6 +7,7 @@ #include <yql/essentials/public/issue/yql_issue_manager.h> #include <yql/essentials/ast/yql_ast.h> #include <yql/essentials/sql/settings/translation_settings.h> +#include <yql/essentials/sql/settings/translator.h> #include <util/generic/hash.h> #include <util/generic/hash_set.h> @@ -15,16 +16,37 @@ namespace NSQLTranslation { + struct TTranslators { + TTranslatorPtr const V0; + TTranslatorPtr const V1; + TTranslatorPtr const PG; + + TTranslators(TTranslatorPtr v0, TTranslatorPtr v1, TTranslatorPtr pg); + }; + + //FIXME drop this function and overloads without translators + TTranslators MakeAllTranslators(); + NYql::TAstParseResult SqlToYql(const TString& query, const TTranslationSettings& settings, NYql::TWarningRules* warningRules = nullptr, NYql::TStmtParseInfo* stmtParseInfo = nullptr, TTranslationSettings* effectiveSettings = nullptr); + NYql::TAstParseResult SqlToYql(const TTranslators& translators, const TString& query, const TTranslationSettings& settings, + NYql::TWarningRules* warningRules = nullptr, NYql::TStmtParseInfo* stmtParseInfo = nullptr, + TTranslationSettings* effectiveSettings = nullptr); + google::protobuf::Message* SqlAST(const TString& query, const TString& queryName, NYql::TIssues& issues, size_t maxErrors, const TTranslationSettings& settings = {}, ui16* actualSyntaxVersion = nullptr); + google::protobuf::Message* SqlAST(const TTranslators& translators, const TString& query, const TString& queryName, NYql::TIssues& issues, size_t maxErrors, + const TTranslationSettings& settings = {}, ui16* actualSyntaxVersion = nullptr); + ILexer::TPtr SqlLexer(const TString& query, NYql::TIssues& issues, const TTranslationSettings& settings = {}, ui16* actualSyntaxVersion = nullptr); + ILexer::TPtr SqlLexer(const TTranslators& translators, const TString& query, NYql::TIssues& issues, const TTranslationSettings& settings = {}, ui16* actualSyntaxVersion = nullptr); NYql::TAstParseResult SqlASTToYql(const TString& query, const google::protobuf::Message& protoAst, const TSQLHints& hints, const TTranslationSettings& settings); + NYql::TAstParseResult SqlASTToYql(const TTranslators& translators, const TString& query, const google::protobuf::Message& protoAst, const TSQLHints& hints, const TTranslationSettings& settings); TVector<NYql::TAstParseResult> SqlToAstStatements(const TString& query, const TTranslationSettings& settings, NYql::TWarningRules* warningRules = nullptr, ui16* actualSyntaxVersion = nullptr, TVector<NYql::TStmtParseInfo>* stmtParseInfo = nullptr); - -} // namespace NSQLTranslationV0 + TVector<NYql::TAstParseResult> SqlToAstStatements(const TTranslators& translators, const TString& query, const TTranslationSettings& settings, + NYql::TWarningRules* warningRules = nullptr, ui16* actualSyntaxVersion = nullptr, TVector<NYql::TStmtParseInfo>* stmtParseInfo = nullptr); +} // namespace NSQLTranslation |