mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
Use _ma_set_fatal_error() in Aria also for HA_ERR_WRONG_IN_RECORD, to be able to get an assert as soon as a failure is detected.
Fixed stack overrun failure when calling maria_chk_data_link(). storage/maria/ma_blockrec.c: Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD storage/maria/ma_cache.c: Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD. Added argument to _ma_read_cache() to be able to call _ma_set_fatal_error() storage/maria/ma_check.c: Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD. Don't allocate data to print bitmap on stack. (This fixed stack overrun failure when calling maria_chk_data_link() when gcc had inlined a function) Added new parameter to _ma_read_cache() and _ma_get_block_info() storage/maria/ma_dynrec.c: Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD. Added argument to _ma_get_block_info() to be able to call _ma_set_fatal_error() storage/maria/ma_locking.c: Added DBUG_PRINT storage/maria/ma_packrec.c: Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD storage/maria/ma_statrec.c: Use _ma_set_fatal_error() for HA_ERR_WRONG_IN_RECORD storage/maria/maria_def.h: Updated prototypes.
This commit is contained in:
parent
69fe020f01
commit
fe36d2a06d
8 changed files with 93 additions and 67 deletions
|
|
@ -1018,7 +1018,7 @@ extern MARIA_KEY *_ma_pack_key(MARIA_HA *info, MARIA_KEY *int_key,
|
|||
HA_KEYSEG ** last_used_keyseg);
|
||||
extern void _ma_copy_key(MARIA_KEY *to, const MARIA_KEY *from);
|
||||
extern int _ma_read_key_record(MARIA_HA *info, uchar *buf, MARIA_RECORD_POS);
|
||||
extern my_bool _ma_read_cache(IO_CACHE *info, uchar *buff,
|
||||
extern my_bool _ma_read_cache(MARIA_HA *, IO_CACHE *info, uchar *buff,
|
||||
MARIA_RECORD_POS pos, size_t length,
|
||||
uint re_read_if_possibly);
|
||||
extern ulonglong ma_retrieve_auto_increment(const uchar *key, uint8 key_type);
|
||||
|
|
@ -1100,7 +1100,7 @@ typedef struct st_maria_block_info
|
|||
#define fast_ma_writeinfo(INFO) if (!(INFO)->s->tot_locks) (void) _ma_writeinfo((INFO),0)
|
||||
#define fast_ma_readinfo(INFO) ((INFO)->lock_type == F_UNLCK) && _ma_readinfo((INFO),F_RDLCK,1)
|
||||
|
||||
extern uint _ma_get_block_info(MARIA_BLOCK_INFO *, File, my_off_t);
|
||||
extern uint _ma_get_block_info(MARIA_HA *, MARIA_BLOCK_INFO *, File, my_off_t);
|
||||
extern uint _ma_rec_pack(MARIA_HA *info, uchar *to, const uchar *from);
|
||||
extern uint _ma_pack_get_block_info(MARIA_HA *maria, MARIA_BIT_BUFF *bit_buff,
|
||||
MARIA_BLOCK_INFO *info, uchar **rec_buff_p,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue