Commit ecfe759e authored by unknown's avatar unknown

Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1

into mysql.com:/home/jonas/src/mysql-4.1

parents 40a473d3 ada600e8
...@@ -1931,9 +1931,11 @@ AC_CHECK_FUNCS(alarm bcmp bfill bmove bzero chsize cuserid fchmod fcntl \ ...@@ -1931,9 +1931,11 @@ AC_CHECK_FUNCS(alarm bcmp bfill bmove bzero chsize cuserid fchmod fcntl \
# #
# #
case "$target" in case "$target" in
*-*-aix4*) *-*-aix4* | *-*-sco*)
# (grr) aix 4.3 has a stub for clock_gettime, (returning ENOSYS) # (grr) aix 4.3 has a stub for clock_gettime, (returning ENOSYS)
# and using AC_TRY_RUN is hard when cross-compiling # and using AC_TRY_RUN is hard when cross-compiling
# We also disable for SCO for the time being, the headers for the
# thread library we use conflicts with other headers.
;; ;;
*) AC_CHECK_FUNCS(clock_gettime) *) AC_CHECK_FUNCS(clock_gettime)
;; ;;
......
...@@ -1677,11 +1677,13 @@ loop: ...@@ -1677,11 +1677,13 @@ loop:
srv_printf_innodb_monitor(stderr); srv_printf_innodb_monitor(stderr);
} }
mutex_enter(&srv_monitor_file_mutex); if (srv_innodb_status) {
rewind(srv_monitor_file); mutex_enter(&srv_monitor_file_mutex);
srv_printf_innodb_monitor(srv_monitor_file); rewind(srv_monitor_file);
os_file_set_eof(srv_monitor_file); srv_printf_innodb_monitor(srv_monitor_file);
mutex_exit(&srv_monitor_file_mutex); os_file_set_eof(srv_monitor_file);
mutex_exit(&srv_monitor_file_mutex);
}
if (srv_print_innodb_tablespace_monitor if (srv_print_innodb_tablespace_monitor
&& difftime(current_time, last_table_monitor_time) > 60) { && difftime(current_time, last_table_monitor_time) > 60) {
......
...@@ -69,6 +69,6 @@ Error 1259 ZLIB: Input data corrupted ...@@ -69,6 +69,6 @@ Error 1259 ZLIB: Input data corrupted
Error 1256 Uncompressed data size too large; the maximum size is 1048576 (probably, length of uncompressed data was corrupted) Error 1256 Uncompressed data size too large; the maximum size is 1048576 (probably, length of uncompressed data was corrupted)
drop table t1; drop table t1;
set @@max_allowed_packet=1048576*100; set @@max_allowed_packet=1048576*100;
select compress(repeat('aaaaaaaaaa', 10000000)) is null; select compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null;
compress(repeat('aaaaaaaaaa', 10000000)) is null compress(repeat('aaaaaaaaaa', IF(XXX, 10, 10000000))) is null
0 0
slave stop; stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master; reset master;
reset slave; reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
slave start; start slave;
stop slave; stop slave;
create table t1(n int); create table t1(n int);
start slave; start slave;
......
...@@ -2353,6 +2353,27 @@ select * from t2,t3 where t2.s = t3.s; ...@@ -2353,6 +2353,27 @@ select * from t2,t3 where t2.s = t3.s;
s s s s
two two two two
drop table t1, t2, t3; drop table t1, t2, t3;
create table t1 (a integer, b integer, index(a), index(b));
create table t2 (c integer, d integer, index(c), index(d));
insert into t1 values (1,2), (2,2), (3,2), (4,2);
insert into t2 values (1,3), (2,3), (3,4), (4,4);
explain select * from t1 left join t2 on a=c where d in (4);
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref c,d d 5 const 2 Using where
1 SIMPLE t1 ALL a NULL NULL NULL 3 Using where
select * from t1 left join t2 on a=c where d in (4);
a b c d
3 2 3 4
4 2 4 4
explain select * from t1 left join t2 on a=c where d = 4;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t2 ref c,d d 5 const 2 Using where
1 SIMPLE t1 ALL a NULL NULL NULL 3 Using where
select * from t1 left join t2 on a=c where d = 4;
a b c d
3 2 3 4
4 2 4 4
drop table t1, t2;
CREATE TABLE t1 ( CREATE TABLE t1 (
i int(11) NOT NULL default '0', i int(11) NOT NULL default '0',
c char(10) NOT NULL default '', c char(10) NOT NULL default '',
...@@ -2365,7 +2386,4 @@ INSERT INTO t1 VALUES (3,'c'); ...@@ -2365,7 +2386,4 @@ INSERT INTO t1 VALUES (3,'c');
EXPLAIN SELECT i FROM t1 WHERE i=1; EXPLAIN SELECT i FROM t1 WHERE i=1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 Using index 1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 Using index
EXPLAIN SELECT i FROM t1 WHERE i=1;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1 Using index
DROP TABLE t1; DROP TABLE t1;
...@@ -38,7 +38,10 @@ drop table t1; ...@@ -38,7 +38,10 @@ drop table t1;
# #
# Bug #5497: a problem with large strings # Bug #5497: a problem with large strings
# note that when LOW_MEMORY is set the "test" below is meaningless
# #
set @@max_allowed_packet=1048576*100; set @@max_allowed_packet=1048576*100;
select compress(repeat('aaaaaaaaaa', 10000000)) is null; --replace_result "''" XXX "'1'" XXX
eval select compress(repeat('aaaaaaaaaa', IF('$LOW_MEMORY', 10, 10000000))) is null;
...@@ -1898,6 +1898,20 @@ select * from t1,t2 where t1.s = t2.s; ...@@ -1898,6 +1898,20 @@ select * from t1,t2 where t1.s = t2.s;
select * from t2,t3 where t2.s = t3.s; select * from t2,t3 where t2.s = t3.s;
drop table t1, t2, t3; drop table t1, t2, t3;
#
# Bug #3759
# Both queries should produce identical plans and results.
#
create table t1 (a integer, b integer, index(a), index(b));
create table t2 (c integer, d integer, index(c), index(d));
insert into t1 values (1,2), (2,2), (3,2), (4,2);
insert into t2 values (1,3), (2,3), (3,4), (4,4);
explain select * from t1 left join t2 on a=c where d in (4);
select * from t1 left join t2 on a=c where d in (4);
explain select * from t1 left join t2 on a=c where d = 4;
select * from t1 left join t2 on a=c where d = 4;
drop table t1, t2;
# #
# Covering index is mentioned in EXPLAIN output for const tables (bug #5333) # Covering index is mentioned in EXPLAIN output for const tables (bug #5333)
# #
...@@ -1915,6 +1929,4 @@ INSERT INTO t1 VALUES (3,'c'); ...@@ -1915,6 +1929,4 @@ INSERT INTO t1 VALUES (3,'c');
EXPLAIN SELECT i FROM t1 WHERE i=1; EXPLAIN SELECT i FROM t1 WHERE i=1;
EXPLAIN SELECT i FROM t1 WHERE i=1;
DROP TABLE t1; DROP TABLE t1;
...@@ -241,11 +241,12 @@ ErrorBundle ErrorCodes[] = { ...@@ -241,11 +241,12 @@ ErrorBundle ErrorCodes[] = {
{ 877, AE, "877" }, { 877, AE, "877" },
{ 878, AE, "878" }, { 878, AE, "878" },
{ 879, AE, "879" }, { 879, AE, "879" },
{ 880, AE, "Tried to read too much - too many getValue calls" },
{ 884, AE, "Stack overflow in interpreter" }, { 884, AE, "Stack overflow in interpreter" },
{ 885, AE, "Stack underflow in interpreter" }, { 885, AE, "Stack underflow in interpreter" },
{ 886, AE, "More than 65535 instructions executed in interpreter" }, { 886, AE, "More than 65535 instructions executed in interpreter" },
{ 897, AE, "Update attempt of primary key via ndbcluster internal api (if this occurs via the MySQL server it is a bug, please report)" },
{ 4256, AE, "Must call Ndb::init() before this function" }, { 4256, AE, "Must call Ndb::init() before this function" },
{ 880, AE, "Tried to read too much - too many getValue calls" },
{ 4257, AE, "Tried to read too much - too many getValue calls" }, { 4257, AE, "Tried to read too much - too many getValue calls" },
/** /**
......
...@@ -115,7 +115,7 @@ then ...@@ -115,7 +115,7 @@ then
password=$old_style_password password=$old_style_password
fi fi
cmd="$bindir/mysql -f --user=$user --host=$host" cmd="$bindir/mysql --no-defaults --force --user=$user --host=$host"
if test ! -z "$password" ; then if test ! -z "$password" ; then
cmd="$cmd --password=$password" cmd="$cmd --password=$password"
fi fi
......
...@@ -735,7 +735,7 @@ void Item_func_interval::fix_length_and_dec() ...@@ -735,7 +735,7 @@ void Item_func_interval::fix_length_and_dec()
maybe_null= 0; maybe_null= 0;
max_length= 2; max_length= 2;
used_tables_cache|= row->used_tables(); used_tables_cache|= row->used_tables();
not_null_tables_cache&= row->not_null_tables(); not_null_tables_cache= row->not_null_tables();
with_sum_func= with_sum_func || row->with_sum_func; with_sum_func= with_sum_func || row->with_sum_func;
const_item_cache&= row->const_item(); const_item_cache&= row->const_item();
} }
......
...@@ -1820,7 +1820,8 @@ int init_master_info(MASTER_INFO* mi, const char* master_info_fname, ...@@ -1820,7 +1820,8 @@ int init_master_info(MASTER_INFO* mi, const char* master_info_fname,
position is at the beginning of the file, and will read the position is at the beginning of the file, and will read the
"signature" and then fast-forward to the last position read. "signature" and then fast-forward to the last position read.
*/ */
if (thread_mask & SLAVE_SQL) { if (thread_mask & SLAVE_SQL)
{
my_b_seek(mi->rli.cur_log, (my_off_t) 0); my_b_seek(mi->rli.cur_log, (my_off_t) 0);
} }
DBUG_RETURN(0); DBUG_RETURN(0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment