diff options
author | Martin Hansson <martin.hansson@sun.com> | 2009-09-07 11:57:22 +0200 |
---|---|---|
committer | Martin Hansson <martin.hansson@sun.com> | 2009-09-07 11:57:22 +0200 |
commit | 2cb3a131f47a8bcf0398a28e4a6a16d1c30c9708 (patch) | |
tree | a5d299776746dbadc68df54e2ef86f7fb499c938 /mysql-test/r/udf.result | |
parent | a00ba9ebea078f7dc12f7cd298782d1ada4bb4e9 (diff) | |
download | mariadb-git-2cb3a131f47a8bcf0398a28e4a6a16d1c30c9708.tar.gz |
Bug#46259: 5.0.83 -> 5.1.36, query doesn't work
The parser rule for expressions in a udf parameter list contains
two hacks:
First, the parser input stream is read verbatim, bypassing
the lexer.
Second, the Item::name field is overwritten. If the argument to a
udf was a field, the field's name as seen by name resolution was
overwritten this way.
If the field name was quoted or escaped, it would appear as e.g. "`field`".
Fixed by not overwriting field names.
mysql-test/r/udf.result:
Bug#46259: Test result.
mysql-test/t/udf.test:
Bug#46259: Test case.
sql/sql_yacc.yy:
Bug#46259: Fix.
Diffstat (limited to 'mysql-test/r/udf.result')
-rw-r--r-- | mysql-test/r/udf.result | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/mysql-test/r/udf.result b/mysql-test/r/udf.result index 15410ac2039..601b364fbbe 100644 --- a/mysql-test/r/udf.result +++ b/mysql-test/r/udf.result @@ -392,4 +392,20 @@ a 4 DROP FUNCTION sequence; DROP TABLE t1,t2; +# +# Bug#46259: 5.0.83 -> 5.1.36, query doesn't work +# +CREATE TABLE t1 ( a INT ); +INSERT INTO t1 VALUES (1), (2), (3); +SELECT IF( a = 1, a, a ) AS `b` FROM t1 ORDER BY field( `b` + 1, 1 ); +b +1 +2 +3 +SELECT IF( a = 1, a, a ) AS `b` FROM t1 ORDER BY field( `b`, 1 ); +b +2 +3 +1 +DROP TABLE t1; End of 5.0 tests. |