Skip to main content

Module executor

Module executor 

Source
Expand description

The Executor trait โ€“ the runtime contract between generated code and the pool.

Code generated by bsql::query! calls methods on this trait. Pool, PoolConnection, and Transaction all implement it.

v0.7: query_raw returns Arc<Vec<Row>> to enable zero-copy singleflight sharing. Arc<Vec<Row>> derefs to Vec<Row>, so .iter(), .len(), and &rows[i] all work identically. The generated code is unaffected.

v0.7: query_raw_readonly routes SELECT queries to replicas when read/write splitting is configured. Falls through to primary otherwise.

Traitsยง

Executor
Execute a prepared query and return raw rows.