MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
unknown 26aadd2175 Bug#21975 Grant and revoke statements are non-transactional
Bug#21422 GRANT/REVOKE possible inside stored function, probably in a trigger
Bug#17244 GRANT gives strange error message when used in a stored function

GRANT/REVOKE statements are non-transactional (no explicit transaction
boundaries) in nature and hence are forbidden inside stored functions and
triggers, but they weren't being effectively forbidden. Furthermore, the
absence of implict commits makes changes made by GRANT/REVOKE statements to
not be rolled back.

The implemented fix is to issue a implicit commit with every GRANT/REVOKE
statement, effectively prohibiting these statements in stored functions
and triggers. The implicit commit also fixes the replication bug, and looks
like being in concert with the behavior of DDL and administrative statements.

Since this is a incompatible change, the following sentence should be
added to the Manual in the very end of the 3rd paragraph, subclause
13.4.3 "Statements That Cause an Implicit Commit": "Beginning with
MySQL 5.0.??, the GRANT and REVOKE statements cause an implicit commit."

Patch contributed by Vladimir Shebordaev


mysql-test/r/sp-error.result:
  Test case result for Bug#17244
mysql-test/t/sp-error.test:
  Test case for Bug#17244
sql/sp_head.cc:
  Set that a procedure with GRANT/REVOKE command has a (implicit or explicit)
  commit.
sql/sql_parse.cc:
  End active transaction in SQLCOM_GRANT and SQLCOM_REVOKE, and thus effectively
  prohibit these statements in stored functions and triggers. An implicit commit
  also fixes a bug in replication, when GRANT or REVOKE would disappear from the
  binary log in case of a subsequent ROLLBACK, since they were considered
  transactional statements.
mysql-test/suite/rpl/r/rpl_binlog_grant.result:
  Add test case result for Bug#21975
mysql-test/suite/rpl/t/rpl_binlog_grant.test:
  Add test case for Bug#21975
2007-08-29 16:59:38 -03:00
BitKeeper Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-build 2007-06-18 20:18:32 +02:00
BUILD Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-cleanup 2007-08-22 18:29:38 -06:00
client Fix doxygen warnings. 2007-08-15 17:43:08 +04:00
cmd-line-utils Merge mysql.com:/home/kent/bk/config_h/mysql-5.0-build 2007-07-30 21:45:06 +02:00
config/ac-macros Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-build 2007-08-01 18:32:01 -06:00
dbug Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.1-build 2007-08-04 00:44:51 +02:00
debian Made changes to debian control files to support building 5.1 packages. 2007-04-20 16:15:30 -07:00
Docs Merge mysql.com:/home/kent/bk/tmp/mysql-5.0-build 2007-03-22 19:44:14 +01:00
extra Merge mysql.com:/home/kent/bk/cmake-tls/mysql-5.0-build-new 2007-08-03 22:57:21 +02:00
include Fix doxygen warnings. 2007-08-16 21:14:47 +04:00
libmysql Post Merge Fixup. 2007-08-04 02:51:58 -04:00
libmysql_r my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
libmysqld Merge amd64.(none):/src/mysql-5.1-maint 2007-08-03 21:44:59 -04:00
man my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
mysql-test Bug#21975 Grant and revoke statements are non-transactional 2007-08-29 16:59:38 -03:00
mysys Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base 2007-08-20 11:13:31 -06:00
netware netware/*.def : Allocate 128K stack for all executables (bug#23504) 2007-06-07 12:59:31 +02:00
plugin Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.1 2007-06-01 12:59:06 +02:00
pstack my_strtoll10-x86.s: 2006-12-31 01:02:27 +01:00
regex Fix a bad BitKeeper dependency structure for the "CMakeLists.txt" files. 2007-07-31 19:35:13 +02:00
scripts Merge mysql.com:/home/kent/bk/cmake-tls/mysql-5.0-build-new 2007-08-06 08:33:20 +02:00
server-tools Merge mysql.com:/home/kent/bk/cmake-tls/mysql-5.0-build-new 2007-08-03 22:57:21 +02:00
sql Bug#21975 Grant and revoke statements are non-transactional 2007-08-29 16:59:38 -03:00
sql-bench Fixed compiler warnings 2007-02-23 13:13:55 +02:00
sql-common Merge bk-internal.mysql.com:/home/bk/mysql-5.1 2007-08-02 07:55:33 +03:00
storage Merge gleb.loc:/home/uchum/work/bk/5.1 2007-08-11 02:00:51 +05:00
strings Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint 2007-08-07 06:53:40 -04:00
support-files Merge trift2.:/MySQL/M50/bug21023-25486-5.0 2007-07-17 21:11:22 +02:00
tests Merge bodhi.(none):/opt/local/work/mysql-5.0-runtime 2007-08-08 11:45:13 +04:00
unittest Fixes Bug#30127: --debug-info no longer prints memory usage in mysql 2007-08-01 22:59:05 +03:00
vio Fix a bad BitKeeper dependency structure for the "CMakeLists.txt" files. 2007-07-31 19:35:13 +02:00
win CMakeLists.txt, README, configure.js 2007-08-03 21:51:37 +02:00
zlib CMakeLists.txt, README, configure.js 2007-08-03 21:51:37 +02:00
.bzrignore Merge amd64.(none):/src/mysql-5.1-maint 2007-08-03 21:44:59 -04:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
CMakeLists.txt Post Merge Fixup. 2007-08-04 02:51:58 -04:00
configure.in Raise version number after cloning 5.1.21-beta 2007-08-06 21:11:09 +02:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
EXCEPTIONS-CLIENT EXCEPTIONS-CLIENT: 2007-03-14 18:28:16 +01:00
Makefile.am Merge debian.(none):/M50/rowlock-5.0 2007-07-26 18:40:46 +02:00
README make_binary_distribution.sh: 2006-11-07 22:26:37 +01:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file and
  the EXCEPTIONS-CLIENT file.
- For commercial distributions, see the LICENSE.mysql file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http://dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installing and Upgrading chapter.
- For the new features/bugfix history, see the Change History appendix.
- For the currently known bugs/misfeatures (known errors) see the Problems
  and Common Errors appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.