Method: Aerospike::Exp::Map.get_by_value_relative_rank_range

Defined in:
lib/aerospike/exp/exp_map.rb

.get_by_value_relative_rank_range(return_type, value, rank, bin, ctx: nil, count: nil) ⇒ Object

Create expression that selects map items nearest to value and greater by relative rank (with a count limit if passed). Expression returns selected data specified by return_type (See MapReturnType).

Examples for map [4=2,9=10,5=15,0=17]:

(value,rank) = [selected items] (11,1) = [0=17] (11,-1) = [9=10,5=15,0=17]

[View source]

383
384
385
386
387
388
389
390
# File 'lib/aerospike/exp/exp_map.rb', line 383

def self.get_by_value_relative_rank_range(return_type, value, rank, bin, ctx: nil, count: nil)
  bytes = if count.nil?
    Exp.pack(ctx, GET_BY_VALUE_REL_RANK_RANGE, return_type, value, rank)
          else
    Exp.pack(ctx, GET_BY_VALUE_REL_RANK_RANGE, return_type, value, rank, count)
          end
  add_read(bin, bytes, get_value_type(return_type))
end