Commit graph

10291 commits

Author SHA1 Message Date
gkodinov/kgeorge@magare.gmz
21a136883c Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27659-5.0-opt
2007-04-10 16:57:46 +03:00
gkodinov/kgeorge@magare.gmz
aefc060fe5 Bug #27659:
The optimizer transforms DISTINCT into a GROUP BY
when possible.
It does that by constructing the same structure
(a list of ORDER instances) the parser makes when
parsing GROUP BY.
While doing that it also eliminates duplicates.
But if a duplicate is found it doesn't advance the
pointer to ref_pointer array, so the next 
(and subsequent) ORDER structures point to the wrong
element in the SELECT list.
Fixed by advancing the pointer in ref_pointer_array
even in the case of a duplicate.
2007-04-10 16:55:48 +03:00
gluh@mysql.com/eagle.(none)
6b2cb10a04 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Bugs/5.0.27069
2007-04-10 15:02:04 +05:00
gluh@mysql.com/eagle.(none)
b80d373b6a Bug#27069 set with identical elements are created(additional fix)
issue an error in strict mode
if enum|set column has duplicates members in 'create table'
2007-04-10 15:01:04 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
bd461b01f0 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-04-09 11:45:14 +05:00
holyfoot/hf@mysql.com/hfmain.(none)
65535824ba Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-04-09 11:06:28 +05:00
kent@mysql.com/kent-amd64.(none)
c282dd3715 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/tmp4/mysql-5.0-engines
2007-04-08 20:46:40 +02:00
evgen@moonbone.local
d8e6b38ec1 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27586-bug-5.0-opt-mysql
2007-04-07 23:09:09 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
2a5bcc3f3e Merge bk@192.168.21.1:mysql-5.0
into  mysql.com:/d2/hf/mrg/mysql-5.0-opt
2007-04-07 11:36:02 +05:00
evgen@moonbone.local
c3d9eeb25c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27586-bug-5.0-opt-mysql
2007-04-07 00:56:35 +04:00
evgen@moonbone.local
93c29c10b1 Bug#27586: Wrong autoinc value assigned by LOAD DATA in the
NO_AUTO_VALUE_ON_ZERO mode.

The table->auto_increment_field_not_null variable wasn't reset after
reading a row which may lead to inserting a wrong value to the auto-increment
field to the following row.

The table->auto_increment_field_not_null variable is reset now right after a
row is being written in the read_fixed_length() and the read_sep_field()
functions.
Removed wrong setting of the table->auto_increment_field_not_null variable in
the read_sep_field() function.
2007-04-07 00:13:27 +04:00
acurtis/antony@xiphis.org/ltamd64.xiphis.org
d0e79056b1 Merge acurtis@bk-internal:/home/bk/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-engines.merge
2007-04-06 18:07:02 +00:00
tomas@whalegate.ndb.mysql.com
77a1d31fbc Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-05 10:24:37 +02:00
tomas@whalegate.ndb.mysql.com
a858e44a9d Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
2007-04-05 10:20:56 +02:00
mskold/marty@mysql.com/linux.site
bcac914163 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2007-04-05 09:18:37 +02:00
tomas@whalegate.ndb.mysql.com
292929bc26 Bug#27644 ndb: connecting api node/mysqld may "steal" node_id from running mysqld
- test case workaround to avoid random failures
2007-04-05 09:12:30 +02:00
mskold/marty@mysql.com/linux.site
3e8cf5958b Merge mysql.com:/windows/Linux_space/MySQL/mysql-5.0
into  mysql.com:/windows/Linux_space/MySQL/mysql-5.0-ndb
2007-04-05 08:39:12 +02:00
mskold/marty@mysql.com/linux.site
625a2629f0 Bug #26242 UPDATE with subquery and triggers failing with cluster tables
In certain cases AFTER UPDATE/DELETE triggers on NDB tables that referenced
subject table didn't see the results of operation which caused invocation
of those triggers. In other words AFTER trigger invoked as result of update
(or deletion) of particular row saw version of this row before update (or
deletion).

The problem occured because NDB handler in those cases postponed actual
update/delete operations to be able to perform them later as one batch.

