List:Internals« Previous MessageNext Message »
From:Sergey Petrunia Date:September 24 2005 12:39am
Subject:bk commit into 5.0 tree (sergefp:1.2005)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of psergey. When psergey does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet
  1.2005 05/09/24 02:39:52 sergefp@stripped +8 -0
  Manually merged

  sql/sql_select.cc
    1.375 05/09/24 02:39:47 sergefp@stripped +0 -3
    Manually merged.

  mysql-test/r/func_in.result
    1.22 05/09/24 02:39:47 sergefp@stripped +0 -0
    Manually merged

  sql/mysqld.cc
    1.506 05/09/24 02:35:27 sergefp@stripped +0 -0
    Auto merged

  sql/ha_myisam.cc
    1.159 05/09/24 02:35:27 sergefp@stripped +0 -0
    Auto merged

  mysql-test/t/func_in.test
    1.17 05/09/24 02:35:27 sergefp@stripped +0 -0
    Auto merged

  mysql-test/r/myisam.result
    1.67 05/09/24 02:35:27 sergefp@stripped +0 -0
    Auto merged

  myisam/myisamchk.c
    1.118 05/09/24 02:35:27 sergefp@stripped +0 -0
    Auto merged

  myisam/mi_check.c
    1.137 05/09/24 02:35:26 sergefp@stripped +0 -0
    Auto merged

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	sergefp
# Host:	newbox.mylan
# Root:	/home/psergey/mysql-5.0-merge-sept24/RESYNC

--- 1.136/myisam/mi_check.c	2005-09-21 15:19:19 +04:00
+++ 1.137/myisam/mi_check.c	2005-09-24 02:35:26 +04:00
@@ -3994,7 +3994,7 @@
     ...
     The 'unique' array is collected in one sequential scan through the entire
     index. This is done in two places: in chk_index() and in sort_key_write().
-    Statistics collection may consider NULLs as either equal or inequal (see
+    Statistics collection may consider NULLs as either equal or unequal (see
     SEARCH_NULL_ARE_NOT_EQUAL, MI_STATS_METHOD_*).
 
     Output is an array:

--- 1.117/myisam/myisamchk.c	2005-09-23 11:12:05 +04:00
+++ 1.118/myisam/myisamchk.c	2005-09-24 02:35:27 +04:00
@@ -67,7 +67,7 @@
  "no zeros", "blob", "constant", "table-lockup",
  "always zero","varchar","unique-hash","?","?"};
 
-static const char *myisam_stats_method_str="nulls_inequal";
+static const char *myisam_stats_method_str="nulls_unequal";
 
 static void get_options(int *argc,char * * *argv);
 static void print_version(void);
