Commit graph

13897 commits

Author SHA1 Message Date
igor@olga.mysql.com
e4af9fc790 Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.1-opt
2007-05-08 17:50:19 -07:00
evgen@moonbone.local
b45ef06e76 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27670-bug-5.0-opt-mysql
2007-05-09 00:35:21 +04:00
evgen@moonbone.local
98fa542a08 Bug#27670: LOAD DATA does not set CURRENT_TIMESTAMP default value for a
TIMESTAMP field when no value has been provided.

The LOAD DATA sets the current time in the TIMESTAMP field with
CURRENT_TIMESTAMP default value when the field is detected as a null.
But when the LOAD DATA command loads data from a file that doesn't contain
enough data for all fields then the rest of fields are simply set to null
without any check. This leads to no value being inserted to such TIMESTAMP
field.

Now the read_sep_field() and the read_fixed_length() functions set current
time to the TIMESTAMP field with CURRENT_TIMESTAMP default value in all cases
when a NULL value is loaded to the field.
2007-05-09 00:23:16 +04:00
evgen@moonbone.local
fea4af6d49 item_cmpfunc.cc, type_datetime.result, type_datetime.test, item_cmpfunc.h:
After merge fix.
2007-05-08 22:28:24 +04:00
evgen@moonbone.local
df081a3a4f Merge moonbone.local:/mnt/gentoo64/work/bk-trees/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/test-5.1-opt-mysql
2007-05-08 15:54:49 +04:00
evgen@moonbone.local
afbfcd8480 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql
2007-05-08 00:16:05 +04:00
evgen@moonbone.local
eddd02158b Additional fix for the bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions. 2007-05-08 00:08:00 +04:00
gshchepa/uchum@gleb.loc
59efb58ffb Merge gleb.loc:/home/uchum/work/bk/mysql-5.0-opt
into  gleb.loc:/home/uchum/work/bk/mysql-5.0-opt-27954
2007-05-08 00:53:01 +05:00
gshchepa/uchum@gleb.loc
eb1f21f8b6 Fixed bug #27954.
This bug affects multi-row INSERT ... ON DUPLICATE into table
with PRIMARY KEY of AUTO_INCREMENT field and some additional UNIQUE indices.
If the first row in multi-row INSERT contains duplicated values of UNIQUE
indices, then following rows of multi-row INSERT (with either duplicated or
unique key field values) may me applied to _arbitrary_ records of table as
updates.
This bug was introduced in 5.0. Related code was widely rewritten in 5.1, and
5.1 is already free of this problem. 4.1 was not affected too.

When updating the row during INSERT ON DUPLICATE KEY UPDATE, we called
restore_auto_increment(), which set next_insert_id back to 0, but we
forgot to set clear_next_insert_id back to 0.
restore_auto_increment() function has been fixed.
2007-05-08 00:24:25 +05:00
evgen@moonbone.local
6ec0bc24a7 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/28133-bug-5.0-opt-mysql
2007-05-07 22:22:51 +04:00
evgen@moonbone.local
7d473a1a37 Bug#28133: Wrong DATE/DATETIME comparison in IN() function.
The IN 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 IN 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 uses either
an object of the in_datetime class or an object of the cmp_item_datetime
class to perform its work. If the IN() function arguments are rows then
row columns are checked whether the DATE/DATETIME comparator should be used
to compare them.
The in_datetime class is used to find occurence of the item to be checked
in the vector of the constant DATE/DATETIME values. The cmp_item_datetime
class is used to compare items one by one in the DATE/DATETIME context.
Both classes obtain values from items with help of the get_datetime_value()
function and cache the left item if it is a constant one.
2007-05-07 22:20:43 +04:00
holyfoot/hf@hfmain.(none)
763d4bf22e Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt
2007-05-07 16:12:42 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
37a9575b2e Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-05-07 16:08:29 +05:00
holyfoot/hf@hfmain.(none)
41c2ee8723 Merge bk@192.168.21.1:mysql-5.1
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt
2007-05-07 15:59:25 +05:00
evgen@moonbone.local
68e5c1e622 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27759-bug-5.0-opt-mysql
2007-05-04 21:38:05 +04:00
evgen@moonbone.local
239f727b7e Bug#27759: Wrong DATE/DATETIME comparison in LEAST()/GREATEST() functions.
The LEAST/GREATEST functions compared DATE/DATETIME values as
strings which in some cases could lead to a wrong result.

