#[repr(C)]
pub struct TableAmRoutine {
Show 46 fields pub type_: NodeTag, pub slot_callbacks: Option<unsafe extern "C" fn(rel: Relation) -> *const TupleTableSlotOps>, pub scan_begin: Option<unsafe extern "C" fn(rel: Relation, snapshot: Snapshot, nkeys: c_int, key: *mut ScanKeyData, pscan: ParallelTableScanDesc, flags: uint32) -> TableScanDesc>, pub scan_end: Option<unsafe extern "C" fn(scan: TableScanDesc)>, pub scan_rescan: Option<unsafe extern "C" fn(scan: TableScanDesc, key: *mut ScanKeyData, set_params: bool, allow_strat: bool, allow_sync: bool, allow_pagemode: bool)>, pub scan_getnextslot: Option<unsafe extern "C" fn(scan: TableScanDesc, direction: ScanDirection, slot: *mut TupleTableSlot) -> bool>, pub scan_set_tidrange: Option<unsafe extern "C" fn(scan: TableScanDesc, mintid: ItemPointer, maxtid: ItemPointer)>, pub scan_getnextslot_tidrange: Option<unsafe extern "C" fn(scan: TableScanDesc, direction: ScanDirection, slot: *mut TupleTableSlot) -> bool>, pub parallelscan_estimate: Option<unsafe extern "C" fn(rel: Relation) -> Size>, pub parallelscan_initialize: Option<unsafe extern "C" fn(rel: Relation, pscan: ParallelTableScanDesc) -> Size>, pub parallelscan_reinitialize: Option<unsafe extern "C" fn(rel: Relation, pscan: ParallelTableScanDesc)>, pub index_fetch_begin: Option<unsafe extern "C" fn(rel: Relation) -> *mut IndexFetchTableData>, pub index_fetch_reset: Option<unsafe extern "C" fn(data: *mut IndexFetchTableData)>, pub index_fetch_end: Option<unsafe extern "C" fn(data: *mut IndexFetchTableData)>, pub index_fetch_tuple: Option<unsafe extern "C" fn(scan: *mut IndexFetchTableData, tid: ItemPointer, snapshot: Snapshot, slot: *mut TupleTableSlot, call_again: *mut bool, all_dead: *mut bool) -> bool>, pub tuple_fetch_row_version: Option<unsafe extern "C" fn(rel: Relation, tid: ItemPointer, snapshot: Snapshot, slot: *mut TupleTableSlot) -> bool>, pub tuple_tid_valid: Option<unsafe extern "C" fn(scan: TableScanDesc, tid: ItemPointer) -> bool>, pub tuple_get_latest_tid: Option<unsafe extern "C" fn(scan: TableScanDesc, tid: ItemPointer)>, pub tuple_satisfies_snapshot: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, snapshot: Snapshot) -> bool>, pub index_delete_tuples: Option<unsafe extern "C" fn(rel: Relation, delstate: *mut TM_IndexDeleteOp) -> TransactionId>, pub tuple_insert: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, cid: CommandId, options: c_int, bistate: *mut BulkInsertStateData)>, pub tuple_insert_speculative: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, cid: CommandId, options: c_int, bistate: *mut BulkInsertStateData, specToken: uint32)>, pub tuple_complete_speculative: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, specToken: uint32, succeeded: bool)>, pub multi_insert: Option<unsafe extern "C" fn(rel: Relation, slots: *mut *mut TupleTableSlot, nslots: c_int, cid: CommandId, options: c_int, bistate: *mut BulkInsertStateData)>, pub tuple_delete: Option<unsafe extern "C" fn(rel: Relation, tid: ItemPointer, cid: CommandId, snapshot: Snapshot, crosscheck: Snapshot, wait: bool, tmfd: *mut TM_FailureData, changingPart: bool) -> TM_Result>, pub tuple_update: Option<unsafe extern "C" fn(rel: Relation, otid: ItemPointer, slot: *mut TupleTableSlot, cid: CommandId, snapshot: Snapshot, crosscheck: Snapshot, wait: bool, tmfd: *mut TM_FailureData, lockmode: *mut LockTupleMode, update_indexes: *mut bool) -> TM_Result>, pub tuple_lock: Option<unsafe extern "C" fn(rel: Relation, tid: ItemPointer, snapshot: Snapshot, slot: *mut TupleTableSlot, cid: CommandId, mode: LockTupleMode, wait_policy: LockWaitPolicy, flags: uint8, tmfd: *mut TM_FailureData) -> TM_Result>, pub finish_bulk_insert: Option<unsafe extern "C" fn(rel: Relation, options: c_int)>, pub relation_set_new_filenode: Option<unsafe extern "C" fn(rel: Relation, newrnode: *const RelFileNode, persistence: c_char, freezeXid: *mut TransactionId, minmulti: *mut MultiXactId)>, pub relation_nontransactional_truncate: Option<unsafe extern "C" fn(rel: Relation)>, pub relation_copy_data: Option<unsafe extern "C" fn(rel: Relation, newrnode: *const RelFileNode)>, pub relation_copy_for_cluster: Option<unsafe extern "C" fn(NewTable: Relation, OldTable: Relation, OldIndex: Relation, use_sort: bool, OldestXmin: TransactionId, xid_cutoff: *mut TransactionId, multi_cutoff: *mut MultiXactId, num_tuples: *mut f64, tups_vacuumed: *mut f64, tups_recently_dead: *mut f64)>, pub relation_vacuum: Option<unsafe extern "C" fn(rel: Relation, params: *mut VacuumParams, bstrategy: BufferAccessStrategy)>, pub scan_analyze_next_block: Option<unsafe extern "C" fn(scan: TableScanDesc, blockno: BlockNumber, bstrategy: BufferAccessStrategy) -> bool>, pub scan_analyze_next_tuple: Option<unsafe extern "C" fn(scan: TableScanDesc, OldestXmin: TransactionId, liverows: *mut f64, deadrows: *mut f64, slot: *mut TupleTableSlot) -> bool>, pub index_build_range_scan: Option<unsafe extern "C" fn(table_rel: Relation, index_rel: Relation, index_info: *mut IndexInfo, allow_sync: bool, anyvisible: bool, progress: bool, start_blockno: BlockNumber, numblocks: BlockNumber, callback: IndexBuildCallback, callback_state: *mut c_void, scan: TableScanDesc) -> f64>, pub index_validate_scan: Option<unsafe extern "C" fn(table_rel: Relation, index_rel: Relation, index_info: *mut IndexInfo, snapshot: Snapshot, state: *mut ValidateIndexState)>, pub relation_size: Option<unsafe extern "C" fn(rel: Relation, forkNumber: ForkNumber) -> uint64>, pub relation_needs_toast_table: Option<unsafe extern "C" fn(rel: Relation) -> bool>, pub relation_toast_am: Option<unsafe extern "C" fn(rel: Relation) -> Oid>, pub relation_fetch_toast_slice: Option<unsafe extern "C" fn(toastrel: Relation, valueid: Oid, attrsize: int32, sliceoffset: int32, slicelength: int32, result: *mut varlena)>, pub relation_estimate_size: Option<unsafe extern "C" fn(rel: Relation, attr_widths: *mut int32, pages: *mut BlockNumber, tuples: *mut f64, allvisfrac: *mut f64)>, pub scan_bitmap_next_block: Option<unsafe extern "C" fn(scan: TableScanDesc, tbmres: *mut TBMIterateResult) -> bool>, pub scan_bitmap_next_tuple: Option<unsafe extern "C" fn(scan: TableScanDesc, tbmres: *mut TBMIterateResult, slot: *mut TupleTableSlot) -> bool>, pub scan_sample_next_block: Option<unsafe extern "C" fn(scan: TableScanDesc, scanstate: *mut SampleScanState) -> bool>, pub scan_sample_next_tuple: Option<unsafe extern "C" fn(scan: TableScanDesc, scanstate: *mut SampleScanState, slot: *mut TupleTableSlot) -> bool>,
}

