Author: paul
Date: 2008-02-27 19:08:18 +0100 (Wed, 27 Feb 2008)
New Revision: 10048
Log:
r29569@frost: paul | 2008-02-27 12:04:45 -0600
Minor revisions to InnoDB auto-inc locking. (Ken)
Modified:
trunk/refman-5.1/se-innodb-core.xml
trunk/refman-6.0/se-innodb-core.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:29560
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:29732
+ 4767c598-dc10-0410-bea0-d01b485662eb:/mysqldoc-local/mysqldoc/trunk:35828
7d8d2c4e-af1d-0410-ab9f-b038ce55645b:/mysqldoc-local/mysqldoc:29569
b5ec3a16-e900-0410-9ad2-d183a3acac99:/mysqldoc-local/mysqldoc/trunk:14218
bf112a9c-6c03-0410-a055-ad865cd57414:/mysqldoc-local/mysqldoc/trunk:29732
Modified: trunk/refman-5.1/se-innodb-core.xml
===================================================================
--- trunk/refman-5.1/se-innodb-core.xml 2008-02-27 17:47:04 UTC (rev 10047)
+++ trunk/refman-5.1/se-innodb-core.xml 2008-02-27 18:08:18 UTC (rev 10048)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 11; 2067 bytes
@@ -2786,17 +2786,19 @@
<para>
A similar situation exists if you use <literal>INSERT ...
- ON DUPLICATE KEY UPDATE</literal>, which is also
- classified as a <quote>mixed-mode insert.</quote> Because
- <literal>InnoDB</literal> allocates the auto-increment
- value before the insert is actually attempted, it cannot
- know whether an inserted value will be a duplicate of an
- existing value and thus cannot know if the auto-increment
- value it generates will be used for a new row or not.
- Therefore, if you are using statement-based replication,
- you must either avoid <literal>INSERT ... ON DUPLICATE KEY
- UPDATE</literal> or use <literal>innodb_autoinc_lock_mode
- = 0</literal> (<quote>traditional</quote> lock mode).
+ ON DUPLICATE KEY UPDATE</literal>. This statement is also
+ classified as a <quote>mixed-mode insert</quote> since an
+ auto-increment value is not necessarily generated for each
+ row. Because <literal>InnoDB</literal> allocates the
+ auto-increment value before the insert is actually
+ attempted, it cannot know whether an inserted value will
+ be a duplicate of an existing value and thus cannot know
+ whether the auto-increment value it generates will be used
+ for a new row. Therefore, if you are using statement-based
+ replication, you must either avoid <literal>INSERT ... ON
+ DUPLICATE KEY UPDATE</literal> or use
+ <literal>innodb_autoinc_lock_mode = 0</literal>
+ (<quote>traditional</quote> lock mode).
</para>
</listitem>
Modified: trunk/refman-6.0/se-innodb-core.xml
===================================================================
--- trunk/refman-6.0/se-innodb-core.xml 2008-02-27 17:47:04 UTC (rev 10047)
+++ trunk/refman-6.0/se-innodb-core.xml 2008-02-27 18:08:18 UTC (rev 10048)
Changed blocks: 1, Lines Added: 13, Lines Deleted: 11; 2067 bytes
@@ -2776,17 +2776,19 @@
<para>
A similar situation exists if you use <literal>INSERT ...
- ON DUPLICATE KEY UPDATE</literal>, which is also
- classified as a <quote>mixed-mode insert.</quote> Because
- <literal>InnoDB</literal> allocates the auto-increment
- value before the insert is actually attempted, it cannot
- know whether an inserted value will be a duplicate of an
- existing value and thus cannot know if the auto-increment
- value it generates will be used for a new row or not.
- Therefore, if you are using statement-based replication,
- you must either avoid <literal>INSERT ... ON DUPLICATE KEY
- UPDATE</literal> or use <literal>innodb_autoinc_lock_mode
- = 0</literal> (<quote>traditional</quote> lock mode).
+ ON DUPLICATE KEY UPDATE</literal>. This statement is also
+ classified as a <quote>mixed-mode insert</quote> since an
+ auto-increment value is not necessarily generated for each
+ row. Because <literal>InnoDB</literal> allocates the
+ auto-increment value before the insert is actually
+ attempted, it cannot know whether an inserted value will
+ be a duplicate of an existing value and thus cannot know
+ whether the auto-increment value it generates will be used
+ for a new row. Therefore, if you are using statement-based
+ replication, you must either avoid <literal>INSERT ... ON
+ DUPLICATE KEY UPDATE</literal> or use
+ <literal>innodb_autoinc_lock_mode = 0</literal>
+ (<quote>traditional</quote> lock mode).
</para>
</listitem>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r10048 - in trunk: . refman-5.1 refman-6.0 | paul | 27 Feb |