1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
//! Toql query field information for keys.
use crate::sql_arg::SqlArg;
mod join;
/// The [KeyFields] trait is similar to [Key](crate::key::Key) but provides field names instead of columns.
/// It is used to build key predicates in Toql queries.
pub trait KeyFields {
type Entity;
/// Return primary key fields for a given entity.
fn fields() -> Vec<String>;
/// Return key values as params. Useful to loop across a composite key.
fn params(&self) -> Vec<SqlArg>;
}