Fields

type_: NodeTagslot_callbacks: Option<unsafe extern "C" fn(rel: Relation) -> *const TupleTableSlotOps>scan_begin: Option<unsafe extern "C" fn(rel: Relation, snapshot: Snapshot, nkeys: c_int, key: *mut ScanKeyData, pscan: ParallelTableScanDesc, flags: uint32) -> TableScanDesc>scan_end: Option<unsafe extern "C" fn(scan: TableScanDesc)>scan_rescan: Option<unsafe extern "C" fn(scan: TableScanDesc, key: *mut ScanKeyData, set_params: bool, allow_strat: bool, allow_sync: bool, allow_pagemode: bool)>scan_getnextslot: Option<unsafe extern "C" fn(scan: TableScanDesc, direction: ScanDirection, slot: *mut TupleTableSlot) -> bool>scan_set_tidrange: Option<unsafe extern "C" fn(scan: TableScanDesc, mintid: ItemPointer, maxtid: ItemPointer)>scan_getnextslot_tidrange: Option<unsafe extern "C" fn(scan: TableScanDesc, direction: ScanDirection, slot: *mut TupleTableSlot) -> bool>parallelscan_estimate: Option<unsafe extern "C" fn(rel: Relation) -> Size>parallelscan_initialize: Option<unsafe extern "C" fn(rel: Relation, pscan: ParallelTableScanDesc) -> Size>parallelscan_reinitialize: Option<unsafe extern "C" fn(rel: Relation, pscan: ParallelTableScanDesc)>index_fetch_begin: Option<unsafe extern "C" fn(rel: Relation) -> *mut IndexFetchTableData>index_fetch_reset: Option<unsafe extern "C" fn(data: *mut IndexFetchTableData)>index_fetch_end: Option<unsafe extern "C" fn(data: *mut IndexFetchTableData)>index_fetch_tuple: Option<unsafe extern "C" fn(scan: *mut IndexFetchTableData, tid: ItemPointer, snapshot: Snapshot, slot: *mut TupleTableSlot, call_again: *mut bool, all_dead: *mut bool) -> bool>tuple_fetch_row_version: Option<unsafe extern "C" fn(rel: Relation, tid: ItemPointer, snapshot: Snapshot, slot: *mut TupleTableSlot) -> bool>tuple_tid_valid: Option<unsafe extern "C" fn(scan: TableScanDesc, tid: ItemPointer) -> bool>tuple_get_latest_tid: Option<unsafe extern "C" fn(scan: TableScanDesc, tid: ItemPointer)>tuple_satisfies_snapshot: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, snapshot: Snapshot) -> bool>index_delete_tuples: Option<unsafe extern "C" fn(rel: Relation, delstate: *mut TM_IndexDeleteOp) -> TransactionId>tuple_insert: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, cid: CommandId, options: c_int, bistate: *mut BulkInsertStateData)>tuple_insert_speculative: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, cid: CommandId, options: c_int, bistate: *mut BulkInsertStateData, specToken: uint32)>tuple_complete_speculative: Option<unsafe extern "C" fn(rel: Relation, slot: *mut TupleTableSlot, specToken: uint32, succeeded: bool)>multi_insert: Option<unsafe extern "C" fn(rel: Relation, slots: *mut *mut TupleTableSlot, nslots: c_int, cid: CommandId, options: c_int, bistate: *mut BulkInsertStateData)>tuple_delete: Option<unsafe extern "C" fn(rel: Relation, tid: ItemPointer, cid: CommandId, snapshot: Snapshot, crosscheck: Snapshot, wait: bool, tmfd: *mut TM_FailureData, changingPart: bool) -> TM_Result>tuple_update: Option<unsafe extern "C" fn(rel: Relation, otid: ItemPointer, slot: *mut TupleTableSlot, cid: CommandId, snapshot: Snapshot, crosscheck: Snapshot, wait: bool, tmfd: *mut TM_FailureData, lockmode: *mut LockTupleMode, update_indexes: *mut bool) -> TM_Result>tuple_lock: Option<unsafe extern "C" fn(rel: Relation, tid: ItemPointer, snapshot: Snapshot, slot: *mut TupleTableSlot, cid: CommandId, mode: LockTupleMode, wait_policy: LockWaitPolicy, flags: uint8, tmfd: *mut TM_FailureData) -> TM_Result>finish_bulk_insert: Option<unsafe extern "C" fn(rel: Relation, options: c_int)>relation_set_new_filenode: Option<unsafe extern "C" fn(rel: Relation, newrnode: *const RelFileNode, persistence: c_char, freezeXid: *mut TransactionId, minmulti: *mut MultiXactId)>relation_nontransactional_truncate: Option<unsafe extern "C" fn(rel: Relation)>relation_copy_data: Option<unsafe extern "C" fn(rel: Relation, newrnode: *const RelFileNode)>relation_copy_for_cluster: Option<unsafe extern "C" fn(NewTable: Relation, OldTable: Relation, OldIndex: Relation, use_sort: bool, OldestXmin: TransactionId, xid_cutoff: *mut TransactionId, multi_cutoff: *mut MultiXactId, num_tuples: *mut f64, tups_vacuumed: *mut f64, tups_recently_dead: *mut f64)>relation_vacuum: Option<unsafe extern "C" fn(rel: Relation, params: *mut VacuumParams, bstrategy: BufferAccessStrategy)>scan_analyze_next_block: Option<unsafe extern "C" fn(scan: TableScanDesc, blockno: BlockNumber, bstrategy: BufferAccessStrategy) -> bool>scan_analyze_next_tuple: Option<unsafe extern "C" fn(scan: TableScanDesc, OldestXmin: TransactionId, liverows: *mut f64, deadrows: *mut f64, slot: *mut TupleTableSlot) -> bool>index_build_range_scan: Option<unsafe extern "C" fn(table_rel: Relation, index_rel: Relation, index_info: *mut IndexInfo, allow_sync: bool, anyvisible: bool, progress: bool, start_blockno: BlockNumber, numblocks: BlockNumber, callback: IndexBuildCallback, callback_state: *mut c_void, scan: TableScanDesc) -> f64>index_validate_scan: Option<unsafe extern "C" fn(table_rel: Relation, index_rel: Relation, index_info: *mut IndexInfo, snapshot: Snapshot, state: *mut ValidateIndexState)>relation_size: Option<unsafe extern "C" fn(rel: Relation, forkNumber: ForkNumber) -> uint64>relation_needs_toast_table: Option<unsafe extern "C" fn(rel: Relation) -> bool>relation_toast_am: Option<unsafe extern "C" fn(rel: Relation) -> Oid>relation_fetch_toast_slice: Option<unsafe extern "C" fn(toastrel: Relation, valueid: Oid, attrsize: int32, sliceoffset: int32, slicelength: int32, result: *mut varlena)>relation_estimate_size: Option<unsafe extern "C" fn(rel: Relation, attr_widths: *mut int32, pages: *mut BlockNumber, tuples: *mut f64, allvisfrac: *mut f64)>scan_bitmap_next_block: Option<unsafe extern "C" fn(scan: TableScanDesc, tbmres: *mut TBMIterateResult) -> bool>scan_bitmap_next_tuple: Option<unsafe extern "C" fn(scan: TableScanDesc, tbmres: *mut TBMIterateResult, slot: *mut TupleTableSlot) -> bool>scan_sample_next_block: Option<unsafe extern "C" fn(scan: TableScanDesc, scanstate: *mut SampleScanState) -> bool>scan_sample_next_tuple: Option<unsafe extern "C" fn(scan: TableScanDesc, scanstate: *mut SampleScanState, slot: *mut TupleTableSlot) -> bool>

Trait Implementations

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more
Formats the value using the given formatter. Read more
Format this node

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
Converts the given value to a String. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.
Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more