[sr-dev] continuous rls related db_mysql errors

Juha Heinanen jh at tutpro.com
Thu Sep 26 17:05:23 CEST 2013


Daniel-Constantin Mierla writes:

> "LOCK TABLES is not transaction-safe and implicitly commits any active 
> transaction before attempting to lock the tables. "
> That seems to say, if you start transaction then do lock tables, the 
> transaction is committed.

yes. does not sound like a good idea to lock tables between START
TRANSACTION and COMMIT or ROLLBACK.

> In the code I saw that transaction start function can lock tables based 
> on a parameter, but after start transaction -- which on the light of 
> above statements mean closing the just opened transaction. Then I assume 
> several queries are done from the module, which are supposed to be part 
> of a transaction, but it might not exist anymore if I understand 
> correctly the documentation.

it seems that tables cannot be locked before calling START TRANSACTION
either because of this text:

  If a session begins a transaction (for example, with START TRANSACTION),
  an implicit UNLOCK TABLES is performed, which causes existing locks to
  be released.

that leads to the conclusion that transactions and table locking cannot
be used together in mysql.

-- juha



More information about the sr-dev mailing list