class Google::Cloud::Bigtable::RowRange
# RowRange
Specifies a contiguous range of rows.
-
From key bound : The row key at which to begin the range. If neither field is set, interpreted as an empty string, inclusive.
-
End key bound: The row key at which to end the range. If neither field is set, interpreted as the infinite row key, exclusive.
@example
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" # Range that includes all row keys including "user-001" to "user-005" table.new_row_range.from("user-001").to("user-005", inclusive: true) # Range that includes all row keys including "user-001" up to exclusive "user-010". table.new_row_range.from("user-001").to("user-010") # Range that includes all row keys including "user-001" up until end of the row keys. table.new_row_range.from "user-001" # Range that includes all row keys exclusive "user-001" up until end of the row keys. table.new_row_range.from "user-001", inclusive: false # Range with unbounded from and the exclusive end "user-010" table.new_row_range.to "user-010" # Range that includes all row keys including from and end row keys "user-001", "user-010" table.new_row_range.between "user-001", "user-010" # Range that includes all row keys including "user-001" up until "user-010" table.new_row_range.of "user-001", "user-010"
Public Class Methods
@private Creates a row range instance.
# File lib/google/cloud/bigtable/row_range.rb, line 59 def initialize @grpc = Google::Cloud::Bigtable::V2::RowRange.new end
Public Instance Methods
Sets a row range with inclusive upper and lower bounds.
@param from_key [String] Inclusive from row key. Required. @param to_key [String] Inclusive end row key. Required. @return [Google::Cloud::Bigtable::RowRange]
Range with inclusive from and end row keys.
@example
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" range = table.new_row_range.between "key-001", "key-010"
# File lib/google/cloud/bigtable/row_range.rb, line 145 def between from_key, to_key from(from_key).to(to_key, inclusive: true) end
Sets a row range with a lower bound.
@param key [String] Row
key. Required. @param inclusive [String] Inclusive/exclusive lower bound.
Default is an inclusive lower bound.
@return [Google::Cloud::Bigtable::RowRange]
@example Inclusive lower bound.
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" range = table.new_row_range.from "key-001"
@example Exclusive lower bound.
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" range = table.new_row_range.from "key-001", inclusive: false
# File lib/google/cloud/bigtable/row_range.rb, line 87 def from key, inclusive: true if inclusive @grpc.start_key_closed = key else @grpc.start_key_open = key end self end
Sets a row range with an inclusive lower bound and an exclusive upper bound.
@param from_key [String] Inclusive from row key. @param to_key [String] Exclusive end row key. @return [Google::Cloud::Bigtable::RowRange]
Range with inclusive from and exclusive end row key.
@example
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" range = table.new_row_range.of "key-001", "key-010"
# File lib/google/cloud/bigtable/row_range.rb, line 165 def of from_key, to_key from(from_key).to(to_key) end
Sets a row range with an upper bound.
@param key [String] Row
key. Required. @param inclusive [String] Inclusive/Exclusive upper bound.
Default it is an exclusive upper bound.
@return [Google::Cloud::Bigtable::RowRange]
@example Inclusive upper bound.
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" range = table.new_row_range.to "key-001", inclusive: true
@example Exclusive upper bound.
require "google/cloud/bigtable" bigtable = Google::Cloud::Bigtable.new table = bigtable.table "my-instance", "my-table" range = table.new_row_range.to "key-001"
# File lib/google/cloud/bigtable/row_range.rb, line 120 def to key, inclusive: false if inclusive @grpc.end_key_closed = key else @grpc.end_key_open = key end self end
@private
@return [Google::Cloud::Bigtable::V2::RowRange]
# File lib/google/cloud/bigtable/row_range.rb, line 173 def to_grpc @grpc end