Author: jstephens
Date: 2007-01-06 15:41:05 +0100 (Sat, 06 Jan 2007)
New Revision: 4388
Log:
Stored routines and triggers don't automatically propagate between
Cluster SQL nodes (Thanks, Victoria!)
Cleaned up a few misc. diffs.
Modified:
branches/telcos/refman-5.1/news-5.1.xml
branches/telcos/refman-5.1/restrictions.xml
trunk/refman-5.1/news-5.1.xml
trunk/refman-5.1/restrictions.xml
Modified: branches/telcos/refman-5.1/news-5.1.xml
===================================================================
--- branches/telcos/refman-5.1/news-5.1.xml 2007-01-06 10:10:21 UTC (rev 4387)
+++ branches/telcos/refman-5.1/news-5.1.xml 2007-01-06 14:41:05 UTC (rev 4388)
Changed blocks: 9, Lines Added: 22, Lines Deleted: 27; 4932 bytes
@@ -168,17 +168,17 @@
the cluster performed a local checkpoint. (Bug #17605)
</para>
</listitem>
-
+
<listitem>
<para>
When a data node was shut down using the management client
- <literal>STOP</literal> command, a connection event
- (<literal>NDB_LE_Connected</literal>) was logged instead of a
+ <literal>STOP</literal> command, a connection event
+ (<literal>NDB_LE_Connected</literal>) was logged instead of a
disconnection event (<literal>NDB_LE_Disconnected</literal>).
(Bug #22773)
</para>
</listitem>
-
+
<listitem>
<para>
<emphasis role="bold">Disk Data</emphasis>: When restoring
@@ -187,7 +187,7 @@
to a crash of the cluster. (Bug #24166)
</para>
</listitem>
-
+
<listitem>
<para>
<emphasis role="bold">NDB API</emphasis>: Invoking the
@@ -198,7 +198,7 @@
#25090)
</para>
</listitem>
-
+
<listitem>
<para>
<emphasis role="bold">NDB API</emphasis>: Due to an error in
@@ -229,9 +229,8 @@
installing any new version of software. Although MySQL has worked
very hard to ensure a high level of quality, protect your data by
making a backup as you would for any software beta release. Please
- refer to our bug database at
- <ulink url="http://bugs.mysql.com/"/> for more details about the
- individual bugs fixed in this version.
+ refer to our bug database at <ulink url="http://bugs.mysql.com/"/>
+ for more details about the individual bugs fixed in this version.
</para>
<para>
@@ -1867,7 +1866,7 @@
<section id="news-5-1-12">
<title>Changes in release 5.1.12 (24 October 2006)</title>
-
+
<para role="release-level">
This is a new Beta development release, fixing recently discovered
bugs.
@@ -2621,8 +2620,8 @@
<para>
The <literal>LOAD DATA FROM MASTER</literal> and <literal>LOAD
TABLE FROM MASTER</literal> statements are deprecated. See
- <xref linkend="load-data-from-master"/>, for recommended
- alternatives. (Bug #18822, Bug #9125, Bug #12187, Bug #14399,
+ <xref linkend="load-data-from-master"/>, for recommended
+ alternatives. (Bug #18822, Bug #9125, Bug #12187, Bug #14399,
Bug #15025, Bug #20596)
</para>
</listitem>
@@ -7999,9 +7998,7 @@
client, using specially crafted invalid
<literal>COM_TABLE_DUMP</literal> packets was able to trigger
an exploitable buffer overflow on the server.
- (<ulink
- url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1518"
- >CVE-2006-1518</ulink>)
+ (<ulink url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-1518">CVE-2006-1518</ulink>)
Thanks to Stefano Di Paola
<email>stefano.dipaola@stripped</email> for finding and
reporting this bug.
@@ -10445,9 +10442,9 @@
<listitem>
<para>
- <literal>NDB Cluster</literal>: Insufficient stringbuffer
- memory when attempting to create a trigger caused the server
- to crash. (Bug #18101)
+ <literal>NDB Cluster</literal>: Insufficient
+ <literal>StringBuffer</literal> memory when attempting to
+ create a trigger caused the server to crash. (Bug #18101)
</para>
</listitem>
@@ -11718,15 +11715,13 @@
<literal>SUPER</literal> privilege has changed to a
requirement for the <literal>TRIGGER</literal> privilege.
After upgrading, be sure to update your grant tables as
- described in
- <xref
- linkend="mysql-fix-privilege-tables"/>. This
- process assigns the <literal>TRIGGER</literal> privilege to
- all accounts that had the <literal>SUPER</literal> privilege.
- (After updating, you might also consider whether any of those
- accounts no longer need <literal>SUPER</literal>.) If you fail
- to update the grant tables, triggers may fail when activated.
- (Bug #9142)
+ described in <xref linkend="mysql-fix-privilege-tables"/>.
+ This process assigns the <literal>TRIGGER</literal> privilege
+ to all accounts that had the <literal>SUPER</literal>
+ privilege. (After updating, you might also consider whether
+ any of those accounts no longer need
+ <literal>SUPER</literal>.) If you fail to update the grant
+ tables, triggers may fail when activated. (Bug #9142)
</para>
</listitem>
Modified: branches/telcos/refman-5.1/restrictions.xml
===================================================================
--- branches/telcos/refman-5.1/restrictions.xml 2007-01-06 10:10:21 UTC (rev 4387)
+++ branches/telcos/refman-5.1/restrictions.xml 2007-01-06 14:41:05 UTC (rev 4388)
Changed blocks: 3, Lines Added: 79, Lines Deleted: 14; 5435 bytes
@@ -278,6 +278,67 @@
</itemizedlist>
+ <formalpara>
+
+ <title>Stored routines and triggers in MySQL Cluster</title>
+
+ <para>
+ Stored functions, stored procedures, and triggers are all
+ supported by tables using the <literal>NDB</literal> storage
+ engine; however, it is important to keep in mind that they do
+ <emphasis>not</emphasis> propagate automatically between MySQL
+ Servers acting as Cluster SQL nodes. This is because of the
+ following:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Stored routine definitions are kept in tables in the
+ <literal>mysql</literal> system database using the
+ <literal>MyISAM</literal> storage engine, and so do not
+ participate in clustering.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>.TRN</filename> and
+ <filename>.TRG</filename> files containing trigger
+ definitions are not read by the <literal>NDB</literal>
+ storage engine, and are not copied between Cluster nodes.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ Any stored routine or trigger that interacts with MySQL Cluster
+ tables must be re-created by running the appropriate
+ <literal>CREATE PROCEDURE</literal>, <literal>CREATE
+ FUNCTION</literal>, or <literal>CREATE TRIGGER</literal>
+ statements on each MySQL Server that participates in the cluster
+ where you wish to use the stored routine or trigger. Similarly,
+ any changes to existing stored routines or triggers must be
+ carried out explicitly on all Cluster SQL nodes, using the
+ appropriate <literal>ALTER</literal> or <literal>DROP</literal>
+ statements on each MySQL Server accessing the cluster.
+
+ <warning>
+ <para>
+ Do <emphasis>not</emphasis> attempt to work around the issue
+ described in the first item mentioned previously by
+ converting any <literal>mysql</literal> database tables to
+ use the <literal>NDB</literal> storage engine.
+ <emphasis>Altering the system tables in the
+ <literal>mysql</literal> database is very likely to produce
+ undesirable results, and is not supported by MySQL
+ AB</emphasis>.
+ </para>
+ </warning>
+ </para>
+
+ </formalpara>
+
</section>
<section id="cursor-restrictions">
@@ -709,8 +770,8 @@
<literal>= ANY</literal>, <literal><> ANY</literal>,
<literal>= ALL</literal>, and <literal><> ALL</literal>
with non-correlated subqueries, use an in-memory hash for a
- result or a temporary table with an index for larger
- results. Example:
+ result or a temporary table with an index for larger results.
+ Example:
</para>
<programlisting>
@@ -928,52 +989,56 @@
</listitem>
</itemizedlist>
-
+
<indexterm>
<primary>mysqldump</primary>
<secondary>views</secondary>
</indexterm>
+
<indexterm>
<primary>mysqldump</primary>
<secondary>problems</secondary>
</indexterm>
+
<indexterm>
<primary>mysqldump</primary>
<secondary>workarounds</secondary>
</indexterm>
+
<indexterm>
<primary>Views</primary>
<secondary>limitations</secondary>
</indexterm>
+
<indexterm>
<primary>Views</primary>
<secondary>problems</secondary>
</indexterm>
+
<indexterm>
<primary>Views</primary>
<secondary>privileges</secondary>
</indexterm>
-
+
<para>
- There exists a shortcoming with the current implementation of
- views. If a user is granted the basic privileges necessary to
+ There exists a shortcoming with the current implementation of
+ views. If a user is granted the basic privileges necessary to
create a view (the <literal>CREATE VIEW</literal> and
- <literal>SELECT</literal> privileges), that user will be unable
- to call <literal>SHOW CREATE VIEW</literal> on that object unless
- the user is also granted the <literal>SHOW VIEW</literal>
- privilege.
+ <literal>SELECT</literal> privileges), that user will be unable to
+ call <literal>SHOW CREATE VIEW</literal> on that object unless the
+ user is also granted the <literal>SHOW VIEW</literal> privilege.
</para>
-
+
<para>
That shortcoming can lead to problems backing up a database with
<command>mysqldump</command>, which may fail due to insufficient
privileges. This problem is described in bug #22062.
</para>
-
+
<para>
The workaround to the problem is for the administrator to manually
- grant the <literal>SHOW VIEW</literal> privilege to users who are
- granted <literal>CREATE VIEW</literal>, since MySQL doesn't grant
+ grant the <literal>SHOW VIEW</literal> privilege to users who are
+ granted <literal>CREATE VIEW</literal>, since MySQL doesn't grant
it implicitly when views are created.
</para>
Modified: trunk/refman-5.1/news-5.1.xml
===================================================================
--- trunk/refman-5.1/news-5.1.xml 2007-01-06 10:10:21 UTC (rev 4387)
+++ trunk/refman-5.1/news-5.1.xml 2007-01-06 14:41:05 UTC (rev 4388)
Changed blocks: 5, Lines Added: 18, Lines Deleted: 21; 3586 bytes
@@ -55,10 +55,9 @@
installing any new version of software. Although MySQL has worked
very hard to ensure a high level of quality, protect your data by
making a backup as you would for any software beta release. Please
- refer to our bug database at
- <ulink
- url="http://bugs.mysql.com/"/> for more details
- about the individual bugs fixed in this version.
+ refer to our bug database at <ulink
+ url="http://bugs.mysql.com/"/>
+ for more details about the individual bugs fixed in this version.
</para>
<para role="release-special-announcement">
@@ -647,9 +646,8 @@
installing any new version of software. Although MySQL has worked
very hard to ensure a high level of quality, protect your data by
making a backup as you would for any software beta release. Please
- refer to our bug database at
- <ulink url="http://bugs.mysql.com/"/> for more details about the
- individual bugs fixed in this version.
+ refer to our bug database at <ulink url="http://bugs.mysql.com/"/>
+ for more details about the individual bugs fixed in this version.
</para>
<para>
@@ -3048,8 +3046,8 @@
<para>
The <literal>LOAD DATA FROM MASTER</literal> and <literal>LOAD
TABLE FROM MASTER</literal> statements are deprecated. See
- <xref linkend="load-data-from-master"/>, for recommended
- alternatives. (Bug #18822, Bug #9125, Bug #12187, Bug #14399,
+ <xref linkend="load-data-from-master"/>, for recommended
+ alternatives. (Bug #18822, Bug #9125, Bug #12187, Bug #14399,
Bug #15025, Bug #20596)
</para>
</listitem>
@@ -10876,9 +10874,9 @@
<listitem>
<para>
- <literal>NDB Cluster</literal>: Insufficient stringbuffer
- memory when attempting to create a trigger caused the server
- to crash. (Bug #18101)
+ <literal>NDB Cluster</literal>: Insufficient
+ <literal>StringBuffer</literal> memory when attempting to
+ create a trigger caused the server to crash. (Bug #18101)
</para>
</listitem>
@@ -12149,15 +12147,14 @@
<literal>SUPER</literal> privilege has changed to a
requirement for the <literal>TRIGGER</literal> privilege.
After upgrading, be sure to update your grant tables as
- described in
- <xref
- linkend="mysql-fix-privilege-tables"/>. This
- process assigns the <literal>TRIGGER</literal> privilege to
- all accounts that had the <literal>SUPER</literal> privilege.
- (After updating, you might also consider whether any of those
- accounts no longer need <literal>SUPER</literal>.) If you fail
- to update the grant tables, triggers may fail when activated.
- (Bug #9142)
+ described in <xref
+ linkend="mysql-fix-privilege-tables"/>.
+ This process assigns the <literal>TRIGGER</literal> privilege
+ to all accounts that had the <literal>SUPER</literal>
+ privilege. (After updating, you might also consider whether
+ any of those accounts no longer need
+ <literal>SUPER</literal>.) If you fail to update the grant
+ tables, triggers may fail when activated. (Bug #9142)
</para>
</listitem>
Modified: trunk/refman-5.1/restrictions.xml
===================================================================
--- trunk/refman-5.1/restrictions.xml 2007-01-06 10:10:21 UTC (rev 4387)
+++ trunk/refman-5.1/restrictions.xml 2007-01-06 14:41:05 UTC (rev 4388)
Changed blocks: 3, Lines Added: 79, Lines Deleted: 14; 5405 bytes
@@ -278,6 +278,67 @@
</itemizedlist>
+ <formalpara>
+
+ <title>Stored routines and triggers in MySQL Cluster</title>
+
+ <para>
+ Stored functions, stored procedures, and triggers are all
+ supported by tables using the <literal>NDB</literal> storage
+ engine; however, it is important to keep in mind that they do
+ <emphasis>not</emphasis> propagate automatically between MySQL
+ Servers acting as Cluster SQL nodes. This is because of the
+ following:
+
+ <itemizedlist>
+
+ <listitem>
+ <para>
+ Stored routine definitions are kept in tables in the
+ <literal>mysql</literal> system database using the
+ <literal>MyISAM</literal> storage engine, and so do not
+ participate in clustering.
+ </para>
+ </listitem>
+
+ <listitem>
+ <para>
+ The <filename>.TRN</filename> and
+ <filename>.TRG</filename> files containing trigger
+ definitions are not read by the <literal>NDB</literal>
+ storage engine, and are not copied between Cluster nodes.
+ </para>
+ </listitem>
+
+ </itemizedlist>
+
+ Any stored routine or trigger that interacts with MySQL Cluster
+ tables must be re-created by running the appropriate
+ <literal>CREATE PROCEDURE</literal>, <literal>CREATE
+ FUNCTION</literal>, or <literal>CREATE TRIGGER</literal>
+ statements on each MySQL Server that participates in the cluster
+ where you wish to use the stored routine or trigger. Similarly,
+ any changes to existing stored routines or triggers must be
+ carried out explicitly on all Cluster SQL nodes, using the
+ appropriate <literal>ALTER</literal> or <literal>DROP</literal>
+ statements on each MySQL Server accessing the cluster.
+
+ <warning>
+ <para>
+ Do <emphasis>not</emphasis> attempt to work around the issue
+ described in the first item mentioned previously by
+ converting any <literal>mysql</literal> database tables to
+ use the <literal>NDB</literal> storage engine.
+ <emphasis>Altering the system tables in the
+ <literal>mysql</literal> database is very likely to produce
+ undesirable results, and is not supported by MySQL
+ AB</emphasis>.
+ </para>
+ </warning>
+ </para>
+
+ </formalpara>
+
</section>
<section id="cursor-restrictions">
@@ -709,8 +770,8 @@
<literal>= ANY</literal>, <literal><> ANY</literal>,
<literal>= ALL</literal>, and <literal><> ALL</literal>
with non-correlated subqueries, use an in-memory hash for a
- result or a temporary table with an index for larger
- results. Example:
+ result or a temporary table with an index for larger results.
+ Example:
</para>
<programlisting>
@@ -928,52 +989,56 @@
</listitem>
</itemizedlist>
-
+
<indexterm>
<primary>mysqldump</primary>
<secondary>views</secondary>
</indexterm>
+
<indexterm>
<primary>mysqldump</primary>
<secondary>problems</secondary>
</indexterm>
+
<indexterm>
<primary>mysqldump</primary>
<secondary>workarounds</secondary>
</indexterm>
+
<indexterm>
<primary>Views</primary>
<secondary>limitations</secondary>
</indexterm>
+
<indexterm>
<primary>Views</primary>
<secondary>problems</secondary>
</indexterm>
+
<indexterm>
<primary>Views</primary>
<secondary>privileges</secondary>
</indexterm>
-
+
<para>
- There exists a shortcoming with the current implementation of
- views. If a user is granted the basic privileges necessary to
+ There exists a shortcoming with the current implementation of
+ views. If a user is granted the basic privileges necessary to
create a view (the <literal>CREATE VIEW</literal> and
- <literal>SELECT</literal> privileges), that user will be unable
- to call <literal>SHOW CREATE VIEW</literal> on that object unless
- the user is also granted the <literal>SHOW VIEW</literal>
- privilege.
+ <literal>SELECT</literal> privileges), that user will be unable to
+ call <literal>SHOW CREATE VIEW</literal> on that object unless the
+ user is also granted the <literal>SHOW VIEW</literal> privilege.
</para>
-
+
<para>
That shortcoming can lead to problems backing up a database with
<command>mysqldump</command>, which may fail due to insufficient
privileges. This problem is described in bug #22062.
</para>
-
+
<para>
The workaround to the problem is for the administrator to manually
- grant the <literal>SHOW VIEW</literal> privilege to users who are
- granted <literal>CREATE VIEW</literal>, since MySQL doesn't grant
+ grant the <literal>SHOW VIEW</literal> privilege to users who are
+ granted <literal>CREATE VIEW</literal>, since MySQL doesn't grant
it implicitly when views are created.
</para>
| Thread |
|---|
| • svn commit - mysqldoc@docsrva: r4388 - branches/telcos/refman-5.1 trunk/refman-5.1 | jon | 6 Jan |