summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <serg@serg.mylan>2004-11-28 18:19:01 +0100
committerunknown <serg@serg.mylan>2004-11-28 18:19:01 +0100
commitdd33501f9eb87d0004034aa01bd80a3d56934ad2 (patch)
tree304569af7cace94b402f78a4a7af73ac6e4e838a
parent5607539c5b5dee4809e8e370527d3542387e27a4 (diff)
parent59abcd447cc373c1c3dfc0184f12642aa6d2ab70 (diff)
downloadmariadb-git-dd33501f9eb87d0004034aa01bd80a3d56934ad2.tar.gz
merged
BitKeeper/etc/logging_ok: auto-union innobase/srv/srv0srv.c: Auto merged mysql-test/t/select.test: Auto merged sql/item_cmpfunc.h: Auto merged sql/slave.cc: Auto merged
-rw-r--r--innobase/srv/srv0srv.c12
-rw-r--r--mysql-test/r/select.result38
-rw-r--r--mysql-test/t/select.test14
-rw-r--r--scripts/mysql_fix_privilege_tables.sh2
-rw-r--r--sql/item_cmpfunc.cc2
-rw-r--r--sql/slave.cc3
6 files changed, 63 insertions, 8 deletions
diff --git a/innobase/srv/srv0srv.c b/innobase/srv/srv0srv.c
index b8d03cfab5f..84e3886162a 100644
--- a/innobase/srv/srv0srv.c
+++ b/innobase/srv/srv0srv.c
@@ -1677,11 +1677,13 @@ loop:
srv_printf_innodb_monitor(stderr);
}
- mutex_enter(&srv_monitor_file_mutex);
- rewind(srv_monitor_file);
- srv_printf_innodb_monitor(srv_monitor_file);
- os_file_set_eof(srv_monitor_file);
- mutex_exit(&srv_monitor_file_mutex);
+ if (srv_innodb_status) {
+ mutex_enter(&srv_monitor_file_mutex);
+ rewind(srv_monitor_file);
+ srv_printf_innodb_monitor(srv_monitor_file);
+ os_file_set_eof(srv_monitor_file);
+ mutex_exit(&srv_monitor_file_mutex);
+ }
if (srv_print_innodb_tablespace_monitor
&& difftime(current_time, last_table_monitor_time) > 60) {
diff --git a/mysql-test/r/select.result b/mysql-test/r/select.result
index 3417c7ecb85..79af86777dc 100644
--- a/mysql-test/r/select.result
+++ b/mysql-test/r/select.result
@@ -2369,3 +2369,41 @@ 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;
+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);
+table type possible_keys key key_len ref rows Extra
+t2 ref c,d d 5 const 2 Using where
+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;
+table type possible_keys key key_len ref rows Extra
+t2 ref c,d d 5 const 2 Using where
+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 (
+i int(11) NOT NULL default '0',
+c char(10) NOT NULL default '',
+PRIMARY KEY (i),
+UNIQUE KEY c (c)
+) TYPE=MyISAM;
+INSERT INTO t1 VALUES (1,'a');
+INSERT INTO t1 VALUES (2,'b');
+INSERT INTO t1 VALUES (3,'c');
+EXPLAIN SELECT i FROM t1 WHERE i=1;
+table type possible_keys key key_len ref rows Extra
+t1 const PRIMARY PRIMARY 4 const 1 Using index
+EXPLAIN SELECT i FROM t1 WHERE i=1;
+table type possible_keys key key_len ref rows Extra
+t1 const PRIMARY PRIMARY 4 const 1 Using index
+>>>>>>>
+DROP TABLE t1;
diff --git a/mysql-test/t/select.test b/mysql-test/t/select.test
index 3b36ba6bfb2..84aab132503 100644
--- a/mysql-test/t/select.test
+++ b/mysql-test/t/select.test
@@ -1899,6 +1899,20 @@ select * from t2,t3 where t2.s = t3.s;
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)
#
diff --git a/scripts/mysql_fix_privilege_tables.sh b/scripts/mysql_fix_privilege_tables.sh
index c9e8e0c4dfd..b84e512b69a 100644
--- a/scripts/mysql_fix_privilege_tables.sh
+++ b/scripts/mysql_fix_privilege_tables.sh
@@ -115,7 +115,7 @@ then
password=$old_style_password
fi
-cmd="$bindir/mysql -f --user=$user --host=$host"
+cmd="$bindir/mysql --no-defaults --force --user=$user --host=$host"
if test ! -z "$password" ; then
cmd="$cmd --password=$password"
fi
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index 4970517de87..ac43b36600d 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -735,7 +735,7 @@ void Item_func_interval::fix_length_and_dec()
maybe_null= 0;
max_length= 2;
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;
const_item_cache&= row->const_item();
}
diff --git a/sql/slave.cc b/sql/slave.cc
index 6d5c997bade..b5caf2627a6 100644
--- a/sql/slave.cc
+++ b/sql/slave.cc
@@ -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
"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);
}
DBUG_RETURN(0);