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
ConstructorDescriptionDrillOperatorTable
(FunctionImplementationRegistry registry, OptionManager systemOptionManager) -
Method Summary
Modifier and TypeMethodDescriptionvoid
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>
getSqlOperator
(String name) 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
setFunctionRegistryVersion
(int version) 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
-
Constructor Details
-
DrillOperatorTable
public DrillOperatorTable(FunctionImplementationRegistry registry, OptionManager systemOptionManager)
-
-
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
When the option planner.type_inference.enable is turned off, the operators which are added via this method will be used. -
addOperatorWithInference
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 interfaceorg.apache.calcite.sql.SqlOperatorTable
- Overrides:
lookupOperatorOverloads
in classorg.apache.calcite.sql.util.ReflectiveSqlOperatorTable
-
getOperatorList
- Specified by:
getOperatorList
in interfaceorg.apache.calcite.sql.SqlOperatorTable
- Overrides:
getOperatorList
in classorg.apache.calcite.sql.util.ReflectiveSqlOperatorTable
-
getSqlOperator
-