Commit 17a4a39c authored by Sergei Golubchik's avatar Sergei Golubchik

Merge branch 'merge-xtradb-5.5' into 5.5

5.5.44-37.3
parents 6300f2f2 1b0c81c9
/***************************************************************************** /*****************************************************************************
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
...@@ -2663,6 +2663,7 @@ dict_foreign_remove_from_cache( ...@@ -2663,6 +2663,7 @@ dict_foreign_remove_from_cache(
foreign); foreign);
rbt = foreign->referenced_table->referenced_rbt; rbt = foreign->referenced_table->referenced_rbt;
if (rbt != NULL && foreign->id != 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);
......
/***************************************************************************** /*****************************************************************************
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.
...@@ -9120,6 +9120,13 @@ ha_innobase::estimate_rows_upper_bound(void) ...@@ -9120,6 +9120,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);
...@@ -9399,17 +9406,6 @@ ha_innobase::info_low( ...@@ -9399,17 +9406,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) {
...@@ -9653,6 +9649,20 @@ ha_innobase::info_low( ...@@ -9653,6 +9649,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,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 37.2 #define PERCONA_INNODB_VERSION 37.3
#endif #endif
#define INNODB_VERSION_STR "5.5.43-MariaDB-" IB_TO_STR(PERCONA_INNODB_VERSION) #define INNODB_VERSION_STR "5.5.44-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) "." \
......
/***************************************************************************** /*****************************************************************************
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.
...@@ -2501,9 +2501,9 @@ innobase_shutdown_for_mysql(void) ...@@ -2501,9 +2501,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.
Copyright (c) 2013, 2014, MariaDB Corporation. All Rights Reserved. Copyright (c) 2013, 2014, MariaDB Corporation. All Rights Reserved.
...@@ -1114,8 +1114,9 @@ sync_array_output_info( ...@@ -1114,8 +1114,9 @@ sync_array_output_info(
os_thread_id_t r; os_thread_id_t r;
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;
......
...@@ -768,9 +768,9 @@ trx_lists_init_at_db_start(void) ...@@ -768,9 +768,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