parser.h 935 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include <yql/essentials/ast/yql_ast.h>
  3. #include <yql/essentials/parser/pg_catalog/catalog.h>
  4. namespace NSQLTranslation {
  5. struct TTranslationSettings;
  6. class ITranslator;
  7. using TTranslatorPtr = TIntrusivePtr<ITranslator>;
  8. } // NSQLTranslation
  9. namespace NSQLTranslationPG {
  10. NYql::TAstParseResult PGToYql(const TString& query, const NSQLTranslation::TTranslationSettings& settings, NYql::TStmtParseInfo* stmtParseInfo = nullptr);
  11. TVector<NYql::TAstParseResult> PGToYqlStatements(const TString& query, const NSQLTranslation::TTranslationSettings& settings, TVector<NYql::TStmtParseInfo>* stmtParseInfo = nullptr);
  12. std::unique_ptr<NYql::NPg::IExtensionSqlParser> CreateExtensionSqlParser();
  13. std::unique_ptr<NYql::NPg::ISystemFunctionsParser> CreateSystemFunctionsParser();
  14. std::unique_ptr<NYql::NPg::ISqlLanguageParser> CreateSqlLanguageParser();
  15. NSQLTranslation::TTranslatorPtr MakeTranslator();
  16. } // NSQLTranslationPG