Package org.apache.calcite.sql.util
Class ListSqlOperatorTable
java.lang.Object
org.apache.calcite.sql.util.ListSqlOperatorTable
- All Implemented Interfaces:
SqlOperatorTable
Implementation of the
SqlOperatorTable
interface by using a list of
operators
.-
Field Summary
Modifier and TypeFieldDescriptionprotected com.google.common.collect.ImmutableMultimap<String,
SqlOperator> Contains all (name, operator) pairs. -
Constructor Summary
ConstructorDescriptionDeprecated.ListSqlOperatorTable
(List<SqlOperator> operatorList) Deprecated.UseSqlOperatorTables.of(java.lang.Iterable<? extends org.apache.calcite.sql.SqlOperator>)
, which creates an immutable table. -
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(SqlOperator op) Deprecated.UseSqlOperatorTables.of(java.lang.Iterable<? extends org.apache.calcite.sql.SqlOperator>)
, which creates an immutable table.protected static com.google.common.collect.ImmutableMultimap<String,
SqlOperator> buildIndex
(Iterable<? extends SqlOperator> operators) Derives a value to be assigned tooperators
from a given list of operators.protected static SqlFunctionCategory
category
(SqlOperator operator) Retrieves a list of all functions and operators in this table.void
lookupOperatorOverloads
(SqlIdentifier opName, @Nullable SqlFunctionCategory category, SqlSyntax syntax, List<SqlOperator> operatorList, SqlNameMatcher nameMatcher) Retrieves a list of operators with a given name and syntax.protected void
lookUpOperators
(String name, boolean caseSensitive, Consumer<SqlOperator> consumer) Looks up operators, optionally matching case-sensitively.protected void
setOperators
(com.google.common.collect.Multimap<String, SqlOperator> operators) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.calcite.sql.SqlOperatorTable
getOperatorList
-
Field Details
-
operators
Contains all (name, operator) pairs. Effectively a sorted immutable multimap.There can be several operators with the same name (case-insensitive or case-sensitive) and these operators will lie in a contiguous range which we can find efficiently using binary search.
-
-
Constructor Details
-
ListSqlOperatorTable
Deprecated.UseSqlOperatorTables.of(java.lang.Iterable<? extends org.apache.calcite.sql.SqlOperator>)
, which creates an immutable table.Creates an empty, mutable ListSqlOperatorTable. -
ListSqlOperatorTable
Deprecated.UseSqlOperatorTables.of(java.lang.Iterable<? extends org.apache.calcite.sql.SqlOperator>)
, which creates an immutable table.Creates a mutable ListSqlOperatorTable backed by a given list.
-
-
Method Details
-
add
Deprecated.UseSqlOperatorTables.of(java.lang.Iterable<? extends org.apache.calcite.sql.SqlOperator>)
, which creates an immutable table.Adds an operator to this table. -
lookupOperatorOverloads
public void lookupOperatorOverloads(SqlIdentifier opName, @Nullable SqlFunctionCategory category, SqlSyntax syntax, List<SqlOperator> operatorList, SqlNameMatcher nameMatcher) Description copied from interface:SqlOperatorTable
Retrieves a list of operators with a given name and syntax. For example, by passing SqlSyntax.Function, the returned list is narrowed to only matching SqlFunction objects.- Specified by:
lookupOperatorOverloads
in interfaceSqlOperatorTable
- Parameters:
opName
- name of operatorcategory
- function category to look up, or null for any matching operatorsyntax
- syntax type of operatoroperatorList
- mutable list to which to append matchesnameMatcher
- Name matcher
-
category
-
getOperatorList
Description copied from interface:SqlOperatorTable
Retrieves a list of all functions and operators in this table. Used for automated testing. Depending on the table type, may or may not be mutable.- Specified by:
getOperatorList
in interfaceSqlOperatorTable
- Returns:
- list of SqlOperator objects
-
setOperators
-
buildIndex
protected static com.google.common.collect.ImmutableMultimap<String,SqlOperator> buildIndex(Iterable<? extends SqlOperator> operators) Derives a value to be assigned tooperators
from a given list of operators. -
lookUpOperators
Looks up operators, optionally matching case-sensitively.
-
SqlOperatorTables.of(java.lang.Iterable<? extends org.apache.calcite.sql.SqlOperator>)
, which creates an immutable table.