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:
StepSchemaResolveris 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).
DataSourceNodeis requested to nonKnownColumnPlanNodeis requested to orderColumnsCodeGenRunner.Visitoris requested tofieldNotFoundErrorMessageQueryValidatorUtilis requested tovalidateNoUserColumnsWithSameNameAsPseudoColumnsSourceSchemasis requested tomatchesNonValueFieldDataSourceExtractoris requested to isClashingColumnName and hasColumn