Commit graph

36273 commits

Author SHA1 Message Date
evgen@moonbone.local
4382bf720b type_datetime.result, type_datetime.test:
The test case for the bug#27590 is altered.
2007-04-29 20:23:05 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
224bb6c4b0 Merge mysql.com:/d2/hf/mrg/mysql-4.1-opt
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-04-29 18:46:20 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
e2f6bd86b4 Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-04-29 18:42:50 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
2d8037610c Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-04-29 18:39:45 +05:00
kaa@polly.local
3bed463963 If isinf() is not available on a target platform, use our own imlementation via finite() and isnan(). If either of the last two is not available as well, use simple replacements which are platform-neutral, but slower than compiler intrinsics. 2007-04-29 16:57:17 +04:00
gshchepa/uchum@gshchepa.loc
90864c2874 Patch to eliminate compilation errors under VC after bug #13191 fix. 2007-04-29 12:56:46 +05:00
gshchepa/uchum@gshchepa.loc
389cf7ddfc Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-13191
2007-04-29 12:09:08 +05:00
gshchepa/uchum@gshchepa.loc
fbed482689 Patch to eliminate compilation errors under VC after bug #13191 fix. 2007-04-29 11:56:23 +05:00
gshchepa/uchum@gshchepa.loc
85d70a9652 Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-13191
2007-04-29 08:51:51 +05:00
gshchepa/uchum@gshchepa.loc
87c6ef4c30 Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt-13191
2007-04-29 05:31:53 +05:00
gshchepa/uchum@gshchepa.loc
707d975a13 Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt
2007-04-29 05:25:43 +05:00
gshchepa/uchum@gshchepa.loc
bdebe3f5b4 Adjusted results after the fix for bug #20710. 2007-04-29 05:06:14 +05:00
gshchepa/uchum@gshchepa.loc
3adcb94ede Fixed bug #13191.
INSERT...ON DUPLICATE KEY UPDATE may cause error 1032: 
"Can't find record in ..." if we are inserting into
InnoDB table unique index of partial key with
underlying UTF-8 string field.

This error occurs because INSERT...ON DUPLICATE uses a wrong
procedure to copy string fields of multi-byte character sets
for index search.
2007-04-29 04:16:17 +05:00
gshchepa/uchum@gshchepa.loc
d85c76f637 Merge gshchepa.loc:/home/uchum/work/bk-trees/mysql-4.1-opt
into  gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt
2007-04-29 02:46:27 +05:00
gshchepa/uchum@gshchepa.loc
3322b3c0b9 Fixed bug #20710.
This bug occurs when error message length exceeds allowed limit: my_error()
function outputs "%s" sequences instead of long string arguments.

Formats like %-.64s are very common in errmsg.txt files, however my_error()
function simply ignores precision of those formats.
2007-04-29 00:50:33 +05:00
kaa@polly.local
edf6b73302 Avoid compiler warnings in Windows builds introduced by the patch for bug #24912 "problems with bigint in abs() ceiling() ruond() truncate() mod()" 2007-04-28 23:25:31 +04:00
kaa@polly.local
561bd78654 Merge polly.local:/home/kaa/src/maint/bug24912/my50-bug24912
into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
2007-04-28 20:26:14 +04:00
kaa@polly.local
050c6723e8 Fix for bug #24912 "problems with bigint in abs() ceiling() round() truncate() mod()" and a number of related problems:
- unsigned flag was not handled correctly for a number of mathematical funcions, which led to incorrect results
- passing large values as the number of decimals to ROUND() resulted in incorrect results and even server crashes in some cases
- reverted the fix and the testcase for bug #10083 as it violates the manual
- fixed some testcases which relied on broken ROUND() behavior
2007-04-28 20:01:01 +04:00
tsmith@quadxeon.mysql.com
5d7a264cf4 mtr_report.pl:
this has been driving me crazy: s/where/were/ in some messages
2007-04-28 10:13:27 +02:00
tsmith@quadxeon.mysql.com
acee0c8e20 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-04-28 01:48:59 +02:00
tsmith@quadxeon.mysql.com
df2d9ca90a Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-04-28 01:40:06 +02:00
tsmith@quadxeon.mysql.com
33a74e41fc Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27653/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-04-28 01:31:15 +02:00
tsmith@quadxeon.mysql.com
b90b0c7eb2 Bug #27390: mysqld_multi --config-file= not working as documented
Recognize the --no-defaults, --defaults-file and --defaults-extra-file
options.  Treat old --config-file argument as if --defaults-extra-file
had been specified instead.

Plus a few other defaults-related cleanups.
2007-04-28 01:27:54 +02:00
evgen@sunlight.local
4b5c387f5d Additional fix for the bug#27590. 2007-04-28 00:04:50 +04:00
evgen@moonbone.local
e0b8b6e596 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/16377-bug-5.0-opt-mysql
2007-04-27 21:26:47 +04:00
evgen@moonbone.local
72e53ede3a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27590-bug-5.0-opt-mysql
2007-04-27 21:07:05 +04:00
msvensson@pilot.blaudden
0246ca9281 Remove dangerous "remove warning" hack, cast to long
will truncate the time value on systems where "long" are 32bit,
instead use time_t as datatype
2007-04-27 15:33:48 +02:00
kaa@polly.local
01b20b95e1 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
2007-04-27 15:51:16 +04:00
tomas@whalegate.ndb.mysql.com
fa32db5f88 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-27 11:45:28 +02:00
tsmith@quadxeon.mysql.com
70a742f817 mysql_install_db.sh: Fix algorithm for finding pkgdata directory 2007-04-27 00:35:09 +02:00
tsmith@quadxeon.mysql.com
abcb45d21f Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/b27390/50
2007-04-26 23:01:04 +02:00
evgen@moonbone.local
7a1c61efb6 Bug#16377: Wrong DATE/DATETIME comparison in BETWEEN function.
The BETWEEN function was comparing DATE/DATETIME values either as ints or as
strings. Both methods have their disadvantages and may lead to a wrong
result.

Now BETWEEN function checks whether all of its arguments has the STRING result
types and at least one of them is a DATE/DATETIME item. If so it sets up
two Arg_comparator obects to compare with the compare_datetime() comparator
and uses them to compare such items.

Added two Arg_comparator object members and one flag to the
Item_func_between class for the correct DATE/DATETIME comparison.
The Item_func_between::fix_length_and_dec() function now detects whether
it's used for DATE/DATETIME comparison and sets up newly added Arg_comparator
objects to do this.
The Item_func_between::val_int() now uses Arg_comparator objects to perform
correct DATE/DATETIME comparison.
The owner variable of the Arg_comparator class now can be set to NULL if the
caller wants to handle NULL values by itself.
Now the Item_date_add_interval::get_date() function ajusts cached_field type according to the detected type.
2007-04-27 00:40:35 +04:00
evgen@moonbone.local
84c47ae08f Merge moonbone.local:/mnt/gentoo64/work/27590-bug-5.0-opt-mysql
into  moonbone.local:/mnt/gentoo64/work/16377-bug-5.0-opt-mysql
2007-04-27 00:13:13 +04:00
evgen@moonbone.local
4747fa0c03 Bug#27590: Wrong DATE/DATETIME comparison.
DATE and DATETIME can be compared either as strings or as int. Both
methods have their disadvantages. Strings can contain valid DATETIME value
but have insignificant zeros omitted thus became non-comparable with
other DATETIME strings. The comparison as int usually will require conversion
from the string representation and the automatic conversion in most cases is
carried out in a wrong way thus producing wrong comparison result. Another
problem occurs when one tries to compare DATE field with a DATETIME constant.
The constant is converted to DATE losing its precision i.e. losing time part.

This fix addresses the problems described above by adding a special
DATE/DATETIME comparator. The comparator correctly converts DATE/DATETIME
string values to int when it's necessary, adds zero time part (00:00:00)
to DATE values to compare them correctly to DATETIME values. Due to correct
conversion malformed DATETIME string values are correctly compared to other
DATE/DATETIME values.

As of this patch a DATE value equals to DATETIME value with zero time part.
For example '2001-01-01' equals to '2001-01-01 00:00:00'.

The compare_datetime() function is added to the Arg_comparator class.
It implements the correct comparator for DATE/DATETIME values.
Two supplementary functions called get_date_from_str() and get_datetime_value()
are added. The first one extracts DATE/DATETIME value from a string and the
second one retrieves the correct DATE/DATETIME value from an item.
The new Arg_comparator::can_compare_as_dates() function is added and used
to check whether two given items can be compared by the compare_datetime()
comparator.
Two caching variables were added to the Arg_comparator class to speedup the
DATE/DATETIME comparison.
One more store() method was added to the Item_cache_int class to cache int
values.
The new is_datetime() function was added to the Item class. It indicates
whether the item returns a DATE/DATETIME value.
2007-04-27 00:12:09 +04:00
svoj@mysql.com/april.(none)
29d2d5dccb Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2007-04-27 00:58:59 +05:00
svoj@mysql.com/april.(none)
ce55046fbd Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
2007-04-27 00:56:50 +05:00
svoj@mysql.com/april.(none)
f698977298 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-build
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-4.1-engines
2007-04-27 00:32:51 +05:00
kaa@polly.local
02f2616ee3 Merge polly.local:/home/kaa/src/maint/bug22364/my50-bug22364
into  polly.local:/home/kaa/src/maint/mysql-5.0-maint
2007-04-26 20:51:02 +04:00
joerg@trift-lap.fambruehe
03f4492b5b Merge trift-lap.fambruehe:/MySQL/M50/clone-5.0
into  trift-lap.fambruehe:/MySQL/M50/push-5.0
2007-04-26 16:48:53 +02:00
joerg@trift-lap.fambruehe
5af470eef5 Merge trift-lap.fambruehe:/MySQL/M41/push-4.1
into  trift-lap.fambruehe:/MySQL/M50/push-5.0
2007-04-26 16:13:32 +02:00
joerg@trift-lap.fambruehe
69d39592b9 Merge trift-lap.fambruehe:/MySQL/M41/mysql-4.1
into  trift-lap.fambruehe:/MySQL/M41/push-4.1
2007-04-26 16:09:19 +02:00
joerg@trift-lap.fambruehe
2ed383302f Merge trift-lap.fambruehe:/MySQL/M50/mysql-5.0
into  trift-lap.fambruehe:/MySQL/M50/push-5.0
2007-04-26 16:06:44 +02:00
tomas@whalegate.ndb.mysql.com
9a70312001 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-26 14:00:16 +02:00
msvensson@pilot.blaudden
27418637d7 Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-04-26 13:58:33 +02:00
gkodinov/kgeorge@magare.gmz
f4ec0f1cbe Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27363-5.0-opt
2007-04-26 11:16:01 +03:00
gkodinov/kgeorge@magare.gmz
bfa29e175e Bug #27363:
Validity checks for nested set functions
were not taking into account that the enclosed
set function may be on a nest level that is
lower than the nest level of the enclosing set
function.
Fixed by :
 - propagating max_sum_func_level
up the enclosing set functions chain.
 - updating the max_sum_func_level of the 
   enclosing set function when the enclosed set
   function is aggregated above or on the same
   nest level of as the level of the enclosing 
   set function.
 - updating the max_arg_level of the enclosing
   set function on a reference that refers to
   an item above or on the same nest level
   as the level of the enclosing set function.
 - Treating both Item_field and Item_ref as possibly
   referencing items from outer nest levels.
2007-04-26 11:12:17 +03:00
gshchepa/uchum@gshchepa.loc
5983038a66 Fixed bug #27650:
INSERT into InnoDB table may cause "ERROR 1062 (23000): Duplicate entry..."
errors or lost records after multi-row INSERT of the form:
"INSERT INTO t (id...) VALUES (NULL...) ON DUPLICATE KEY UPDATE id=VALUES(id)",
where "id" is an AUTO_INCREMENT column.

It happens because InnoDB handler forgets to save next insert id after
updating of auto_increment column with new values. As result of that
last insert id stored inside InnoDB dictionary tables differs from it's
cached thd->next_insert_id value.
2007-04-26 02:01:23 +05:00
knielsen@ymer.(none)
87a0ffa05f Merge ymer.(none):/usr/local/mysql/mysql-5.0-ndb-bug27370
into  ymer.(none):/usr/local/mysql/mysql-5.0-ndb
2007-04-25 20:58:36 +02:00
df@pippilotta.erinye.com
e0f148d5f0 Fix test case that was broken for builds without InnoDB. 2007-04-25 20:23:19 +02:00
tsmith@quadxeon.mysql.com
9e4cc9e393 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/41
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-04-25 20:23:05 +02:00