diff options
author | Sergei Golubchik <serg@mariadb.org> | 2015-04-28 13:42:58 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2015-04-28 13:42:58 +0200 |
commit | 40e95608d99c2997e4af445ec4da68febc9e87f1 (patch) | |
tree | e6169f56a4f41b74e6b462fb39ad4ccf0f743851 | |
parent | fd39c56effd5b56aae2ebe7709a1fbf73503edcd (diff) | |
download | mariadb-git-40e95608d99c2997e4af445ec4da68febc9e87f1.tar.gz |
percona-server-5.5.42-37.1.tar.gz
-rw-r--r-- | storage/xtradb/handler/ha_innodb.cc | 10 | ||||
-rw-r--r-- | storage/xtradb/include/univ.i | 2 | ||||
-rw-r--r-- | storage/xtradb/lock/lock0lock.c | 2 | ||||
-rw-r--r-- | storage/xtradb/srv/srv0start.c | 15 |
4 files changed, 19 insertions, 10 deletions
diff --git a/storage/xtradb/handler/ha_innodb.cc b/storage/xtradb/handler/ha_innodb.cc index c9a89b69375..88816d322a9 100644 --- a/storage/xtradb/handler/ha_innodb.cc +++ b/storage/xtradb/handler/ha_innodb.cc @@ -11490,10 +11490,8 @@ ha_innobase::cmp_ref( len1 = innobase_read_from_2_little_endian(ref1); len2 = innobase_read_from_2_little_endian(ref2); - ref1 += 2; - ref2 += 2; - result = ((Field_blob*)field)->cmp( ref1, len1, - ref2, len2); + result = ((Field_blob*)field)->cmp(ref1 + 2, len1, + ref2 + 2, len2); } else { result = field->key_cmp(ref1, ref2); } @@ -13752,6 +13750,10 @@ ib_warn_row_too_big(const dict_table_t* table) THD* thd = current_thd; + if (thd == NULL) { + return; + } + push_warning_printf( thd, MYSQL_ERROR::WARN_LEVEL_WARN, HA_ERR_TO_BIG_ROW, "Row size too large (> %lu). Changing some columns to TEXT" diff --git a/storage/xtradb/include/univ.i b/storage/xtradb/include/univ.i index 56241492038..50606b7001f 100644 --- a/storage/xtradb/include/univ.i +++ b/storage/xtradb/include/univ.i @@ -64,7 +64,7 @@ component, i.e. we show M.N.P as M.N */ (INNODB_VERSION_MAJOR << 8 | INNODB_VERSION_MINOR) #ifndef PERCONA_INNODB_VERSION -#define PERCONA_INNODB_VERSION 37.0 +#define PERCONA_INNODB_VERSION 37.1 #endif #define INNODB_VERSION_STR MYSQL_SERVER_VERSION diff --git a/storage/xtradb/lock/lock0lock.c b/storage/xtradb/lock/lock0lock.c index 7330b066515..9d0151f40f8 100644 --- a/storage/xtradb/lock/lock0lock.c +++ b/storage/xtradb/lock/lock0lock.c @@ -4720,7 +4720,7 @@ loop: } } - if (!srv_print_innodb_lock_monitor && !srv_show_locks_held) { + if (!srv_print_innodb_lock_monitor || !srv_show_locks_held) { nth_trx++; goto loop; } diff --git a/storage/xtradb/srv/srv0start.c b/storage/xtradb/srv/srv0start.c index 5c40e0b703e..85a3818d77e 100644 --- a/storage/xtradb/srv/srv0start.c +++ b/storage/xtradb/srv/srv0start.c @@ -122,9 +122,16 @@ UNIV_INTERN enum srv_shutdown_state srv_shutdown_state = SRV_SHUTDOWN_NONE; static os_file_t files[1000]; /** io_handler_thread parameters for thread identification */ -static ulint n[SRV_MAX_N_IO_THREADS + 8]; -/** io_handler_thread identifiers */ -static os_thread_id_t thread_ids[SRV_MAX_N_IO_THREADS + 8]; +static ulint n[SRV_MAX_N_IO_THREADS]; +/** io_handler_thread identifiers. The extra elements at the end are allocated +as follows: +SRV_MAX_N_IO_THREADS + 1: srv_master_thread +SRV_MAX_N_IO_THREADS + 2: srv_lock_timeout_thread +SRV_MAX_N_IO_THREADS + 3: srv_error_monitor_thread +SRV_MAX_N_IO_THREADS + 4: srv_monitor_thread +SRV_MAX_N_IO_THREADS + 5: srv_LRU_dump_restore_thread +SRV_MAX_N_IO_THREADS + 6: srv_redo_log_follow_thread */ +static os_thread_id_t thread_ids[SRV_MAX_N_IO_THREADS + 7]; /** We use this mutex to test the return value of pthread_mutex_trylock on successful locking. HP-UX does NOT return 0, though Linux et al do. */ @@ -1184,7 +1191,7 @@ init_log_online(void) /* Create the thread that follows the redo log to output the changed page bitmap */ os_thread_create(&srv_redo_log_follow_thread, NULL, - thread_ids + 5 + SRV_MAX_N_IO_THREADS); + thread_ids + 6 + SRV_MAX_N_IO_THREADS); } } |