Package org.apache.calcite.sql.advise
Class SqlAdvisorGetHintsFunction2
java.lang.Object
org.apache.calcite.sql.advise.SqlAdvisorGetHintsFunction2
- All Implemented Interfaces:
Function
,ImplementableFunction
,TableFunction
public class SqlAdvisorGetHintsFunction2
extends Object
implements TableFunction, ImplementableFunction
Table function that returns completion hints for a given SQL statement.
This function adds replacement string column to previously existed
SqlAdvisorGetHintsFunction
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic Enumerable<SqlAdvisorHint2>
getCompletionHints
(SqlAdvisor advisor, String sql, int pos) Returns completion hints for a given SQL statement.getElementType
(List<? extends @Nullable Object> arguments) Returns the row type of the table yielded by this function when applied to given arguments.Returns implementor that translates the function to linq4j expression.Returns the parameters of this function.getRowType
(RelDataTypeFactory typeFactory, List<? extends @Nullable Object> arguments) Returns the record type of the table yielded by this function when applied to given arguments.
-
Constructor Details
-
SqlAdvisorGetHintsFunction2
public SqlAdvisorGetHintsFunction2()
-
-
Method Details
-
getImplementor
Description copied from interface:ImplementableFunction
Returns implementor that translates the function to linq4j expression.- Specified by:
getImplementor
in interfaceImplementableFunction
- 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 interfaceTableFunction
- Parameters:
typeFactory
- Type factoryarguments
- arguments of a function call (only literal arguments are passed, nulls for non-literal ones)- Returns:
- row type of the table
-
getElementType
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 interfaceTableFunction
- 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
Description copied from interface:Function
Returns the parameters of this function.- Specified by:
getParameters
in interfaceFunction
- Returns:
- Parameters; never null
-
getCompletionHints
public static Enumerable<SqlAdvisorHint2> 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 hintssql
- SQL to completepos
- Cursor position in SQL- Returns:
- the table that contains completion hints for a given SQL statement
-