Hello All,

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.

http://dev.mysql.com/doc/refman/5.5/en/replication-sbr-rbr.html
http://dev.mysql.com/doc/refman/5.5/en/replication-rbr-safe-unsafe.html

Regards,
--
Shawn Green
MySQL Principal Technical Support Engineer
Oracle USA, Inc. - Hardware and Software, Engineered to Work Together.
Office: Blountville, TN

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/mysql

Reply via email to