public class PartitionMetadataDao
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static class |
PartitionMetadataDao.InTransactionContext
Represents the execution of a read / write transaction in Cloud Spanner.
|
static class |
PartitionMetadataDao.TransactionResult<T>
Represents a result from executing a Cloud Spanner read / write transaction.
|
| Modifier and Type | Method and Description |
|---|---|
long |
countPartitionsCreatedAfter(com.google.cloud.Timestamp timestamp)
Counts all partitions with a
PartitionMetadataAdminDao.COLUMN_CREATED_AT less than the
given timestamp. |
com.google.cloud.spanner.ResultSet |
getAllPartitionsCreatedAfter(com.google.cloud.Timestamp timestamp)
Fetches all partitions with a
PartitionMetadataAdminDao.COLUMN_CREATED_AT less than the
given timestamp. |
com.google.cloud.spanner.Struct |
getPartition(java.lang.String partitionToken)
Fetches the partition metadata row data for the given partition token.
|
com.google.cloud.Timestamp |
getUnfinishedMinWatermark()
Fetches the earliest partition watermark from the partition metadata table that is not in a
PartitionMetadata.State.FINISHED state. |
com.google.cloud.Timestamp |
insert(PartitionMetadata row)
Inserts the partition metadata.
|
<T> PartitionMetadataDao.TransactionResult<T> |
runInTransaction(java.util.function.Function<PartitionMetadataDao.InTransactionContext,T> callable)
Runs a given function in a transaction context.
|
<T> PartitionMetadataDao.TransactionResult<T> |
runInTransaction(java.util.function.Function<PartitionMetadataDao.InTransactionContext,T> callable,
java.lang.String tagName) |
boolean |
tableExists()
Checks whether the metadata table already exists in the database.
|
com.google.cloud.Timestamp |
updateToFinished(java.lang.String partitionToken)
Updates a partition row to
PartitionMetadata.State.FINISHED state. |
com.google.cloud.Timestamp |
updateToRunning(java.lang.String partitionToken)
Updates a partition row to
PartitionMetadata.State.RUNNING state. |
com.google.cloud.Timestamp |
updateToScheduled(java.util.List<java.lang.String> partitionTokens)
Updates multiple partition row to
PartitionMetadata.State.SCHEDULED state. |
void |
updateWatermark(java.lang.String partitionToken,
com.google.cloud.Timestamp watermark)
Update the partition watermark to the given timestamp.
|
public boolean tableExists()
@Nullable public com.google.cloud.spanner.Struct getPartition(java.lang.String partitionToken)
partitionToken - the partition unique identifier@Nullable public com.google.cloud.Timestamp getUnfinishedMinWatermark()
PartitionMetadata.State.FINISHED state.PartitionMetadata.State.FINISHED state.public com.google.cloud.spanner.ResultSet getAllPartitionsCreatedAfter(com.google.cloud.Timestamp timestamp)
PartitionMetadataAdminDao.COLUMN_CREATED_AT less than the
given timestamp. The results are ordered by the PartitionMetadataAdminDao.COLUMN_CREATED_AT and PartitionMetadataAdminDao.COLUMN_START_TIMESTAMP columns in ascending order.public long countPartitionsCreatedAfter(com.google.cloud.Timestamp timestamp)
PartitionMetadataAdminDao.COLUMN_CREATED_AT less than the
given timestamp.public com.google.cloud.Timestamp insert(PartitionMetadata row)
row - the partition metadata to be insertedpublic com.google.cloud.Timestamp updateToScheduled(java.util.List<java.lang.String> partitionTokens)
PartitionMetadata.State.SCHEDULED state.partitionTokens - the partitions' unique identifierspublic com.google.cloud.Timestamp updateToRunning(java.lang.String partitionToken)
PartitionMetadata.State.RUNNING state.partitionToken - the partition unique identifierpublic com.google.cloud.Timestamp updateToFinished(java.lang.String partitionToken)
PartitionMetadata.State.FINISHED state.partitionToken - the partition unique identifierpublic void updateWatermark(java.lang.String partitionToken,
com.google.cloud.Timestamp watermark)
partitionToken - the partition unique identifierwatermark - the new partition watermarkpublic <T> PartitionMetadataDao.TransactionResult<T> runInTransaction(java.util.function.Function<PartitionMetadataDao.InTransactionContext,T> callable)
T - the return type to be returned from the input transactional functioncallable - the function to be executed within the transaction contextpublic <T> PartitionMetadataDao.TransactionResult<T> runInTransaction(java.util.function.Function<PartitionMetadataDao.InTransactionContext,T> callable, java.lang.String tagName)