Class Snapshot

This transaction type provides guaranteed consistency across several reads, but does not allow writes. Snapshot read-only transactions can be configured to read at timestamps in the past.

When finished with the Snapshot, call to release the underlying Session. Failure to do so can result in a Session leak.

**This object is created and returned from .**

[Timestamp Bounds API Documentation](https://cloud.google.com/spanner/docs/timestamp-bounds)

Inheritance

EventEmitter > Snapshot

Package

@google-cloud/spanner!

Constructors

(constructor)(session, options, queryOptions)

constructor(session: Session, options?: TimestampBounds, queryOptions?: IQueryOptions);

Constructs a new instance of the Snapshot class

Parameters
TypeNameDescription
Sessionsession

The parent Session object.

TimestampBoundsoptions

Snapshot timestamp bounds.

spannerClient.spanner.v1.ExecuteSqlRequest.IQueryOptionsqueryOptions

Default query options to use when none are specified for a query.

Properties

_options

protected _options: spannerClient.spanner.v1.ITransactionOptions;
Property Value
TypeDescription
spannerClient.spanner.v1.ITransactionOptions

_seqno

protected _seqno: number;
Property Value
TypeDescription
number

ended

ended: boolean;
Property Value
TypeDescription
boolean

id

id?: Uint8Array | string;
Property Value
TypeDescription
Uint8Array | string

metadata

metadata?: spannerClient.spanner.v1.ITransaction;
Property Value
TypeDescription
spannerClient.spanner.v1.ITransaction

queryOptions

queryOptions?: IQueryOptions;
Property Value
TypeDescription
spannerClient.spanner.v1.ExecuteSqlRequest.IQueryOptions

readTimestamp

readTimestamp?: PreciseDate;
Property Value
TypeDescription
PreciseDate

readTimestampProto

readTimestampProto?: spannerClient.protobuf.ITimestamp;
Property Value
TypeDescription
spannerClient.protobuf.ITimestamp

request

request: (config: {}, callback: Function) => void;
Property Value
TypeDescription
(config: {}, callback: Function) => void

requestOptions

requestOptions?: Pick<IRequestOptions, 'transactionTag'>;
Property Value
TypeDescription
Pick<google.spanner.v1.IRequestOptions, 'transactionTag'>

requestStream

requestStream: (config: {}) => Readable;
Property Value
TypeDescription
(config: {}) => internal.Readable

resourceHeader_

resourceHeader_: {
        [k: string]: string;
    };
Property Value
TypeDescription
{ [k: string]: string; }

session

session: Session;
Property Value
TypeDescription
Session

Methods

begin(gaxOptions)

begin(gaxOptions?: CallOptions): Promise<BeginResponse>;
Parameter
TypeNameDescription
CallOptionsgaxOptions
Returns
TypeDescription
Promise<BeginResponse>

begin(callback)

begin(callback: BeginTransactionCallback): void;
Parameter
TypeNameDescription
BeginTransactionCallbackcallback
Returns
TypeDescription
void

begin(gaxOptions, callback)

begin(gaxOptions: CallOptions, callback: BeginTransactionCallback): void;
Parameters
TypeNameDescription
CallOptionsgaxOptions
BeginTransactionCallbackcallback
Returns
TypeDescription
void

configureTagOptions(singleUse, transactionTag, requestOptions)

configureTagOptions(singleUse?: boolean, transactionTag?: string, requestOptions?: {}): IRequestOptions | null;
Parameters
TypeNameDescription
booleansingleUse
stringtransactionTag
{}requestOptions
Returns
TypeDescription
google.spanner.v1.IRequestOptions | null

createReadStream(table, request)

createReadStream(table: string, request?: ReadRequest): PartialResultStream;

Create a readable object stream to receive rows from the database using key lookups and scans.

Wrapper around .

[StreamingRead API Documentation](https://cloud.google.com/spanner/docs/reference/rpc/google.spanner.v1#google.spanner.v1.Spanner.StreamingRead) [ReadRequest API Documentation](https://cloud.google.com/spanner/docs/reference/rpc/google.spanner.v1#google.spanner.v1.ReadRequest)

PartialResultStream#response PartialResultStream#stats

Parameters
TypeNameDescription
stringtable

The table to read from.

ReadRequestrequest
Returns
TypeDescription
PartialResultStream

{ReadableStream} A readable stream that emits rows.

encodeKeySet(request)

static encodeKeySet(request: ReadRequest): spannerClient.spanner.v1.IKeySet;

Transforms convenience options keys and ranges into a KeySet object.

Parameter
TypeNameDescription
ReadRequestrequest

The read request.

Returns
TypeDescription
spannerClient.spanner.v1.IKeySet

{object}

encodeParams(request)

static encodeParams(request: ExecuteSqlRequest): {
        params: p.IStruct;
        paramTypes: {
            [field: string]: spannerClient.spanner.v1.Type;
        };
    };

Encodes convenience options param and types into the proto formatted.

Parameter
TypeNameDescription
ExecuteSqlRequestrequest

The SQL request.

Returns
TypeDescription
{ params: common.IStruct; paramTypes: { [field: string]: google.spanner.v1.Type; }; }

{object}

encodeTimestampBounds(options)

static encodeTimestampBounds(options: TimestampBounds): spannerClient.spanner.v1.TransactionOptions.IReadOnly;

Formats timestamp options into proto format.

Parameter
TypeNameDescription
TimestampBoundsoptions

The user supplied options.

Returns
TypeDescription
spannerClient.spanner.v1.TransactionOptions.IReadOnly

{object}

end()

end(): void;

Let the client know you're done with a particular transaction. This should mainly be called for Snapshot objects, however in certain cases you may want to call them for Transaction objects as well.

Returns
TypeDescription
void

read(table, request)

read(table: string, request: ReadRequest): Promise<ReadResponse>;
Parameters
TypeNameDescription
stringtable
ReadRequestrequest
Returns
TypeDescription
Promise<ReadResponse>

read(table, callback)

read(table: string, callback: ReadCallback): void;
Parameters
TypeNameDescription
stringtable
ReadCallbackcallback
Returns
TypeDescription
void

read(table, request, callback)

read(table: string, request: ReadRequest, callback: ReadCallback): void;
Parameters
TypeNameDescription
stringtable
ReadRequestrequest
ReadCallbackcallback
Returns
TypeDescription
void

run(query)

run(query: string | ExecuteSqlRequest): Promise<RunResponse>;
Parameter
TypeNameDescription
string | ExecuteSqlRequestquery
Returns
TypeDescription
Promise<RunResponse>

run(query, callback)

run(query: string | ExecuteSqlRequest, callback: RunCallback): void;
Parameters
TypeNameDescription
string | ExecuteSqlRequestquery
RunCallbackcallback
Returns
TypeDescription
void

runStream(query)

runStream(query: string | ExecuteSqlRequest): PartialResultStream;

Create a readable object stream to receive resulting rows from a SQL statement.

Wrapper around .

[ExecuteStreamingSql API Documentation](https://cloud.google.com/spanner/docs/reference/rpc/google.spanner.v1#google.spanner.v1.Spanner.ExecuteStreamingSql) [ExecuteSqlRequest API Documentation](https://cloud.google.com/spanner/docs/reference/rpc/google.spanner.v1#google.spanner.v1.ExecuteSqlRequest)

PartialResultStream#response PartialResultStream#stats

Parameter
TypeNameDescription
string | ExecuteSqlRequestquery

A SQL query or object.

Returns
TypeDescription
PartialResultStream

{ReadableStream}