Commit 689910ac authored by unknown's avatar unknown
Browse files

WL3527: 5.1

 renamed "--old-mode" to "--old" to prevent
 ambiguity.
 "old" now appears in SHOW VARIABLES as a
 read-only option.


mysql-test/r/group_by.result:
  WL3527: 5.1 test case
mysql-test/t/group_by.test:
  WL3527: 5.1 test case
sql/mysqld.cc:
  WL3527: 5.1
   renamed the "old-mode" to "old" to fit
   the options naming scheme
sql/set_var.cc:
  WL3527: 5.1
   added "-old" as read-only system variable
sql/set_var.h:
  WL3527: 5.1
   added class for boolean pointer read-only 
   option to support the "--old" option.
sql/sql_base.cc:
  fixed 5.0->5.1 merge problems.
parent e256e9a9
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1141,4 +1141,9 @@ EXPLAIN SELECT 1 FROM t2 WHERE a IN
id	select_type	table	type	possible_keys	key	key_len	ref	rows	Extra
1	PRIMARY	t2	index	NULL	a	5	NULL	4	Using where; Using index
2	DEPENDENT SUBQUERY	t1	ALL	NULL	NULL	NULL	NULL	256	Using where
SHOW VARIABLES LIKE 'old';
Variable_name	Value
old	OFF
SET @@old = off;
ERROR HY000: Variable 'old' is a read only variable
DROP TABLE t1, t2;
+6 −1
Original line number Diff line number Diff line
@@ -755,7 +755,8 @@ SET SQL_MODE = '';

#
# Bug #21174: Index degrades sort performance and 
#             optimizer does not honor IGNORE INDEX
#             optimizer does not honor IGNORE INDEX.
#             a.k.a WL3527.
#
CREATE TABLE t1 (a INT, b INT,
                 PRIMARY KEY (a),
@@ -819,4 +820,8 @@ EXPLAIN SELECT a, SUM(b) FROM t2 IGNORE INDEX (a) GROUP BY a LIMIT 2;
EXPLAIN SELECT 1 FROM t2 WHERE a IN
  (SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2));

SHOW VARIABLES LIKE 'old';  
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
SET @@old = off;  

DROP TABLE t1, t2;
+1 −1
Original line number Diff line number Diff line
@@ -6268,7 +6268,7 @@ The minimum value for this variable is 4096.",
   (gptr*) &global_system_variables.net_write_timeout,
   (gptr*) &max_system_variables.net_write_timeout, 0, GET_ULONG,
   REQUIRED_ARG, NET_WRITE_TIMEOUT, 1, LONG_TIMEOUT, 0, 1, 0},
  { "old_mode", OPT_OLD_MODE, "Use compatible behaviour.", 
  { "old", OPT_OLD_MODE, "Use compatible behavior.", 
    (gptr*) &global_system_variables.old_mode,
    (gptr*) &max_system_variables.old_mode, 0, GET_BOOL, NO_ARG, 
    0, 0, 0, 0, 0, 0},
+3 −0
Original line number Diff line number Diff line
@@ -356,6 +356,8 @@ sys_var_thd_ulong sys_net_retry_count("net_retry_count",
					    &SV::net_retry_count,
					    0, fix_net_retry_count);
sys_var_thd_bool	sys_new_mode("new", &SV::new_mode);
sys_var_bool_ptr_readonly sys_old_mode("old", 
                                       &global_system_variables.old_mode);
sys_var_thd_bool	sys_old_alter_table("old_alter_table",
					    &SV::old_alter_table);
sys_var_thd_bool	sys_old_passwords("old_passwords", &SV::old_passwords);
@@ -942,6 +944,7 @@ SHOW_VAR init_vars[]= {
  {sys_net_retry_count.name,  (char*) &sys_net_retry_count,	    SHOW_SYS},
  {sys_net_write_timeout.name,(char*) &sys_net_write_timeout,       SHOW_SYS},
  {sys_new_mode.name,         (char*) &sys_new_mode,                SHOW_SYS},
  {sys_old_mode.name,         (char*) &sys_old_mode,                SHOW_SYS},
  {sys_old_alter_table.name,  (char*) &sys_old_alter_table,         SHOW_SYS},
  {sys_old_passwords.name,    (char*) &sys_old_passwords,           SHOW_SYS},
  {"open_files_limit",	      (char*) &open_files_limit,	    SHOW_LONG},
+10 −0
Original line number Diff line number Diff line
@@ -169,6 +169,16 @@ class sys_var_bool_ptr :public sys_var
};


class sys_var_bool_ptr_readonly :public sys_var_bool_ptr
{
public:
  sys_var_bool_ptr_readonly(const char *name_arg, my_bool *value_arg)
    :sys_var_bool_ptr(name_arg, value_arg)
  {}
  bool is_readonly() const { return 1; }
};


class sys_var_str :public sys_var
{
public:
Loading