public class SqlWindowTableFunction
extends org.apache.calcite.sql.SqlWindowTableFunction
TUMBLE,
HOP, CUMULATE and SESSION.
Note: we extend Calcite's SqlWindowTableFunction, to support
additional window_time time attribute column which should keep the same type with
original time attribute.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
SqlWindowTableFunction.AbstractOperandMetadata
Partial implementation of operand type checker.
|
| Modifier and Type | Field and Description |
|---|---|
static org.apache.calcite.sql.type.SqlReturnTypeInference |
ARG0_TABLE_FUNCTION_WINDOWING
Type-inference strategy whereby the row type of a table function call is a ROW, which is
combined from the row type of operand #0 (which is a TABLE) and two additional fields.
|
protected static String |
GAP
The gap interval, only used for SESSION window.
|
protected static String |
PARAM_STEP
The slide interval, only used for HOP window.
|
| Constructor and Description |
|---|
SqlWindowTableFunction(String name,
org.apache.calcite.sql.type.SqlOperandMetadata operandMetadata)
Creates a window table function with a given name.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
argumentMustBeScalar(int ordinal)
Overrides because the first parameter of table-value function windowing is an explicit
TABLE parameter, which is not scalar.
|
org.apache.calcite.sql.type.SqlOperandMetadata |
getOperandTypeChecker() |
org.apache.calcite.sql.type.SqlReturnTypeInference |
getRowTypeInference() |
static org.apache.calcite.rel.type.RelDataType |
inferRowType(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory,
org.apache.calcite.rel.type.RelDataType inputRowType,
org.apache.calcite.rel.type.RelDataType timeAttributeType) |
deriveType, getFunctionType, getNameAsId, getParamNames, getParamTypes, getSqlIdentifier, getSyntax, isQuantifierAllowed, unparse, validateCall, validateQuantifieracceptCall, acceptCall, adjustType, allowsFraming, checkOperandCount, checkOperandTypes, constructArgNameList, constructArgTypeList, constructOperandList, createCall, createCall, createCall, createCall, createCall, createCall, createCall, equals, getAllowedSignatures, getAllowedSignatures, getKind, getLeftPrec, getMonotonicity, getMonotonicity, getName, getOperandCountRange, getOperandTypeInference, getReturnTypeInference, getRightPrec, getSignatureTemplate, getStrongPolicyInference, hashCode, inferReturnType, inferReturnType, isAggregator, isDeterministic, isDynamicFunction, isGroup, isGroupAuxiliary, isName, isSymmetrical, leftPrec, not, preValidateCall, requiresDecimalExpansion, requiresOrder, requiresOver, reverse, rewriteCall, rightPrec, toString, unparseListClause, unparseListClause, validateOperands, validRexOperandsprotected static final String PARAM_STEP
protected static final String GAP
public static final org.apache.calcite.sql.type.SqlReturnTypeInference ARG0_TABLE_FUNCTION_WINDOWING
window_start: TIMESTAMP type to indicate a window's start
window_end: TIMESTAMP type to indicate a window's end
window_time: TIMESTAMP type with time attribute metadata to indicate a window's
time attribute
public SqlWindowTableFunction(String name, org.apache.calcite.sql.type.SqlOperandMetadata operandMetadata)
public org.apache.calcite.sql.type.SqlOperandMetadata getOperandTypeChecker()
getOperandTypeChecker in class org.apache.calcite.sql.SqlWindowTableFunctionpublic org.apache.calcite.sql.type.SqlReturnTypeInference getRowTypeInference()
getRowTypeInference in interface org.apache.calcite.sql.SqlTableFunctiongetRowTypeInference in class org.apache.calcite.sql.SqlWindowTableFunctionpublic boolean argumentMustBeScalar(int ordinal)
Overrides because the first parameter of table-value function windowing is an explicit TABLE parameter, which is not scalar.
argumentMustBeScalar in class org.apache.calcite.sql.SqlWindowTableFunctionpublic static org.apache.calcite.rel.type.RelDataType inferRowType(org.apache.calcite.rel.type.RelDataTypeFactory typeFactory,
org.apache.calcite.rel.type.RelDataType inputRowType,
org.apache.calcite.rel.type.RelDataType timeAttributeType)
Copyright © 2014–2025 The Apache Software Foundation. All rights reserved.