pub struct CursorStatementHook;Expand description
Hook for processing cursor-related statements (DECLARE/FETCH/CLOSE)
Trait Implementations§
Source§impl Debug for CursorStatementHook
impl Debug for CursorStatementHook
Source§impl QueryHook for CursorStatementHook
impl QueryHook for CursorStatementHook
Source§fn handle_simple_query<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
statement: &'life1 Statement,
session_context: &'life2 SessionContext,
client: &'life3 mut dyn HookClient,
) -> Pin<Box<dyn Future<Output = Option<PgWireResult<Response>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn handle_simple_query<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
statement: &'life1 Statement,
session_context: &'life2 SessionContext,
client: &'life3 mut dyn HookClient,
) -> Pin<Box<dyn Future<Output = Option<PgWireResult<Response>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
called in simple query handler to return response directly
Source§fn handle_extended_parse_query<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
statement: &'life1 Statement,
_session_context: &'life2 SessionContext,
_client: &'life3 (dyn ClientInfo + Send + Sync),
) -> Pin<Box<dyn Future<Output = Option<PgWireResult<LogicalPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
fn handle_extended_parse_query<'life0, 'life1, 'life2, 'life3, 'async_trait>(
&'life0 self,
statement: &'life1 Statement,
_session_context: &'life2 SessionContext,
_client: &'life3 (dyn ClientInfo + Send + Sync),
) -> Pin<Box<dyn Future<Output = Option<PgWireResult<LogicalPlan>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
called at extended query parse phase, for generating
LogicalPlanfrom statementSource§fn handle_extended_query<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
statement: &'life1 Statement,
_logical_plan: &'life2 LogicalPlan,
_params: &'life3 ParamValues,
session_context: &'life4 SessionContext,
client: &'life5 mut dyn HookClient,
) -> Pin<Box<dyn Future<Output = Option<PgWireResult<Response>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
fn handle_extended_query<'life0, 'life1, 'life2, 'life3, 'life4, 'life5, 'async_trait>(
&'life0 self,
statement: &'life1 Statement,
_logical_plan: &'life2 LogicalPlan,
_params: &'life3 ParamValues,
session_context: &'life4 SessionContext,
client: &'life5 mut dyn HookClient,
) -> Pin<Box<dyn Future<Output = Option<PgWireResult<Response>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
'life3: 'async_trait,
'life4: 'async_trait,
'life5: 'async_trait,
called at extended query execute phase, for query execution
Auto Trait Implementations§
impl Freeze for CursorStatementHook
impl RefUnwindSafe for CursorStatementHook
impl Send for CursorStatementHook
impl Sync for CursorStatementHook
impl Unpin for CursorStatementHook
impl UnsafeUnpin for CursorStatementHook
impl UnwindSafe for CursorStatementHook
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> 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