Enum foundationdb::options::MutationType
source · pub enum MutationType {
Show 13 variants
Add,
And,
BitAnd,
Or,
BitOr,
Xor,
BitXor,
Max,
Min,
SetVersionstampedKey,
SetVersionstampedValue,
ByteMin,
ByteMax,
}
Variants§
Add
addend
Performs an addition of little-endian integers. If the existing value in the database is not present or shorter than param
, it is first extended to the length of param
with zero bytes. If param
is shorter than the existing value in the database, the existing value is truncated to match the length of param
. The integers to be added must be stored in a little-endian representation. They can be signed in two’s complement representation or unsigned. You can add to an integer at a known offset in the value by prepending the appropriate number of zero bytes to param
and padding with zero bytes to match the length of the value. However, this offset technique requires that you know the addition will not cause the integer field within the value to overflow.
And
value with which to perform bitwise and
Deprecated
BitAnd
value with which to perform bitwise and
Performs a bitwise and
operation. If the existing value in the database is not present, then param
is stored in the database. If the existing value in the database is shorter than param
, it is first extended to the length of param
with zero bytes. If param
is shorter than the existing value in the database, the existing value is truncated to match the length of param
.
Or
value with which to perform bitwise or
Deprecated
BitOr
value with which to perform bitwise or
Performs a bitwise or
operation. If the existing value in the database is not present or shorter than param
, it is first extended to the length of param
with zero bytes. If param
is shorter than the existing value in the database, the existing value is truncated to match the length of param
.
Xor
value with which to perform bitwise xor
Deprecated
BitXor
value with which to perform bitwise xor
Performs a bitwise xor
operation. If the existing value in the database is not present or shorter than param
, it is first extended to the length of param
with zero bytes. If param
is shorter than the existing value in the database, the existing value is truncated to match the length of param
.
Max
value to check against database value
Performs a little-endian comparison of byte strings. If the existing value in the database is not present or shorter than param
, it is first extended to the length of param
with zero bytes. If param
is shorter than the existing value in the database, the existing value is truncated to match the length of param
. The larger of the two values is then stored in the database.
Min
value to check against database value
Performs a little-endian comparison of byte strings. If the existing value in the database is not present, then param
is stored in the database. If the existing value in the database is shorter than param
, it is first extended to the length of param
with zero bytes. If param
is shorter than the existing value in the database, the existing value is truncated to match the length of param
. The smaller of the two values is then stored in the database.
SetVersionstampedKey
value to which to set the transformed key
Transforms key
using a versionstamp for the transaction. Sets the transformed key in the database to param
. A versionstamp is a 10 byte, unique, monotonically (but not sequentially) increasing value for each committed transaction. The first 8 bytes are the committed version of the database. The last 2 bytes are monotonic in the serialization order for transactions. WARNING: At this time versionstamps are compatible with the Tuple layer only in the Java and Python bindings. Note that this implies versionstamped keys may not be used with the Subspace and Directory layers except in those languages.
SetVersionstampedValue
value to versionstamp and set
Transforms param
using a versionstamp for the transaction. Sets key
in the database to the transformed parameter. A versionstamp is a 10 byte, unique, monotonically (but not sequentially) increasing value for each committed transaction. The first 8 bytes are the committed version of the database. The last 2 bytes are monotonic in the serialization order for transactions. WARNING: At this time versionstamped values are not compatible with the Tuple layer.
ByteMin
value to check against database value
Performs lexicographic comparison of byte strings. If the existing value in the database is not present, then param
is stored. Otherwise the smaller of the two values is then stored in the database.
ByteMax
value to check against database value
Performs lexicographic comparison of byte strings. If the existing value in the database is not present, then param
is stored. Otherwise the larger of the two values is then stored in the database.
Implementations§
source§impl MutationType
impl MutationType
pub fn code(&self) -> FDBMutationType
Trait Implementations§
source§impl Clone for MutationType
impl Clone for MutationType
source§fn clone(&self) -> MutationType
fn clone(&self) -> MutationType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more