Author: paul
Date: 2008-10-24 21:47:30 +0200 (Fri, 24 Oct 2008)
New Revision: 12148
Log:
r34957@frost: paul | 2008-10-24 14:35:55 -0500
Implicit commit (stuff that was forgotten):
- {ANALYZE, CHECK, OPTIMIZE, REPAIR} TABLE commit in 5.1.10+
- CACHE INDEX commits in 5.1+
- ALTER TABLE with TEMPORARY doesn't commit
- DROP FUNCTION commits with stored function, but not with UDF
Modified:
trunk/dynamic-docs/changelog/mysqld-1.xml
trunk/dynamic-docs/changelog/mysqld.xml
trunk/refman-4.1/sql-syntax-transactions.xml
trunk/refman-5.0/sql-syntax-transactions.xml
trunk/refman-5.1/sql-syntax-transactions.xml
trunk/refman-6.0/sql-syntax-transactions.xml
Property changes on: trunk
___________________________________________________________________
Name: svk:merge
- 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:35828
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:34955
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:33695
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:35828
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:34957
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:33695
Modified: trunk/dynamic-docs/changelog/mysqld-1.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld-1.xml 2008-10-24 19:47:23 UTC (rev 12147)
+++ trunk/dynamic-docs/changelog/mysqld-1.xml 2008-10-24 19:47:30 UTC (rev 12148)
Changed blocks: 1, Lines Added: 27, Lines Deleted: 0; 937 bytes
@@ -31703,4 +31703,31 @@
</logentry>
+ <logentry entrytype="feature">
+
+ <tags>
+ <manual type="implicit commit"/>
+ <manual type="ANALYZE TABLE"/>
+ <manual type="CHECK TABLE"/>
+ <manual type="OPTIMIZE TABLE"/>
+ <manual type="REPAIR TABLE"/>
+ </tags>
+
+ <versions>
+ <version ver="5.1.10"/>
+ </versions>
+
+ <message>
+
+ <para>
+ The following statements now cause an implicit commit:
+ <literal>ANALYZE TABLE</literal>, <literal>CHECK
+ TABLE</literal>, <literal>OPTIMIZE TABLE</literal>, and
+ <literal>REPAIR TABLE</literal>.
+ </para>
+
+ </message>
+
+ </logentry>
+
</changelog>
Modified: trunk/dynamic-docs/changelog/mysqld.xml
===================================================================
--- trunk/dynamic-docs/changelog/mysqld.xml 2008-10-24 19:47:23 UTC (rev 12147)
+++ trunk/dynamic-docs/changelog/mysqld.xml 2008-10-24 19:47:30 UTC (rev 12148)
Changed blocks: 5, Lines Added: 16, Lines Deleted: 22; 3694 bytes
@@ -67700,10 +67700,9 @@
MySQL required explicit privileges on system time zone
description tables for implicit access to them (that is, if one
set the <literal>time_zone</literal> variable or used the
- <function role="sql"
- >CONVERT_TZ()</function>
- function) in cases where some table-level or column-level
- privileges already existed.
+ <function role="sql">CONVERT_TZ()</function> function) in cases
+ where some table-level or column-level privileges already
+ existed.
</para>
</message>
@@ -107088,7 +107087,7 @@
<para>
Online <literal>ALTER</literal> operations involving a column
whose data type has an implicit default value left behind
- temporary <filename>.FRM</filename> files, causing subsequent
+ temporary <filename>.frm</filename> files, causing subsequent
<literal>DROP DATABASE</literal> statements to fail.
</para>
@@ -121846,13 +121845,11 @@
implicit conversion to add a century was applied for date
arithmetic performed with
<function role="sql">DATE_ADD()</function>,
- <function
- role="sql">DATE_SUB()</function>, <literal>+
+ <function role="sql">DATE_SUB()</function>, <literal>+
INTERVAL</literal>, and <literal>- INTERVAL</literal>. (For
- example, <function role="sql"
- >DATE_ADD('0050-01-01
- 00:00:00', INTERVAL 0 SECOND)</function> became
- <literal>'2050-01-01 00:00:00'</literal>.)
+ example, <function role="sql">DATE_ADD('0050-01-01 00:00:00',
+ INTERVAL 0 SECOND)</function> became <literal>'2050-01-01
+ 00:00:00'</literal>.)
</para>
</message>
@@ -121863,12 +121860,9 @@
For dates with 4-digit year parts less than 200, an implicit
conversion to add a century was applied for date arithmetic
performed with <function role="sql">DATE_ADD()</function>,
- <function role="sql"
- >DATE_SUB()</function>,
- <literal>+ INTERVAL</literal>, and <literal>-
- INTERVAL</literal>. (For example,
- <function role="sql"
- >DATE_ADD('0050-01-01 00:00:00',
+ <function role="sql">DATE_SUB()</function>, <literal>+
+ INTERVAL</literal>, and <literal>- INTERVAL</literal>. (For
+ example, <function role="sql">DATE_ADD('0050-01-01 00:00:00',
INTERVAL 0 SECOND)</function> became <literal>'2050-01-01
00:00:00'</literal>.) Now these operations return
<literal>NULL</literal> rather than an incorrect
@@ -122197,11 +122191,11 @@
Within a transaction, the following statements now cause an
implicit commit: <literal>CREATE FUNCTION</literal>,
<literal>DROP FUNCTION</literal>, <literal>DROP
- PROCEDURE</literal>, <literal>ALTER FUNCTION</literal>,
- <literal>ALTER PROCEDURE</literal>, <literal>CREATE
- PROCEDURE</literal>. This corrects a problem where these
- statements followed by <literal>ROLLBACK</literal> might not be
- replicated properly.
+ PROCEDURE</literal> (for stored functions, not UDFs),
+ <literal>ALTER FUNCTION</literal>, <literal>ALTER
+ PROCEDURE</literal>, <literal>CREATE PROCEDURE</literal>. This
+ corrects a problem where these statements followed by
+ <literal>ROLLBACK</literal> might not be replicated properly.
</para>
</message>
Modified: trunk/refman-4.1/sql-syntax-transactions.xml
===================================================================
--- trunk/refman-4.1/sql-syntax-transactions.xml 2008-10-24 19:47:23 UTC (rev 12147)
+++ trunk/refman-4.1/sql-syntax-transactions.xml 2008-10-24 19:47:30 UTC (rev 12148)
Changed blocks: 1, Lines Added: 11, Lines Deleted: 10; 1753 bytes
@@ -324,16 +324,17 @@
<listitem>
<para>
- <literal>CREATE TABLE</literal> and <literal>DROP
- TABLE</literal> do not commit a transaction if the
- <literal>TEMPORARY</literal> keyword is used. (This does not
- apply to other operations on temporary tables such as
- <literal>CREATE INDEX</literal>, which do cause a commit.)
- However, although no implicit commit occurs, neither can the
- statement be rolled back. Therefore, use of such statements
- will violate transaction atomicity: For example, if you use
- <literal>CREATE TEMPORARY TABLE</literal> and then roll back
- the transaction, the table remains in existence.
+ <literal>ALTER TABLE</literal>, <literal>CREATE
+ TABLE</literal>, and <literal>DROP TABLE</literal> do not
+ commit a transaction if the <literal>TEMPORARY</literal>
+ keyword is used. (This does not apply to other operations on
+ temporary tables such as <literal>CREATE INDEX</literal>,
+ which do cause a commit.) However, although no implicit commit
+ occurs, neither can the statement be rolled back. Therefore,
+ use of such statements will violate transaction atomicity: For
+ example, if you use <literal>CREATE TEMPORARY TABLE</literal>
+ and then roll back the transaction, the table remains in
+ existence.
</para>
</listitem>
Modified: trunk/refman-5.0/sql-syntax-transactions.xml
===================================================================
--- trunk/refman-5.0/sql-syntax-transactions.xml 2008-10-24 19:47:23 UTC (rev 12147)
+++ trunk/refman-5.0/sql-syntax-transactions.xml 2008-10-24 19:47:30 UTC (rev 12148)
Changed blocks: 2, Lines Added: 42, Lines Deleted: 36; 4474 bytes
@@ -332,32 +332,6 @@
<listitem>
<para>
- Beginning with MySQL 5.0.8, <literal>CREATE TABLE</literal>,
- <literal>CREATE DATABASE</literal> <literal>DROP
- DATABASE</literal>, and <literal>TRUNCATE TABLE</literal>
- cause an implicit commit.
- </para>
-
- <para>
- Beginning with MySQL 5.0.13, <literal>ALTER
- FUNCTION</literal>, <literal>ALTER PROCEDURE</literal>,
- <literal>CREATE FUNCTION</literal>, <literal>CREATE
- PROCEDURE</literal>, <literal>DROP FUNCTION</literal>, and
- <literal>DROP PROCEDURE</literal> cause an implicit commit.
- </para>
-
- <para>
- Beginning with MySQL 5.0.15, <literal>ALTER VIEW</literal>,
- <literal>CREATE TRIGGER</literal>, <literal>CREATE
- USER</literal>, <literal>CREATE VIEW</literal>, <literal>DROP
- TRIGGER</literal>, <literal>DROP USER</literal>, <literal>DROP
- VIEW</literal>, and <literal>RENAME USER</literal> cause an
- implicit commit.
- </para>
- </listitem>
-
- <listitem>
- <para>
<literal>UNLOCK TABLES</literal> commits a transaction only if
any tables currently have been locked with <literal>LOCK
TABLES</literal>. This does not occur for <literal>UNLOCK
@@ -379,21 +353,53 @@
<listitem>
<para>
- <literal>CREATE TABLE</literal> and <literal>DROP
- TABLE</literal> do not commit a transaction if the
- <literal>TEMPORARY</literal> keyword is used. (This does not
- apply to other operations on temporary tables such as
- <literal>CREATE INDEX</literal>, which do cause a commit.)
- However, although no implicit commit occurs, neither can the
- statement be rolled back. Therefore, use of such statements
- will violate transaction atomicity: For example, if you use
- <literal>CREATE TEMPORARY TABLE</literal> and then roll back
- the transaction, the table remains in existence.
+ <literal>ALTER TABLE</literal>, <literal>CREATE
+ TABLE</literal>, and <literal>DROP TABLE</literal> do not
+ commit a transaction if the <literal>TEMPORARY</literal>
+ keyword is used. (This does not apply to other operations on
+ temporary tables such as <literal>CREATE INDEX</literal>,
+ which do cause a commit.) However, although no implicit commit
+ occurs, neither can the statement be rolled back. Therefore,
+ use of such statements will violate transaction atomicity: For
+ example, if you use <literal>CREATE TEMPORARY TABLE</literal>
+ and then roll back the transaction, the table remains in
+ existence.
</para>
</listitem>
<listitem>
<para>
+ Beginning with MySQL 5.0.8, <literal>CREATE TABLE</literal>,
+ <literal>CREATE DATABASE</literal> <literal>DROP
+ DATABASE</literal>, and <literal>TRUNCATE TABLE</literal>
+ cause an implicit commit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Beginning with MySQL 5.0.13, <literal>ALTER
+ FUNCTION</literal>, <literal>ALTER PROCEDURE</literal>,
+ <literal>CREATE FUNCTION</literal>, <literal>CREATE
+ PROCEDURE</literal>, <literal>DROP FUNCTION</literal> (for
+ stored functions, not UDFs), and <literal>DROP
+ PROCEDURE</literal> cause an implicit commit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Beginning with MySQL 5.0.15, <literal>ALTER VIEW</literal>,
+ <literal>CREATE TRIGGER</literal>, <literal>CREATE
+ USER</literal>, <literal>CREATE VIEW</literal>, <literal>DROP
+ TRIGGER</literal>, <literal>DROP USER</literal>, <literal>DROP
+ VIEW</literal>, and <literal>RENAME USER</literal> cause an
+ implicit commit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
In MySQL 5.0.25 and earlier, <literal>LOAD DATA
INFILE</literal> caused an implicit commit for all storage
engines. Beginning with MySQL 5.0.26, it causes an implicit
Modified: trunk/refman-5.1/sql-syntax-transactions.xml
===================================================================
--- trunk/refman-5.1/sql-syntax-transactions.xml 2008-10-24 19:47:23 UTC (rev 12147)
+++ trunk/refman-5.1/sql-syntax-transactions.xml 2008-10-24 19:47:30 UTC (rev 12148)
Changed blocks: 3, Lines Added: 39, Lines Deleted: 28; 4735 bytes
@@ -312,13 +312,14 @@
<literal>ALTER EVENT</literal>, <literal>ALTER
FUNCTION</literal>, <literal>ALTER PROCEDURE</literal>,
<literal>ALTER TABLE</literal>, <literal>BEGIN</literal>,
- <literal>CREATE DATABASE</literal>, <literal>CREATE
- EVENT</literal>, <literal>CREATE FUNCTION</literal>,
- <literal>CREATE INDEX</literal>, <literal>CREATE
- PROCEDURE</literal>, <literal>CREATE TABLE</literal>,
- <literal>DROP DATABASE</literal>, <literal>DROP
- EVENT</literal>, <literal>DROP FUNCTION</literal>,
- <literal>DROP INDEX</literal>, <literal>DROP
+ <literal>CACHE INDEX</literal>, <literal>CREATE
+ DATABASE</literal>, <literal>CREATE EVENT</literal>,
+ <literal>CREATE FUNCTION</literal>, <literal>CREATE
+ INDEX</literal>, <literal>CREATE PROCEDURE</literal>,
+ <literal>CREATE TABLE</literal>, <literal>DROP
+ DATABASE</literal>, <literal>DROP EVENT</literal>,
+ <literal>DROP FUNCTION</literal> (for stored functions, not
+ UDFs), <literal>DROP INDEX</literal>, <literal>DROP
PROCEDURE</literal>, <literal>DROP TABLE</literal>,
<literal>LOAD DATA INFILE</literal>, <literal>LOCK
TABLES</literal>, <literal>RENAME TABLE</literal>,
@@ -339,17 +340,6 @@
<listitem>
<para>
- Beginning with MySQL 5.1.3, <literal>ALTER VIEW</literal>,
- <literal>CREATE TRIGGER</literal>, <literal>CREATE
- USER</literal>, <literal>CREATE VIEW</literal>, <literal>DROP
- TRIGGER</literal>, <literal>DROP USER</literal>, <literal>DROP
- VIEW</literal>, and <literal>RENAME USER</literal> cause an
- implicit commit.
- </para>
- </listitem>
-
- <listitem>
- <para>
<literal>UNLOCK TABLES</literal> commits a transaction only if
any tables currently have been locked with <literal>LOCK
TABLES</literal>. This does not occur for <literal>UNLOCK
@@ -371,21 +361,42 @@
<listitem>
<para>
- <literal>CREATE TABLE</literal> and <literal>DROP
- TABLE</literal> do not commit a transaction if the
- <literal>TEMPORARY</literal> keyword is used. (This does not
- apply to other operations on temporary tables such as
- <literal>CREATE INDEX</literal>, which do cause a commit.)
- However, although no implicit commit occurs, neither can the
- statement be rolled back. Therefore, use of such statements
- will violate transaction atomicity: For example, if you use
- <literal>CREATE TEMPORARY TABLE</literal> and then roll back
- the transaction, the table remains in existence.
+ <literal>ALTER TABLE</literal>, <literal>CREATE
+ TABLE</literal>, and <literal>DROP TABLE</literal> do not
+ commit a transaction if the <literal>TEMPORARY</literal>
+ keyword is used. (This does not apply to other operations on
+ temporary tables such as <literal>CREATE INDEX</literal>,
+ which do cause a commit.) However, although no implicit commit
+ occurs, neither can the statement be rolled back. Therefore,
+ use of such statements will violate transaction atomicity: For
+ example, if you use <literal>CREATE TEMPORARY TABLE</literal>
+ and then roll back the transaction, the table remains in
+ existence.
</para>
</listitem>
<listitem>
<para>
+ Beginning with MySQL 5.1.3, <literal>ALTER VIEW</literal>,
+ <literal>CREATE TRIGGER</literal>, <literal>CREATE
+ USER</literal>, <literal>CREATE VIEW</literal>, <literal>DROP
+ TRIGGER</literal>, <literal>DROP USER</literal>, <literal>DROP
+ VIEW</literal>, and <literal>RENAME USER</literal> cause an
+ implicit commit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ Beginning with MySQL 5.1.10, <literal>ANALYZE TABLE</literal>,
+ <literal>CHECK TABLE</literal>, <literal>OPTIMIZE
+ TABLE</literal>, and <literal>REPAIR TABLE</literal> cause an
+ implicit commit.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
In MySQL 5.1.11 and earlier, <literal>LOAD DATA
INFILE</literal> caused an implicit commit for all storage
engines. Beginning with MySQL 5.1.12, it causes an implicit
Modified: trunk/refman-6.0/sql-syntax-transactions.xml
===================================================================
--- trunk/refman-6.0/sql-syntax-transactions.xml 2008-10-24 19:47:23 UTC (rev 12147)
+++ trunk/refman-6.0/sql-syntax-transactions.xml 2008-10-24 19:47:30 UTC (rev 12148)
Changed blocks: 3, Lines Added: 26, Lines Deleted: 21; 4067 bytes
@@ -342,7 +342,9 @@
<literal>ALTER EVENT</literal>, <literal>ALTER
FUNCTION</literal>, <literal>ALTER PROCEDURE</literal>,
<literal>ALTER TABLE</literal>, <literal>ALTER VIEW</literal>,
- <literal>BACKUP DATABASE</literal>, <literal>BEGIN</literal>,
+ <literal>ANALYZE TABLE</literal>, <literal>BACKUP
+ DATABASE</literal>, <literal>BEGIN</literal>, <literal>CACHE
+ INDEX</literal>, <literal>CHECK TABLE</literal>,
<literal>CREATE DATABASE</literal>, <literal>CREATE
EVENT</literal>, <literal>CREATE FUNCTION</literal>,
<literal>CREATE INDEX</literal>, <literal>CREATE
@@ -350,17 +352,19 @@
<literal>CREATE TRIGGER</literal>, <literal>CREATE
USER</literal>, <literal>CREATE VIEW</literal>, <literal>DROP
DATABASE</literal>, <literal>DROP EVENT</literal>,
- <literal>DROP FUNCTION</literal>, <literal>DROP
- INDEX</literal>, <literal>DROP PROCEDURE</literal>,
- <literal>DROP TABLE</literal>, <literal>DROP
- TRIGGER</literal>, <literal>DROP USER</literal>, <literal>DROP
- VIEW</literal>, <literal>LOAD DATA INFILE</literal>,
- <literal>LOCK TABLES</literal>, <literal>RENAME
+ <literal>DROP FUNCTION</literal> (for stored functions, not
+ UDFs), <literal>DROP INDEX</literal>, <literal>DROP
+ PROCEDURE</literal>, <literal>DROP TABLE</literal>,
+ <literal>DROP TRIGGER</literal>, <literal>DROP USER</literal>,
+ <literal>DROP VIEW</literal>, <literal>LOAD DATA
+ INFILE</literal>, <literal>LOCK TABLES</literal>,
+ <literal>OPTIMIZE TABLE</literal>, <literal>RENAME
TABLE</literal>, <literal>RENAME USER</literal>,
- <literal>RESTORE</literal>, <literal>SET
- AUTOCOMMIT=1</literal> (if the value is not already 1),
- <literal>START TRANSACTION</literal>, <literal>TRUNCATE
- TABLE</literal>, <literal>UNLOCK TABLES</literal>.
+ <literal>REPAIR TABLE</literal>, <literal>RESTORE</literal>,
+ <literal>SET AUTOCOMMIT=1</literal> (if the value is not
+ already 1), <literal>START TRANSACTION</literal>,
+ <literal>TRUNCATE TABLE</literal>, <literal>UNLOCK
+ TABLES</literal>.
</para>
<para>
@@ -396,16 +400,17 @@
<listitem>
<para>
- <literal>CREATE TABLE</literal> and <literal>DROP
- TABLE</literal> do not commit a transaction if the
- <literal>TEMPORARY</literal> keyword is used. (This does not
- apply to other operations on temporary tables such as
- <literal>CREATE INDEX</literal>, which do cause a commit.)
- However, although no implicit commit occurs, neither can the
- statement be rolled back. Therefore, use of such statements
- will violate transaction atomicity: For example, if you use
- <literal>CREATE TEMPORARY TABLE</literal> and then roll back
- the transaction, the table remains in existence.
+ <literal>ALTER TABLE</literal>, <literal>CREATE
+ TABLE</literal>, and <literal>DROP TABLE</literal> do not
+ commit a transaction if the <literal>TEMPORARY</literal>
+ keyword is used. (This does not apply to other operations on
+ temporary tables such as <literal>CREATE INDEX</literal>,
+ which do cause a commit.) However, although no implicit commit
+ occurs, neither can the statement be rolled back. Therefore,
+ use of such statements will violate transaction atomicity: For
+ example, if you use <literal>CREATE TEMPORARY TABLE</literal>
+ and then roll back the transaction, the table remains in
+ existence.
</para>
</listitem>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r12148 - in trunk: . dynamic-docs/changelog refman-4.1 refman-5.0 refman-5.1 refman-6.0 | paul.dubois | 24 Oct |