From: Alexey Kopytov Date: June 5 2007 6:18pm Subject: bk commit into 5.0 tree (kaa:1.2485) BUG#28895 List-Archive: http://lists.mysql.com/commits/28146 X-Bug: 28895 Message-Id: <20070605181815.5978B1A357@polly.local> Below is the list of changes that have just been committed into a local 5.0 repository of kaa. When kaa 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@stripped, 2007-06-05 22:18:07+04:00, kaa@stripped +2 -0 Fix for bug #28895 "Test 'information_schema_db' fails on i5/OS 32 bit". In acl_getroot_no_password(), use a separate variable for traversing the acl_users list so that the last entry is not used when no matching entries are found. mysql-test/r/view_grant.result@stripped, 2007-06-05 22:17:58+04:00, kaa@stripped +2 -2 Fixed the testcase for bug #14875 which relied on broken behavior. sctx->master_access and sctx->priv_user were being set to the last entry in the acl_users list. That does not happen after the patch for bug #28895, so we get a different warning message. sql/sql_acl.cc@stripped, 2007-06-05 22:17:58+04:00, kaa@stripped +7 -6 In acl_getroot_no_password(), use a separate variable for traversing the acl_users list so that the last entry is not used when no matching entries are found. # 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: kaa # Host: polly.local # Root: /home/kaa/src/maint/bug28895/my50-bug28895 --- 1.219/sql/sql_acl.cc 2007-03-23 14:12:09 +03:00 +++ 1.220/sql/sql_acl.cc 2007-06-05 22:17:58 +04:00 @@ -978,14 +978,15 @@ bool acl_getroot_no_password(Security_co */ for (i=0 ; i < acl_users.elements ; i++) { - acl_user= dynamic_element(&acl_users,i,ACL_USER*); - if ((!acl_user->user && !user[0]) || - (acl_user->user && strcmp(user, acl_user->user) == 0)) + ACL_USER *acl_user_tmp= dynamic_element(&acl_users,i,ACL_USER*); + if ((!acl_user_tmp->user && !user[0]) || + (acl_user_tmp->user && strcmp(user, acl_user_tmp->user) == 0)) { - if (compare_hostname(&acl_user->host, host, ip)) + if (compare_hostname(&acl_user_tmp->host, host, ip)) { - res= 0; - break; + acl_user= acl_user_tmp; + res= 0; + break; } } } --- 1.24/mysql-test/r/view_grant.result 2007-03-23 18:56:41 +03:00 +++ 1.25/mysql-test/r/view_grant.result 2007-06-05 22:17:58 +04:00 @@ -601,9 +601,9 @@ Warnings: Note 1449 There is no 'no-such-user'@'localhost' registered SHOW CREATE VIEW v; View Create View -v CREATE ALGORITHM=UNDEFINED DEFINER=`no-such-user`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `t1`.`a` AS `a` from `t1` +v CREATE ALGORITHM=UNDEFINED DEFINER=`no-such-user`@`localhost` SQL SECURITY DEFINER VIEW `v` AS select `test`.`t1`.`a` AS `a` from `t1` Warnings: -Note 1449 There is no 'no-such-user'@'localhost' registered +Warning 1356 View 'test.v' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them SELECT * FROM v; ERROR HY000: There is no 'no-such-user'@'localhost' registered DROP VIEW v;