pub trait Handler: 'static {
type Handlerton: Handlerton;
const SUPPORTS_INDEX: bool = false;
const MAX_SUPPORTED_RECORD_LENGTH: usize = 65_535usize;
// Required methods
fn new(table: &TableShare<'_>, mem_root: MemRoot<'_>) -> Self;
fn open(name: &Path, mode: Mode, open_options: OpenOp) -> StorageResult;
// Provided methods
fn create(
&self,
name: &CStr,
form: TableShare<'_>,
create_info: &CreateInfo<'_>
) { ... }
fn table_flags(&self) -> TableFlags { ... }
fn write_row(buf: &CStr) { ... }
fn update_row() { ... }
fn delete_row() { ... }
fn delete_all_rows() { ... }
fn store_lock(&self) { ... }
fn scan_time(&self, ctx: HandlerCtx<'_>) -> IoAndCpuCost { ... }
fn rnd_pos_time(&self, ctx: HandlerCtx<'_>, rows: usize) -> IoAndCpuCost { ... }
}
Required Associated Types§
type Handlerton: Handlerton
Provided Associated Constants§
sourceconst SUPPORTS_INDEX: bool = false
const SUPPORTS_INDEX: bool = false
Set this to true if index support is available. If so, this type must
also implement IndexHandler
.
const MAX_SUPPORTED_RECORD_LENGTH: usize = 65_535usize
Required Methods§
sourcefn new(table: &TableShare<'_>, mem_root: MemRoot<'_>) -> Self
fn new(table: &TableShare<'_>, mem_root: MemRoot<'_>) -> Self
Provided Methods§
sourcefn create(
&self,
name: &CStr,
form: TableShare<'_>,
create_info: &CreateInfo<'_>
)
fn create( &self, name: &CStr, form: TableShare<'_>, create_info: &CreateInfo<'_> )
fn table_flags(&self) -> TableFlags
fn update_row()
fn delete_row()
fn store_lock(&self)
sourcefn rnd_pos_time(&self, ctx: HandlerCtx<'_>, rows: usize) -> IoAndCpuCost
fn rnd_pos_time(&self, ctx: HandlerCtx<'_>, rows: usize) -> IoAndCpuCost
Cost of fetching rows
records through rnd_pos
.
Object Safety§
This trait is not object safe.