Cloud Spanner V1 Client - Class DataChangeRecord (1.101.0)

Reference documentation and code samples for the Cloud Spanner V1 Client class DataChangeRecord.

A data change record contains a set of changes to a table with the same modification type (insert, update, or delete) committed at the same commit timestamp in one change stream partition for the same transaction. Multiple data change records can be returned for the same transaction across multiple change stream partitions.

Generated from protobuf message google.spanner.v1.ChangeStreamRecord.DataChangeRecord

Namespace

Google \ Cloud \ Spanner \ V1 \ ChangeStreamRecord

Methods

__construct

Constructor.

Parameters
Name Description
data array

Optional. Data for populating the Message object.

↳ commit_timestamp Google\Protobuf\Timestamp

Indicates the timestamp in which the change was committed. DataChangeRecord.commit_timestamps, PartitionStartRecord.start_timestamps, PartitionEventRecord.commit_timestamps, and PartitionEndRecord.end_timestamps can have the same value in the same partition.

↳ record_sequence string

Record sequence numbers are unique and monotonically increasing (but not necessarily contiguous) for a specific timestamp across record types in the same partition. To guarantee ordered processing, the reader should process records (of potentially different types) in record_sequence order for a specific timestamp in the same partition. The record sequence number ordering across partitions is only meaningful in the context of a specific transaction. Record sequence numbers are unique across partitions for a specific transaction. Sort the DataChangeRecords for the same server_transaction_id by record_sequence to reconstruct the ordering of the changes within the transaction.

↳ server_transaction_id string

Provides a globally unique string that represents the transaction in which the change was committed. Multiple transactions can have the same commit timestamp, but each transaction has a unique server_transaction_id.

↳ is_last_record_in_transaction_in_partition bool

Indicates whether this is the last record for a transaction in the current partition. Clients can use this field to determine when all records for a transaction in the current partition have been received.

↳ table string

Name of the table affected by the change.

↳ column_metadata array<DataChangeRecord\ColumnMetadata>

Provides metadata describing the columns associated with the mods listed below.

↳ mods array<DataChangeRecord\Mod>

Describes the changes that were made.

↳ mod_type int

Describes the type of change.

↳ value_capture_type int

Describes the value capture type that was specified in the change stream configuration when this change was captured.

↳ number_of_records_in_transaction int

Indicates the number of data change records that are part of this transaction across all change stream partitions. This value can be used to assemble all the records associated with a particular transaction.

↳ number_of_partitions_in_transaction int

Indicates the number of partitions that return data change records for this transaction. This value can be helpful in assembling all records associated with a particular transaction.

↳ transaction_tag string

Indicates the transaction tag associated with this transaction.

↳ is_system_transaction bool

Indicates whether the transaction is a system transaction. System transactions include those issued by time-to-live (TTL), column backfill, etc.

getCommitTimestamp

Indicates the timestamp in which the change was committed.

DataChangeRecord.commit_timestamps, PartitionStartRecord.start_timestamps, PartitionEventRecord.commit_timestamps, and PartitionEndRecord.end_timestamps can have the same value in the same partition.

Returns
Type Description
Google\Protobuf\Timestamp|null

hasCommitTimestamp

clearCommitTimestamp

setCommitTimestamp

Indicates the timestamp in which the change was committed.

DataChangeRecord.commit_timestamps, PartitionStartRecord.start_timestamps, PartitionEventRecord.commit_timestamps, and PartitionEndRecord.end_timestamps can have the same value in the same partition.

Parameter
Name Description
var Google\Protobuf\Timestamp
Returns
Type Description
$this

getRecordSequence

Record sequence numbers are unique and monotonically increasing (but not necessarily contiguous) for a specific timestamp across record types in the same partition. To guarantee ordered processing, the reader should process records (of potentially different types) in record_sequence order for a specific timestamp in the same partition.

The record sequence number ordering across partitions is only meaningful in the context of a specific transaction. Record sequence numbers are unique across partitions for a specific transaction. Sort the DataChangeRecords for the same server_transaction_id by record_sequence to reconstruct the ordering of the changes within the transaction.

