lib/aerospike/key.rb in aerospike-2.22.0 vs lib/aerospike/key.rb in aerospike-2.23.0
- old
+ new
@@ -51,19 +51,24 @@
@unsupported_key_warning
end
attr_reader :namespace, :set_name, :digest
- def initialize(ns, set, val, digest=nil, v1_compatible: self.class.v1_compatible?)
+ def initialize(ns, set, val, digest=nil, bval: nil, v1_compatible: self.class.v1_compatible?)
@namespace = ns
@set_name = set
@user_key = Value.of(val)
check_key!(@namespace, @set_name, @user_key, !digest.nil?)
@digest = digest || compute_digest(v1_compatible)
+ @bval = bval
end
+ def bval
+ @bval
+ end
+
def to_s
"#{@namespace}:#{@set_name}:#{@user_key}:#{@digest.nil? ? '' : @digest.bytes}"
end
def user_key
@@ -81,9 +86,13 @@
end
alias eql? ==
def hash
@digest.hash
+ end
+
+ def partition_id
+ (@digest[0..3].unpack(Partition::UNPACK_FORMAT)[0] & 0xFFFF) % Node::PARTITIONS
end
private
def valid_key?(value, has_digest)