pub struct ZipColumnsSpec {
pub columns_path: String,
pub rows_path: String,
pub groups: Vec<ColumnGroupSpec>,
}transform-zip-columns only.Expand description
User-facing zip_columns config.
Fields§
§columns_path: StringJSONPath to the column names. Point it at the name of each column
descriptor (columns[*].name) or at a plain array of strings
(columns). Every matched value must be a string. Set exactly one of
columns_path or groups.
rows_path: StringJSONPath to the rows. With columns_path, an array of positional
value-arrays (rows or rows[*]), each exactly as wide as the column
list. With groups, the row objects (rows[*]).
groups: Vec<ColumnGroupSpec>Column groups (#746): each row object holds several positional cell
arrays, each named by its own header list (a runReport-style
dimensionValues / metricValues pair). Every group is zipped on its own and
the results are merged into one record; two groups naming the same
column is an error.
Implementations§
Source§impl ZipColumnsSpec
impl ZipColumnsSpec
Sourcepub fn compile(&self) -> Result<CompiledZipColumns, FaucetError>
pub fn compile(&self) -> Result<CompiledZipColumns, FaucetError>
Validate the spec, returning a reusable CompiledZipColumns.
Sourcepub fn into_stage(&self) -> Result<TransformStage, FaucetError>
pub fn into_stage(&self) -> Result<TransformStage, FaucetError>
Compile and wrap as a TransformStage::PageFn (1→0..N per record,
fallible on a row/column width mismatch).
Trait Implementations§
Source§impl Clone for ZipColumnsSpec
impl Clone for ZipColumnsSpec
Source§impl Debug for ZipColumnsSpec
impl Debug for ZipColumnsSpec
Source§impl<'de> Deserialize<'de> for ZipColumnsSpec
impl<'de> Deserialize<'de> for ZipColumnsSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for ZipColumnsSpec
impl JsonSchema for ZipColumnsSpec
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for ZipColumnsSpec
impl PartialEq for ZipColumnsSpec
Source§impl Serialize for ZipColumnsSpec
impl Serialize for ZipColumnsSpec
impl StructuralPartialEq for ZipColumnsSpec
Auto Trait Implementations§
impl Freeze for ZipColumnsSpec
impl RefUnwindSafe for ZipColumnsSpec
impl Send for ZipColumnsSpec
impl Sync for ZipColumnsSpec
impl Unpin for ZipColumnsSpec
impl UnsafeUnpin for ZipColumnsSpec
impl UnwindSafe for ZipColumnsSpec
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request