Commit 1b0c81c9 authored by Sergei Golubchik's avatar Sergei Golubchik

5.5.44-37.3

parent 750aa8b0
/***************************************************************************** /*****************************************************************************
Copyright (c) 1995, 2014, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2008, Google Inc. Copyright (c) 2008, Google Inc.
Portions of this file contain modifications contributed and copyrighted by Portions of this file contain modifications contributed and copyrighted by
...@@ -1666,6 +1666,10 @@ buf_pool_watch_set( ...@@ -1666,6 +1666,10 @@ buf_pool_watch_set(
/* buf_pool->watch is protected by zip_mutex for now */ /* buf_pool->watch is protected by zip_mutex for now */
mutex_enter(&buf_pool->zip_mutex); mutex_enter(&buf_pool->zip_mutex);
/* The maximum number of purge threads should never exceed
BUF_POOL_WATCH_SIZE. So there is no way for purge thread
instance to hold a watch when setting another watch. */
for (i = 0; i < BUF_POOL_WATCH_SIZE; i++) { for (i = 0; i < BUF_POOL_WATCH_SIZE; i++) {
bpage = &buf_pool->watch[i]; bpage = &buf_pool->watch[i];
......
/***************************************************************************** /*****************************************************************************
Copyright (c) 1996, 2014, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1996, 2015, Oracle and/or its affiliates. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software the terms of the GNU General Public License as published by the Free Software
...@@ -2664,7 +2664,7 @@ dict_foreign_remove_from_cache( ...@@ -2664,7 +2664,7 @@ dict_foreign_remove_from_cache(
rbt = foreign->referenced_table->referenced_rbt; rbt = foreign->referenced_table->referenced_rbt;
if (rbt != NULL) { if (rbt != NULL && foreign->id != NULL) {
const ib_rbt_node_t* node const ib_rbt_node_t* node
= rbt_lookup(rbt, foreign->id); = rbt_lookup(rbt, foreign->id);
dict_foreign_t* val = *(dict_foreign_t**) node->value; dict_foreign_t* val = *(dict_foreign_t**) node->value;
...@@ -2683,7 +2683,7 @@ dict_foreign_remove_from_cache( ...@@ -2683,7 +2683,7 @@ dict_foreign_remove_from_cache(
foreign); foreign);
rbt = foreign->foreign_table->foreign_rbt; rbt = foreign->foreign_table->foreign_rbt;
if (rbt != NULL) { if (rbt != NULL && foreign->id != NULL) {
const ib_rbt_node_t* node const ib_rbt_node_t* node
= rbt_lookup(rbt, foreign->id); = rbt_lookup(rbt, foreign->id);
dict_foreign_t* val = *(dict_foreign_t**) node->value; dict_foreign_t* val = *(dict_foreign_t**) node->value;
......
/***************************************************************************** /*****************************************************************************
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 2000, 2015, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2008, 2009 Google Inc. Copyright (c) 2008, 2009 Google Inc.
Copyright (c) 2009, Percona Inc. Copyright (c) 2009, Percona Inc.
...@@ -8934,6 +8934,13 @@ ha_innobase::estimate_rows_upper_bound(void) ...@@ -8934,6 +8934,13 @@ ha_innobase::estimate_rows_upper_bound(void)
estimate = 2 * local_data_file_length / estimate = 2 * local_data_file_length /
dict_index_calc_min_rec_len(index); dict_index_calc_min_rec_len(index);
/* Set num_rows less than MERGEBUFF to simulate the case where we do
not have enough space to merge the externally sorted file blocks. */
DBUG_EXECUTE_IF("set_num_rows_lt_MERGEBUFF",
estimate = 2;
DBUG_SET("-d,set_num_rows_lt_MERGEBUFF");
);
prebuilt->trx->op_info = (char*)""; prebuilt->trx->op_info = (char*)"";
DBUG_RETURN((ha_rows) estimate); DBUG_RETURN((ha_rows) estimate);
...@@ -9218,17 +9225,6 @@ ha_innobase::info_low( ...@@ -9218,17 +9225,6 @@ ha_innobase::info_low(
prebuilt->trx->op_info = "returning various info to MySQL"; prebuilt->trx->op_info = "returning various info to MySQL";
} }
my_snprintf(path, sizeof(path), "%s/%s%s",
mysql_data_home, ib_table->name, reg_ext);
unpack_filename(path,path);
/* Note that we do not know the access time of the table,
nor the CHECK TABLE time, nor the UPDATE or INSERT time. */
if (os_file_get_status(path,&stat_info)) {
stats.create_time = (ulong) stat_info.ctime;
}
} }
if (flag & HA_STATUS_VARIABLE) { if (flag & HA_STATUS_VARIABLE) {
...@@ -9425,6 +9421,20 @@ ha_innobase::info_low( ...@@ -9425,6 +9421,20 @@ ha_innobase::info_low(
} }
dict_table_stats_unlock(ib_table, RW_S_LATCH); dict_table_stats_unlock(ib_table, RW_S_LATCH);
my_snprintf(path, sizeof(path), "%s/%s%s",
mysql_data_home,
table->s->normalized_path.str,
reg_ext);
unpack_filename(path,path);
/* Note that we do not know the access time of the table,
nor the CHECK TABLE time, nor the UPDATE or INSERT time. */
if (os_file_get_status(path,&stat_info)) {
stats.create_time = (ulong) stat_info.ctime;
}
} }
if (srv_force_recovery >= SRV_FORCE_NO_IBUF_MERGE) { if (srv_force_recovery >= SRV_FORCE_NO_IBUF_MERGE) {
......
...@@ -64,7 +64,7 @@ component, i.e. we show M.N.P as M.N */ ...@@ -64,7 +64,7 @@ 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 37.2 #define PERCONA_INNODB_VERSION 37.3
#endif #endif
#define INNODB_VERSION_STR MYSQL_SERVER_VERSION #define INNODB_VERSION_STR MYSQL_SERVER_VERSION
......
/***************************************************************************** /*****************************************************************************
Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
Copyright (c) 2008, Google Inc. Copyright (c) 2008, Google Inc.
Copyright (c) 2009, Percona Inc. Copyright (c) 2009, Percona Inc.
...@@ -2466,9 +2466,9 @@ innobase_shutdown_for_mysql(void) ...@@ -2466,9 +2466,9 @@ innobase_shutdown_for_mysql(void)
ibuf_close(); ibuf_close();
log_shutdown(); log_shutdown();
lock_sys_close();
trx_sys_file_format_close(); trx_sys_file_format_close();
trx_sys_close(); trx_sys_close();
lock_sys_close();
mutex_free(&srv_monitor_file_mutex); mutex_free(&srv_monitor_file_mutex);
mutex_free(&srv_dict_tmpfile_mutex); mutex_free(&srv_dict_tmpfile_mutex);
......
/***************************************************************************** /*****************************************************************************
Copyright (c) 1995, 2011, Oracle and/or its affiliates. All Rights Reserved. Copyright (c) 1995, 2015, Oracle and/or its affiliates. All Rights Reserved.
Copyright (c) 2008, Google Inc. Copyright (c) 2008, Google Inc.
Portions of this file contain modifications contributed and copyrighted by Portions of this file contain modifications contributed and copyrighted by
...@@ -1025,8 +1025,9 @@ sync_array_output_info( ...@@ -1025,8 +1025,9 @@ sync_array_output_info(
ulint i; ulint i;
fprintf(file, fprintf(file,
"OS WAIT ARRAY INFO: reservation count %ld, signal count %ld\n", "OS WAIT ARRAY INFO: reservation count " ULINTPF
(long) arr->res_count, (long) arr->sg_count); ", signal count " ULINTPF "\n",
arr->res_count, arr->sg_count);
i = 0; i = 0;
count = 0; count = 0;
......
...@@ -769,9 +769,9 @@ trx_lists_init_at_db_start(void) ...@@ -769,9 +769,9 @@ trx_lists_init_at_db_start(void)
" anyway.\n"); " anyway.\n");
trx->state = TRX_ACTIVE; trx->state = TRX_ACTIVE;
trx_reserve_descriptor(
trx);
} }
trx_reserve_descriptor(trx);
} else { } else {
trx->state trx->state
= TRX_COMMITTED_IN_MEMORY; = TRX_COMMITTED_IN_MEMORY;
......
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