#![allow(unsafe_code)]
use core::ffi::c_void;
use crate::panic_guard::FfiBoundary;
use crate::runtime::EngineContext;
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__cond_push(
ctx: *mut EngineContext,
cond: *const c_void,
) -> *const c_void {
FfiBoundary::run_default(cond, || {
unsafe { &mut *ctx }.engine_mut().cond_push(cond)
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__idx_cond_push(
ctx: *mut EngineContext,
keyno: u32,
idx_cond: *mut c_void,
) -> *mut c_void {
FfiBoundary::run_default(idx_cond, || {
unsafe { &mut *ctx }
.engine_mut()
.idx_cond_push(keyno, idx_cond)
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__cancel_pushed_idx_cond(ctx: *mut EngineContext) {
FfiBoundary::run_void(|| {
unsafe { &mut *ctx }.engine_mut().cancel_pushed_idx_cond();
});
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__hton_supporting_engine_pushdown(
ctx: *mut EngineContext,
) -> *const c_void {
FfiBoundary::run_default(core::ptr::null(), || {
unsafe { &mut *ctx }
.engine_mut()
.hton_supporting_engine_pushdown()
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__number_of_pushed_joins(ctx: *mut EngineContext) -> u32 {
FfiBoundary::run_default(0, || {
unsafe { &mut *ctx }.engine_mut().number_of_pushed_joins()
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__member_of_pushed_join(
ctx: *mut EngineContext,
) -> *const c_void {
FfiBoundary::run_default(core::ptr::null(), || {
unsafe { &mut *ctx }.engine_mut().member_of_pushed_join()
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__parent_of_pushed_join(
ctx: *mut EngineContext,
) -> *const c_void {
FfiBoundary::run_default(core::ptr::null(), || {
unsafe { &mut *ctx }.engine_mut().parent_of_pushed_join()
})
}
#[doc(hidden)]
#[unsafe(no_mangle)]
pub unsafe extern "C" fn rust__handler__tables_in_pushed_join(ctx: *mut EngineContext) -> u64 {
FfiBoundary::run_default(0, || {
unsafe { &mut *ctx }.engine_mut().tables_in_pushed_join()
})
}