pub struct QueryRows { /* private fields */ }Expand description
Execute a SELECT query and return all matching rows as JSON.
Parameters are passed as a JSON array and bound positionally ($1, $2, …).
§Examples
use ironflow_ops_postgres::query::QueryRows;
use ironflow_core::operation::Operation;
let op = QueryRows::new(pool, "SELECT id, name FROM users WHERE active = $1", vec![serde_json::json!(true)]);
assert_eq!(op.kind(), "postgres");Implementations§
Source§impl QueryRows
impl QueryRows
Sourcepub fn new(pool: PgPool, sql: impl Into<String>, params: Vec<Value>) -> Self
pub fn new(pool: PgPool, sql: impl Into<String>, params: Vec<Value>) -> Self
Create a new query-rows operation.
Sourcepub async fn run(
&self,
_ctx: &OperationContext,
) -> Result<QueryRowsOutput, OperationError>
pub async fn run( &self, _ctx: &OperationContext, ) -> Result<QueryRowsOutput, OperationError>
Execute and return a typed result.
§Errors
Returns OperationError::External on SQL or connection errors.
Trait Implementations§
Source§impl Operation for QueryRows
impl Operation for QueryRows
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 OperationContext,
) -> Pin<Box<dyn Future<Output = Result<Value, OperationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: &'life1 OperationContext,
) -> Pin<Box<dyn Future<Output = Result<Value, OperationError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Execute the operation and return the result as JSON. Read more
Source§impl TypedOperation for QueryRows
impl TypedOperation for QueryRows
Source§type Output = QueryRowsOutput
type Output = QueryRowsOutput
The concrete output type that
Operation::execute produces.Auto Trait Implementations§
impl !RefUnwindSafe for QueryRows
impl !UnwindSafe for QueryRows
impl Freeze for QueryRows
impl Send for QueryRows
impl Sync for QueryRows
impl Unpin for QueryRows
impl UnsafeUnpin for QueryRows
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 more