pub struct ResolvedReport {
pub id: String,
pub name: String,
pub description: Option<String>,
pub package_id: String,
pub schemas: Vec<String>,
pub sql: String,
pub param_order: Vec<String>,
pub rules: HashMap<String, ValidationRule>,
pub defaults: HashMap<String, Value>,
pub casts: HashMap<String, String>,
pub validate_on_register: bool,
pub cache_ttl_secs: Option<i64>,
}Expand description
A report whose named params have been translated to positional placeholders and whose
validation rules/defaults are indexed by param name. Built from crate::config::types::ReportConfig
during resolve(). Reports produce no ResolvedEntity — they are data-plane only, looked up
by id when a run request arrives.
Fields§
§id: String§name: String§description: Option<String>§package_id: StringPackage id this report belongs to. Set via ResolvedModel::with_package_id().
schemas: Vec<String>SQL schemas the query references.
sql: StringSQL with named params already translated to positional placeholders ($1, $2, …).
param_order: Vec<String>Param names in positional order (index 0 → $1). Repeated named params are deduplicated
and share a single placeholder.
rules: HashMap<String, ValidationRule>Validation rules per param name (reuses the entity ValidationRule engine).
defaults: HashMap<String, Value>Default values per param name, applied when the param is absent from the request.
casts: HashMap<String, String>Optional SQL cast per param name (e.g. “timestamptz”).
validate_on_register: boolWhether to EXPLAIN-validate the SQL at registration time.
cache_ttl_secs: Option<i64>Per-report result-cache TTL override (seconds). None = use the global default TTL;
Some(0) = never cache this report.
Trait Implementations§
Source§impl Clone for ResolvedReport
impl Clone for ResolvedReport
Source§fn clone(&self) -> ResolvedReport
fn clone(&self) -> ResolvedReport
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ResolvedReport
impl RefUnwindSafe for ResolvedReport
impl Send for ResolvedReport
impl Sync for ResolvedReport
impl Unpin for ResolvedReport
impl UnsafeUnpin for ResolvedReport
impl UnwindSafe for ResolvedReport
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more