Table of Contents

Class ShredResult

Namespace
Apache.Arrow.Operations.Shredding
Assembly
Apache.Arrow.Operations.dll

The result of shredding a single variant value: a (value, typed_value) pair.

Follows the Parquet variant shredding spec encoding matrix:

  • Both null → missing (only valid for object sub-fields)
  • value non-null, typed_value null → unshredded (value in binary)
  • value null, typed_value non-null → fully shredded into typed column
  • Both non-null → partially shredded object (typed_value has shredded fields, value has residual)
public sealed class ShredResult
Inheritance
ShredResult
Inherited Members

Constructors

ShredResult(byte[], object)

Creates a shred result.

public ShredResult(byte[] value, object typedValue)

Parameters

value byte[]
typedValue object

Fields

Missing

A missing result (both null).

public static readonly ShredResult Missing

Field Value

ShredResult

Properties

IsMissing

True when both Value and TypedValue are null, indicating the field is missing (only valid for object sub-fields).

public bool IsMissing { get; }

Property Value

bool

TypedValue

The typed value extracted according to the schema. The runtime type depends on the TypedValueType:

Null when the value does not match the schema type (falls back to binary).

public object TypedValue { get; }

Property Value

object

Value

The residual variant value bytes. These reference the column-level metadata returned by Shred(IEnumerable<VariantValue>, ShredSchema); they are NOT self-contained. Non-null when the value (or part of it) could not be shredded into the typed column. For partially shredded objects this contains only the unshredded fields.

public byte[] Value { get; }

Property Value

byte[]