pub struct QueryCondition { /* private fields */ }Expand description
QueryCondition — Spec §2.2.2.5.9. Extends ReadCondition with a
SQL filter expression (DDS-DCPS Annex B). The filter is evaluated
per sample (see Self::evaluate); the parse step happens once in
the constructor.
Implementations§
Source§impl QueryCondition
impl QueryCondition
Sourcepub fn new(
base: Arc<ReadCondition>,
query_expression: impl Into<String>,
query_parameters: Vec<String>,
) -> Result<Arc<Self>>
pub fn new( base: Arc<ReadCondition>, query_expression: impl Into<String>, query_parameters: Vec<String>, ) -> Result<Arc<Self>>
Constructor — Spec §2.2.2.5.2.5 create_querycondition /
§2.2.2.5.9. The SQL expression is parsed immediately; a
syntactically invalid expression returns BadParameter.
§Errors
BadParameter if the SQL expression does not parse.
Sourcepub fn evaluate<R: RowAccess>(&self, row: &R) -> Result<bool>
pub fn evaluate<R: RowAccess>(&self, row: &R) -> Result<bool>
Evaluates the SQL filter against a sample. Spec §2.2.2.5.9.6 —
only samples with evaluate(...)==Ok(true) count toward the
read_w_condition/take_w_condition result.
Parameter strings are converted into String Values; the
caller can pass typed parameters via
Self::evaluate_with_values.
§Errors
Lock poisoning or SQL eval error (UnknownField/TypeMismatch/ MissingParam).
Sourcepub fn evaluate_with_values<R: RowAccess>(
&self,
row: &R,
params: &[Value],
) -> Result<bool>
pub fn evaluate_with_values<R: RowAccess>( &self, row: &R, params: &[Value], ) -> Result<bool>
Like Self::evaluate, but with an explicitly typed parameter
slice (e.g. for int/float parameters that would not match as a
string cast).
§Errors
SQL eval error.
Sourcepub fn get_query_expression(&self) -> &str
pub fn get_query_expression(&self) -> &str
Spec §2.2.2.5.9.4 get_query_expression.
Sourcepub fn get_query_parameters(&self) -> Vec<String>
pub fn get_query_parameters(&self) -> Vec<String>
Spec §2.2.2.5.9.5 get_query_parameters.
Sourcepub fn base(&self) -> &Arc<ReadCondition> ⓘ
pub fn base(&self) -> &Arc<ReadCondition> ⓘ
Access to the base ReadCondition (Spec: QueryCondition extends ReadCondition).
Trait Implementations§
Source§impl Condition for QueryCondition
impl Condition for QueryCondition
Source§fn get_trigger_value(&self) -> bool
fn get_trigger_value(&self) -> bool
get_trigger_value.