# LibTmux.Query.runQuery

- **Package:** libtmux-haskell
- **Language:** Haskell
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-haskell/blob/663e212622a02aa74a9bdc8ff71e2b45fcb1d4d5/src/LibTmux/Query.hs#L70
- **Page:** https://libtmux.org/en/haskell/latest/reference/libtmux-query-v-runquery/

```haskell
runQuery :: Snapshot -> Query row -> Either QueryError [row]
```

Signature types: [`Snapshot`](/en/haskell/latest/reference/libtmux-snapshot-t-snapshot/), [`Query`](/en/haskell/latest/reference/libtmux-query-t-query/), [`Either`](https://hackage.haskell.org/package/base-4.22.0.0/docs/Data-Either.html#t:Either), [`QueryError`](/en/haskell/latest/reference/libtmux-query-t-queryerror/).

Validate and evaluate against the supplied complete snapshot. Every
 requirement is checked before reading rows, including empty sources and
 zero limits. Consuming a successful result performs only pure processing
 of owned observations. No acquisition, pushdown or refresh occurs.

## Referenced declarations

- [`LibTmux.Query.Query`](/en/haskell/latest/reference/libtmux-query-t-query/) (data type)
- [`LibTmux.Query.QueryError`](/en/haskell/latest/reference/libtmux-query-t-queryerror/) (data type)
- [`LibTmux.Snapshot.Snapshot`](/en/haskell/latest/reference/libtmux-snapshot-t-snapshot/) (data type)

## Guides

Pages that discuss `runQuery`.

- [Typed queries](/en/haskell/latest/guides/query/)
