FileAction¶
FileAction is an extension of the Action abstraction for data file-related actions.
Contract¶
dataChange¶
Controls the transaction isolation level for committing a transaction
| Isolation Level | Description |
|---|---|
| SnapshotIsolation | No data changes (dataChange is false for all FileActions to be committed) |
| Serializable |
There can be no RemoveFiles with dataChange enabled for appendOnly unmodifiable tables (or an UnsupportedOperationException is thrown).
| dataChange Value | When |
|---|---|
false | InMemoryLogReplay is requested to replay a version |
true | ConvertToDeltaCommand is executed (and requested to create an AddFile with the flag turned on) |
| Opposite of dataChange option | WriteIntoDelta is requested to write (with dataChange option turned off for rearrange-only writes) |
dataChange is used when:
OptimisticTransactionImplis requested to commit (and determines the isolation level), prepareCommit, attempt a commit (forbytesNewstatistics)DeltaSourceis requested to getChanges (and verifyStreamHygieneAndFilterAddFiles)
numLogicalRecords¶
Always None:
See:
Used when:
DeleteCommandMetricsis requested to getDeletedRowsFromAddFilesAndUpdateMetricsTouchedFileWithDVis requested toisFullyReplacedMergeIntoCommandis requested to writeInsertsOnlyWhenNoMatchedClausesWriteIntoDeltais requested to registerReplaceWhereMetricsTransactionalWriteis requested to writeFilesOptimizeMetadataOnlyDeltaQueryis requested to extractGlobalCount
Partition Values¶
Partition columns to their values of this logical file
Note
partitionValues is not used.
Path¶
Tags¶
Metadata about this logical file
Used to get the value of a tag
Implementations¶
Sealed Trait
FileAction is a Scala sealed trait which means that all of the implementations are in the same compilation unit (a single file).
Learn more in the Scala Language Specification.
Tag Value¶
getTag gets the value of the given tag (by tagName), if available.
getTag is used when:
AddFileis requested for a tag value