[][src]Trait pgx::hooks::PgHooks

pub trait PgHooks {
    pub fn executor_start(
        &mut self,
        query_desc: PgBox<QueryDesc>,
        eflags: i32,
        prev_hook: fn(query_desc: PgBox<QueryDesc>, eflags: i32) -> HookResult<()>
    ) -> HookResult<()> { ... }
pub fn executor_run(
        &mut self,
        query_desc: PgBox<QueryDesc>,
        direction: ScanDirection,
        count: u64,
        execute_once: bool,
        prev_hook: fn(query_desc: PgBox<QueryDesc>, direction: ScanDirection, count: u64, execute_once: bool) -> HookResult<()>
    ) -> HookResult<()> { ... }
pub fn executor_finish(
        &mut self,
        query_desc: PgBox<QueryDesc>,
        prev_hook: fn(query_desc: PgBox<QueryDesc>) -> HookResult<()>
    ) -> HookResult<()> { ... }
pub fn executor_end(
        &mut self,
        query_desc: PgBox<QueryDesc>,
        prev_hook: fn(query_desc: PgBox<QueryDesc>) -> HookResult<()>
    ) -> HookResult<()> { ... }
pub fn executor_check_perms(
        &mut self,
        range_table: PgList<*mut RangeTblEntry>,
        ereport_on_violation: bool,
        prev_hook: fn(range_table: PgList<*mut RangeTblEntry>, ereport_on_violation: bool) -> HookResult<bool>
    ) -> HookResult<bool> { ... }
pub fn process_utility_hook(
        &mut self,
        pstmt: PgBox<PlannedStmt>,
        query_string: &CStr,
        context: ProcessUtilityContext,
        params: PgBox<ParamListInfoData>,
        query_env: PgBox<QueryEnvironment>,
        dest: PgBox<DestReceiver>,
        completion_tag: *mut QueryCompletion,
        prev_hook: fn(pstmt: PgBox<PlannedStmt>, query_string: &CStr, context: ProcessUtilityContext, params: PgBox<ParamListInfoData>, query_env: PgBox<QueryEnvironment>, dest: PgBox<DestReceiver>, completion_tag: *mut QueryCompletion) -> HookResult<()>
    ) -> HookResult<()> { ... }
pub fn planner(
        &mut self,
        parse: PgBox<Query>,
        query_string: *const c_char,
        cursor_options: i32,
        bound_params: PgBox<ParamListInfoData>,
        prev_hook: fn(parse: PgBox<Query>, query_string: *const c_char, cursor_options: i32, bound_params: PgBox<ParamListInfoData>) -> HookResult<*mut PlannedStmt>
    ) -> HookResult<*mut PlannedStmt> { ... }
pub fn abort(&mut self) { ... }
pub fn commit(&mut self) { ... } }

Provided methods

pub fn executor_start(
    &mut self,
    query_desc: PgBox<QueryDesc>,
    eflags: i32,
    prev_hook: fn(query_desc: PgBox<QueryDesc>, eflags: i32) -> HookResult<()>
) -> HookResult<()>
[src]

Hook for plugins to get control in ExecutorStart()

pub fn executor_run(
    &mut self,
    query_desc: PgBox<QueryDesc>,
    direction: ScanDirection,
    count: u64,
    execute_once: bool,
    prev_hook: fn(query_desc: PgBox<QueryDesc>, direction: ScanDirection, count: u64, execute_once: bool) -> HookResult<()>
) -> HookResult<()>
[src]

Hook for plugins to get control in ExecutorRun()

pub fn executor_finish(
    &mut self,
    query_desc: PgBox<QueryDesc>,
    prev_hook: fn(query_desc: PgBox<QueryDesc>) -> HookResult<()>
) -> HookResult<()>
[src]

Hook for plugins to get control in ExecutorFinish()

pub fn executor_end(
    &mut self,
    query_desc: PgBox<QueryDesc>,
    prev_hook: fn(query_desc: PgBox<QueryDesc>) -> HookResult<()>
) -> HookResult<()>
[src]

Hook for plugins to get control in ExecutorEnd()

pub fn executor_check_perms(
    &mut self,
    range_table: PgList<*mut RangeTblEntry>,
    ereport_on_violation: bool,
    prev_hook: fn(range_table: PgList<*mut RangeTblEntry>, ereport_on_violation: bool) -> HookResult<bool>
) -> HookResult<bool>
[src]

Hook for plugins to get control in ExecCheckRTPerms()

pub fn process_utility_hook(
    &mut self,
    pstmt: PgBox<PlannedStmt>,
    query_string: &CStr,
    context: ProcessUtilityContext,
    params: PgBox<ParamListInfoData>,
    query_env: PgBox<QueryEnvironment>,
    dest: PgBox<DestReceiver>,
    completion_tag: *mut QueryCompletion,
    prev_hook: fn(pstmt: PgBox<PlannedStmt>, query_string: &CStr, context: ProcessUtilityContext, params: PgBox<ParamListInfoData>, query_env: PgBox<QueryEnvironment>, dest: PgBox<DestReceiver>, completion_tag: *mut QueryCompletion) -> HookResult<()>
) -> HookResult<()>
[src]

Hook for plugins to get control in ProcessUtility()

pub fn planner(
    &mut self,
    parse: PgBox<Query>,
    query_string: *const c_char,
    cursor_options: i32,
    bound_params: PgBox<ParamListInfoData>,
    prev_hook: fn(parse: PgBox<Query>, query_string: *const c_char, cursor_options: i32, bound_params: PgBox<ParamListInfoData>) -> HookResult<*mut PlannedStmt>
) -> HookResult<*mut PlannedStmt>
[src]

Hook for plugins to get control of the planner

pub fn abort(&mut self)[src]

Called when the transaction aborts

pub fn commit(&mut self)[src]

Called when the transaction commits

Loading content...

Implementors

Loading content...