Package io.delta.kernel.internal.actions
Class DomainMetadata
Object
io.delta.kernel.internal.actions.DomainMetadata
Delta log action representing an `DomainMetadata` action
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StructTypeFull schema of theDomainMetadataaction in the Delta Log. -
Constructor Summary
ConstructorsConstructorDescriptionDomainMetadata(String domain, String configuration, boolean removed) The domain metadata action contains a configuration string for a named metadata domain. -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic DomainMetadatafromColumnVector(ColumnVector vector, int rowId) static DomainMetadataCreates aDomainMetadatainstance from a Row with the schema beingFULL_SCHEMA.inthashCode()booleanstatic booleanChecks whether the provideddomainis a system domain that is supported for set in a Delta transaction via addDomainMetadata.static booleanisUserControlledDomain(String domain) Whether the provideddomainis a user-controlled domainremoved()toRow()Encode as aRowobject with the schemaFULL_SCHEMA.toString()
-
Field Details
-
FULL_SCHEMA
Full schema of theDomainMetadataaction in the Delta Log.
-
-
Constructor Details
-
DomainMetadata
The domain metadata action contains a configuration string for a named metadata domain. Two overlapping transactions conflict if they both contain a domain metadata action for the same metadata domain. Per-domain conflict resolution logic can be implemented.- Parameters:
domain- A string used to identify a specific domain.configuration- A string containing configuration for the metadata domain.removed- If it is true it serves as a tombstone to logically delete aDomainMetadataaction.
-
-
Method Details
-
isUserControlledDomain
Whether the provideddomainis a user-controlled domain -
isSystemDomainSupportedSetFromTxn
Checks whether the provideddomainis a system domain that is supported for set in a Delta transaction via addDomainMetadata.By default, system domains are not allowed to be set through transaction-level domain metadata due to their reserved nature. However, there are specific system domains—such as
RowTrackingMetadataDomain.DOMAIN_NAME—that are explicitly allowed to be set in this context. This method defines the allowlist of such supported domains and checks against it. -
fromColumnVector
-
fromRow
Creates aDomainMetadatainstance from a Row with the schema beingFULL_SCHEMA.- Parameters:
row- the Row object containing the DomainMetadata action- Returns:
- a DomainMetadata instance or null if the row is null
- Throws:
IllegalArgumentException- if the schema of the row does not matchFULL_SCHEMA
-
getDomain
-
getConfiguration
-
isRemoved
public boolean isRemoved() -
toRow
Encode as aRowobject with the schemaFULL_SCHEMA.- Returns:
Rowobject with the schemaFULL_SCHEMA
-
removed
-
toString
-
equals
-
hashCode
public int hashCode()
-