Class MockSqlOperatorTable.TopNTableFunction

java.lang.Object
org.apache.calcite.sql.SqlOperator
org.apache.calcite.sql.SqlFunction
org.apache.calcite.test.MockSqlOperatorTable.TopNTableFunction
All Implemented Interfaces:
SqlTableFunction
Enclosing class:
MockSqlOperatorTable

public static class MockSqlOperatorTable.TopNTableFunction extends SqlFunction implements SqlTableFunction
"TopN" user-defined table function. First parameter is input table with set semantics.
  • Constructor Details

    • TopNTableFunction

      public TopNTableFunction()
  • Method Details

    • getRowTypeInference

      public SqlReturnTypeInference getRowTypeInference()
      Description copied from interface: SqlTableFunction
      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:
      getRowTypeInference in interface SqlTableFunction
      Returns:
      strategy to infer the row type of a call to this function
    • tableCharacteristic

      public TableCharacteristic tableCharacteristic(int ordinal)
      Description copied from interface: SqlTableFunction
      Returns the table parameter characteristics for ordinalth parameter to this table function.

      Returns null if the ordinalth argument is not table parameter or the ordinal is smaller than 0 or the ordinal is greater than or equals to the number of parameters.

      Specified by:
      tableCharacteristic in interface SqlTableFunction
    • argumentMustBeScalar

      public boolean argumentMustBeScalar(int ordinal)
      Description copied from class: SqlOperator
      Returns whether the ordinalth argument to this operator must be scalar (as opposed to a query).

      If true (the default), the validator will attempt to convert the argument into a scalar sub-query, which must have one column and return at most one row.

      Operators such as SELECT and EXISTS override this method.

      Overrides:
      argumentMustBeScalar in class SqlOperator