Skip to main content

RecordKind

Enum RecordKind 

Source
#[repr(u8)]
pub enum RecordKind { String = 0, CollectionChunk = 1, Document = 2, Vector = 3, GraphNode = 4, GraphAdj = 5, Checkpoint = 6, Tombstone = 7, IndexDelta = 8, }
Expand description

What a record holds. 06 section 2.1.

This is deliberately not the type a reader gets back. A version one reader must skip a kind it has never heard of rather than refuse the file (07 section 9), so RecordRef keeps the raw byte and offers this as a question.

Variants§

§

String = 0

A plain string value.

§

CollectionChunk = 1

One chunk of a collection, or of a value too large for a page.

§

Document = 2

A document.

§

Vector = 3

A vector.

§

GraphNode = 4

A graph node.

§

GraphAdj = 5

A graph adjacency run.

§

Checkpoint = 6

A checkpoint marker.

§

Tombstone = 7

A deletion.

§

IndexDelta = 8

An index change that replay applies directly instead of reinserting.

Implementations§

Source§

impl RecordKind

Source

pub const ALL: [RecordKind; 9]

Every kind this version knows, in order.

Source

pub const fn from_u8(b: u8) -> Option<RecordKind>

The kind for a byte, or None if this version has not heard of it.

Source

pub const fn as_u8(self) -> u8

The byte.

Source

pub const fn carries_a_key(self) -> bool

Whether a record of this kind carries a key.

Chunks do not: they are addressed by the header record that lists them, and repeating the key in every chunk of a large collection would be the dominant cost of storing it.

Trait Implementations§

Source§

impl Clone for RecordKind

Source§

fn clone(&self) -> RecordKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for RecordKind

Source§

impl Debug for RecordKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for RecordKind

Source§

impl PartialEq for RecordKind

Source§

fn eq(&self, other: &RecordKind) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for RecordKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.