On 12/5/2011 14:20, wrote:
> A procedure MODIFIES SQL DATA if all the modifying involves a temporary table, or
> only READS SQL DATA?
> Does it matter whether the temporary table is meant to outlast the procedure-call?
Many of you are missing the big picture. This flag (along with most of
the others you can use to describe a stored procedure) are meant to
indicate to the replication system whether it needs to log the CALL to
this procedure and in which format.
Statements that only collect data (and don't even write to temporary
tables) do not need to be written into the binary log. Any stored
procedures that change a table, even if it's a temporary table, need to
be marked as MODIFIES_SQL_DATA.
The other commenters are correct: The contents of the stored procedure
are not evaluated to see if you set the descriptive flags correctly. The
database must trust you, the DBA, to do that properly.
MySQL Principal Technical Support Engineer
Oracle USA, Inc. - Hardware and Software, Engineered to Work Together.
Office: Blountville, TN