# `QuackDB.Ecto.Struct`
[🔗](https://github.com/elixir-vibe/quackdb/blob/main/lib/quack_db/ecto/struct.ex#L2)

DuckDB STRUCT expression helpers for Ecto queries.

Natural names are available when importing this module directly. With
`use QuackDB.Ecto`, ambiguous names such as `contains/2`, `extract/2`,
`values/1`, `position/2`, and `concat/2` are excluded; use the explicit
aliases instead.

# `concat`
*macro* 

Builds `struct_concat(left, right)`.

# `contains`
*macro* 

Builds `struct_contains(struct, value)`.

# `contains_struct`
*macro* 

Builds `struct_contains(struct, value)`.

# `extract`
*macro* 

Builds `struct_extract(struct, field_or_index)`.

# `extract_at`
*macro* 

Builds `struct_extract_at(struct, index)`.

# `position`
*macro* 

Builds `struct_position(struct, value)`.

# `struct_concat`
*macro* 

Builds `struct_concat(left, right)`.

# `struct_extract`
*macro* 

Builds `struct_extract(struct, field_or_index)`.

# `struct_extract_at`
*macro* 

Builds `struct_extract_at(struct, index)`.

# `struct_position`
*macro* 

Builds `struct_position(struct, value)`.

# `struct_values`
*macro* 

Builds `struct_values(struct)`.

# `values`
*macro* 

Builds `struct_values(struct)`.

---

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