pub enum Join<E: Keyed> {
    Entity(Box<E>),
    Key(E::Key),
}
Expand description

The Join struct that hold either an entity or its key.

Variants

Entity(Box<E>)

Full entity is held. The entity is wrapped inside a Box. That does allow circular dependencies, in theory. In practice the compiler goes wild :(

Key(E::Key)

The entities key

Implementations

Constructs join for entity

Constructs join for key

Returns entity or None, if key is held.

Returns mutable entity or None, if key is held.

Returns entity or error E, if key is held.

Returns mut entity or error E, if key is held.

Returns a key. If entity is held, key is taken from that entity

Unwraps join into its entity. Can fail

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Returns the number of selects This is needed to advance the iterator and the row index. The Deserializer needs this information to skip left joins that have fields selected but are null. Those left joins cause select information in the select stream that must be skipped. Read more

Read row values into struct, starting from index. Advances iter and index Returns None for value unselected values or joined entities that have null keys. Return Error, if value is selected, but cannot be converted. Read more

Return primary key fields for a given entity.

Return key values as params. Useful to loop across a composite key.

Type of key.

Return value of the key for a given entity.

Type of key.

Return value of the key for a given entity.

Set the key of the implementing struct.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Returns true, if struct located at descendents has database generated keys.

Set or refresh keys of structs located at descendents.

Return columns of struct located at descendents.

Return values of structs located at descendents. The should_insert argument allows the method to only insert a part of the collection. This is needed to deal with newly added merges. Read more

Return the key column names

Return the key column values

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more