A new member function called cmp_datetimes() is added to the
Item_func_min_max class. It compares arguments in DATETIME context
and returns index of the least/greatest argument.
The Item_func_min_max::fix_length_and_dec() function now detects when
arguments should be compared in DATETIME context and sets the newly
added flag compare_as_dates. It indicates that the cmp_datetimes() function
should be called to get a correct result.
Item_func_min_max::val_xxx() methods are corrected to call the
cmp_datetimes() function when needed.
Objects of the Item_splocal class now stores and reports correct original
field type.
2007-05-04 18:57:10 +04:00
gkodinov/kgeorge@magare.gmz
19b9c7a8cd Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27531-5.1-opt-after-merge
2007-05-04 17:46:13 +03:00
gkodinov/kgeorge@magare.gmz
cead246f7a Merge magare.gmz:/home/kgeorge/mysql/work/B27531-4.1-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt
2007-05-04 16:47:58 +03:00
gkodinov/kgeorge@magare.gmz
d11e1f248b Bug #27531: the 4.1 fix.
When checking for applicability of join cache
we must disable its usage only if there is no
temp table in use.
When a temp table is used we can use join
cache (and it will not make the result-set 
unordered) to fill the temp table. The filesort() 
operation is then applied to the data in the temp 
table and hence is not affected by join cache
usage.
Fixed by narrowing the condition for disabling 
join cache to exclude the case where temp table
is used.
2007-05-04 16:43:29 +03:00
gkodinov/kgeorge@magare.gmz
ee624171eb Merge magare.gmz:/home/kgeorge/mysql/work/B27531-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B27531-5.1-opt
2007-05-04 16:37:30 +03:00
tomas@whalegate.ndb.mysql.com
76bedc6a03 bugfix in checksum with force varpart 2007-05-04 12:19:06 +02:00
gluh@mysql.com/eagle.(none)
287ebed161 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-05-04 14:42:32 +05:00
gluh@mysql.com/eagle.(none)
16d6bdfd75 Bug#28181 Access denied to 'information_schema when select into out file (regression)
allow select into out file from I_S if user has FILE privilege
otherwise issue an error
2007-05-04 14:41:58 +05:00
gkodinov/kgeorge@magare.gmz
636d8839f9 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
2007-05-04 12:09:29 +03:00
evgen@moonbone.local
2479dc71c4 Merge moonbone.local:/mnt/gentoo64/work/23656-bug-4.1-opt-mysql
into  moonbone.local:/mnt/gentoo64/work/23656-bug-5.0-opt-mysql
2007-05-04 12:27:21 +04:00
gkodinov/kgeorge@magare.gmz
27624ee4e8 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27807-5.0-opt
2007-05-04 10:57:14 +03:00
gkodinov/kgeorge@magare.gmz
6badb08ce3 Bug #27807.
Non-correlated scalar subqueries may get executed
in EXPLAIN at the optimization phase if they are
part of a right hand sargable expression.
If the scalar subquery uses a temp table to 
materialize its results it will replace the 
subquery structure from the parser with a simple
select from the materialization table.
As a result the EXPLAIN will crash as the 
temporary materialization table is not to be shown
in EXPLAIN at all.
Fixed by preserving the original query structure
right after calling optimize() for scalar subqueries
with temp tables executed during EXPLAIN.
2007-05-04 10:48:51 +03:00
evgen@moonbone.local
7f9411c156 Bug#23656: Wrong conversion result of a DATETIME to integer using CAST function.
The generic string to int conversion was used by the Item_func_signed and
the Item_func_unsigned classes to convert DATE/DATETIME values to the
SIGNED/UNSIGNED type. But this conversion produces wrong results for such
values.

Now if the item which result has to be converted can return its result as
longlong then the item->val_int() method is used to allow the item to carry
out the conversion itself and return the correct result.
This condition is checked in the Item_func_signed::val_int() and the
Item_func_unsigned::val_int() functions.
2007-05-04 00:53:37 +04:00
mskold/marty@linux.site
3fa2a53e67 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.1-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-05-02 12:48:35 +02:00
mskold/marty@mysql.com/linux.site
c2e71d1804 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2007-05-02 12:43:17 +02:00
mskold/marty@linux.site
2b938b5700 Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.1-new-ndb
2007-05-02 11:05:48 +02:00
mskold/marty@mysql.com/linux.site
f6e28f2879 ndb_insert.test, ndb_insert.result, ha_ndbcluster.cc:
Bug#27980 INSERT IGNORE wrongly ignores NULLs in unique index: added check for null values
2007-05-02 10:02:27 +02:00
igor@olga.mysql.com
1a0cf6db7c Fixed bug #28188: performance degradation for outer join queries to which
'not exists' optimization is applied.

