Commit graph

52 commits

Author SHA1 Message Date
Gleb Shchepa
79d8de67a9 Bug #45360: wrong results
Propagation of a large unsigned numeric constant
in the WHERE expression led to wrong result.

For example,
"WHERE a = CAST(0xFFFFFFFFFFFFFFFF AS USIGNED) AND FOO(a)",
where a is an UNSIGNED BIGINT, and FOO() accepts strings,
was transformed to "... AND FOO('-1')".

That has been fixed.

Also EXPLAIN EXTENDED printed incorrect numeric constants in
transformed WHERE expressions like above. That has been
fixed too.
2010-02-25 23:13:11 +04:00
kent@kent-amd64.(none)
aee02b2a2c Merge mysql.com:/home/kent/bk/bug30069/mysql-5.0-build
into  mysql.com:/home/kent/bk/bug30069/mysql-5.1-build
2007-11-12 14:09:57 +01:00
kent@kent-amd64.(none)
af7d3963b2 Merge mysql.com:/home/kent/bk/bug30069/mysql-4.1-build
into  mysql.com:/home/kent/bk/bug30069/mysql-5.0-build
2007-11-12 13:13:43 +01:00
kent@mysql.com/kent-amd64.(none)
3bb7cac84b bigint.test, bigint.result:
Test case for Bug#30069
2007-11-12 12:52:03 +01:00
gshchepa/uchum@gleb.loc
9200be40ea bigint.test:
Fixing a typo in the test case.
2007-07-30 21:05:56 +05:00
istruewing@synthia.local
754f66cf56 Post.merge fixes
Fixed warnings
Fixed error numbers
2007-07-01 11:56:01 +02:00
gshchepa/uchum@gleb.loc
6fc62a8e4a Merge gleb.loc:/home/uchum/work/bk/5.0-opt
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-06-16 22:40:25 +05:00
gshchepa/uchum@gleb.loc
dac7ce2d12 bigint.test:
Updated test case for bug #28625.
2007-06-16 17:00:29 +05:00
gshchepa/uchum@gleb.loc
8f09a374ea Fixed bug #28625:
DECIMAL column was used instead of BIGINT for the minimal possible
BIGINT (-9223372036854775808).

The Item_func_neg::fix_length_and_dec has been adjusted to
to inherit the type of the argument in the case when it's an 
Item_int object whose value is equal to LONGLONG_MIN.
2007-06-16 13:05:07 +05:00
holyfoot/hf@hfmain.(none)
cd4fbe116e Merge mysql.com:/home/hf/work/8663/my50-8663
into  mysql.com:/home/hf/work/8663/my51-8663
2007-05-16 23:01:21 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
bb089cea38 bug #8663 cant use bigint unsigned as input to cast
in the case of the overflow in the decimal->integer conversion
we didn't return the proper boundary value, but just the result
of the conversion we calculated on the moment of the error
2007-05-16 10:12:49 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
70ecc6fe86 bigint.test made ps-protocol consistent 2007-05-10 16:22:38 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
199857c11f bug #28005 (Partitions can't use -922337...)
one more test added
2007-05-07 11:15:59 +05:00
cmiller@zippy.cornsilk.net
5d4c57b900 Bug#19955: unsigned bigint used as signed with MOD function
Problem:  When we have a really large number (between 2^63 and 2^64)
as the left side of the mod operator, it gets improperly corerced
into a signed value.

