Bug #32947 | Misleading LOCK TABLES description in 6.0 Nutshell section | ||
---|---|---|---|
Submitted: | 3 Dec 2007 23:47 | Modified: | 5 Dec 2007 8:33 |
Reporter: | Baron Schwartz (Basic Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Documentation | Severity: | S3 (Non-critical) |
Version: | 6.0 | OS: | Any |
Assigned to: | Jon Stephens | CPU Architecture: | Any |
Tags: | qc |
[3 Dec 2007 23:47]
Baron Schwartz
[4 Dec 2007 4:27]
Valeriy Kravchuk
Thank you for a reasonable feature and documentation request.
[4 Dec 2007 15:51]
Sergei Golubchik
LOCK TABLE remains backward compatible. We've implemented an extension to LOCK TABLE, and that paragraph from the What's New applies only to that extension. The new syntax is LOCK TABLES ... IN SHARE MODE LOCK TABLES ... IN EXCLUSIVE MODE it acquires transactional table locks, with the conventional transactional behavior (a lock stay until transaction ends, locks can be taken incrementally, etc). This is not documented yet in the LOCK TABLE page of the manual. See http://mysql.bkbits.net:8080/mysql-6.0/mysql-test/include/locktrans.inc?PAGE=anno&REV=4702... for examples. I agree that nutshell page is somewhat misleading, though.
[4 Dec 2007 20:34]
Jon Stephens
The section in question now reads: The syntax for the LOCK TABLES statement has been extended to support transactional table locks which do not commit transactions automatically. Following LOCK TABLES ... IN SHARE MODE or LOCK TABLES ... IN EXCLUSIVE MODE, you can access tables not mentioned in the LOCK TABLES statement. You can now also issue these extended LOCK TABLES statements many times in succession, adding additional tables to the locked set, and without unlocking any tables that were locked previously. When using LOCK TABLES with IN SHARE MODE or IN EXCLUSIVE MODE tables are not unlocked until the transaction is committed. The behavior of LOCK TABLES when not using IN SHARE MODE or IN EXCLUSIVE MODE remains unchanged. The LOCK TABLES Syntax section of the Manual will be updated with details of the new syntax soon. The basics are shown here: LOCK TABLE[S] table [[AS] alias] lock [, table [[AS] alias] lock ...] lock= READ | WRITE | LOW_PRIORITY WRITE | READ LOCAL | IN transactional_lock_mode MODE [NOWAIT] transactional_lock_mode= SHARE | EXCLUSIVE The new syntax is already supported in MySQL 6.0.3.
[5 Dec 2007 8:33]
Jon Stephens
Forgot to change status when fixing; see previous comment.