Class PartitionMetadataDao.InTransactionContext
java.lang.Object
org.apache.beam.sdk.io.gcp.spanner.changestreams.dao.PartitionMetadataDao.InTransactionContext
- Enclosing class:
PartitionMetadataDao
Represents the execution of a read / write transaction in Cloud Spanner.
-
Constructor Summary
ConstructorsConstructorDescriptionInTransactionContext(String metadataTableName, TransactionContext transaction, Dialect dialect) Constructs a context to execute a user defined function transactionally. -
Method Summary
Modifier and TypeMethodDescriptiongetPartition(String partitionToken) Fetches the partition metadata row data for the given partition token.insert(PartitionMetadata row) Inserts the partition metadata.updateToFinished(String partitionToken) Updates a partition row toPartitionMetadata.State.FINISHEDstate.updateToRunning(String partitionToken) Updates a partition row toPartitionMetadata.State.RUNNINGstate.updateToScheduled(List<String> partitionTokens) Updates multiple partition rows toPartitionMetadata.State.SCHEDULEDstate.updateWatermark(String partitionToken, com.google.cloud.Timestamp watermark) Update the partition watermark to the given timestamp.
-
Constructor Details
-
InTransactionContext
public InTransactionContext(String metadataTableName, TransactionContext transaction, Dialect dialect) Constructs a context to execute a user defined function transactionally.- Parameters:
metadataTableName- the name of the partition metadata tabletransaction- the underlying client library transaction to be executeddialect- the dialect of the database.
-
-
Method Details
-
insert
Inserts the partition metadata.- Parameters:
row- the partition metadata to be inserted
-
updateToScheduled
Updates multiple partition rows toPartitionMetadata.State.SCHEDULEDstate.- Parameters:
partitionTokens- the partitions' unique identifiers
-
updateToRunning
Updates a partition row toPartitionMetadata.State.RUNNINGstate.- Parameters:
partitionToken- the partition unique identifier
-
updateToFinished
Updates a partition row toPartitionMetadata.State.FINISHEDstate.- Parameters:
partitionToken- the partition unique identifier
-
updateWatermark
Update the partition watermark to the given timestamp.- Parameters:
partitionToken- the partition unique identifierwatermark- the new partition watermark- Returns:
- the commit timestamp of the read / write transaction
-
getPartition
Fetches the partition metadata row data for the given partition token.- Parameters:
partitionToken- the partition unique identifier- Returns:
- the partition metadata for the given token if it exists as a struct. Otherwise, it returns null.
-