Trait datagen::relation::KeyAttribute
source · [−]pub trait KeyAttribute: Sized + 'static {
fn null_key() -> Self;
fn try_from_usize(x: usize) -> Result<Self>;
}
Expand description
Specifies that the type is suitable to be a join, grouping, or partitioning key.
A key attribute is a primitive type (e.g., an integer or floating point type).
It reserves a NULL
value in it’s value range and usize
values map to a
unique key value.
The NULL
value is expected to have a binary representation of all ones. For
signed integers, that value equals -1, for unsigned integers, the value
equals 0xF…F.
The NULL
value in Rust must be kept in sync with the NULL
value in C++
and CUDA.