pub struct QueryCondition { /* private fields */ }Expand description
QueryCondition — Spec §2.2.2.5.9. Erweitert ReadCondition um
einen SQL-Filter-Ausdruck (DDS-DCPS Annex B). Der Filter wird
pro Sample evaluiert (siehe Self::evaluate); der parse-Schritt
passiert einmalig im Konstruktor.
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>>
Konstruktor — Spec §2.2.2.5.2.5 create_querycondition /
§2.2.2.5.9. Der SQL-Ausdruck wird sofort geparst; eine syntaktisch
ungueltige Expression liefert BadParameter.
§Errors
BadParameter wenn der SQL-Ausdruck nicht parst.
Sourcepub fn evaluate<R: RowAccess>(&self, row: &R) -> Result<bool>
pub fn evaluate<R: RowAccess>(&self, row: &R) -> Result<bool>
Evaluiert den SQL-Filter gegen ein Sample. Spec §2.2.2.5.9.6 —
nur Samples mit evaluate(...)==Ok(true) zaehlen fuer das
read_w_condition/take_w_condition-Resultat.
Parameter-Strings werden in String-Values konvertiert; der
Caller kann typed Parameter ueber Self::evaluate_with_values
uebergeben.
§Errors
Lock-Poisoning oder 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>
Wie Self::evaluate, aber mit explizit typed Parameter-Slice
(z.B. fuer Int/Float-Parameter, die als String-Cast nicht
matchen wuerden).
§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> ⓘ
Zugriff auf die 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.