Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
061d6606
Commit
061d6606
authored
Sep 24, 2005
by
sergefp@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-merge-sept24
parents
844d1244
9a05a887
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
27 additions
and
12 deletions
+27
-12
myisam/mi_check.c
myisam/mi_check.c
+1
-1
myisam/myisamchk.c
myisam/myisamchk.c
+3
-3
mysql-test/r/func_in.result
mysql-test/r/func_in.result
+9
-0
mysql-test/r/myisam.result
mysql-test/r/myisam.result
+2
-2
mysql-test/t/func_in.test
mysql-test/t/func_in.test
+7
-0
sql/ha_myisam.cc
sql/ha_myisam.cc
+1
-1
sql/mysqld.cc
sql/mysqld.cc
+4
-4
sql/sql_select.cc
sql/sql_select.cc
+0
-1
No files found.
myisam/mi_check.c
View file @
061d6606
...
...
@@ -3994,7 +3994,7 @@ void update_auto_increment_key(MI_CHECK *param, MI_INFO *info,
...
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
i
nequal (see
Statistics collection may consider NULLs as either equal or
u
nequal (see
SEARCH_NULL_ARE_NOT_EQUAL, MI_STATS_METHOD_*).
Output is an array:
...
...
myisam/myisamchk.c
View file @
061d6606
...
...
@@ -67,7 +67,7 @@ static const char *field_pack[]=
"no zeros"
,
"blob"
,
"constant"
,
"table-lockup"
,
"always zero"
,
"varchar"
,
"unique-hash"
,
"?"
,
"?"
};
static
const
char
*
myisam_stats_method_str
=
"nulls_
i
nequal"
;
static
const
char
*
myisam_stats_method_str
=
"nulls_
u
nequal"
;
static
void
get_options
(
int
*
argc
,
char
*
*
*
argv
);
static
void
print_version
(
void
);
...
...
@@ -339,7 +339,7 @@ static struct my_option my_long_options[] =
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_
i
nequal
\"
(default behavior for 4.1/5.0), and
\"
nulls_equal
\"
(emulate 4.0 behavior)."
,
"Possible values of name are
\"
nulls_
u
nequal
\"
(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 @@ static void usage(void)
#include <help_end.h>
const
char
*
myisam_stats_method_names
[]
=
{
"nulls_
i
nequal"
,
"nulls_equal"
,
const
char
*
myisam_stats_method_names
[]
=
{
"nulls_
u
nequal"
,
"nulls_equal"
,
NullS
};
TYPELIB
myisam_stats_method_typelib
=
{
array_elements
(
myisam_stats_method_names
)
-
1
,
""
,
...
...
mysql-test/r/func_in.result
View file @
061d6606
...
...
@@ -193,6 +193,15 @@ select * from t1 where a in (NULL, 'aa');
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);
...
...
mysql-test/r/myisam.result
View file @
061d6606
...
...
@@ -610,7 +610,7 @@ test.t2 984116287
drop table t1, t2;
show variables like 'myisam_stats_method';
Variable_name Value
myisam_stats_method nulls_
i
nequal
myisam_stats_method nulls_
u
nequal
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 @@ t1 1 a 1 a A 5 NULL NULL YES BTREE
set myisam_stats_method=DEFAULT;
show variables like 'myisam_stats_method';
Variable_name Value
myisam_stats_method nulls_
i
nequal
myisam_stats_method nulls_
u
nequal
insert into t1 values (11);
delete from t1 where a=11;
analyze table t1;
...
...
mysql-test/t/func_in.test
View file @
061d6606
...
...
@@ -102,6 +102,13 @@ insert into t1 values ('aa'), ('bb');
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
#
...
...
sql/ha_myisam.cc
View file @
061d6606
...
...
@@ -39,7 +39,7 @@ const char *myisam_recover_names[] =
TYPELIB
myisam_recover_typelib
=
{
array_elements
(
myisam_recover_names
)
-
1
,
""
,
myisam_recover_names
,
NULL
};
const
char
*
myisam_stats_method_names
[]
=
{
"nulls_
i
nequal"
,
"nulls_equal"
,
const
char
*
myisam_stats_method_names
[]
=
{
"nulls_
u
nequal"
,
"nulls_equal"
,
NullS
};
TYPELIB
myisam_stats_method_typelib
=
{
array_elements
(
myisam_stats_method_names
)
-
1
,
""
,
...
...
sql/mysqld.cc
View file @
061d6606
...
...
@@ -432,7 +432,7 @@ char server_version[SERVER_VERSION_LENGTH];
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_
i
nequal"
;
const
char
*
myisam_stats_method_str
=
"nulls_
u
nequal"
;
/* 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 @@ The minimum value for this variable is 4096.",
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_
i
nequal
\"
(default behavior for 4.1/5.0), and
\"
nulls_equal
\"
(emulate 4.0 behavior)."
,
"Possible values of name are
\"
nulls_
u
nequal
\"
(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 @@ static void mysql_init_variables(void)
query_id
=
thread_id
=
1L
;
strmov
(
server_version
,
MYSQL_SERVER_VERSION
);
myisam_recover_options_str
=
sql_mode_str
=
"OFF"
;
myisam_stats_method_str
=
"nulls_
i
nequal"
;
myisam_stats_method_str
=
"nulls_
u
nequal"
;
my_bind_addr
=
htonl
(
INADDR_ANY
);
threads
.
empty
();
thread_cache
.
empty
();
...
...
@@ -6157,7 +6157,7 @@ static void mysql_init_variables(void)
global_system_variables
.
old_passwords
=
0
;
/*
Default behavior for 4.1 and 5.0 is to treat NULL values as
i
nequal
Default behavior for 4.1 and 5.0 is to treat NULL values as
u
nequal
when collecting index statistics for MyISAM tables.
*/
global_system_variables
.
myisam_stats_method
=
MI_STATS_METHOD_NULLS_NOT_EQUAL
;
...
...
sql/sql_select.cc
View file @
061d6606
...
...
@@ -2386,7 +2386,6 @@ merge_key_fields(KEY_FIELD *start,KEY_FIELD *new_fields,KEY_FIELD *end,
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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment