#pragma once #include #include #include #include namespace NSQLTranslation { struct TTranslationSettings; class ITranslator; using TTranslatorPtr = TIntrusivePtr; } // namespace NSQLTranslation namespace NSQLTranslationPG { NYql::TAstParseResult PGToYql(const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TStmtParseInfo* stmtParseInfo = nullptr, NYql::TWarningRules* warningRules = nullptr); NYql::TAstParseResult PGToYql(const NYql::TPGParseResult& parseResult, const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TStmtParseInfo* stmtParseInfo = nullptr, NYql::TWarningRules* warningRules = nullptr); TVector PGToYqlStatements(const TString& query, const NSQLTranslation::TTranslationSettings& settings, TVector* stmtParseInfo = nullptr, NYql::TWarningRules* warningRules = nullptr); std::unique_ptr CreateExtensionSqlParser(); std::unique_ptr CreateSystemFunctionsParser(); std::unique_ptr CreateSqlLanguageParser(); NSQLTranslation::TTranslatorPtr MakeTranslator(); } // namespace NSQLTranslationPG