sql_into_tables.h 909 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include "sql_translation.h"
  3. #include <yql/essentials/parser/proto_ast/gen/v1/SQLv1Lexer.h>
  4. namespace NSQLTranslationV1 {
  5. using namespace NSQLv1Generated;
  6. class TSqlIntoTable: public TSqlTranslation {
  7. public:
  8. TSqlIntoTable(TContext& ctx, NSQLTranslation::ESqlMode mode)
  9. : TSqlTranslation(ctx, mode)
  10. {
  11. }
  12. TNodePtr Build(const TRule_into_table_stmt& node);
  13. private:
  14. //bool BuildValuesRow(const TRule_values_source_row& inRow, TVector<TNodePtr>& outRow);
  15. //TSourcePtr ValuesSource(const TRule_values_source& node, TVector<TString>& columnsHint);
  16. //TSourcePtr IntoValuesSource(const TRule_into_values_source& node);
  17. bool ValidateServiceName(const TRule_into_table_stmt& node, const TTableRef& table, ESQLWriteColumnMode mode,
  18. const TPosition& pos);
  19. TString SqlIntoModeStr;
  20. TString SqlIntoUserModeStr;
  21. };
  22. } // namespace NSQLTranslationV1