| Bug #15767 | call x() fails - single-letter procedures require space before arguments list | ||
|---|---|---|---|
| Submitted: | 15 Dec 2005 0:31 | Modified: | 21 Dec 2005 4:06 |
| Reporter: | Timothy Smith | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server: Stored Routines | Severity: | S3 (Non-critical) |
| Version: | 5.0.17-bk | OS: | Any (any) |
| Assigned to: | CPU Architecture: | Any | |
[20 Dec 2005 11:03]
Sergei Golubchik
cannot repeat mysql> call a(); +---+ | 1 | +---+ | 1 | +---+
[21 Dec 2005 4:06]
Timothy Smith
I just re-tested with a fresh BK version, and I don't get a syntax error. So it must have been a transient problem. Thanks, Timothy

Description: If a procedure is named with a single letter, then calling it requires putting a space before the parentheses "(". If a procedure has at least two letters in its name, the parentheses can follow the procedure name directly in the call statement. How to repeat: delimiter // create procedure a() begin select 1; end// create procedure aa() begin select 1; end// delimiter; call a(); -- Syntax error call aa(); -- OK call a (); -- OK call aa (); -- OK Suggested fix: Fix parser? The workaround is obvious....