pub struct QueryResult {
pub query: String,
pub params: Vec<Value>,
pub tables: Vec<String>,
}Expand description
Result of building a SQL query with parameterized values.
Contains the final SQL query string, parameter values (for use with prepared statements), and a list of tables referenced in the query.
§SQL Injection Prevention
All user input is passed via parameters, never interpolated into SQL strings. This provides complete protection against SQL injection attacks.
§Examples
use postgrest_parser::{query_string_to_sql, QueryResult};
let result: QueryResult = query_string_to_sql(
"users",
"age=gte.18&status=eq.active&order=name.asc&limit=10"
).unwrap();
// SQL with parameter placeholders
assert!(result.query.contains("$1"));
assert!(result.query.contains("$2"));
// Actual parameter values (age, status, limit - order is not a param)
assert_eq!(result.params.len(), 3);
// Tables referenced
assert_eq!(result.tables, vec!["users"]);Fields§
§query: StringThe generated SQL query with parameter placeholders ($1, $2, etc.)
params: Vec<Value>Parameter values in order matching the placeholders
tables: Vec<String>List of table names referenced in the query
Trait Implementations§
Source§impl Clone for QueryResult
impl Clone for QueryResult
Source§fn clone(&self) -> QueryResult
fn clone(&self) -> QueryResult
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 moreSource§impl Debug for QueryResult
impl Debug for QueryResult
Auto Trait Implementations§
impl Freeze for QueryResult
impl RefUnwindSafe for QueryResult
impl Send for QueryResult
impl Sync for QueryResult
impl Unpin for QueryResult
impl UnwindSafe for QueryResult
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