# `QuackDB.Protocol.DataChunk`
[🔗](https://github.com/elixir-vibe/quackdb/blob/main/lib/quack_db/protocol/data_chunk.ex#L1)

Decoder for DuckDB Quack `DataChunk` payloads.

Data chunks carry a row count, logical types, and column vectors. This module
validates the chunk wrapper and converts decoded vectors into row-oriented
results for the current DBConnection/Ecto-facing API.

# `column`

```elixir
@type column() :: %{
  type: QuackDB.Protocol.LogicalType.t(),
  vector_type: atom(),
  values: [term()]
}
```

# `t`

```elixir
@type t() :: %QuackDB.Protocol.DataChunk{
  columns: [column()],
  row_count: non_neg_integer(),
  types: [QuackDB.Protocol.LogicalType.t()]
}
```

# `decode_wrapper`

```elixir
@spec decode_wrapper(binary()) :: QuackDB.Protocol.Reader.read_result(t())
```

# `rows`

```elixir
@spec rows(t(), [String.t()] | nil) :: [[term()]]
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
