in core/src/main/java/org/apache/calcite/sql/SqlKind.java [1779:1866]
public SqlKind getFunctionKind() {
switch (this) {
case CONVERT:
case TRANSLATE:
case POSITION:
case DECODE:
case NVL:
case NVL2:
case GREATEST:
case GREATEST_PG:
case CONCAT2:
case CONCAT_WITH_NULL:
case CONCAT_WS_MSSQL:
case CONCAT_WS_POSTGRESQL:
case CONCAT_WS_SPARK:
case IF:
case LEAST:
case LEAST_PG:
case LOG:
case DATE_ADD:
case DATE_TRUNC:
case DATE_SUB:
case TIME_ADD:
case TIME_SUB:
case TIMESTAMP_ADD:
case TIMESTAMP_DIFF:
case TIMESTAMP_SUB:
case SAFE_CAST:
case FLOOR:
case CEIL:
case TRIM:
case LTRIM:
case RTRIM:
case ARRAY_APPEND:
case ARRAY_COMPACT:
case ARRAY_CONCAT:
case ARRAY_CONTAINS:
case ARRAY_DISTINCT:
case ARRAY_EXCEPT:
case ARRAY_INSERT:
case ARRAY_INTERSECT:
case ARRAY_JOIN:
case ARRAY_LENGTH:
case ARRAY_MAX:
case ARRAY_MIN:
case ARRAY_POSITION:
case ARRAY_PREPEND:
case ARRAY_REMOVE:
case ARRAY_REPEAT:
case ARRAY_REVERSE:
case ARRAY_SIZE:
case ARRAY_SLICE:
case ARRAY_TO_STRING:
case ARRAY_UNION:
case ARRAYS_OVERLAP:
case ARRAYS_ZIP:
case SORT_ARRAY:
case MAP_CONCAT:
case MAP_ENTRIES:
case MAP_KEYS:
case MAP_VALUES:
case MAP_CONTAINS_KEY:
case MAP_FROM_ARRAYS:
case MAP_FROM_ENTRIES:
case STR_TO_MAP:
case REVERSE:
case REVERSE_SPARK:
case SOUNDEX_SPARK:
case SUBSTR_BIG_QUERY:
case SUBSTR_MYSQL:
case SUBSTR_ORACLE:
case SUBSTR_POSTGRESQL:
case CHAR_LENGTH:
case ENDS_WITH:
case STARTS_WITH:
case JSON_TYPE:
case CONTAINS_SUBSTR:
case ST_DWITHIN:
case ST_POINT:
case ST_POINT3:
case ST_MAKE_LINE:
case ST_CONTAINS:
case HILBERT:
return OTHER_FUNCTION;
default:
return this;
}
}