Macro es_query

Source
macro_rules! es_query {
    (entity_ty = $entity_ty:ident, id_ty = $id_ty:ident, $prefix:literal, $db:expr, $query:expr) => { ... };
    (entity_ty = $entity_ty:ident, id_ty = $id_ty:ident, $prefix:literal, $db:expr, $query:expr, $($args:tt)*) => { ... };
    (entity_ty = $entity_ty:ident, id_ty = $id_ty:ident, $db:expr, $query:expr) => { ... };
    (entity_ty = $entity_ty:ident, id_ty = $id_ty:ident, $db:expr, $query:expr, $($args:tt)*) => { ... };
    (entity_ty = $entity_ty:ident, $prefix:literal, $db:expr, $query:expr) => { ... };
    (entity_ty = $entity_ty:ident, $prefix:literal, $db:expr, $query:expr, $($args:tt)*) => { ... };
    (entity_ty = $entity_ty:ident, $db:expr, $query:expr) => { ... };
    (entity_ty = $entity_ty:ident, $db:expr, $query:expr, $($args:tt)*) => { ... };
    (id_ty = $id_ty:ident, $prefix:literal, $db:expr, $query:expr) => { ... };
    (id_ty = $id_ty:ident, $prefix:literal, $db:expr, $query:expr, $($args:tt)*) => { ... };
    (id_ty = $id_ty:ident, $db:expr, $query:expr) => { ... };
    (id_ty = $id_ty:ident, $db:expr, $query:expr, $($args:tt)*) => { ... };
    ($prefix:literal, $db:expr, $query:expr) => { ... };
    ($prefix:literal, $db:expr, $query:expr, $($args:tt)*) => { ... };
    ($db:expr, $query:expr) => { ... };
    ($db:expr, $query:expr, $($args:tt)*) => { ... };
}
Expand description

Execute an event-sourced query with automatic entity reconstruction.

This macro supports the following optional parameters:

  • entity_ty: Override the entity type (useful when table name is customized)
  • id_ty: Override the ID type (defaults to {Entity}Id)
  • Prefix literal: Table prefix to ignore when deriving names
  • executor: The database executor
  • sql: The SQL query string
  • Additional arguments for the SQL query

§Examples

// Basic usage
es_query!(executor, "SELECT id FROM users WHERE id = $1", id)

// With custom entity and ID types
es_query!(
    entity_ty = MyEntity,
    id_ty = MyEntityId,
    executor,
    "SELECT id FROM custom_table WHERE id = $1",
    id
)