class Cql::Client::LazyQueryResult

@private

Public Class Methods

new(metadata, lazy_rows, trace_id, paging_state) click to toggle source
Calls superclass method Cql::Client::QueryResult::new
# File lib/cql/client/query_result.rb, line 168
def initialize(metadata, lazy_rows, trace_id, paging_state)
  super(metadata, nil, trace_id, paging_state)
  @raw_metadata = metadata
  @lazy_rows = lazy_rows
  @lock = Mutex.new
end

Public Instance Methods

each(&block) click to toggle source
Calls superclass method Cql::Client::QueryResult#each
# File lib/cql/client/query_result.rb, line 180
def each(&block)
  ensure_materialized
  super
end
Also aliased as: each_row
each_row(&block)
Alias for: each
empty?() click to toggle source
Calls superclass method Cql::Client::QueryResult#empty?
# File lib/cql/client/query_result.rb, line 175
def empty?
  ensure_materialized
  super
end

Private Instance Methods

ensure_materialized() click to toggle source
# File lib/cql/client/query_result.rb, line 188
def ensure_materialized
  unless @rows
    @lock.lock
    begin
      unless @rows
        @rows = @lazy_rows.materialize(@raw_metadata)
      end
    ensure
      @lock.unlock
    end
  end
end