Skip to main content

columnar_negate

Function columnar_negate 

Source
pub fn columnar_negate<'scope, T>(
    collection: Collection<'scope, T, Column<(Row, T, Diff)>>,
) -> Collection<'scope, T, Column<(Row, T, Diff)>>
where T: RenderTimestamp,
Expand description

Negates the diff of every record in a ColumnarCollection.

Rows and times are pushed from their borrowed forms. Only the diff is materialized, and it is Copy.

TODO: Rebuild only the diff column. Borrow the input column, build one owned negated diff column from the borrowed diffs, and re-encode using the borrowed row and time columns directly, so row and time bytes are copied once rather than pushed per record. The serialized (Align / Bytes) input case needs care, since all columns share a single buffer.