1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-30 16:24:05 +03:00

Bug #30832: Assertion + crash with select name_const('test', now());

The NAME_CONST function is required to work correctly with constants only.
When executed with functions that return types other than those returned by
Item::field_type (string, int, decimal, or real), the result gets cast to
one of those types. This cannot happen for constants.
Fixed by only allowing constants as arguments to NAME_CONST.
This commit is contained in:
mhansson/martin@linux-st28.site
2007-09-28 18:05:23 +02:00
parent 0aa6e95768
commit 397da9d9b7
3 changed files with 32 additions and 0 deletions

View File

@ -185,4 +185,20 @@ ERROR 21000: Operand should contain 1 column(s)
drop table table_26093;
drop function func_26093_a;
drop function func_26093_b;
SELECT NAME_CONST('test', NOW());
ERROR HY000: Incorrect arguments to NAME_CONST
SELECT NAME_CONST('test', UPPER('test'));
ERROR HY000: Incorrect arguments to NAME_CONST
SELECT NAME_CONST('test', NULL);
test
NULL
SELECT NAME_CONST('test', 1);
test
1
SELECT NAME_CONST('test', 1.0);
test
1.0
SELECT NAME_CONST('test', 'test');
test
test
End of 5.0 tests