This fix solves the problem by disabling this optimization for particular
operation if subject table has AFTER trigger for this operation defined.
To achieve this we introduce two new flags for handler::extra() method:
HA_EXTRA_DELETE_CANNOT_BATCH and HA_EXTRA_UPDATE_CANNOT_BATCH.
These are called if there exists AFTER DELETE/UPDATE triggers during a
statement that potentially can generate calls to delete_row()/update_row().
This includes multi_delete/multi_update statements as well as insert statements
that do delete/update as part of an ON DUPLICATE statement.
2007-04-04 12:50:39 +02:00
gkodinov/kgeorge@magare.gmz
204559cd2c Merge magare.gmz:/home/kgeorge/mysql/work/B27513-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27513-5.0-opt
2007-04-04 13:38:57 +03:00
gkodinov/kgeorge@magare.gmz
b530ae54ee BUG 27513: fixed left-over sql mode from a test case. 2007-04-04 13:38:19 +03:00
tsmith@quadxeon.mysql.com
ab15c0fb94 Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg04/50
2007-04-04 11:06:48 +02:00
gkodinov/kgeorge@magare.gmz
41ac6776f5 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B27513-5.0-opt
2007-04-04 11:52:53 +03:00
igor@olga.mysql.com
38cf7dee4c Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-04-03 22:24:57 -07:00
igor@olga.mysql.com
0e14d4c7ed Improved coverage for the code added to fix bug 27532. 2007-04-03 19:45:37 -07:00
igor@olga.mysql.com
6aa599fc31 Merge olga.mysql.com:/home/igor/mysql-4.1-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-04-03 16:11:27 -07:00
igor@olga.mysql.com
90aa05d276 Fixed bug #27532: wrong results with ORDER/GROUP BY queries containing
IN/BETWEEN predicates in sorting expressions.
Wrong results may occur when the select list contains an expression
with IN/BETWEEN predicate that differs from a sorting expression by
an additional NOT only.
 
Added the method Item_func_opt_neg::eq to compare correctly expressions
containing [NOT] IN/BETWEEN.
The eq method inherited from the Item_func returns TRUE when comparing
'a IN (1,2)' with 'a NOT IN (1,2)' that is not, of course, correct.
2007-04-03 14:32:16 -07:00
gkodinov/kgeorge@magare.gmz
2179ee2b06 Bug #27513: test case added to make sure this
crash bug doesn't reappear.
2007-04-03 18:00:57 +03:00
svoj@mysql.com/june.mysql.com
ccbdbe5713 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25729/mysql-5.0-engines
2007-04-03 12:11:51 +05:00
iggy@recycle.(none)
5c0d886248 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  recycle.(none):/src/bug23491_ii/my50-bug23491_ii
2007-04-02 16:25:06 -04:00
iggy@recycle.(none)
19a2630641 Minor test cleanup. 2007-04-02 16:21:12 -04:00
kostja@bodhi.local
31a8bfbe2e Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-04-02 22:06:15 +04:00
svoj@mysql.com/june.mysql.com
27d9265c26 BUG#25729 - boolean full text search is confused by NULLs produced by
LEFT JOIN
Fixed that in certain situations MATCH ... AGAINST returns false hits
for NULLs produced by LEFT JOIN when there is no fulltext index
available.
2007-04-02 17:26:39 +05:00
gluh@mysql.com/eagle.(none)
54bc9c3d77 Bug#27069 set with identical elements are created
added the check for unique elements count in SET
2007-04-02 15:01:19 +05:00
msvensson@pilot.blaudden
bb9a601829 Merge pilot.blaudden:/home/msvensson/mysql/mysql-5.0
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-04-02 10:50:39 +02:00
msvensson@pilot.blaudden
cb3091c166 Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint
into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
2007-04-02 10:42:08 +02:00
msvensson@pilot.blaudden
c731bad918 Cset exclude: tsmith@siva.hindu.god|ChangeSet|20070328212513|13373 2007-04-02 10:39:23 +02:00
ibabaev@bk-internal.mysql.com
898ec87e14 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
2007-04-02 03:56:39 +02:00
msvensson@pilot.blaudden
d96319299b Add correct replace 2007-03-31 17:18:03 +02:00
msvensson@pilot.blaudden
398c24d1a1 Bug#27049 Race condition in test mysqlbinlog.test
- Add --local-load option to avoidthat the load data file requested
   by mysqlbinlog end up in local var/tmp dir and not in system global
   tmpdir
