SystemColumns¶
ROWKEY¶
handleStreamSelectKeyV1¶
LogicalSchema handleStreamSelectKeyV1(
LogicalSchema sourceSchema,
StreamSelectKeyV1 step)
handleStreamSelectKeyV1
requests the given StreamSelectKeyV1 for the key expression.
handleStreamSelectKeyV1
creates a ExpressionTypeManager
to getExpressionSqlType for the key expression (that gives a SqlType).
In the end, handleStreamSelectKeyV1
creates a LogicalSchema with the following columns:
- ROWKEY of the
SqlType
- Value columns of the given source LogicalSchema
handleStreamSelectKeyV1
is used when:
StepSchemaResolver
is requested for the HANDLERS (of StreamSelectKeyV1)
Pseudo Columns¶
Column Name | Type | Version | isDisallowedForInsertValues | isDisallowedInPullAndScalablePushQueries ------------|------|---------|----------------------------------------------------------------------- ROWTIME
| BIGINT
| 0 | false
| false
ROWPARTITION
| INTEGER
| 1 | true
| true
ROWOFFSET
| BIGINT
| 1 | true
| true
Used when:
- isPseudoColumn
- pseudoColumnNames
- mustBeMaterializedForTableJoins
- isDisallowedForInsertValues
- isDisallowedInPullOrScalablePushQueries
isPseudoColumn¶
boolean isPseudoColumn(
ColumnName columnName,
int pseudoColumnVersion)
boolean isPseudoColumn(
ColumnName columnName,
KsqlConfig ksqlConfig)
boolean isPseudoColumn(
ColumnName columnName,
boolean rowpartitionRowoffsetEnabled)
isPseudoColumn
validates the given pseudoColumnVersion
and checks if the columnName
is among the pseudoColumns (by version and name).
DataSourceNode
is requested to nonKnownColumnPlanNode
is requested to orderColumnsCodeGenRunner.Visitor
is requested tofieldNotFoundErrorMessage
QueryValidatorUtil
is requested tovalidateNoUserColumnsWithSameNameAsPseudoColumns
SourceSchemas
is requested tomatchesNonValueField
DataSourceExtractor
is requested to isClashingColumnName and hasColumn