Commit 346e4608 authored by Monty's avatar Monty

Fixed bug in macro _ma_mark_page_with_transid()

By pure chance the macro worked in the cases it was used, but
better to get this fixed!
parent 98e185ee
...@@ -695,9 +695,7 @@ static int del(MARIA_HA *info, MARIA_KEY *key, ...@@ -695,9 +695,7 @@ static int del(MARIA_HA *info, MARIA_KEY *key,
key_start= keypos; key_start= keypos;
if (tmp_key.flag & (SEARCH_USER_KEY_HAS_TRANSID | if (tmp_key.flag & (SEARCH_USER_KEY_HAS_TRANSID |
SEARCH_PAGE_KEY_HAS_TRANSID)) SEARCH_PAGE_KEY_HAS_TRANSID))
{
_ma_mark_page_with_transid(share, anc_page); _ma_mark_page_with_transid(share, anc_page);
}
/* Save pointer to next leaf on parent page */ /* Save pointer to next leaf on parent page */
if (!(*keyinfo->get_key)(&ret_key, page_flag, share->base.key_reflength, if (!(*keyinfo->get_key)(&ret_key, page_flag, share->base.key_reflength,
......
...@@ -843,9 +843,8 @@ int _ma_insert(register MARIA_HA *info, MARIA_KEY *key, ...@@ -843,9 +843,8 @@ int _ma_insert(register MARIA_HA *info, MARIA_KEY *key,
a_length+=t_length; a_length+=t_length;
if (key->flag & (SEARCH_USER_KEY_HAS_TRANSID | SEARCH_PAGE_KEY_HAS_TRANSID)) if (key->flag & (SEARCH_USER_KEY_HAS_TRANSID | SEARCH_PAGE_KEY_HAS_TRANSID))
{
_ma_mark_page_with_transid(share, anc_page); _ma_mark_page_with_transid(share, anc_page);
}
anc_page->size= a_length; anc_page->size= a_length;
page_store_size(share, anc_page); page_store_size(share, anc_page);
......
...@@ -777,8 +777,8 @@ struct st_maria_handler ...@@ -777,8 +777,8 @@ struct st_maria_handler
transid_korr((buff) + LSN_STORE_SIZE) transid_korr((buff) + LSN_STORE_SIZE)
#define _ma_store_keypage_flag(share,x,flag) x[(share)->keypage_header - KEYPAGE_USED_SIZE - KEYPAGE_FLAG_SIZE]= (flag) #define _ma_store_keypage_flag(share,x,flag) x[(share)->keypage_header - KEYPAGE_USED_SIZE - KEYPAGE_FLAG_SIZE]= (flag)
#define _ma_mark_page_with_transid(share, page) \ #define _ma_mark_page_with_transid(share, page) \
(page)->flag|= KEYPAGE_FLAG_HAS_TRANSID; \ do { (page)->flag|= KEYPAGE_FLAG_HAS_TRANSID; \
(page)->buff[(share)->keypage_header - KEYPAGE_USED_SIZE - KEYPAGE_FLAG_SIZE]= (page)->flag; (page)->buff[(share)->keypage_header - KEYPAGE_USED_SIZE - KEYPAGE_FLAG_SIZE]= (page)->flag; } while (0)
#define KEYPAGE_KEY_VERSION(share, x) ((x) + \ #define KEYPAGE_KEY_VERSION(share, x) ((x) + \
(share)->keypage_header - \ (share)->keypage_header - \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment