Bug #41365 inconsistent restriction on whitespace in SQL for aggregates

Submitted: 10 Dec 2008 17:39 Modified: 10 Dec 2008 17:57
Reporter: Shane Harrelson Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: General Severity:S3 (Non-critical)
Version:mysql-essential-5.1.30-win32.msi OS:Windows (XP SP2)
Assigned to: CPU Architecture:Any
Tags: aggregates, whitespace

[10 Dec 2008 17:39] Shane Harrelson
Description:
Inconsistent restriction on whitespace in SQL for aggregates.

How to repeat:
These both work:
  AVG( col1 ) 
  AVG ( col1 ) 
This does not:
  MIN ( col1 ) 
It has to be written:
  MIN( col1 ) 
Note that the whitespace before the '(' has been removed.
[10 Dec 2008 17:57] Valeriy Kravchuk
Indeed, this is inconsistent and thus a bug. But there is a nice workaround:

mysql> select max (col1) from tab0;
ERROR 1305 (42000): FUNCTION test.max does not exist
mysql> set sql_mode='IGNORE_SPACE';
Query OK, 0 rows affected (0.00 sec)

mysql> select max (col1) from tab0;
+------------+
| max (col1) |
+------------+
|         44 |
+------------+
1 row in set (0.03 sec)

We have IGNORE_SPACE SQL mode for cases like this.
[18 May 2010 22:40] Hartmut Holzgraefe
Any good reason for AVG_SYM being in the symbols[] array in sql/lex.h while MIN_SYM is in the sql_functions array?

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.052 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.