Bug #7498 User variable SET saves SIGNED BIGINT as UNSIGNED BIGINT
| Submitted: | 22 Dec 2004 23:12 | Modified: | 15 Aug 2006 3:18 |
|---|---|---|---|
| Reporter: | Arnout Veenman | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server | Severity: | S2 (Serious) |
| Version: | 4.0.17 | OS: | Any (all) |
| Assigned to: | Magnus Blåudd | CPU Architecture: | Any |
[22 Dec 2004 23:12]
Arnout Veenman
[23 Dec 2004 6:53]
Hartmut Holzgraefe
mysql> SELECT @a := afield FROM bigfailure; +--------------+ | @a := afield | +--------------+ | -1998585759 | +--------------+ 1 row in set (0.10 sec)
[23 Dec 2004 10:08]
Heikki Tuuri
Hi! Changing the category to 'MySQL Server' because the problem hardly is InnoDB-related. --Heikki
[9 Aug 2005 14:34]
Mark Matthews
Please retest to determine platform-specificness.
[13 Aug 2005 7:20]
Vasily Kishkin
I tested on Linux SUSE 9.3 and Windows 2003. I have same result for both cases:
mysql> SELECT @a
-> ;
+-------------+
| @a |
+-------------+
| -1998585759 |
+-------------+
[16 May 2006 10:41]
Magnus Blåudd
Occurs both in 4.1 and 5.0
[30 May 2006 8:35]
Magnus Blåudd
This looks like two problems: 1. The "subselect_single_select_engine" returns no unsigned flag. This can be seen with the below query which dowsn't return any rows. mysql> select * from bigfailure where afield = (SELECT afield FROM bigfailure); Empty set (0.02 sec) 2. The Item_func_set/get_user_var does not care about the unsigned flag. mysql> set @a=18446744071710965857; Query OK, 0 rows affected (0.01 sec) mysql> select @a; +-------------+ | @a | +-------------+ | -1998585759 | +-------------+
[8 Jun 2006 11:03]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/7383
[8 Jun 2006 12:15]
Magnus Blåudd
Need to check how this will work in 5.0 before proceeding with reviewing the patch. Maybe I make a new one for 4.1 that better works with 5.0
[8 Jun 2006 13:41]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/7393
[9 Jun 2006 15:05]
Magnus Blåudd
Will fix this from 5.0 and up. Found a problem in combination with ps_protocol. The compare functions to use for a subselect is determined at prepare phase, when the value has not yet been converted into a Item_cache_int and thus it's not known that the Item is unsigned. This makes the compare function 'compare_int_signed_unsigned' to be selected, it should be 'compare_int_unsigned'
[9 Jun 2006 17:36]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/7455
[14 Jun 2006 10:32]
Alexander Barkov
Magnus, the patch looks ok to me. If Serg is busy, feel free to set me as a reviewer.
[20 Jul 2006 11:43]
Magnus Blåudd
Pushed to 5.0.25
[9 Aug 2006 12:54]
Jon Stephens
Documented bugfix in 5.0.25 changelog. Need to know if/when this is pushed to 5.1. Thanks!
[14 Aug 2006 21:28]
Konstantin Osipov
Merged into 5.1.12
[15 Aug 2006 3:17]
Paul DuBois
Noted in 5.1.12 changelog.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.046 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.