Class DrillOperatorTable

java.lang.Object
org.apache.calcite.sql.util.ReflectiveSqlOperatorTable
org.apache.calcite.sql.fun.SqlStdOperatorTable
org.apache.drill.exec.planner.sql.DrillOperatorTable
All Implemented Interfaces:
org.apache.calcite.sql.SqlOperatorTable

public class DrillOperatorTable extends org.apache.calcite.sql.fun.SqlStdOperatorTable
Implementation of SqlOperatorTable that contains standard operators and functions provided through SqlStdOperatorTable, and Drill User Defined Functions.
  • Field Summary

    Fields inherited from class org.apache.calcite.sql.fun.SqlStdOperatorTable

    ABS, ACOS, ALL_EQ, ALL_GE, ALL_GT, ALL_LE, ALL_LT, ALL_NE, AND, ANY_VALUE, APPROX_COUNT_DISTINCT, ARG_MAX, ARG_MIN, ARGUMENT_ASSIGNMENT, ARRAY_QUERY, ARRAY_VALUE_CONSTRUCTOR, AS, ASCII, ASIN, ATAN, ATAN2, AVG, BETWEEN, BIT_AND, BIT_OR, BIT_XOR, CARDINALITY, CASE, CAST, CBRT, CEIL, CHAR_LENGTH, CHARACTER_LENGTH, CLASSIFIER, COALESCE, COLLECT, COLLECTION_TABLE, COLUMN_LIST, CONCAT, CONTAINS, CONVERT, COS, COT, COUNT, COVAR_POP, COVAR_SAMP, CUBE, CUME_DIST, CURRENT_CATALOG, CURRENT_DATE, CURRENT_PATH, CURRENT_ROLE, CURRENT_SCHEMA, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, CURRENT_VALUE, CURSOR, DATETIME_PLUS, DAYOFMONTH, DAYOFWEEK, DAYOFYEAR, DEFAULT, DEGREES, DENSE_RANK, DESC, DESCRIPTOR, DIVIDE, DIVIDE_INTEGER, DOT, ELEMENT, ELEMENT_SLICE, EQUALS, ESCAPE, EVERY, EXCEPT, EXCEPT_ALL, EXISTS, EXP, EXPLICIT_TABLE, EXTEND, EXTRACT, FILTER, FINAL, FIRST, FIRST_VALUE, FLOOR, FUSION, GREATER_THAN, GREATER_THAN_OR_EQUAL, GROUP_ID, GROUPING, GROUPING_ID, GROUPING_SETS, HISTOGRAM_AGG, HISTOGRAM_FIRST_VALUE, HISTOGRAM_LAST_VALUE, HISTOGRAM_MAX, HISTOGRAM_MIN, HOP, HOP_END, HOP_OLD, HOP_START, HOUR, IGNORE_NULLS, IMMEDIATELY_PRECEDES, IMMEDIATELY_SUCCEEDS, IN, IN_FENNEL, INITCAP, INTERSECT, INTERSECT_ALL, INTERSECTION, INTERVAL, IS_A_SET, IS_DIFFERENT_FROM, IS_DISTINCT_FROM, IS_EMPTY, IS_FALSE, IS_JSON_ARRAY, IS_JSON_OBJECT, IS_JSON_SCALAR, IS_JSON_VALUE, IS_NOT_A_SET, IS_NOT_DISTINCT_FROM, IS_NOT_EMPTY, IS_NOT_FALSE, IS_NOT_JSON_ARRAY, IS_NOT_JSON_OBJECT, IS_NOT_JSON_SCALAR, IS_NOT_JSON_VALUE, IS_NOT_NULL, IS_NOT_TRUE, IS_NOT_UNKNOWN, IS_NULL, IS_TRUE, IS_UNKNOWN, ITEM, JSON_ARRAY, JSON_ARRAYAGG, JSON_DEPTH, JSON_EXISTS, JSON_INSERT, JSON_KEYS, JSON_LENGTH, JSON_OBJECT, JSON_OBJECTAGG, JSON_PRETTY, JSON_QUERY, JSON_REMOVE, JSON_REPLACE, JSON_SET, JSON_STORAGE_SIZE, JSON_TYPE, JSON_TYPE_OPERATOR, JSON_VALUE, JSON_VALUE_EXPRESSION, LAG, LAST, LAST_DAY, LAST_VALUE, LATERAL, LEAD, LESS_THAN, LESS_THAN_OR_EQUAL, LIKE, LISTAGG, LITERAL_CHAIN, LN, LOCALTIME, LOCALTIMESTAMP, LOG10, LOWER, MAP_QUERY, MAP_VALUE_CONSTRUCTOR, MATCH_NUMBER, MAX, MEMBER_OF, MIN, MINUS, MINUS_DATE, MINUTE, MOD, MODE, MONTH, MULTIPLY, MULTISET_EXCEPT, MULTISET_EXCEPT_DISTINCT, MULTISET_INTERSECT, MULTISET_INTERSECT_DISTINCT, MULTISET_QUERY, MULTISET_UNION, MULTISET_UNION_DISTINCT, MULTISET_VALUE, NEGATED_POSIX_REGEX_CASE_INSENSITIVE, NEGATED_POSIX_REGEX_CASE_SENSITIVE, NEW, NEXT, NEXT_VALUE, NOT, NOT_BETWEEN, NOT_EQUALS, NOT_IN, NOT_LIKE, NOT_SIMILAR_TO, NOT_SUBMULTISET_OF, NTH_VALUE, NTILE, NULLIF, NULLS_FIRST, NULLS_LAST, OCTET_LENGTH, OR, OVER, OVERLAPS, OVERLAY, PATTERN_ALTER, PATTERN_CONCAT, PATTERN_EXCLUDE, PATTERN_PERMUTE, PATTERN_QUANTIFIER, PERCENT_RANK, PERCENT_REMAINDER, PERCENTILE_CONT, PERCENTILE_DISC, PERIOD_EQUALS, PI, PLUS, POSITION, POSIX_REGEX_CASE_INSENSITIVE, POSIX_REGEX_CASE_SENSITIVE, POWER, PRECEDES, PREV, PROCEDURE_CALL, QUARTER, RADIANS, RAND, RAND_INTEGER, RANK, REGR_COUNT, REGR_SXX, REGR_SYY, REINTERPRET, REPLACE, RESPECT_NULLS, ROLLUP, ROUND, ROW, ROW_NUMBER, RUNNING, SCALAR_QUERY, SEARCH, SECOND, SESSION, SESSION_END, SESSION_OLD, SESSION_START, SESSION_USER, SET_SEMANTICS_TABLE, SIGN, SIMILAR_TO, SIN, SINGLE_VALUE, SLICE, SOME, SOME_EQ, SOME_GE, SOME_GT, SOME_LE, SOME_LT, SOME_NE, SQRT, STDDEV, STDDEV_POP, STDDEV_SAMP, STRUCT_ACCESS, SUBMULTISET_OF, SUBSTRING, SUCCEEDS, SUM, SUM0, SYMMETRIC_BETWEEN, SYMMETRIC_NOT_BETWEEN, SYSTEM_USER, TABLESAMPLE, TAN, THROW, TIMESTAMP_ADD, TIMESTAMP_DIFF, TRANSLATE, TRIM, TRUNCATE, TUMBLE, TUMBLE_END, TUMBLE_OLD, TUMBLE_START, UNARY_MINUS, UNARY_PLUS, UNION, UNION_ALL, UNIQUE, UNNEST, UNNEST_WITH_ORDINALITY, UPPER, USER, VALUES, VAR_POP, VAR_SAMP, VARIANCE, WEEK, WITHIN_DISTINCT, WITHIN_GROUP, YEAR

    Fields inherited from class org.apache.calcite.sql.util.ReflectiveSqlOperatorTable

    IS_NAME
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addOperatorWithInference(String name, org.apache.calcite.sql.SqlOperator op)
    When the option planner.type_inference.enable is turned on, the operators which are added via this method will be used.
    void
    addOperatorWithoutInference(String name, org.apache.calcite.sql.SqlOperator op)
    When the option planner.type_inference.enable is turned off, the operators which are added via this method will be used.
    int
     
    List<org.apache.calcite.sql.SqlOperator>
     
    List<org.apache.calcite.sql.SqlOperator>
     
    void
    lookupOperatorOverloads(org.apache.calcite.sql.SqlIdentifier opName, org.apache.calcite.sql.SqlFunctionCategory category, org.apache.calcite.sql.SqlSyntax syntax, List<org.apache.calcite.sql.SqlOperator> operatorList, org.apache.calcite.sql.validate.SqlNameMatcher nameMatcher)
     
    void
    Set function registry version based on which operator table was loaded.

    Methods inherited from class org.apache.calcite.sql.fun.SqlStdOperatorTable

    all, auxiliaryToGroup, convertAuxiliaryToGroupCall, convertGroupToAuxiliaryCalls, instance, like, reverse, some

    Methods inherited from class org.apache.calcite.sql.util.ReflectiveSqlOperatorTable

    init, register

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • setFunctionRegistryVersion

      public void setFunctionRegistryVersion(int version)
      Set function registry version based on which operator table was loaded.
      Parameters:
      version - registry version
    • getFunctionRegistryVersion

      public int getFunctionRegistryVersion()
      Returns:
      function registry version based on which operator table was loaded
    • addOperatorWithoutInference

      public void addOperatorWithoutInference(String name, org.apache.calcite.sql.SqlOperator op)
      When the option planner.type_inference.enable is turned off, the operators which are added via this method will be used.
    • addOperatorWithInference

      public void addOperatorWithInference(String name, org.apache.calcite.sql.SqlOperator op)
      When the option planner.type_inference.enable is turned on, the operators which are added via this method will be used.
    • lookupOperatorOverloads

      public void lookupOperatorOverloads(org.apache.calcite.sql.SqlIdentifier opName, org.apache.calcite.sql.SqlFunctionCategory category, org.apache.calcite.sql.SqlSyntax syntax, List<org.apache.calcite.sql.SqlOperator> operatorList, org.apache.calcite.sql.validate.SqlNameMatcher nameMatcher)
      Specified by:
      lookupOperatorOverloads in interface org.apache.calcite.sql.SqlOperatorTable
      Overrides:
      lookupOperatorOverloads in class org.apache.calcite.sql.util.ReflectiveSqlOperatorTable
    • getOperatorList

      public List<org.apache.calcite.sql.SqlOperator> getOperatorList()
      Specified by:
      getOperatorList in interface org.apache.calcite.sql.SqlOperatorTable
      Overrides:
      getOperatorList in class org.apache.calcite.sql.util.ReflectiveSqlOperatorTable
    • getSqlOperator

      public List<org.apache.calcite.sql.SqlOperator> getSqlOperator(String name)