Class SqlProcedureCallConverter

java.lang.Object
org.apache.flink.table.planner.operations.converters.SqlProcedureCallConverter
All Implemented Interfaces:
SqlNodeConverter<org.apache.calcite.sql.SqlNode>

public class SqlProcedureCallConverter extends Object implements SqlNodeConverter<org.apache.calcite.sql.SqlNode>
A converter for call procedure node. The call procedure statement will be parsed to a SqlCall wrapping SqlProcedureCallOperator as the operator by calcite. So, this converter will try to recognize it's call procedure or not. If it's call procedure, convert it the corresponding operation. Otherwise, return null directly.
  • Constructor Details

    • SqlProcedureCallConverter

      public SqlProcedureCallConverter()
  • Method Details

    • supportedSqlKinds

      public Optional<EnumSet<org.apache.calcite.sql.SqlKind>> supportedSqlKinds()
      Description copied from interface: SqlNodeConverter
      Returns the SqlKinds of SqlNodes that the SqlNodeConverter supports to convert.

      If a SqlNodeConverter returns a non-empty SqlKinds, The conversion framework will find the corresponding converter by matching the SqlKind of SqlNode instead of the class of SqlNode

      Specified by:
      supportedSqlKinds in interface SqlNodeConverter<org.apache.calcite.sql.SqlNode>
      See Also:
    • convertSqlNode

      public org.apache.flink.table.operations.Operation convertSqlNode(org.apache.calcite.sql.SqlNode sqlNode, SqlNodeConverter.ConvertContext context)
      Description copied from interface: SqlNodeConverter
      Convert the given validated SqlNode into an Operation.
      Specified by:
      convertSqlNode in interface SqlNodeConverter<org.apache.calcite.sql.SqlNode>
      Parameters:
      sqlNode - a validated SqlNode.
      context - the utilities and context information to convert