align_output_schema.h 892 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <yql/essentials/public/purecalc/common/processor_mode.h>
  3. #include <yql/essentials/core/yql_graph_transformer.h>
  4. #include <yql/essentials/core/yql_type_annotation.h>
  5. namespace NYql {
  6. namespace NPureCalc {
  7. /**
  8. * A transformer which converts an output type of the expression to the given type or reports an error.
  9. *
  10. * @param outputStruct destination output struct type.
  11. * @param acceptsBlocks indicates, whether the output type need to be
  12. * preprocessed.
  13. * @param processorMode specifies the top-most container of the result.
  14. * @return a graph transformer for type alignment.
  15. */
  16. TAutoPtr<IGraphTransformer> MakeOutputAligner(
  17. const TTypeAnnotationNode* outputStruct,
  18. bool acceptsBlocks,
  19. EProcessorMode processorMode
  20. );
  21. }
  22. }