Commit graph

10521 commits

Author SHA1 Message Date
jamppa@bk-internal.mysql.com
82e4afb89f Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-marvel
2007-04-17 15:52:03 +02:00
kent/mysqldev@mysql.com/production.mysql.com
c43a7b9bf7 Raise version number after cloning 5.0.40 2007-04-17 15:22:48 +02:00
evgen@moonbone.local
51badaddbc subselect.test, subselect.result:
After merge fix.
2007-04-15 09:22:45 +04:00
evgen@moonbone.local
922a5a969c Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/mnt/gentoo64/work/27321-bug-5.0-opt-mysql
2007-04-15 08:41:35 +04:00
evgen@moonbone.local
3113ce6383 Bug#27321: Wrong subquery result in a grouping select.
The Item_outer_ref class based on the Item_direct_ref class was always used
to represent an outer field. But if the outer select is a grouping one and the 
outer field isn't under an aggregate function which is aggregated in that
outer select an Item_ref object should be used to represent such a field.
If the outer select in which the outer field is resolved isn't grouping then
the Item_field class should be used to represent such a field.
This logic also should be used for an outer field resolved through its alias
name.

Now the Item_field::fix_outer_field() uses Item_outer_field objects to
represent aliased and non-aliased outer fields for grouping outer selects
only.
Now the fix_inner_refs() function chooses which class to use to access outer
field - the Item_ref or the Item_direct_ref. An object of the chosen class
substitutes the original field in the Item_outer_ref object.
The direct_ref and the found_in_select_list fields were added to the
Item_outer_ref class.
2007-04-15 08:31:34 +04:00
tomas@whalegate.ndb.mysql.com
2a917850d2 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
2007-04-13 08:15:49 +02:00
tomas@whalegate.ndb.mysql.com
5d89ca3a89 Bug#27775 mediumint auto_increment with ndb_restore
- autoincrement column of size medium int not handled in ndb_restore
- added testcase also for other types, tiny, small... etc
2007-04-13 01:37:24 +02:00
gshchepa/uchum@gshchepa.localdomain
4b2aab14ba Bug#5507: TRUNCATE does not work with views.
Support of views wasn't implemented for the TRUNCATE statement.
Now TRUNCATE on views has the same semantics as DELETE FROM view:
mysql_truncate() checks whether the table is a view and falls back
to delete if so.
In order to initialize properly the LEX::updatable for a view
st_lex::can_use_merged() now allows usage of merged views for the
TRUNCATE statement.
2007-04-12 23:21:37 +05:00
tomas@whalegate.ndb.mysql.com
6015317269 Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-opt
2007-04-12 18:29:24 +02:00
jani@ua141d10.elisa.omakaista.fi
335153121b Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-marvel
2007-04-12 12:50:02 +03:00
tomas@whalegate.ndb.mysql.com
f9a900f80e Bug #27758 Restoring NDB backups makes table usable in SQL nodes
- parse indexname using "split" instead of sscanf, as not to break at space
- test case with space in key
- enclose names in printout
2007-04-12 11:07:30 +02:00
igor@olga.mysql.com
4bf11f99eb Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-04-11 13:48:02 -07:00
igor@olga.mysql.com
e1efba0225 Post-merge fix. 2007-04-11 12:45:27 -07:00
igor@olga.mysql.com
3b990d2cf4 Merge olga.mysql.com:/home/igor/dev-opt/mysql-4.1-opt-bug27484
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-04-11 11:57:40 -07:00
igor@olga.mysql.com
520b144007 Fixed bug #27484: a crash when incompatible row expressions with nested rows
are used as arguments of the IN predicate.
Added a function to check compatibility of row expressions. Made sure that this
function to be called for Item_func_in objects by fix_length_and_dec().
2007-04-11 11:41:12 -07:00
gkodinov/kgeorge@magare.gmz
4aeb1c896e Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B19372-5.0-opt
2007-04-11 09:37:01 +03:00
gkodinov/kgeorge@magare.gmz
9514ac9f29 Bug #19372:
Added a test case.
The problem was fixed by the fix for bug #17379.
The problem was that because of some conditions 
the optimizer always preferred range or full index
scan access methods to lookup access methods even
when the latter were much cheaper.
2007-04-10 19:08:08 +03:00
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
holyfoot/hf@mysql.com/hfmain.(none)
df913ae06a Merge bk@192.168.21.1:mysql-4.1
into  mysql.com:/d2/hf/mrg/mysql-4.1-opt
2007-04-07 11:35:14 +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
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
Justin.He/justin.he@dev3-240.dev.cn.tlan
c7da27b5b2 Merge dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb
into  dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb-bj.merge
2007-04-05 11:30:19 +08: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
a87e5ac3d5 Fix after manual merge 2007-04-03 17:09:41 -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
jamppa@bk-internal.mysql.com
cbfd66e754 Merge bk-internal.mysql.com:/data0/bk/mysql-5.0
into  bk-internal.mysql.com:/data0/bk/mysql-5.0-marvel
2007-04-03 13:55:20 +02:00
anozdrin/alik@ibm.opbmk
5441aefd1d Fix for BUG#27337: Privileges are not properly restored.
The problem was that THD::db_access variable was not restored after
database switch in stored-routine-execution code.

The fix is to restore THD::db_access in this case.

Unfortunately, this fix requires additional changes,
because in prepare_schema_table(), called on the parsing stage, we checked
privileges. That was wrong according to our design, but this flaw haven't
struck so far, because it was masked. All privilege checkings must be
done on the execution stage in order to be compatible with prepared statements
and stored routines. So, this patch also contains patch for
prepare_schema_table(), which moves the checkings to the execution phase.
2007-04-03 15:11:34 +04:00
gni/root@dev3-221.dev.cn.tlan
98e5757618 BUG#18676 when cluster storage engine is down, misleading error message on create table with 4009. 2007-04-03 18:44:29 +08: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