/** Returns the table in this UDF, or null if there is no table. */ public TranslatableTable getTable(RelDataTypeFactory typeFactory, List<SqlNode> operandList) { List<Object> arguments = convertArguments(typeFactory, operandList, tableMacro, getNameAsId(), true); return tableMacro.apply(arguments); }
/** Returns the table in this UDF, or null if there is no table. */ public TranslatableTable getTable(RelDataTypeFactory typeFactory, List<SqlNode> operandList) { List<Object> arguments = convertArguments(typeFactory, operandList, tableMacro, getNameAsId(), true); return tableMacro.apply(arguments); }
/** * 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). * * @param typeFactory Type factory * @param operandList arguments of a function call (only literal arguments * are passed, nulls for non-literal ones) * @return row type of the table */ public RelDataType getRowType(RelDataTypeFactory typeFactory, List<SqlNode> operandList) { List<Object> arguments = SqlUserDefinedTableMacro.convertArguments(typeFactory, operandList, function, getNameAsId(), false); return getFunction().getRowType(typeFactory, arguments); }
/** * 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). * * @param operandList arguments of a function call (only literal arguments * are passed, nulls for non-literal ones) * @return element type of the table (e.g. {@code Object[].class}) */ public Type getElementType(RelDataTypeFactory typeFactory, List<SqlNode> operandList) { List<Object> arguments = SqlUserDefinedTableMacro.convertArguments(typeFactory, operandList, function, getNameAsId(), false); return getFunction().getElementType(arguments); } }
/** * 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). * * @param typeFactory Type factory * @param operandList arguments of a function call (only literal arguments * are passed, nulls for non-literal ones) * @return row type of the table */ public RelDataType getRowType(RelDataTypeFactory typeFactory, List<SqlNode> operandList) { List<Object> arguments = SqlUserDefinedTableMacro.convertArguments(typeFactory, operandList, function, getNameAsId(), false); return getFunction().getRowType(typeFactory, arguments); }
/** * 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). * * @param operandList arguments of a function call (only literal arguments * are passed, nulls for non-literal ones) * @return element type of the table (e.g. {@code Object[].class}) */ public Type getElementType(RelDataTypeFactory typeFactory, List<SqlNode> operandList) { List<Object> arguments = SqlUserDefinedTableMacro.convertArguments(typeFactory, operandList, function, getNameAsId(), false); return getFunction().getElementType(arguments); } }