Struct imessage_database::util::query_context::QueryContext
source · pub struct QueryContext {
pub start: Option<i64>,
pub end: Option<i64>,
}Expand description
Represents filter configurations for a SQL query.
Fields§
§start: Option<i64>The start date filter. Only messages sent on or after this date will be included.
end: Option<i64>The end date filter. Only messages sent before this date will be included.
Implementations§
source§impl QueryContext
impl QueryContext
sourcepub fn set_start(&mut self, start: &str) -> Result<(), QueryContextError>
pub fn set_start(&mut self, start: &str) -> Result<(), QueryContextError>
Generate a QueryContext with a start date
Example:
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
context.set_start("2023-01-01");sourcepub fn set_end(&mut self, end: &str) -> Result<(), QueryContextError>
pub fn set_end(&mut self, end: &str) -> Result<(), QueryContextError>
Generate a QueryContext with an end date
Example:
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
context.set_end("2023-01-01");sourcepub fn has_filters(&self) -> bool
pub fn has_filters(&self) -> bool
Determine if the current QueryContext has any filters present
Example:
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
assert!(!context.has_filters());
context.set_start("2023-01-01");
assert!(context.has_filters());sourcepub fn generate_filter_statement(&self) -> String
pub fn generate_filter_statement(&self) -> String
Generate the SQL WHERE clause described by this QueryContext
Example:
use imessage_database::util::query_context::QueryContext;
let mut context = QueryContext::default();
context.set_start("2023-01-01");
let filters = context.generate_filter_statement();Trait Implementations§
source§impl Debug for QueryContext
impl Debug for QueryContext
source§impl Default for QueryContext
impl Default for QueryContext
source§fn default() -> QueryContext
fn default() -> QueryContext
Returns the “default value” for a type. Read more
source§impl PartialEq for QueryContext
impl PartialEq for QueryContext
source§fn eq(&self, other: &QueryContext) -> bool
fn eq(&self, other: &QueryContext) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl Eq for QueryContext
impl StructuralEq for QueryContext
impl StructuralPartialEq for QueryContext
Auto Trait Implementations§
impl RefUnwindSafe for QueryContext
impl Send for QueryContext
impl Sync for QueryContext
impl Unpin for QueryContext
impl UnwindSafe for QueryContext
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
Mutably borrows from an owned value. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.