Class SqlAdvisorGetHintsFunction

java.lang.Object
org.apache.calcite.sql.advise.SqlAdvisorGetHintsFunction
All Implemented Interfaces:
Function, ImplementableFunction, TableFunction

public class SqlAdvisorGetHintsFunction extends Object implements TableFunction, ImplementableFunction
Table function that returns completion hints for a given SQL statement.
  • Constructor Details

    • SqlAdvisorGetHintsFunction

      public SqlAdvisorGetHintsFunction()
  • Method Details

    • getImplementor

      public CallImplementor getImplementor()
      Description copied from interface: ImplementableFunction
      Returns implementor that translates the function to linq4j expression.
      Specified by:
      getImplementor in interface ImplementableFunction
      Returns:
      implementor that translates the function to linq4j expression.
    • getRowType

      public RelDataType getRowType(RelDataTypeFactory typeFactory, List<? extends @Nullable Object> arguments)
      Description copied from interface: TableFunction
      Returns the record type of the table yielded by this function when applied to given arguments. Only literal arguments are passed, non-literal are replaced with default values (null, 0, false, etc).
      Specified by:
      getRowType in interface TableFunction
      Parameters:
      typeFactory - Type factory
      arguments - arguments of a function call (only literal arguments are passed, nulls for non-literal ones)
      Returns:
      row type of the table
    • getElementType

      public Type getElementType(List<? extends @Nullable Object> arguments)
      Description copied from interface: TableFunction
      Returns the row type of the table yielded by this function when applied to given arguments. Only literal arguments are passed, non-literal are replaced with default values (null, 0, false, etc).
      Specified by:
      getElementType in interface TableFunction
      Parameters:
      arguments - arguments of a function call (only literal arguments are passed, nulls for non-literal ones)
      Returns:
      element type of the table (e.g. Object[].class)
    • getParameters

      public List<FunctionParameter> getParameters()
      Description copied from interface: Function
      Returns the parameters of this function.
      Specified by:
      getParameters in interface Function
      Returns:
      Parameters; never null
    • getCompletionHints

      public static Enumerable<SqlAdvisorHint> getCompletionHints(SqlAdvisor advisor, String sql, int pos)
      Returns completion hints for a given SQL statement.

      Typically this is called from generated code (via IMPLEMENTOR).

      Parameters:
      advisor - Advisor to produce completion hints
      sql - SQL to complete
      pos - Cursor position in SQL
      Returns:
      the table that contains completion hints for a given SQL statement