Members
TRACER_CLEANUP_INTERVAL_MS
TRACER_CLEANUP_THRESHOLD_MS
ValueType
The value type of a metric.
Methods
MetricInterceptor(options, nextCall) → {grpc.InterceptingCall}
Interceptor for recording metrics on gRPC calls.
This interceptor records attempt metrics at the start and completion of each gRPC call, and also records Google Front End (GFE), AFE metrics such as latency and connectivity errors based on the presence and value of the 'server-timing' header in the response metadata.
Parameters:
| Name | Type | Description |
|---|---|---|
options |
object |
The gRPC call options, including method definition. |
nextCall |
function |
The next function to call in the gRPC request chain. |
Returns:
| Type | Description |
|---|---|
| grpc.InterceptingCall |
|
_createTimeSeries()
Creates a GCM TimeSeries.
_extractLabels()
Extracts metric and monitored resource labels from data point or resource
_formatHrTimeToGcmTime()
Transforms an OpenTelemetry time value to a GCM time value.
_resetTracingEnabledForTest()
Only exported for resetting state in unit tests.
_transformMetricKind()
Transforms a OpenTelemetry instrument type to a GCM MetricKind.
_transformNumberValue()
Transforms a OpenTelemetry Point's value to a GCM Point value.
_transformPoint()
Transform timeseries's point, so that metric can be uploaded to GCM.
_transformResource()
Transforms resource to Google Cloud Monitoring monitored resource
_transformValueType()
Transforms a OpenTelemetry ValueType to a GCM ValueType.
addLeaderAwareRoutingHeader(headers)
Add Leader aware routing header to existing header list.
Parameters:
| Name | Type | Description |
|---|---|---|
headers |
Existing header list. |
buildAckMutation(queue, key, optionsopt) → {spannerClient.spanner.v1.Mutation}
Builds an ack mutation.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
queue |
string |
The name of the queue. |
|
key |
Key |
The key for the message. |
|
options |
QueueAckOptions |
<optional> |
Options for acking the message. |
Returns:
| Type | Description |
|---|---|
| spannerClient.spanner.v1.Mutation |
|
buildDeleteMutation(table, keys) → {spannerClient.spanner.v1.Mutation}
Builds a delete mutation.
Parameters:
| Name | Type | Description |
|---|---|---|
table |
string |
The name of the table. |
keys |
Array.<Key> |
The keys for the rows to delete. |
Returns:
| Type | Description |
|---|---|
| spannerClient.spanner.v1.Mutation |
|
buildMutation(method, table, keyVals) → {spannerClient.spanner.v1.Mutation}
Builds an array of protobuf Mutations from the given row(s).
Parameters:
| Name | Type | Description |
|---|---|---|
method |
string |
CRUD method (insert, update, etc.). |
table |
string |
Table to perform mutations in. |
keyVals |
object | Array.<object> |
Hash of key-value pairs representing the rows. |
Returns:
| Type | Description |
|---|---|
| spannerClient.spanner.v1.Mutation |
|
Throws:
-
- If a row does not contain the correct number of columns.
- Type
- GoogleError
buildSendMutation(queue, key, optionsopt) → {spannerClient.spanner.v1.Mutation}
Builds a send mutation.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
queue |
string |
The name of the queue. |
|
key |
Key |
The key for the message. |
|
options |
QueueSendOptions |
<optional> |
Options for sending the message. |
Returns:
| Type | Description |
|---|---|
| spannerClient.spanner.v1.Mutation |
|
exhaust()
Assert switch case is exhaustive
extractServerTimingLatency(header, prefix)
Extracts a numeric latency value in milliseconds for a given metric prefix from a 'server-timing' header string without regex allocations or intermediate substring slices.
Parameters:
| Name | Type | Description |
|---|---|---|
header |
The 'server-timing' header string. |
|
prefix |
The metric prefix (e.g. 'gfet4t7; dur='). |
Returns:
| Type | Description |
|---|---|
|
The extracted latency in milliseconds, or null if not found. |
getActiveOrNoopSpan() → {Span}
getActiveOrNoopSpan queries the global tracer for the currently active span and returns it, otherwise if there is no active span available, it'll simply create a NoopSpan. This is important in the cases where we don't want to create a new span, such as in sensitive and frequently called code for which the new spans would be too many and thus pollute the trace, but yet we'd like to record an important annotation.
Returns:
| Type | Description |
|---|---|
| Span |
the non-null span. |
getCommonHeaders(headers)
Returns common headers to add.
Parameters:
| Name | Type | Description |
|---|---|---|
headers |
Common header list. |
getTracer(tracerProvideropt) → {Tracer}
getTracer fetches the tracer from the provided tracerProvider.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
tracerProvider |
TracerProvider |
<optional> |
optional custom tracer provider to use for fetching the tracer. If not provided, the global provider will be used. |
Returns:
| Type | Description |
|---|---|
| Tracer |
The tracer instance associated with the provided or global provider. |
getUniverseDomain(options) → {string}
Retrieves the universe domain.
This function checks for a universe domain in the following order:
- The
universeDomainproperty within the provided spanner options. - The
universe_domainproperty within the provided spanner options. - The
GOOGLE_CLOUD_UNIVERSE_DOMAINenvironment variable. - If none of the above properties will be set, it will fallback to
googleapis.com.
For consistency with the Auth client, if the universe_domain option or the
GOOGLE_CLOUD_UNIVERSE_DOMAIN env variable is used, this function will also set the
universeDomain property within the provided SpannerOptions object. This ensures the
Spanner client's universe domain aligns with the universe configured for authentication.
Parameters:
| Name | Type | Description |
|---|---|---|
options |
SpannerOptions |
The Spanner client options. |
Returns:
| Type | Description |
|---|---|
| string |
The universe domain. |
hasProjectIdToken(value) → {boolean}
Checks whether an input value contains the {{projectId}} placeholder.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to inspect. |
Returns:
| Type | Description |
|---|---|
| boolean |
|
injectGaxOpt()
Injects a key-value pair into the gaxOpts.otherArgs.options object without mutating the original.
isAFEServerTimingEnabled() → {boolean}
Returns whether AFE (Application Frontend Extension) server timing is enabled.
This function checks the value of the environment variable
SPANNER_DISABLE_AFE_SERVER_TIMING. If the variable is set to the
string 'true' (case-insensitive), then AFE server timing is considered disabled,
and this function returns false. For all other values (including if the variable is unset),
the function returns true.
Returns:
| Type | Description |
|---|---|
| boolean |
|
isActualNaN(value) → {Boolean}
Checks if a value is NaN.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isArray(value) → {Boolean}
Checks if a value is an array.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isBoolean(value) → {Boolean}
Checks if a value is a boolean.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isCreateSessionPermissionError(error) → {boolean}
Checks whether the given error is a 'Create session permission' error.
Parameters:
| Name | Type | Description |
|---|---|---|
error |
Error |
The error to check. |
Returns:
| Type | Description |
|---|---|
| boolean |
True if the error is a 'Create session permission' error, and otherwise false. |
isDatabaseNotFoundError(error) → {boolean}
Checks whether the given error is a 'Database not found' error.
Parameters:
| Name | Type | Description |
|---|---|---|
error |
Error |
The error to check. |
Returns:
| Type | Description |
|---|---|
| boolean |
True if the error is a 'Database not found' error, and otherwise false. |
isDate(value) → {Boolean}
Checks if a value is a Date object.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isDecimal(value) → {Boolean}
Checks if a value is a non-integer (decimal) number.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isDefaultCredentialsNotSetError(error) → {boolean}
Checks whether the given error is a 'Could not load the default credentials' error.
Parameters:
| Name | Type | Description |
|---|---|---|
error |
Error |
The error to check. |
Returns:
| Type | Description |
|---|---|
| boolean |
True if the error is a 'Could not load the default credentials' error, and otherwise false. |
isDefined(value) → {Boolean}
Checks if a value is defined.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isEmpty(value) → {Boolean}
Checks if a value is empty.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isEntryDelimiter(charCode)
Checks whether a character code represents an entry delimiter or whitespace in a 'server-timing' header (start of string, space, comma, or tab).
Parameters:
| Name | Type | Description |
|---|---|---|
charCode |
The character code to check. |
Returns:
| Type | Description |
|---|---|
|
True if the character code is a valid entry separator or whitespace. |
isError(value) → {Boolean}
Checks if a value is an Error object.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isGlobalTracingEnabled() → {boolean}
isGlobalTracingEnabled returns true if tracing is enabled globally, respecting cached status and active recording spans.
Returns:
| Type | Description |
|---|---|
| boolean |
True if global tracing is enabled. |
isInfinite(value) → {Boolean}
Checks if a value is Infinity or -Infinity.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isInstanceNotFoundError(error) → {boolean}
Checks whether the given error is an 'Instance not found' error.
Parameters:
| Name | Type | Description |
|---|---|---|
error |
Error |
The error to check. |
Returns:
| Type | Description |
|---|---|
| boolean |
True if the error is an 'Instance not found' error, and otherwise false. |
isInteger(value) → {Boolean}
Checks if a value is an integer.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isNull(value) → {Boolean}
Checks if a value is null.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isNumber(value) → {Boolean}
Checks if a value is a number.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isObject(value) → {Boolean}
Checks if a value is a plain javascript object.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isProjectIdNotSetInEnvironmentError(error) → {boolean}
Checks whether the given error is an 'Unable to detect a Project Id in the current environment' error.
Parameters:
| Name | Type | Description |
|---|---|---|
error |
Error |
The error to check. |
Returns:
| Type | Description |
|---|---|
| boolean |
True if the error is an 'Unable to detect a Project Id in the current environment' error, and otherwise false. |
isRetryableInternalError(error)
Checks whether the given error is a retryable internal error.
Parameters:
| Name | Type | Description |
|---|---|---|
error |
the error to check |
Returns:
| Type | Description |
|---|---|
|
true if the error is a retryable internal error, and otherwise false. |
isSessionNotFoundError(error)
Checks whether the given error is a 'Session not found' error.
Parameters:
| Name | Type | Description |
|---|---|---|
error |
the error to check |
Returns:
| Type | Description |
|---|---|
|
true if the error is a 'Session not found' error, and otherwise false. |
isString(value) → {Boolean}
Checks if a value is a string.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isTracingEnabled(optsopt) → {boolean}
isTracingEnabled returns true if tracing is enabled for the given options or globally.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
opts |
ObservabilityOptions |
<optional> |
The observability options. |
Returns:
| Type | Description |
|---|---|
| boolean |
True if tracing is enabled. |
isUndefined(value) → {Boolean}
Checks if a value is undefined.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
isUuid(value) → {Boolean}
Checks if a value is a UUID.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
The value to check. |
Returns:
| Type | Description |
|---|---|
| Boolean |
|
parseConsecutiveDigits(header, startIndex)
Parses consecutive ASCII digit characters into an integer starting from the given index.
Returns null if the character at startIndex is not a digit (e.g. non-numeric, negative, or empty).
Parsing stops at the first non-digit (e.g. ',', ';', or decimal point), matching the legacy
regex ([0-9]+) behavior without intermediate string slice allocations.
Parameters:
| Name | Type | Description |
|---|---|---|
header |
The 'server-timing' header string. |
|
startIndex |
The index where numeric digits are expected to begin. |
Returns:
| Type | Description |
|---|---|
|
The parsed non-negative integer, or null if no valid digits were found. |
replaceProjectIdToken(value, projectId) → {*}
Populate the {{projectId}} placeholder.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
* |
Any input value that may contain a placeholder. Arrays and objects will be looped. |
projectId |
string |
A projectId. If not provided |
Returns:
| Type | Description |
|---|---|
| * |
|
Throws:
-
If a projectId is required, but one is not provided.
- Type
- Error
resetAFEServerTimingForTest()
Resets the cached value (use in tests if env changes).
setSpanError() → {boolean}
Sets the span status with err, if non-null onto the span with status.code=ERROR and the message of err.toString()
Returns:
| Type | Description |
|---|---|
| boolean |
to signify if the status was set. |
setSpanErrorAndException(spanopt, erropt) → {boolean}
Sets err, if non-null onto the span with status.code=ERROR and the message of err.toString() as well as recording an exception on the span.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
span |
Span |
<optional> |
the subject span |
err |
Error |
<optional> |
the error whose message to use to record the span error and the span exception. |
Returns:
| Type | Description |
|---|---|
| boolean |
to signify if the status and exception were set. |
startTrace() → {Span}
startTrace begins an active span in the current active context and passes it back to the set callback function. Each span will be prefixed with "cloud.google.com/nodejs/spanner". It is the responsibility of the caller to invoke [span.end] when finished tracing.
Returns:
| Type | Description |
|---|---|
| Span |
The created span. |
toArray(value)
Converts any value into an array. Acts as a replacement for arrify.
If the value is null or undefined, returns an empty array.
If the value is already an array, returns is unchanges.
Otherwise, wraps the value in a new array.
Parameters:
| Name | Type | Description |
|---|---|---|
value |
The value to convert into an array. |
Returns:
| Type | Description |
|---|---|
|
An array containing the value, or an empty array. |
transformResourceMetricToTimeSeriesArray()
Convert the metrics data to a list of Google Cloud Monitoring time series.
Type Definitions
AsyncRunTransactionCallback(transaction)
Parameters:
| Name | Type | Description |
|---|---|---|
transaction |
Transaction |
The transaction object. The transaction has already been created, and is ready to be queried and committed against. |
CopyBackupCallback(sourceBackupId, backupId) → {Backup}
Parameters:
| Name | Type | Description |
|---|---|---|
sourceBackupId |
string |
Full path of the source backup to be copied. |
backupId |
string |
The name of the backup. |
|
CopyBackupOptions |
Returns:
| Type | Description |
|---|---|
| Backup |
A Backup object. |
Example
```
const {Spanner} = require('@google-cloud/spanner');
const spanner = new Spanner();
const instance = spanner.instance('my-instance');
const backup = instance.copyBackup('my-source-backup','my-backup',{
expireTime: expireTime,
encryptionConfig: {
encryptionType: 'CUSTOMER_MANAGED_ENCRYPTION',
kmsKeyName: 'projects/my-project-id/my-region/keyRings/my-key-ring/cryptoKeys/my-key',
},);
```
CopyBackupOptions
Get a reference to a Backup object.
CreateSessionCallback(errnullable, session, apiResponse)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
err |
Error |
<nullable> |
Request error, if any. |
session |
Session |
The Session. |
|
apiResponse |
object |
The full API response. |
ExecuteSqlRequest
ExecuteSql request options. This includes all standard ExecuteSqlRequest options as well as several convenience properties.
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
resumeToken |
string |
The token used to resume getting results. |
||
queryMode |
google.spanner.v1.ExecuteSqlRequest.QueryMode |
Query plan and execution statistics for the SQL statement that produced this result set. |
||
partitionToken |
string |
The partition token. |
||
seqno |
number |
The Sequence number. This option is used internally and will be overridden. |
||
sql |
string |
The SQL string. |
||
queryOptions |
google.spanner.v1.ExecuteSqlRequest.IQueryOptions |
<optional> |
Default query options to use with the database. These options will be overridden by any query options set in environment variables or that are specified on a per-query basis. |
|
requestOptions |
google.spanner.v1.IRequestOptions |
The request options to include with the commit request. |
||
params |
Object.<string, *> |
<optional> |
A map of parameter names to values. |
|
types |
Object.<string, (string|ParamType)> |
<optional> |
A map of parameter names to types. If omitted the client will attempt to guess for all non-null values. |
|
json |
boolean |
<optional> |
false |
Receive the rows as serialized objects. This
is the equivalent of calling |
jsonOptions |
JSONOptions |
<optional> |
Configuration options for the serialized objects. |
|
gaxOptions |
object |
<optional> |
Request configuration options, See CallOptions for more details. |
|
maxResumeRetries |
number |
<optional> |
The maximum number of times that the query will retry on retryable errors (such as UNAVAILABLE). Only applicable to non-streaming queries executed via Snapshot#run. For streaming queries (Snapshot#runStream), this option is deprecated as backpressure is managed automatically. |
|
directedReadOptions |
object |
<optional> |
Indicates which replicas or regions should be used for non-transactional reads or queries. |
Float
- See:
Float32
- See:
GetSessionResponse
Properties:
| Name | Type | Description |
|---|---|---|
0 |
Session |
The Session. |
1 |
object |
The full API response. |
IProtoEnumParams
Properties:
| Name | Type | Attributes | Description |
|---|---|---|---|
value |
string | number |
Proto Enum value as a string constant or an integer constant. |
|
fullName |
string |
Fully-qualified path name of proto enum. |
|
enumObject |
object |
<optional> |
An enum object generated by protobufjs-cli. |
IProtoMessageParams
Properties:
| Name | Type | Attributes | Description |
|---|---|---|---|
value |
object |
Proto Message value as serialized-buffer or message object. |
|
fullName |
string |
Fully-qualified path name of proto message. |
|
messageFunction |
function |
<optional> |
Function generated by protobufs containing helper methods for deserializing and serializing messages. |
Int
- See:
Interval
- See:
JSONOptions
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
wrapNumbers |
boolean |
<optional> |
false |
Indicates if the numbers should be wrapped in Int/Float wrappers. |
wrapStructs |
boolean |
<optional> |
false |
Indicates if the structs should be wrapped in Struct wrapper. |
includeNameless |
boolean |
<optional> |
false |
Indicates if nameless columns should be included in the result. If true, nameless columns will be assigned the name '_{column_index}'. |
KeyRange
A KeyRange represents a range of rows in a table or index.
A range has a start key and an end key. These keys can be open or closed, indicating if the range includes rows with that key.
Keys are represented by an array of strings where the nth value in the list corresponds to the nth component of the table or index primary key.
Properties:
| Name | Type | Attributes | Description |
|---|---|---|---|
startClosed |
Array.<string> |
<optional> |
If the start is closed, then the range includes all rows whose first key columns exactly match. |
startOpen |
Array.<string> |
<optional> |
If the start is open, then the range excludes rows whose first key columns exactly match. |
endClosed |
Array.<string> |
<optional> |
If the end is closed, then the range includes all rows whose first key columns exactly match. |
endOpen |
Array.<string> |
<optional> |
If the end is open, then the range excludes rows whose first key columns exactly match. |
Numeric
- See:
PGJsonb
- See:
PGNumeric
- See:
PGOid
- See:
-
- Spanner.pgOid
ParamType
Properties:
| Name | Type | Attributes | Description |
|---|---|---|---|
type |
string |
The param type. Must be one of the following: - uuid - float32 - float64 - int64 - numeric - pgNumeric - pgJsonb - pgOid - bool - string - bytes - json - interval - proto - enum - timestamp - date - struct - array - unspecified |
|
fields |
Array.<StructField> |
<optional> |
For struct types only. Type definitions for the individual fields. |
child |
string | ParamType |
<optional> |
For array types only. The array element type. |
ProtoEnum
- See:
ProtoMessage
- See:
ReadRequest
Read request options. This includes all standard ReadRequest options as well as several convenience properties.
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
table |
string |
The name of the table in the database to be read. |
||
columns |
Array.<string> |
The columns of the table to be returned for each row matching this query. |
||
keys |
Array.<string> | Array.<Array.<string>> |
The primary or index keys of the rows in this table to be yielded. If using a composite key, provide an array within this array. See the example below. |
||
ranges |
Array.<KeyRange> |
<optional> |
An alternative to the keys property; this can be used to define a range of keys to be yielded. |
|
index |
string |
<optional> |
The name of an index on the table if a different index than the primary key should be used to determine which rows to return. |
|
json |
boolean |
<optional> |
false |
Receive the rows as serialized objects. This
is the equivalent of calling |
jsonOptions |
JSONOptions |
<optional> |
Configuration options for the serialized objects. |
|
keySet |
object |
<optional> |
Defines a collection of keys and/or key ranges to read. |
|
limit |
number |
<optional> |
The number of rows to yield. |
|
partitionToken |
Buffer |
<optional> |
If present, results will be restricted to the specified partition previously created using PartitionRead(). There must be an exact match for the values of fields common to this message and the PartitionReadRequest message used to create this partition_token. |
|
requestOptions |
google.spanner.v1.RequestOptions |
<optional> |
Common options for this request. |
|
directedReadOptions |
google.spanner.v1.IDirectedReadOptions |
<optional> |
Indicates which replicas or regions should be used for non-transactional reads or queries. |
|
gaxOptions |
object |
<optional> |
Call options. See CallOptions for more details. |
SessionExistsCallback(errnullable, exists)
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
err |
Error |
<nullable> |
Request error, if any. |
exists |
boolean |
Whether the Session exists. |
SessionExistsResponse
Properties:
| Name | Type | Description |
|---|---|---|
0 |
boolean |
Whether the Session exists. |
Struct
- See:
StructField
Properties:
| Name | Type | Description |
|---|---|---|
name |
string |
The name of the field. |
TimestampBounds
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
strong |
boolean |
<optional> |
true |
Read at a timestamp where all previously committed transactions are visible. |
minReadTimestamp |
external:PreciseDate | google.protobuf.Timestamp |
<optional> |
Executes all reads at a |
|
maxStaleness |
number | google.protobuf.Timestamp |
<optional> |
Read data at a
|
|
readTimestamp |
external:PreciseDate | google.protobuf.Timestamp |
<optional> |
Executes all reads at the given timestamp. |
|
exactStaleness |
number | google.protobuf.Timestamp |
<optional> |
Executes all
reads at a timestamp that is |
|
returnReadTimestamp |
boolean |
<optional> |
true |
When true, Snapshot#readTimestamp will be populated after Snapshot#begin is called. |
TransactionIdentifier
Properties:
| Name | Type | Description |
|---|---|---|
session |
string | Session |
The full session name. |
transaction |
string |
The transaction ID. |
readTimestamp |
string | Date |
The transaction read timestamp. |