Class: Google::Apis::SpannerV1::ReadRequest

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/spanner_v1/classes.rb,
lib/google/apis/spanner_v1/representations.rb,
lib/google/apis/spanner_v1/representations.rb

Overview

The request for Read and StreamingRead.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ ReadRequest

Returns a new instance of ReadRequest.



2681
2682
2683
# File 'lib/google/apis/spanner_v1/classes.rb', line 2681

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#columnsArray<String>

Required. The columns of table to be returned for each row matching this request. Corresponds to the JSON property columns

Returns:

  • (Array<String>)


2626
2627
2628
# File 'lib/google/apis/spanner_v1/classes.rb', line 2626

def columns
  @columns
end

#indexString

If non-empty, the name of an index on table. This index is used instead of the table primary key when interpreting key_set and sorting result rows. See key_set for further information. Corresponds to the JSON property index

Returns:

  • (String)


2633
2634
2635
# File 'lib/google/apis/spanner_v1/classes.rb', line 2633

def index
  @index
end

#key_setGoogle::Apis::SpannerV1::KeySet

KeySet defines a collection of Cloud Spanner keys and/or key ranges. All the keys are expected to be in the same table or index. The keys need not be sorted in any particular way. If the same key is specified multiple times in the set (for example if two ranges, two keys, or a key and a range overlap), Cloud Spanner behaves as if the key were only specified once. Corresponds to the JSON property keySet



2642
2643
2644
# File 'lib/google/apis/spanner_v1/classes.rb', line 2642

def key_set
  @key_set
end

#limitFixnum

If greater than zero, only the first limit rows are yielded. If limit is zero, the default is no limit. A limit cannot be specified if partition_token is set. Corresponds to the JSON property limit

Returns:

  • (Fixnum)


2649
2650
2651
# File 'lib/google/apis/spanner_v1/classes.rb', line 2649

def limit
  @limit
end

#partition_tokenString

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. Corresponds to the JSON property partitionToken NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


2658
2659
2660
# File 'lib/google/apis/spanner_v1/classes.rb', line 2658

def partition_token
  @partition_token
end

#resume_tokenString

If this request is resuming a previously interrupted read, resume_token should be copied from the last PartialResultSet yielded before the interruption. Doing this enables the new read to resume where the last read left off. The rest of the request parameters must exactly match the request that yielded this token. Corresponds to the JSON property resumeToken NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


2668
2669
2670
# File 'lib/google/apis/spanner_v1/classes.rb', line 2668

def resume_token
  @resume_token
end

#tableString

Required. The name of the table in the database to be read. Corresponds to the JSON property table

Returns:

  • (String)


2673
2674
2675
# File 'lib/google/apis/spanner_v1/classes.rb', line 2673

def table
  @table
end

#transactionGoogle::Apis::SpannerV1::TransactionSelector

This message is used to select the transaction in which a Read or ExecuteSql call runs. See TransactionOptions for more information about transactions. Corresponds to the JSON property transaction



2679
2680
2681
# File 'lib/google/apis/spanner_v1/classes.rb', line 2679

def transaction
  @transaction
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
# File 'lib/google/apis/spanner_v1/classes.rb', line 2686

def update!(**args)
  @columns = args[:columns] if args.key?(:columns)
  @index = args[:index] if args.key?(:index)
  @key_set = args[:key_set] if args.key?(:key_set)
  @limit = args[:limit] if args.key?(:limit)
  @partition_token = args[:partition_token] if args.key?(:partition_token)
  @resume_token = args[:resume_token] if args.key?(:resume_token)
  @table = args[:table] if args.key?(:table)
  @transaction = args[:transaction] if args.key?(:transaction)
end