dactyl::query! proc macro.
Lexically analyzes the SQL literal at compile time so:
- Hard-coded constructs are visible to the analyzer before the crate is built.
- The literal is rewritten (currently identity) at compile time so the runtime path stays allocation-light.
- Empty literals fail to compile with a clear message.
The expanded form returns a String containing the (rewritten) SQL.
Callers wire it into dactyl::query directly:
let rows = dactyl_db::query(&dactyl_db::query!("select id, title from todos"), &[])?;