Module edgedb_protocol::descriptors
source · Expand description
(Website reference) Types for the Descriptor enum.
ⓘ
pub enum Descriptor {
Set(SetDescriptor),
ObjectShape(ObjectShapeDescriptor),
BaseScalar(BaseScalarTypeDescriptor),
Scalar(ScalarTypeDescriptor),
Tuple(TupleTypeDescriptor),
NamedTuple(NamedTupleTypeDescriptor),
Array(ArrayTypeDescriptor),
Enumeration(EnumerationTypeDescriptor),
InputShape(InputShapeTypeDescriptor),
Range(RangeTypeDescriptor),
MultiRange(MultiRangeTypeDescriptor),
TypeAnnotation(TypeAnnotationDescriptor),
}
From the website:
The type descriptor is essentially a list of type information blocks:
- each block encodes one type;
- blocks can reference other blocks.
While parsing the blocks, a database driver can assemble an encoder or a decoder of the EdgeDB binary data.
An encoder is used to encode objects, native to the driver’s runtime, to binary data that EdegDB can decode and work with.
A decoder is used to decode data from EdgeDB native format to data types native to the driver.
Re-exports§
pub use crate::common::RawTypedesc;