yql_library_compiler.h 1.0 KB

1234567891011121314151617181920
  1. #pragma once
  2. #include <yql/essentials/ast/yql_expr.h>
  3. #include "yql_type_annotation.h"
  4. #include <yql/essentials/sql/sql.h>
  5. namespace NYql {
  6. bool OptimizeLibrary(TLibraryCohesion& cohesion, TExprContext& ctx);
  7. bool CompileLibrary(const NSQLTranslation::TTranslators& translators, const TString& alias,
  8. const TString& script, TExprContext& ctx, TLibraryCohesion& cohesion, bool optimize = true);
  9. bool LinkLibraries(THashMap<TString, TLibraryCohesion>& libs, TExprContext& ctx, TExprContext& ctxToClone, const std::function<const TExportTable*(const TString&)>& module2ExportTable);
  10. bool LinkLibraries(THashMap<TString, TLibraryCohesion>& libs, TExprContext& ctx, TExprContext& ctxToClone, const TModulesTable* loadedModules = nullptr);
  11. bool CompileLibraries(const NSQLTranslation::TTranslators& translators, const TUserDataTable& userData,
  12. TExprContext& ctx, TModulesTable& modules, bool optimize = true);
  13. //FIXME remove
  14. bool CompileLibraries(const TUserDataTable& userData, TExprContext& ctx, TModulesTable& modules, bool optimize = true);
  15. }