Below is the list of changes that have just been committed into a local
5.1 repository of stewart. When stewart 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.2210 06/06/16 18:54:20 stewart@stripped +9 -0
Merge mysql.com:/home/stewart/Documents/MySQL/5.0/main
into mysql.com:/home/stewart/Documents/MySQL/5.1/main
mysql-test/valgrind.supp
1.11 06/06/16 18:54:13 stewart@stripped +1 -3
Manual merge
sql/sql_parse.cc
1.560 06/06/16 18:50:45 stewart@willster.(none) +0 -0
Auto merged
sql/ha_ndbcluster.cc
1.327 06/06/16 18:50:45 stewart@willster.(none) +0 -0
Auto merged
mysql-test/t/view_grant.test
1.18 06/06/16 18:50:45 stewart@willster.(none) +0 -0
Auto merged
mysql-test/t/type_newdecimal.test
1.38 06/06/16 18:50:45 stewart@willster.(none) +0 -0
Auto merged
mysql-test/t/ndb_condition_pushdown.test
1.20 06/06/16 18:50:45 stewart@willster.(none) +0 -0
Auto merged
mysql-test/r/view_grant.result
1.21 06/06/16 18:50:45 stewart@willster.(none) +0 -0
Auto merged
mysql-test/r/type_newdecimal.result
1.45 06/06/16 18:50:45 stewart@willster.(none) +0 -0
Auto merged
mysql-test/r/ndb_condition_pushdown.result
1.24 06/06/16 18:50:44 stewart@willster.(none) +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: stewart
# Host: willster.(none)
# Root: /home/stewart/Documents/MySQL/5.1/main/RESYNC
--- 1.559/sql/sql_parse.cc 2006-06-15 12:53:51 +10:00
+++ 1.560/sql/sql_parse.cc 2006-06-16 18:50:45 +10:00
@@ -5201,7 +5201,14 @@
if (all_tables->security_ctx)
thd->security_ctx= all_tables->security_ctx;
- if (check_access(thd, privilege, all_tables->db,
+ const char *db_name;
+ if ((all_tables->view || all_tables->field_translation) &&
+ !all_tables->schema_table)
+ db_name= all_tables->view_db.str;
+ else
+ db_name= all_tables->db;
+
+ if (check_access(thd, privilege, db_name,
&all_tables->grant.privilege, 0, 0,
test(all_tables->schema_table)))
goto deny;
--- 1.44/mysql-test/r/type_newdecimal.result 2006-05-18 08:40:47 +10:00
+++ 1.45/mysql-test/r/type_newdecimal.result 2006-06-16 18:50:45 +10:00
@@ -1397,3 +1397,14 @@
9999999999999999999999999999999999999999999999999999999999999999
9999999999999999999999999999999999999999999999999999999999999999
drop table t1;
+create table t1 (i int, j int);
+insert into t1 values (1,1), (1,2), (2,3), (2,4);
+select i, count(distinct j) from t1 group by i;
+i count(distinct j)
+1 2
+2 2
+select i+0.0 as i2, count(distinct j) from t1 group by i2;
+i2 count(distinct j)
+1.0 2
+2.0 2
+drop table t1;
--- 1.37/mysql-test/t/type_newdecimal.test 2006-03-23 18:22:05 +11:00
+++ 1.38/mysql-test/t/type_newdecimal.test 2006-06-16 18:50:45 +10:00
@@ -1095,3 +1095,12 @@
insert into t1 values(1e100);
select * from t1;
drop table t1;
+
+#
+# Bug#19667 group by a decimal expression yields wrong result
+#
+create table t1 (i int, j int);
+insert into t1 values (1,1), (1,2), (2,3), (2,4);
+select i, count(distinct j) from t1 group by i;
+select i+0.0 as i2, count(distinct j) from t1 group by i2;
+drop table t1;
--- 1.20/mysql-test/r/view_grant.result 2006-06-05 02:23:38 +10:00
+++ 1.21/mysql-test/r/view_grant.result 2006-06-16 18:50:45 +10:00
@@ -620,3 +620,32 @@
DROP VIEW v;
DROP TABLE t1;
USE test;
+CREATE USER mysqltest_db1@localhost identified by 'PWD';
+GRANT ALL ON mysqltest_db1.* TO mysqltest_db1@localhost WITH GRANT OPTION;
+CREATE SCHEMA mysqltest_db1 ;
+USE mysqltest_db1 ;
+CREATE TABLE t1 (f1 INTEGER);
+CREATE VIEW view1 AS
+SELECT * FROM t1;
+SHOW CREATE VIEW view1;
+View Create View
+view1 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_db1`@`localhost` SQL SECURITY DEFINER VIEW `view1` AS select `t1`.`f1` AS `f1` from `t1`
+CREATE VIEW view2 AS
+SELECT * FROM view1;
+# Here comes a suspicious warning
+SHOW CREATE VIEW view2;
+View Create View
+view2 CREATE ALGORITHM=UNDEFINED DEFINER=`mysqltest_db1`@`localhost` SQL SECURITY DEFINER VIEW `view2` AS select `view1`.`f1` AS `f1` from `view1`
+# But the view view2 is usable
+SELECT * FROM view2;
+f1
+CREATE VIEW view3 AS
+SELECT * FROM view2;
+SELECT * from view3;
+f1
+DROP VIEW mysqltest_db1.view3;
+DROP VIEW mysqltest_db1.view2;
+DROP VIEW mysqltest_db1.view1;
+DROP TABLE mysqltest_db1.t1;
+DROP SCHEMA mysqltest_db1;
+DROP USER mysqltest_db1@localhost;
--- 1.17/mysql-test/t/view_grant.test 2006-06-05 02:23:38 +10:00
+++ 1.18/mysql-test/t/view_grant.test 2006-06-16 18:50:45 +10:00
@@ -813,3 +813,42 @@
DROP VIEW v;
DROP TABLE t1;
USE test;
+
+#
+# Bug#20363: Create view on just created view is now denied
+#
+eval CREATE USER mysqltest_db1@localhost identified by 'PWD';
+eval GRANT ALL ON mysqltest_db1.* TO mysqltest_db1@localhost WITH GRANT OPTION;
+
+# The session with the non root user is needed.
+--replace_result $MASTER_MYPORT MYSQL_PORT $MASTER_MYSOCK MYSQL_SOCK
+connect (session1,localhost,mysqltest_db1,PWD,test);
+
+CREATE SCHEMA mysqltest_db1 ;
+USE mysqltest_db1 ;
+
+CREATE TABLE t1 (f1 INTEGER);
+
+CREATE VIEW view1 AS
+SELECT * FROM t1;
+SHOW CREATE VIEW view1;
+
+CREATE VIEW view2 AS
+SELECT * FROM view1;
+--echo # Here comes a suspicious warning
+SHOW CREATE VIEW view2;
+--echo # But the view view2 is usable
+SELECT * FROM view2;
+
+CREATE VIEW view3 AS
+SELECT * FROM view2;
+
+SELECT * from view3;
+
+connection default;
+DROP VIEW mysqltest_db1.view3;
+DROP VIEW mysqltest_db1.view2;
+DROP VIEW mysqltest_db1.view1;
+DROP TABLE mysqltest_db1.t1;
+DROP SCHEMA mysqltest_db1;
+DROP USER mysqltest_db1@localhost;
--- 1.10/mysql-test/valgrind.supp 2006-06-06 09:47:26 +10:00
+++ 1.11/mysql-test/valgrind.supp 2006-06-16 18:54:13 +10:00
@@ -408,6 +408,19 @@
}
#
+# BUG#19940: NDB sends uninitialized parts of field buffers across the wire.
+# This is "works as designed"; the uninitialized part is not used at the
+# other end (but Valgrind cannot see this).
+#
+{
+ bug19940
+ Memcheck:Param
+ socketcall.sendto(msg)
+ fun:send
+ fun:_ZN15TCP_Transporter6doSendEv
+ fun:_ZN19TransporterRegistry11performSendEv
+ fun:_ZN19TransporterRegistry14forceSendCheckEi
+}
# Warning when printing stack trace (to suppress some not needed warnings)
#
--- 1.23/mysql-test/r/ndb_condition_pushdown.result 2006-05-17 23:05:20 +10:00
+++ 1.24/mysql-test/r/ndb_condition_pushdown.result 2006-06-16 18:50:44 +10:00
@@ -1842,5 +1842,29 @@
select * from t1 where b like 'abc' or b like 'abc';
a b
3 abc
+drop table t1;
+create table t1 ( fname varchar(255), lname varchar(255) )
+engine=ndbcluster;
+insert into t1 values ("Young","Foo");
+set engine_condition_pushdown = 0;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+fname lname
+Young Foo
+set engine_condition_pushdown = 1;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+fname lname
+Young Foo
+insert into t1 values ("aaa", "aaa");
+insert into t1 values ("bbb", "bbb");
+insert into t1 values ("ccc", "ccc");
+insert into t1 values ("ddd", "ddd");
+set engine_condition_pushdown = 0;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+fname lname
+Young Foo
+set engine_condition_pushdown = 1;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+fname lname
+Young Foo
set engine_condition_pushdown = @old_ecpd;
DROP TABLE t1,t2,t3,t4,t5;
--- 1.19/mysql-test/t/ndb_condition_pushdown.test 2006-05-11 18:16:45 +10:00
+++ 1.20/mysql-test/t/ndb_condition_pushdown.test 2006-06-16 18:50:45 +10:00
@@ -1686,5 +1686,27 @@
select * from t1 where b like 'abc';
select * from t1 where b like 'abc' or b like 'abc';
+# bug#20406 (maybe same as bug#17421 -1, not seen on 32-bit x86)
+drop table t1;
+create table t1 ( fname varchar(255), lname varchar(255) )
+engine=ndbcluster;
+insert into t1 values ("Young","Foo");
+
+set engine_condition_pushdown = 0;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+set engine_condition_pushdown = 1;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+
+# make sure optimizer does not do some crazy shortcut
+insert into t1 values ("aaa", "aaa");
+insert into t1 values ("bbb", "bbb");
+insert into t1 values ("ccc", "ccc");
+insert into t1 values ("ddd", "ddd");
+
+set engine_condition_pushdown = 0;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+set engine_condition_pushdown = 1;
+SELECT fname, lname FROM t1 WHERE (fname like 'Y%') or (lname like 'F%');
+
set engine_condition_pushdown = @old_ecpd;
DROP TABLE t1,t2,t3,t4,t5;
| Thread |
|---|
| • bk commit into 5.1 tree (stewart:1.2210) | Stewart Smith | 16 Jun |