pub struct StructConstructorExpr<X: Extension = NoExt> {
pub fields: ThinVec<StructConstructorField<X>>,
pub args: ThinVec<StructConstructorArg<X>>,
pub meta: Meta,
}Expand description
A BigQuery STRUCT(...) value constructor — the typeless STRUCT(1, 2) /
STRUCT(x AS a) forms and the typed STRUCT<a INT64, b STRING>(1, 'x') form.
Mirrors sqlparser-rs’s Expr::Struct { values, fields }, reshaped to this crate’s
canonical-shape-plus-owned-sub-nodes convention: args are the positional value
arguments (each optionally AS-aliased in the typeless form, which sqlparser-rs
spells as a separate Expr::Named node), and fields are the typed field
declarations from the STRUCT<...> angle-bracket prefix. fields is empty for the
typeless form — BigQuery requires at least one type inside <...>, so an empty list
is the unambiguous “typeless” marker and no separate flag is needed. Boxed inside
Expr::StructConstructor to keep the hot expression enum within its size budget.
Fields§
§fields: ThinVec<StructConstructorField<X>>fields in source order.
args: ThinVec<StructConstructorArg<X>>Arguments in source order.
meta: MetaSource location and node identity.
Trait Implementations§
Source§impl<X: Clone + Extension> Clone for StructConstructorExpr<X>
impl<X: Clone + Extension> Clone for StructConstructorExpr<X>
Source§fn clone(&self) -> StructConstructorExpr<X>
fn clone(&self) -> StructConstructorExpr<X>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more