Commit 7e6d4bba authored by Sergei Golubchik's avatar Sergei Golubchik

XtraDB 5.5.40-36.1

parents 63ca157c ef7d950e
...@@ -4028,6 +4028,7 @@ buf_page_io_complete( ...@@ -4028,6 +4028,7 @@ buf_page_io_complete(
" because of" " because of"
" a corrupt database page.\n", " a corrupt database page.\n",
stderr); stderr);
ut_error; ut_error;
} }
} }
......
...@@ -1130,6 +1130,11 @@ dict_table_rename_in_cache( ...@@ -1130,6 +1130,11 @@ dict_table_rename_in_cache(
/* The id will be changed. So remove old one */ /* The id will be changed. So remove old one */
rbt_delete(foreign->foreign_table->foreign_rbt, foreign->id); rbt_delete(foreign->foreign_table->foreign_rbt, foreign->id);
if (foreign->referenced_table) {
rbt_delete(foreign->referenced_table->referenced_rbt,
foreign->id);
}
if (ut_strlen(foreign->foreign_table_name) if (ut_strlen(foreign->foreign_table_name)
< ut_strlen(table->name)) { < ut_strlen(table->name)) {
/* Allocate a longer name buffer; /* Allocate a longer name buffer;
...@@ -1280,6 +1285,11 @@ dict_table_rename_in_cache( ...@@ -1280,6 +1285,11 @@ dict_table_rename_in_cache(
rbt_insert(foreign->foreign_table->foreign_rbt, rbt_insert(foreign->foreign_table->foreign_rbt,
foreign->id, &foreign); foreign->id, &foreign);
if (foreign->referenced_table) {
rbt_insert(foreign->referenced_table->referenced_rbt,
foreign->id, &foreign);
}
foreign = UT_LIST_GET_NEXT(foreign_list, foreign); foreign = UT_LIST_GET_NEXT(foreign_list, foreign);
} }
...@@ -5910,6 +5920,11 @@ dict_find_table_by_space( ...@@ -5910,6 +5920,11 @@ dict_find_table_by_space(
ut_ad(space_id > 0); ut_ad(space_id > 0);
if (dict_sys == NULL) {
/* This could happen when it's in redo processing. */
return(NULL);
}
table = UT_LIST_GET_FIRST(dict_sys->table_LRU); table = UT_LIST_GET_FIRST(dict_sys->table_LRU);
num_item = UT_LIST_GET_LEN(dict_sys->table_LRU); num_item = UT_LIST_GET_LEN(dict_sys->table_LRU);
......
...@@ -64,10 +64,10 @@ component, i.e. we show M.N.P as M.N */ ...@@ -64,10 +64,10 @@ component, i.e. we show M.N.P as M.N */
(INNODB_VERSION_MAJOR << 8 | INNODB_VERSION_MINOR) (INNODB_VERSION_MAJOR << 8 | INNODB_VERSION_MINOR)
#ifndef PERCONA_INNODB_VERSION #ifndef PERCONA_INNODB_VERSION
#define PERCONA_INNODB_VERSION 36.0 #define PERCONA_INNODB_VERSION 36.1
#endif #endif
#define INNODB_VERSION_STR "5.5.39-MariaDB-" IB_TO_STR(PERCONA_INNODB_VERSION) #define INNODB_VERSION_STR "5.5.40-MariaDB-" IB_TO_STR(PERCONA_INNODB_VERSION)
#define REFMAN "http://dev.mysql.com/doc/refman/" \ #define REFMAN "http://dev.mysql.com/doc/refman/" \
IB_TO_STR(MYSQL_MAJOR_VERSION) "." \ IB_TO_STR(MYSQL_MAJOR_VERSION) "." \
......
...@@ -1714,7 +1714,7 @@ row_ins_scan_sec_index_for_duplicate( ...@@ -1714,7 +1714,7 @@ row_ins_scan_sec_index_for_duplicate(
do { do {
const rec_t* rec = btr_pcur_get_rec(&pcur); const rec_t* rec = btr_pcur_get_rec(&pcur);
const buf_block_t* block = btr_pcur_get_block(&pcur); const buf_block_t* block = btr_pcur_get_block(&pcur);
ulint lock_type; const ulint lock_type = LOCK_ORDINARY;
if (page_rec_is_infimum(rec)) { if (page_rec_is_infimum(rec)) {
...@@ -1724,16 +1724,6 @@ row_ins_scan_sec_index_for_duplicate( ...@@ -1724,16 +1724,6 @@ row_ins_scan_sec_index_for_duplicate(
offsets = rec_get_offsets(rec, index, offsets, offsets = rec_get_offsets(rec, index, offsets,
ULINT_UNDEFINED, &heap); ULINT_UNDEFINED, &heap);
/* If the transaction isolation level is no stronger than
READ COMMITTED, then avoid gap locks. */
if (!page_rec_is_supremum(rec)
&& thr_get_trx(thr)->isolation_level
<= TRX_ISO_READ_COMMITTED) {
lock_type = LOCK_REC_NOT_GAP;
} else {
lock_type = LOCK_ORDINARY;
}
if (allow_duplicates) { if (allow_duplicates) {
/* If the SQL-query will update or replace /* If the SQL-query will update or replace
......
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