In fact 'not exists' optimization did not work anymore after the patch
introducing the evaluate_join_record function had been applied.

Corrected the evaluate_join_record function to respect the 'not_exists'
optimization.
2007-05-01 23:34:14 -07:00
tsmith@quadxeon.mysql.com
b0007916c2 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-05-01 18:13:29 +02:00
tsmith@quadxeon.mysql.com
90468a7274 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-05-01 18:12:04 +02:00
tomas@whalegate.ndb.mysql.com
2a4a7ffde2 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
2007-05-01 13:24:30 +02:00
holyfoot/hf@hfmain.(none)
9bdfe876a9 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt
2007-05-01 16:02:53 +05:00
tsmith@quadxeon.mysql.com
1462967aba Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-05-01 12:42:22 +02:00
tsmith@quadxeon.mysql.com
91a5830729 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-05-01 12:40:43 +02:00
holyfoot/hf@hfmain.(none)
53cdf37af1 Merge mysql.com:/d2/hf/mrg/mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.1-opt
2007-05-01 13:38:59 +05:00
tsmith@quadxeon.mysql.com
13cfd9471d Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-05-01 10:38:19 +02:00
tsmith@quadxeon.mysql.com
6dbfd2156e Fix braindead bad merge of mysqldump test. 2007-05-01 06:29:34 +02:00
tsmith@quadxeon.mysql.com
e267f900a2 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-30 23:33:32 +02:00
tsmith@quadxeon.mysql.com
f440e299e1 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-04-30 23:32:13 +02:00
tsmith@quadxeon.mysql.com
44af4144e6 Bug #27653: Temp table can't be created if lower_case_table_names=1 and
tmpdir has uppercase

Fix: don't convert mysql_tmpdir to lower case when building the path to a
temporary table
2007-04-30 23:16:46 +02:00
holyfoot/hf@hfmain.(none)
d71147a2c5 Merge bk@192.168.21.1:mysql-5.1-opt
into  mysql.com:/home/hf/work/27123/my51-27123
2007-04-30 19:41:27 +05:00
tomas@whalegate.ndb.mysql.com
1e06586c90 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
2007-04-30 16:31:08 +02:00
tnurnberg@mysql.com/blasphemy.mysql.com
205dfa4401 Bug#27293: mysqldump crashes when dumping procedure defined by different user
mysqldump didn't properly handle getting no data on
SHOW CREATE PROCEDURE.  If S/C/P fails (due to dumping
user's insufficient privileges on mysql.proc, say),
mysqldump will print a comment to that effect to the
output and return an error-code.  If the -f (force) option
is used, the dump will continue, otherwise, it will abort
right there and then.

Also fixes Bug#22761, "mysqldump reports no errors when using
--routines without mysql.proc privileges"
---
Merge mysql.com:/home/tnurnberg/27293/50-27293
into  mysql.com:/home/tnurnberg/27293/51-27293
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.1-maint
into  mysql.com:/home/tnurnberg/27293/51-27293
2007-04-30 12:32:57 +02:00
tomas@whalegate.ndb.mysql.com
598a60285f ndb_restore to set correct value force varpart
+ some tests
2007-04-30 11:43:50 +02:00
tnurnberg@mysql.com/blasphemy.mysql.com
ce1074f6fe Bug#27293: mysqldump crashes when dumping procedure defined by different user
mysqldump didn't properly handle getting no data on
SHOW CREATE PROCEDURE.  If S/C/P fails (due to dumping
user's insufficient privileges on mysql.proc, say),
mysqldump will print a comment to that effect to the
output and return an error-code.  If the -f (force) option
is used, the dump will continue, otherwise, it will abort
right there and then.

Also fixes Bug#22761, "mysqldump reports no errors when using
--routines without mysql.proc privileges"
---
Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/27293/50-27293
2007-04-30 11:30:07 +02:00