Bug #93535 Not "NO WAIT" but "NOWAIT" for "SELECT ... FOR UPDATE NOWAIT"
Submitted: 9 Dec 2018 23:51 Modified: 12 Dec 2018 0:40
Reporter: Meiji Kimura Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Documentation Severity:S3 (Non-critical)
Version:8.0 OS:Any
Assigned to: CPU Architecture:Any

[9 Dec 2018 23:51] Meiji Kimura
Description:
This document describe about NOWAIT option for for "SELECT ... FOR UPDATE NOWAIT".

https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html

But "NO WAIT" are used in only two sentences instead of "NOWAIT".

How to repeat:
1. See this manual
https://dev.mysql.com/doc/refman/8.0/en/innodb-locking-reads.html

2. Check theses sentences.

 NO WAIT and SKIP LOCKED only apply to row-level locks.

Statements that use NO WAIT or SKIP LOCKED are unsafe for statement based replication. 

Suggested fix:
They should be modified from "NO WAIT" to "NOWAIT" like as belows.

 NOWAIT and SKIP LOCKED only apply to row-level locks.

Statements that use NOWAIT or SKIP LOCKED are unsafe for statement based replication.
[9 Dec 2018 23:53] Meiji Kimura
"NOWAIT" works as expected, but "NO WAIT" doesn't work.

mysql> select * from t1 for update nowait;
+----+------+
| i1 | v2   |
+----+------+
|  1 | 1    |
|  2 | 2    |
|  3 | 3    |
+----+------+
3 rows in set (0.00 sec)

mysql> select * from t1 for update no wait;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'no wa
it' at line 1
[10 Dec 2018 4:09] Umesh Shastry
Hello Meiji-San,

Thank you for the report!

regards,
Umesh
[12 Dec 2018 0:40] Daniel Price
Posted by developer:
 
The documentation error has been corrected.

Thank you for the bug report.