diff options
author | mhansson/martin@linux-st28.site <> | 2007-02-22 14:11:01 +0100 |
---|---|---|
committer | mhansson/martin@linux-st28.site <> | 2007-02-22 14:11:01 +0100 |
commit | 340ab217952229912ad445e74b2a7c0a71cd12b5 (patch) | |
tree | 2702c1d1b9e4693cf93c05e0fc1494da118112c9 /regex | |
parent | 30614d22c195f25d7b59fb2651cfaca15697002c (diff) | |
download | mariadb-git-340ab217952229912ad445e74b2a7c0a71cd12b5.tar.gz |
Bug #24010: INSERT INTO ... SELECT fails on unique constraint with data
it doesn't select.
This bug was fixed along with bug #16861: User defined variable can
have a wrong value if a tmp table was used.
There the fix consisted of Item_func_set_user_var overloading the method
Item::save_in_field. Consider the query from the test case:
INSERT INTO foo( bar, baz )
SELECT
bar,
@newBaz := 1 + baz
FROM
foo
WHERE
quux <= 0.1;
Here the assignment expression '@newBaz := 1 + baz' is represented by an
Item_func_set_user_var. Its member method save_in_field, which writes the
value of this assignment into the result field, writes the val_xxx() value,
which is not updated at this point. In the fix introduced by the patch,
the save_in_field method reads the actual variable value instead.
See also comment for
ChangeSet@1.2368.1.3, 2007-01-09 23:24:56+03:00, evgen@moonbone.local +4 -0
and comment for
Item_func_set_user_var::save_in_field (item_func.cc)
Diffstat (limited to 'regex')
0 files changed, 0 insertions, 0 deletions