Re-exports§
pub use pretty_serde::PrettySerde;
pub use column_index_mapping::*;
pub use condition::*;
pub use stream_graph_formatter::*;
pub use with_options::*;
pub use rewrite_index::*;
pub use index_set::*;
pub use group_by::*;
pub use overwrite_options::*;
Modules§
- column_
index_ πmapping - condition π
- connected_
components π - group_
by π - index_
set π - pretty_
serde π@kwannoel: This module implements Serde for the Pretty struct. Why not implement it directly on our plan nodes? Thatβs because Pretty already summarizes the fields that are important to us. You can see that whenexplain()
is called, we directly return thePretty
struct. The proper way to do this would be to create a new data structure that plan nodes get converted into, and then implementSerialize
andDeserialize
on that data structure (including toPretty
). But thatβs a lot of refactoring work. So we just wrapPretty
in a newtype and implementSerialize
on that, since itβs a good enough intermediate representation. - rewrite_
index π - with_
options π
Structs§
- Substitute
InputRef
with correspondingExprImpl
.
Traits§
- An object safe version of
Eq
. This trait is automatically implemented for any'static
type that implementsEq
. - An object safe version of
Hash
. This trait is automatically implemented for any'static
type that implementsHash
. - Given a tree-like structure
T
, we usually can specify a transformationT -> T
by providing a pre-order transformationpre : T -> T
and a post-order transformationpost : T -> T
. Specifically, the derived transformationapply : T -> T
first appliespre
, then maps itself over the subtrees, and finally appliespost
. This allows us to obtain a global transformation acting recursively on all levels by specifying simpler transformations at acts locally. - A
Layer
is a container with subcomponents of typeSub
. We usually useLayer
to represents one layer of a tree-like structure, where the subcomponents are the recursive subtrees. But in general, the subcomponent can be of different type than theLayer
. Such structural relation betweenSub
andLayer
allows us to lift transformation onSub
to that onLayer.
A related and even more general notion isFunctor
, which might also be helpful to define in the future. - A similar trait to generate traversal over tree-like structure. See
Endo
for more details.
Functions§
Trait Aliases§
- A tree-like structure is a
Layer
where the subcomponents are recursively trees.