Returns
Type Description
string

setRecordSequence

Record sequence numbers are unique and monotonically increasing (but not necessarily contiguous) for a specific timestamp across record types in the same partition. To guarantee ordered processing, the reader should process records (of potentially different types) in record_sequence order for a specific timestamp in the same partition.

The record sequence number ordering across partitions is only meaningful in the context of a specific transaction. Record sequence numbers are unique across partitions for a specific transaction. Sort the DataChangeRecords for the same server_transaction_id by record_sequence to reconstruct the ordering of the changes within the transaction.

Parameter
Name Description
var string
Returns
Type Description
$this

getServerTransactionId

Provides a globally unique string that represents the transaction in which the change was committed. Multiple transactions can have the same commit timestamp, but each transaction has a unique server_transaction_id.

Returns
Type Description
string

setServerTransactionId

Provides a globally unique string that represents the transaction in which the change was committed. Multiple transactions can have the same commit timestamp, but each transaction has a unique server_transaction_id.

Parameter
Name Description
var string
Returns
Type Description
$this

getIsLastRecordInTransactionInPartition

Indicates whether this is the last record for a transaction in the current partition. Clients can use this field to determine when all records for a transaction in the current partition have been received.

Returns
Type Description
bool

setIsLastRecordInTransactionInPartition

Indicates whether this is the last record for a transaction in the current partition. Clients can use this field to determine when all records for a transaction in the current partition have been received.

Parameter
Name Description
var bool
Returns
Type Description
$this

getTable

Name of the table affected by the change.

Returns
Type Description
string

setTable

Name of the table affected by the change.

Parameter
Name Description
var string
Returns
Type Description
$this

getColumnMetadata

Provides metadata describing the columns associated with the mods listed below.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setColumnMetadata

Provides metadata describing the columns associated with the mods listed below.

Parameter
Name Description
var array<DataChangeRecord\ColumnMetadata>
Returns
Type Description
$this

getMods

Describes the changes that were made.

Returns
Type Description
Google\Protobuf\Internal\RepeatedField

setMods

Describes the changes that were made.

Parameter
Name Description
var array<DataChangeRecord\Mod>
Returns
Type Description
$this

getModType

Describes the type of change.

Returns
Type Description
int

setModType

Describes the type of change.

Parameter
Name Description
var int
Returns
Type Description
$this

getValueCaptureType

Describes the value capture type that was specified in the change stream configuration when this change was captured.

Returns
Type Description
int

setValueCaptureType

Describes the value capture type that was specified in the change stream configuration when this change was captured.

Parameter
Name Description
var int
Returns
Type Description
$this

getNumberOfRecordsInTransaction

Indicates the number of data change records that are part of this transaction across all change stream partitions. This value can be used to assemble all the records associated with a particular transaction.

Returns
Type Description
int

setNumberOfRecordsInTransaction

Indicates the number of data change records that are part of this transaction across all change stream partitions. This value can be used to assemble all the records associated with a particular transaction.

Parameter
Name Description
var int
Returns
Type Description
$this

getNumberOfPartitionsInTransaction

Indicates the number of partitions that return data change records for this transaction. This value can be helpful in assembling all records associated with a particular transaction.

Returns
Type Description
int

setNumberOfPartitionsInTransaction

Indicates the number of partitions that return data change records for this transaction. This value can be helpful in assembling all records associated with a particular transaction.

Parameter
Name Description
var int
Returns
Type Description
$this

getTransactionTag

Indicates the transaction tag associated with this transaction.

Returns
Type Description
string

setTransactionTag

Indicates the transaction tag associated with this transaction.

Parameter
Name Description
var string
Returns
Type Description
$this

getIsSystemTransaction

Indicates whether the transaction is a system transaction. System transactions include those issued by time-to-live (TTL), column backfill, etc.

Returns
Type Description
bool

setIsSystemTransaction

Indicates whether the transaction is a system transaction. System transactions include those issued by time-to-live (TTL), column backfill, etc.

Parameter
Name Description
var bool
Returns
Type Description
$this