summaryrefslogtreecommitdiff
path: root/sql/mysqld.cc
diff options
context:
space:
mode:
authorSatya B <satya.bn@sun.com>2009-04-24 16:33:50 +0530
committerSatya B <satya.bn@sun.com>2009-04-24 16:33:50 +0530
commit4610c13a2477e88bc055febb886e90a562bc2f76 (patch)
treedcc3ceab089d019567ded08d48e0f0a3ec090c07 /sql/mysqld.cc
parent08044795697dfd588841f9bacf589a4eeeff2431 (diff)
downloadmariadb-git-4610c13a2477e88bc055febb886e90a562bc2f76.tar.gz
Fix for BUG#43660- SHOW INDEXES/ANALYZE does NOT update cardinality
for indexes of InnoDB table Fixes by replacing the PRNG that is used to pick random pages with a better one. Also adds a configuration option "innodb_use_legacy_cardinality_algorithm" to enable the fix only when the option is set. This patch is from http://bugs.mysql.com/file.php?id=11789
Diffstat (limited to 'sql/mysqld.cc')
-rw-r--r--sql/mysqld.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index ad3521e5dde..0583e3fa57f 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -5044,7 +5044,8 @@ enum options_mysqld
OPT_SECURE_FILE_PRIV,
OPT_KEEP_FILES_ON_CREATE,
OPT_INNODB_ADAPTIVE_HASH_INDEX,
- OPT_FEDERATED
+ OPT_FEDERATED,
+ OPT_INNODB_USE_LEGACY_CARDINALITY_ALGORITHM
};
@@ -5351,6 +5352,14 @@ Disable with --skip-innodb-doublewrite.", (gptr*) &innobase_use_doublewrite,
(gptr*) &global_system_variables.innodb_table_locks,
(gptr*) &global_system_variables.innodb_table_locks,
0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0},
+ {"innodb_use_legacy_cardinality_algorithm",
+ OPT_INNODB_USE_LEGACY_CARDINALITY_ALGORITHM,
+ "Use legacy algorithm for picking random pages during index cardinality "
+ "estimation. Disable this to use a better algorithm, but note that your "
+ "query plans may change (enabled by default).",
+ (gptr*) &srv_use_legacy_cardinality_algorithm,
+ (gptr*) &srv_use_legacy_cardinality_algorithm,
+ 0, GET_BOOL, OPT_ARG, 1, 0, 0, 0, 0, 0},
#endif /* End HAVE_INNOBASE_DB */
{"isam", OPT_ISAM, "Obsolete. ISAM storage engine is no longer supported.",
(gptr*) &opt_isam, (gptr*) &opt_isam, 0, GET_BOOL, NO_ARG, 0, 0, 0,