pub struct SearchParam {
pub term: String,
pub fields: Vec<String>,
}Expand description
Full-text search parameter using PostgreSQL to_tsvector.
When ?search=term is provided and the endpoint declares search: [field1, field2],
a WHERE to_tsvector('english', field1 || ' ' || field2) @@ plainto_tsquery('english', $N)
clause is appended.
Fields§
§term: StringThe search term from the query string.
fields: Vec<String>The fields to search across (from endpoint spec search list).
Implementations§
Source§impl SearchParam
impl SearchParam
Sourcepub fn new(term: &str, fields: &[String]) -> Option<Self>
pub fn new(term: &str, fields: &[String]) -> Option<Self>
Creates a new search parameter if both term and fields are non-empty.
Sourcepub fn apply_to_sql(
&self,
sql: &mut String,
has_where: bool,
param_offset: usize,
) -> usize
pub fn apply_to_sql( &self, sql: &mut String, has_where: bool, param_offset: usize, ) -> usize
Appends a full-text search WHERE clause to the SQL string.
Uses to_tsvector('english', ...) and plainto_tsquery('english', $N).
param_offset is the $N parameter index for the search term.
Returns the new parameter offset after appending.
Trait Implementations§
Source§impl Clone for SearchParam
impl Clone for SearchParam
Source§fn clone(&self) -> SearchParam
fn clone(&self) -> SearchParam
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SearchParam
impl RefUnwindSafe for SearchParam
impl Send for SearchParam
impl Sync for SearchParam
impl Unpin for SearchParam
impl UnsafeUnpin for SearchParam
impl UnwindSafe for SearchParam
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request