>Description:
The tokenizer is not behaving correctly with certain tokens relating to
comments.
Correct Behaviour:
mysql> SELECT + /* foo */ 200;
ERROR 1064: You have an error in your SQL syntax near '+ /* foo */ 200' at
line 1
Incorrect Behavior:
mysql> SELECT - /* foo */ 200;
+-----------------+
| - /* foo */ 200 |
+-----------------+
| -200 |
+-----------------+
1 row in set (0.00 sec)
Expected Behavior:
mysql> SELECT - /* foo */ 200;
ERROR 1064: You have an error in your SQL syntax near '- /* foo */ 200' at
line 1
Analysis:
The token '-/*' is causing problems with the comment section of the tokenizer.
Additional:
This bug also seems to have an effect in causing this incorrect behavior:
mysql> SELECT 200 - /* foo */ 200;
+---------------------+
| 200 - /* foo */ 200 |
+---------------------+
| 0 |
+---------------------+
1 row in set (0.00 sec)
>How-To-Repeat:
Compare output of:
SELECT + /* foo */ 200;
Vs.
SELECT - /* foo */ 200;
>Fix:
Unknown.
>Submitter-Id: <submitter ID>
>Originator: Robin Johnson
>Organization:
Orbis-Terrarum Networks.
>MySQL support: none
>Synopsis: Tokenizier incorrect behavior with C-style comments
>Severity: serious
>Priority: medium
>Category: mysql
>Class: sw-bug
>Release: mysql-3.23.51-robbat2 (yes)
>Environment:
System: Linux matchbox 2.4.18-3 #1 Thu Apr 18 07:37:53 EDT 2002 i686 unknown
Architecture: i686
Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/local/bin/gcc /usr/bin/cc
GCC: Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.1/specs
Configured with: ../gcc-3.1/configure --enable-languages=c,c++,f77,objc,java
Thread model: single
gcc version 3.1
Compilation info: CC='gcc' CFLAGS='-O3 -DUSE_SYMDIR' CXX='gcc' CXXFLAGS='-O3
-felide-constructors -fno-exceptions -fno-rtti' LDFLAGS=''
LIBC:
lrwxrwxrwx 1 root root 13 Jun 24 16:51 /lib/libc.so.6 -> libc-2.2.5.so
-rwxr-xr-x 1 root root 1260480 Apr 15 06:44 /lib/libc-2.2.5.so
-rw-r--r-- 1 root root 2310808 Apr 15 07:02 /usr/lib/libc.a
-rw-r--r-- 1 root root 178 Apr 15 06:55 /usr/lib/libc.so
Configure command: ./configure --prefix=/usr/local/mysql --with-innodb --with-comment
--with-extra-charsets=all --with-server-suffix=-robbat2 --enable-local-infile
--enable-assembler --with-mysqld-ldflags=-all-static --with-bdb 'CFLAGS=-O3
-DUSE_SYMDIR' 'CXXFLAGS=-O3 -felide-constructors -fno-exceptions -fno-rtti' CXX=gcc
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php