1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-09 22:24:09 +03:00

5.5 merge

This commit is contained in:
Sergei Golubchik
2014-11-21 20:20:39 +01:00
7 changed files with 25 additions and 15 deletions

View File

@@ -1,28 +1,28 @@
SET @start_global_value = @@global.innodb_stats_traditional;
SELECT @start_global_value;
@start_global_value
0
1
Valid values are 'ON' and 'OFF'
select @@global.innodb_stats_traditional in (0, 1);
@@global.innodb_stats_traditional in (0, 1)
1
select @@global.innodb_stats_traditional;
@@global.innodb_stats_traditional
0
1
select @@session.innodb_stats_traditional;
ERROR HY000: Variable 'innodb_stats_traditional' is a GLOBAL variable
show global variables like 'innodb_stats_traditional';
Variable_name Value
innodb_stats_traditional OFF
innodb_stats_traditional ON
show session variables like 'innodb_stats_traditional';
Variable_name Value
innodb_stats_traditional OFF
innodb_stats_traditional ON
select * from information_schema.global_variables where variable_name='innodb_stats_traditional';
VARIABLE_NAME VARIABLE_VALUE
INNODB_STATS_TRADITIONAL OFF
INNODB_STATS_TRADITIONAL ON
select * from information_schema.session_variables where variable_name='innodb_stats_traditional';
VARIABLE_NAME VARIABLE_VALUE
INNODB_STATS_TRADITIONAL OFF
INNODB_STATS_TRADITIONAL ON
set global innodb_stats_traditional='OFF';
select @@global.innodb_stats_traditional;
@@global.innodb_stats_traditional
@@ -89,4 +89,4 @@ ERROR 42000: Variable 'innodb_stats_traditional' can't be set to the value of 'A
SET @@global.innodb_stats_traditional = @start_global_value;
SELECT @@global.innodb_stats_traditional;
@@global.innodb_stats_traditional
0
1

View File

@@ -16364,8 +16364,8 @@ static MYSQL_SYSVAR_ULONGLONG(stats_modified_counter, srv_stats_modified_counter
static MYSQL_SYSVAR_BOOL(stats_traditional, srv_stats_sample_traditional,
PLUGIN_VAR_RQCMDARG,
"Enable traditional statistic calculation based on number of configured pages (default false)",
NULL, NULL, FALSE);
"Enable traditional statistic calculation based on number of configured pages (default true)",
NULL, NULL, TRUE);
static MYSQL_SYSVAR_BOOL(adaptive_hash_index, btr_search_enabled,
PLUGIN_VAR_OPCMDARG,

View File

@@ -345,8 +345,8 @@ UNIV_INTERN my_bool srv_stats_auto_recalc = TRUE;
UNIV_INTERN unsigned long long srv_stats_modified_counter = 0;
/* Enable traditional statistic calculation based on number of configured
pages default false. */
UNIV_INTERN my_bool srv_stats_sample_traditional = FALSE;
pages default true. */
UNIV_INTERN my_bool srv_stats_sample_traditional = TRUE;
UNIV_INTERN ibool srv_use_doublewrite_buf = TRUE;

View File

@@ -551,6 +551,11 @@ spin_loop:
mutex_set_waiters(mutex, 1);
/* Make sure waiters store won't pass over mutex_test_and_set */
#ifdef __powerpc__
os_mb;
#endif
/* Try to reserve still a few times */
for (i = 0; i < 4; i++) {
if (ib_mutex_test_and_set(mutex) == 0) {

View File

@@ -17462,8 +17462,8 @@ static MYSQL_SYSVAR_ULONGLONG(stats_modified_counter, srv_stats_modified_counter
static MYSQL_SYSVAR_BOOL(stats_traditional, srv_stats_sample_traditional,
PLUGIN_VAR_RQCMDARG,
"Enable traditional statistic calculation based on number of configured pages (default false)",
NULL, NULL, FALSE);
"Enable traditional statistic calculation based on number of configured pages (default true)",
NULL, NULL, TRUE);
static MYSQL_SYSVAR_BOOL(adaptive_hash_index, btr_search_enabled,
PLUGIN_VAR_OPCMDARG,

View File

@@ -462,8 +462,8 @@ UNIV_INTERN my_bool srv_stats_auto_recalc = TRUE;
UNIV_INTERN unsigned long long srv_stats_modified_counter = 0;
/* Enable traditional statistic calculation based on number of configured
pages default false. */
UNIV_INTERN my_bool srv_stats_sample_traditional = FALSE;
pages default true. */
UNIV_INTERN my_bool srv_stats_sample_traditional = TRUE;
UNIV_INTERN ibool srv_use_doublewrite_buf = TRUE;
UNIV_INTERN ibool srv_use_atomic_writes = FALSE;

View File

@@ -649,6 +649,11 @@ spin_loop:
mutex_set_waiters(mutex, 1);
}
/* Make sure waiters store won't pass over mutex_test_and_set */
#ifdef __powerpc__
os_mb;
#endif
/* Try to reserve still a few times */
for (i = 0; i < 4; i++) {
if (ib_mutex_test_and_set(mutex) == 0) {