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 Petrunia | 24 Sep |