ColumnWithDefaultExprUtils¶
IDENTITY Columns feature is unsupported yet
Protocol.requiredMinimumProtocol throws an AnalysisException when a delta table uses identity columns:
IDENTITY_MIN_WRITER_VERSION¶
ColumnWithDefaultExprUtils uses 6 as the minimum version of a writer for writing to IDENTITY columns.
IDENTITY_MIN_WRITER_VERSION is used when:
ColumnWithDefaultExprUtilsis used to satisfyProtocolProtocolutility is used to determine the required minimum protocol
columnHasDefaultExpr¶
columnHasDefaultExpr is an alias of GeneratedColumn.isGeneratedColumn.
columnHasDefaultExpr is used when:
DeltaAnalysislogical resolution rule is requested toresolveQueryColumnsByName
hasIdentityColumn¶
hasIdentityColumn returns true if the given StructType (Spark SQL) contains an IDENTITY column.
hasIdentityColumn is used when:
Protocolutility is used for the required minimum protocol
isIdentityColumn¶
isIdentityColumn is used to find out whether a StructField is an identity column or not.
isIdentityColumn uses the Metadata (of the given StructField) to check the existence of the following metadata keys:
isIdentityColumn is used when:
ColumnWithDefaultExprUtilsis used to addDefaultExprsOrReturnConstraints, columnHasDefaultExpr, hasIdentityColumn and removeDefaultExpressionsIdentityColumnis requested to blockExplicitIdentityColumnInsert, getIdentityColumns, syncIdentity, updateSchema, updateToValidHighWaterMarkDeltaCatalogis requested to alterTable and createDeltaTableMergeIntoCommandBaseis requested to checkIdentityColumnHighWaterMarksWriteIntoDeltais requested to writeAndReturnCommitData
Remove Default Expressions from Table Schema¶
removeDefaultExpressions(
schema: StructType,
keepGeneratedColumns: Boolean = false,
keepIdentityColumns: Boolean = false): StructType
removeDefaultExpressions...FIXME
removeDefaultExpressions is used when:
DeltaTableUtilsis requested to removeInternalWriterMetadataOptimisticTransactionImplis requested to updateMetadataInternal
tableHasDefaultExpr¶
tableHasDefaultExpr enforcesGeneratedColumns.
tableHasDefaultExpr is used when:
TransactionalWriteis requested to normalizeData