pub unsafe extern "C" fn handler_check_if_supported_inplace_alter(
this: *mut c_void,
altered_table: *mut TABLE,
ha_alter_info: *mut Alter_inplace_info
) -> Type
Expand description
Check if a storage engine supports a particular alter table in-place
@param altered_table TABLE object for new version of table. @param ha_alter_info Structure describing changes to be done by ALTER TABLE and holding data used during in-place alter.
@retval HA_ALTER_ERROR Unexpected error. @retval HA_ALTER_INPLACE_NOT_SUPPORTED Not supported, must use copy. @retval HA_ALTER_INPLACE_EXCLUSIVE_LOCK Supported, but requires X lock. @retval HA_ALTER_INPLACE_COPY_LOCK Supported, but requires SNW lock during main phase. Prepare phase requires X lock. @retval HA_ALTER_INPLACE_SHARED_LOCK Supported, but requires SNW lock. @retval HA_ALTER_INPLACE_COPY_NO_LOCK Supported, concurrent reads/writes allowed. However, prepare phase requires X lock. @retval HA_ALTER_INPLACE_NO_LOCK Supported, concurrent reads/writes allowed.
@note The default implementation uses the old in-place ALTER API to determine if the storage engine supports in-place ALTER or not.
@note Called without holding thr_lock.c lock.