2007-03-31 15:07:48 +02:00
lars/lthalmann@mysql.com/dl145h.mysql.com
cec17aa0ba Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-03-31 12:36:50 +02:00
ibabaev@bk-internal.mysql.com
466586472b Merge bk-internal.mysql.com:/data0/bk/mysql-4.1
into  bk-internal.mysql.com:/data0/bk/mysql-4.1-opt
2007-03-31 09:52:18 +02:00
svoj@mysql.com/june.mysql.com
f297b5d873 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26138/mysql-5.0-engines
2007-03-31 12:24:28 +05:00
igor@olga.mysql.com
0c5ba6246b Fixed bug #27154: memory corruption when using row equalities in where
conditions.
When allocating memory for KEY_FIELD/SARGABLE_PARAM structures the
function update_ref_and_keys did not take into account the fact that
a single row equality could be replaced by several simple equalities.
Fixed by adjusting the counter cond_count accordingly for each subquery
when performing substitution of a row equality for simple equalities.
2007-03-31 00:23:03 -07:00
ibabaev@bk-internal.mysql.com
9a21d1d50a Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-opt
2007-03-31 05:31:35 +02:00
lars/lthalmann@mysql.com/dl145j.mysql.com
9c6dc8c853 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-03-31 00:15:20 +02:00
sergefp@mysql.com
dd7e39f441 BUG#26624, pushbuild fixes: Merge to 5.0 2007-03-31 00:48:31 +04:00
sergefp@mysql.com
dcb2551347 BUG#26624: high mem usage (crash) in range optimizer
Pushbuild fixes: 
 - Make MAX_SEL_ARGS smaller (even 16K records_in_range() calls is 
   more than it makes sense to do in typical cases)
 - Don't call sel_arg->test_use_count() if we've already allocated 
   more than MAX_SEL_ARGs elements. The test will succeed but will take
   too much time for the test suite (and not provide much value).
2007-03-31 00:29:18 +04:00
evgen@sunlight.local
7c42232d1d Bug#23233: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE in the
NO_AUTO_VALUE_ON_ZERO mode.

In the NO_AUTO_VALUE_ON_ZERO mode the table->auto_increment_field_not_null
variable is used to indicate that a non-NULL value was specified by the user
for an auto_increment column. When an INSERT .. ON DUPLICATE updates the
auto_increment field this variable is set to true and stays unchanged for the
next insert operation. This makes the next inserted row sometimes wrongly have
0 as the value of the auto_increment field.

Now the fill_record() function resets the table->auto_increment_field_not_null
variable before filling the record.
The table->auto_increment_field_not_null variable is also reset by the
open_table() function for a case if we missed some auto_increment_field_not_null
handling bug.
Now the table->auto_increment_field_not_null is reset at the end of the
mysql_load() function.

Reset the table->auto_increment_field_not_null variable after each
write_row() call in the copy_data_between_tables() function.
2007-03-30 18:13:33 +04:00
istruewing@chilla.local
dd13c3839f Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-03-30 11:02:19 +02:00
svoj@mysql.com/june.mysql.com
556de62f8d BUG#26138 - REPAIR TABLE with option USE_FRM erases all records in
ARCHIVE table
ARCHIVE table was truncated by REPAIR TABLE ... USE_FRM statement.
The table handler returned its file name extensions in a wrong order.
REPAIR TABLE believed it has to use the meta file to create a new table
from it.

With the fixed order, REPAIR TABLE does now use the data file to create
a new table. So REPAIR TABLE ... USE_FRM works well with ARCHIVE engine
now.

This issue affects 5.0 only, since in 5.1 ARCHIVE engine stores meta
information and data in the same file.
2007-03-30 13:00:21 +05:00