Class: Google::Cloud::Spanner::Range

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/spanner/range.rb

Overview

Range

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.

Examples:

require "google/cloud/spanner"

spanner = Google::Cloud::Spanner.new

db = spanner.client "my-instance", "my-database"

key_range = db.range 1, 100
results = db.read "users", [:id, :name], keys: key_range

results.rows.each do |row|
  puts "User #{row[:id]} is #{row[:name]}"
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(beginning, ending, exclude_begin: false, exclude_end: false) ⇒ Range

Creates a Spanner Range. This can be used in place of a Ruby Range when needing to exclude the beginning value.

Examples:

require "google/cloud/spanner"

spanner = Google::Cloud::Spanner.new

db = spanner.client "my-instance", "my-database"

key_range = Google::Cloud::Spanner::Range.new 1, 100
results = db.read "users", [:id, :name], keys: key_range

results.rows.each do |row|
  puts "User #{row[:id]} is #{row[:name]}"
end

Parameters:

  • beginning (Object)

    The object that defines the beginning of the range.

  • ending (Object)

    The object that defines the end of the range.

  • exclude_begin (Boolean) (defaults to: false)

    Determines if the range excludes its beginning value. Default is false.

  • exclude_end (Boolean) (defaults to: false)

    Determines if the range excludes its ending value. Default is false.


75
76
77
78
79
80
81
# File 'lib/google/cloud/spanner/range.rb', line 75

def initialize beginning, ending, exclude_begin: false,
               exclude_end: false
  @begin = beginning
  @end = ending
  @exclude_begin = exclude_begin
  @exclude_end = exclude_end
end

Instance Attribute Details

#beginObject (readonly)

Returns the object that defines the beginning of the range.


43
44
45
# File 'lib/google/cloud/spanner/range.rb', line 43

def begin
  @begin
end

#endObject (readonly)

Returns the object that defines the end of the range.


47
48
49
# File 'lib/google/cloud/spanner/range.rb', line 47

def end
  @end
end

Instance Method Details

#exclude_begin?Boolean

Returns true if the range excludes its beginning value.

Returns:

  • (Boolean)

86
87
88
# File 'lib/google/cloud/spanner/range.rb', line 86

def exclude_begin?
  @exclude_begin
end

#exclude_end?Boolean

Returns true if the range excludes its end value.

Returns:

  • (Boolean)

93
94
95
# File 'lib/google/cloud/spanner/range.rb', line 93

def exclude_end?
  @exclude_end
end