Solution:  Added check to see if the "negative" number is really
positive, and if so, cast it.
2006-11-15 12:23:07 -05:00
holyfoot@deer.(none)
dc052a3a00 bug #9088 (bigint WHERE fails) 2006-03-01 15:50:15 +04:00
sergefp@mysql.com
1441f1c188 BUG#13126: When choosing join order for join with nested joins, don't produce join
orders that cannot be handled by the executioner.
2005-10-25 19:28:27 +04:00
monty@mishka.mysql.fi
f348f62cc3 Added option --valgrind-mysqltest to mysql-test-run
Added flag to Field::store(longlong) to specify if value is unsigned.
This fixes bug #12750: Incorrect storage of 9999999999999999999 in DECIMAL(19, 0)
Fixed warning from valgrind in CREATE ... SELECT
Fixed double free of mysql.options if reconnect failed
2005-09-14 01:41:44 +03:00
acurtis@xiphis.org
b9476f7d50 Merge xiphis.org:/usr/home/antony/work2/mysql-4.1
into  xiphis.org:/usr/home/antony/work2/merge-5.0
2005-08-11 12:18:53 +01:00
monty@mishka.local
701703824f Fix for BUG #11642: [Patch]es x86 Assembler and text relocations
Changed assembler functions to not access global variables or variables in text segement
Added wrapper function in C to longlong2str() to pass _dig_vec_upper as an argument
2005-08-08 13:18:18 +03:00
monty@mysql.com
15d48525af Merge mysql.com:/home/my/mysql-4.1
into  mysql.com:/home/my/mysql-5.0
2005-07-28 17:09:54 +03:00
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
monty@mysql.com
129c604032 Setting a variable to CAST(NULL as X) set the result type of the variable to X. (Bug #6598) 2005-04-30 03:14:42 +03:00
sergefp@mysql.com
d2fec05179 Fix for BUG#8562: In Item_int_with_ref::new_item() create Item_int or Item_uint
depending on ref->unsigned_flag. Item_int_with_ref can refer to both signed and 
unsigned integers.
2005-02-28 23:50:06 +03:00
serg@serg.mylan
4f3062d95f minor omission that effectively disabled my_strtod fixed :) 2004-02-24 12:31:33 +01:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
serg@serg.mylan
29f522aec2 disabled atof() test as non-portable 2004-02-04 09:59:18 +01:00
serg@serg.mylan
348a184a7d test added 2004-02-02 15:57:57 +01:00
monty@mysql.com
32a62d5069 Merge with 4.0 to revert patch for BIGINT assignment to double 2003-11-21 00:17:46 +02:00
monty@mysql.com
41eda1c949 Revert patch for bigint handling in double context as it broke normal bigint handling
The right way to fix this is to change the Field::store(longlong) method to be
Field::store(longlong, bool unsigned_flag), but this is better to do in 4.1 than in 4.0
2003-11-21 00:11:50 +02:00
monty@mysql.com
b01fcb4e14 Merge with 4.0 to get:
Fix for storing negative values in decimal fields
Fix for FLUSH TABLE with HANDLER
2003-11-20 22:30:48 +02:00
serg@serg.mylan
60d60a299e Item_uint::save_in_field() added to take into account bigint->decimal case 2003-11-16 17:37:15 +01:00
serg@serg.mylan
3ca302dbac bug #715: SELECT YEAR+0 FROM foobar is parsed as 'SELECT' 'YEAR' '+0' => syntax error 2003-07-20 12:26:18 +02:00
monty@narttu.mysql.fi
0197fc78c9 Merge with 4.0 2003-02-27 03:49:26 +02:00
monty@narttu.mysql.fi
c20453ba9a Integer values between 9223372036854775807 and 9999999999999999999 are now
regarded as unsigned longlongss, not as floats. This make these values work
similar to values between 10000000000000000000 and 18446744073709551615.
2003-02-27 02:10:19 +02:00
monty@narttu.mysql.fi
9a46698e1e Merge with 4.0.11 2003-02-26 01:03:47 +02:00
monty@narttu.mysql.fi
c75a4d2468 Safety fix (caused a core dump on slave during shutdown when shutting down replication on some OS) 2003-02-26 00:13:18 +02:00
monty@narttu.mysql.fi
fe0aa9ff2a Portability fix 2003-02-25 22:20:17 +02:00
monty@mashka.mysql.fi
023d6dd39b Merge with 4.0.11 2003-02-04 21:52:14 +02:00
monty@mashka.mysql.fi
59400e211f Fixed bug in ulonglong parsing for constructs that only takes unsigned longlong as parameter. 2003-02-04 01:05:39 +02:00
monty@mashka.mysql.fi
1f6ecc0cd3 Changed mysql-test to print warnings for not existing table to DROP TABLE
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names.
changed store_warning() -> push_warning_print()
2003-01-06 01:48:59 +02:00
monty@mashka.mysql.fi
dfb60ca085 Added new ANSI functions LOCALTIME, LOCALTIMESTAMP and CURRENT_USER
Added CEIL as an alias for CEILING
Cleaned up CHECK constraint handling.
(We don't anymore require braces after CHECK)
Added casting to CHAR.
2002-11-24 15:47:19 +02:00
monty@hundin.mysql.fi
3ef9d44edc merge with 3.23.52 2002-08-12 04:04:43 +03:00
monty@hundin.mysql.fi
b779b63862 Fixed problem with BIGINT and shutdown on AIX
Moved IF(test,column,NULL) code to 4.0
Changed mysys_priv.h to include my_pthread.h or my_no_pthread.h.
Removed some CR's in os2 files.
2002-08-12 03:28:02 +03:00
monty@hundin.mysql.fi
0751e55c46 Portability fix for AIX 2002-08-08 22:12:03 +03:00
monty@hundin.mysql.fi
ea3fe233e3 Portability fix for AIX 2002-08-08 22:09:25 +03:00
monty@hundin.mysql.fi
be46289855 New error messages
Test of unsigned BIGINT values
Fixes for queries-per-hour
Cleanup of replication code (comments and portability fixes)
Make most of the binary log code 4G clean
Changed syntax for GRANT ... QUERIES PER HOUR
2002-01-29 18:32:16 +02:00
monty@hundin.mysql.fi
2597b1aadd New CAST syntax
Cleanup of multi-table-delete in sql_yacc.yy
Changed syntax of MAXIMUM QUERIES PER HOUR to MAX_QUERIES_PER_HOUR to
not get too many reserved words.
2002-01-03 00:46:43 +02:00
monty@hundin.mysql.fi
4b877e0088 Added macros for nice TIMESPEC usage.
Fixes for building MySQL with gcc 3.0
Added SIGNED / UNSIGNED casts
Fixed core dump bug in net_clear() with libmysqld.
Back to using semaphores in query cache.
Added 'Null' and 'Index_type' to SHOW INDEX.
2002-01-02 21:29:41 +02:00
monty@tik.mysql.fi
e05bf277d6 Final fixes for INSERT into MERGE tables.
Move MAX_BLOB_WIDTH to be global
Added full support for unsigned BIGINT
Fixed spelling errors
2001-09-27 21:45:48 +03:00
monty@hundin.mysql.fi
72fb81e888 Fixed bug in mysqlcheck when using --fast
Fixed problem when converting bigint to double.
Fixed bug in count(distinct null)
Fixed bug with empty BDB tables.
2001-06-19 14:30:12 +03:00