@@ -339,7 +339,7 @@
     REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
   {"stats_method", OPT_STATS_METHOD,
    "Specifies how index statistics collection code should threat NULLs. "
-   "Possible values of name are \"nulls_inequal\" (default behavior for 4.1/5.0), and
\"nulls_equal\" (emulate 4.0 behavior).",
+   "Possible values of name are \"nulls_unequal\" (default behavior for 4.1/5.0), and
\"nulls_equal\" (emulate 4.0 behavior).",
    (gptr*) &myisam_stats_method_str, (gptr*) &myisam_stats_method_str, 0,
     GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
   { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
@@ -471,7 +471,7 @@
 
 #include <help_end.h>
 
-const char *myisam_stats_method_names[] = {"nulls_inequal", "nulls_equal",
+const char *myisam_stats_method_names[] = {"nulls_unequal", "nulls_equal",
                                            NullS};
 TYPELIB myisam_stats_method_typelib= {
   array_elements(myisam_stats_method_names) - 1, "",

--- 1.158/sql/ha_myisam.cc	2005-09-21 19:42:24 +04:00
+++ 1.159/sql/ha_myisam.cc	2005-09-24 02:35:27 +04:00
@@ -39,7 +39,7 @@
 TYPELIB myisam_recover_typelib= {array_elements(myisam_recover_names)-1,"",
 				 myisam_recover_names, NULL};
 
-const char *myisam_stats_method_names[] = {"nulls_inequal", "nulls_equal",
+const char *myisam_stats_method_names[] = {"nulls_unequal", "nulls_equal",
                                            NullS};
 TYPELIB myisam_stats_method_typelib= {
   array_elements(myisam_stats_method_names) - 1, "",

--- 1.505/sql/mysqld.cc	2005-09-24 01:00:44 +04:00
+++ 1.506/sql/mysqld.cc	2005-09-24 02:35:27 +04:00
@@ -432,7 +432,7 @@
 char *mysqld_unix_port, *opt_mysql_tmpdir;
 const char **errmesg;			/* Error messages */
 const char *myisam_recover_options_str="OFF";
-const char *myisam_stats_method_str="nulls_inequal";
+const char *myisam_stats_method_str="nulls_unequal";
 /* name of reference on left espression in rewritten IN subquery */
 const char *in_left_expr_name= "<left expr>";
 /* name of additional condition */
@@ -5519,7 +5519,7 @@
    GET_ULONG, REQUIRED_ARG, 8192*1024, 4, ~0L, 0, 1, 0},
   {"myisam_stats_method", OPT_MYISAM_STATS_METHOD,
    "Specifies how MyISAM index statistics collection code should threat NULLs. "
-   "Possible values of name are \"nulls_inequal\" (default behavior for 4.1/5.0), and
\"nulls_equal\" (emulate 4.0 behavior).",
+   "Possible values of name are \"nulls_unequal\" (default behavior for 4.1/5.0), and
\"nulls_equal\" (emulate 4.0 behavior).",
    (gptr*) &myisam_stats_method_str, (gptr*) &myisam_stats_method_str, 0,
     GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
   {"net_buffer_length", OPT_NET_BUFFER_LENGTH,
@@ -6106,7 +6106,7 @@
   query_id= thread_id= 1L;
   strmov(server_version, MYSQL_SERVER_VERSION);
   myisam_recover_options_str= sql_mode_str= "OFF";
-  myisam_stats_method_str= "nulls_inequal";
+  myisam_stats_method_str= "nulls_unequal";
   my_bind_addr = htonl(INADDR_ANY);
   threads.empty();
   thread_cache.empty();
@@ -6157,7 +6157,7 @@
   global_system_variables.old_passwords= 0;
   
   /*
-    Default behavior for 4.1 and 5.0 is to treat NULL values as inequal
+    Default behavior for 4.1 and 5.0 is to treat NULL values as unequal
     when collecting index statistics for MyISAM tables.
   */
   global_system_variables.myisam_stats_method= MI_STATS_METHOD_NULLS_NOT_EQUAL;

--- 1.374/sql/sql_select.cc	2005-09-23 00:46:50 +04:00
+++ 1.375/sql/sql_select.cc	2005-09-24 02:39:47 +04:00
@@ -2386,7 +2386,6 @@
     field			Field used in comparision
     eq_func			True if we used =, <=> or IS NULL
     value			Value used for comparison with field
-                                Is NULL for BETWEEN and IN
     usable_tables		Tables which can be used for key optimization
 
   NOTES

--- 1.21/mysql-test/r/func_in.result	2005-09-14 13:24:10 +04:00
+++ 1.22/mysql-test/r/func_in.result	2005-09-24 02:39:47 +04:00
@@ -193,6 +193,15 @@
 a
 aa
 drop table t1;
+create table t1 (id int, key(id));
+insert into t1 values (1),(2),(3);
+select count(*) from t1 where id not in (1);
+count(*)
+2
+select count(*) from t1 where id not in (1,2);
+count(*)
+1
+drop table t1;
 CREATE TABLE t1 (a int PRIMARY KEY);
 INSERT INTO t1 VALUES (44), (45), (46);
 SELECT * FROM t1 WHERE a IN (45);

--- 1.16/mysql-test/t/func_in.test	2005-07-28 18:09:48 +04:00
+++ 1.17/mysql-test/t/func_in.test	2005-09-24 02:35:27 +04:00
@@ -102,6 +102,13 @@
 select * from t1 where a in (NULL, 'aa');
 drop table t1;
 
+# BUG#13419
+create table t1 (id int, key(id));
+insert into t1 values (1),(2),(3);
+select count(*) from t1 where id not in (1);
+select count(*) from t1 where id not in (1,2);
+drop table t1;
+
 # End of 4.1 tests
 
 #

--- 1.66/mysql-test/r/myisam.result	2005-09-21 15:53:08 +04:00
+++ 1.67/mysql-test/r/myisam.result	2005-09-24 02:35:27 +04:00
@@ -610,7 +610,7 @@
 drop table t1, t2;
 show variables like 'myisam_stats_method';
 Variable_name	Value
-myisam_stats_method	nulls_inequal
+myisam_stats_method	nulls_unequal
 create table t1 (a int, key(a));
 insert into t1 values (0),(1),(2),(3),(4);
 insert into t1 select NULL from t1;
@@ -651,7 +651,7 @@
 set myisam_stats_method=DEFAULT;
 show variables like 'myisam_stats_method';
 Variable_name	Value
-myisam_stats_method	nulls_inequal
+myisam_stats_method	nulls_unequal
 insert into t1 values (11);
 delete from t1 where a=11;
 analyze table t1;
Thread
bk commit into 5.0 tree (sergefp:1.2005)Sergey Petrunia24 Sep