Commit graph

34455 commits

Author SHA1 Message Date
igor@olga.mysql.com
34eea49eb7 Fixed bug : an assertion abort in handler::ha_index_init
for queries using 'range checked for each record'.
The problem was fixed in 5.0 by the patch for bug 12291.
This patch down-ported the corresponding code from 5.0 into 
QUICK_SELECT::init() and added a new test case.
2007-01-13 10:49:26 -08:00
igor@olga.mysql.com
9f918b0190 Merge ibabaev@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.0-opt
2007-01-12 14:58:11 -08:00
igor@olga.mysql.com
86ef1cbf92 Fixed bug : crash in a trigger when using trigger fields
in a select list.
The objects of the Item_trigger_field class inherited the implementations
of the methods copy_or_same, get_tmp_table_item and get_tmp_table_field
from the class Item_field while they rather should have used the default
implementations defined for the base class Item.
It could cause catastrophic problems for triggers that used SELECTs
with select list containing trigger fields such as NEW.<table column>
under DISTINCT.
2007-01-12 13:43:25 -08:00
sergefp@mysql.com
c3f46e1f26 BUG#24127: (a,b) IN (SELECT c,d ...) can produce wrong results if a and/or b are NULLs:
- Make the code produce correct result: use an array of triggers to turn on/off equalities for each
  compared column. Also turn on/off optimizations based on those equalities.
- Make EXPLAIN output show "Full scan on NULL key" for tables for which we switch between
  ref/unique_subquery/index_subquery and ALL access.
- index_subquery engine now has HAVING clause when it is needed, and it is
  displayed in EXPLAIN EXTENDED
- Fix incorrect presense of "Using index" for index/unique-based subqueries (BUG#22930)
// bk trigger note: this commit refers to BUG#24127
2007-01-12 23:22:41 +03:00
sergefp@mysql.com
5236794855 BUG#24085: Wrong result for NULL IN (SELECT not_null_val FROM ...)
When transforming "oe IN (SELECT ie ...)" wrap the pushed-down predicates
iff "oe can be null", not "ie can be null".
The fix doesn't cover row-based subqueries, those will be fixed in .
2007-01-12 22:11:40 +03:00
kostja@bodhi.local
7c298786f1 Merge bodhi.local:/opt/local/work/mysql-4.1-runtime
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-01-12 22:01:53 +03:00
kostja@bodhi.local
5a99ffdf92 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-01-12 21:59:17 +03:00
joerg@trift2.
ba876c4278 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-01-12 16:16:17 +01:00
kostja@bodhi.local
a7862496ce Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime
2007-01-12 18:06:43 +03:00
evgen@moonbone.local
12c6e9d2b0 func_str.result:
After merge fix
2007-01-12 17:35:24 +03:00
evgen@moonbone.local
8bb16e1e9c Merge moonbone.local:/work/latest-4.1-opt-mysql
into  moonbone.local:/work/latest-5.0-opt-mysql
2007-01-12 16:43:52 +03:00
joerg@trift2.
4ffada35bf Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1
into  trift2.:/MySQL/M41/mysql-4.1
2007-01-12 14:40:28 +01:00
lars/lthalmann@mysql.com/dl145j.mysql.com
c380de50ef Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-01-12 12:22:54 +01:00
lars/lthalmann@mysql.com/dl145j.mysql.com
22398faa91 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-4.1-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-4.1-merge
2007-01-12 12:21:44 +01:00
gluh@mysql.com/eagle.(none)
6d5cf25d20 Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/5.0
2007-01-12 13:58:08 +04:00
gluh@mysql.com/eagle.(none)
c081e28ef5 Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0
2007-01-12 13:57:40 +04:00
joerg@trift2.
59e2133e00 Merge trift2.:/MySQL/M41/mysql-4.1
into  trift2.:/MySQL/M41/push-4.1
2007-01-12 10:17:39 +01:00
mmj@tiger.mmj.dk
86890b8919 mysql_explain_log.sh:
Patch from Paul DuBois for better help messages
2007-01-12 01:04:39 +01:00
evgen@moonbone.local
1d92b6cd0a Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/23417-bug-5.0-opt-mysql
2007-01-11 23:20:27 +03:00
evgen@moonbone.local
19ee0a94fe Bug#23417: Too strict checks against GROUP BY in the ONLY_FULL_GROUP_BY mode.
Currently in the ONLY_FULL_GROUP_BY mode no hidden fields are allowed in the
select list. To ensure this each expression in the select list is checked
to be a constant, an aggregate function or to occur in the GROUP BY list.
The last two requirements are wrong and doesn't allow valid expressions like
"MAX(b) - MIN(b)" or "a + 1" in a query with grouping by a.

The correct check implemented by the patch will ensure that:
any field reference in the [sub]expressions of the select list 
  is under an aggregate function or
  is mentioned as member of the group list or
  is an outer reference or
  is part of the select list element that coincide with a grouping element.

The Item_field objects now can contain the position of the select list
expression which they belong to. The position is saved during the
field's Item_field::fix_fields() call.

The non_agg_fields list for non-aggregated fields is added to the SELECT_LEX
class. The SELECT_LEX::cur_pos_in_select_list now contains the position in the
select list of the expression being currently fixed.
2007-01-11 23:18:01 +03:00
kostja@bodhi.local
61a4d6e5ed Merge bodhi.local:/opt/local/work/mysql-4.1-runtime
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-01-11 22:09:48 +03:00
kostja@bodhi.local
bf1005a125 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2007-01-11 21:59:28 +03:00
kostja@bodhi.local
dd03d51f22 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  bodhi.local:/opt/local/work/mysql-4.1-runtime
2007-01-11 21:49:52 +03:00
joerg@trift2.
f3025c1122 Merge mysqldev@production.mysql.com:my/mysql-4.0-15815
into  trift2.:/MySQL/M40/mysql-4.0
2007-01-11 19:17:27 +01:00
mysqldev@mysql.com/production.mysql.com
eb18787c81 Merge mysqldev@quadxeon:/benchmarks/ext3/TOSAVE/tsmith/bk/g40
into  mysql.com:/data0/mysqldev/my/mysql-4.0-15815
2007-01-11 19:04:36 +01:00
gkodinov/kgeorge@rakia.gmz
7eebacadad Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  rakia.gmz:/home/kgeorge/mysql/autopush/B25106-5.0-opt
2007-01-11 19:13:04 +02:00
gkodinov/kgeorge@macbook.gmz
15bcf13182 BUG#25106: A USING clause in combination with a VIEW results in column
aliases ignored
When a column reference to a column in JOIN USING is resolved and a new 
Item is created for this column the user defined name was lost.
This fix preserves the alias by setting the name of the new Item to the
original alias.
2007-01-11 19:10:01 +02:00
joerg@trift2.
671028a44c Merge trift2.:/MySQL/M40/clone-4.0
into  trift2.:/MySQL/M40/mysql-4.0
2007-01-11 17:53:38 +01:00
cmiller@zippy.cornsilk.net
9ff7d182e3 Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2007-01-11 09:44:39 -05:00
cmiller@zippy.cornsilk.net
896e2623eb Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
2007-01-11 09:43:44 -05:00
thek@kpdesk.mysql.com
36fc42cb10 Merge kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint
2007-01-11 15:23:34 +01:00
thek@kpdesk.mysql.com
965aa4c74f Merge kpettersson@bk-internal:/home/bk/mysql-5.0-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint
2007-01-11 15:21:06 +01:00
thek@kpdesk.mysql.com
75d91dedac Merge kpdesk.mysql.com:/home/thek/dev/mysql-4.0-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
2007-01-11 15:16:33 +01:00
thek@kpdesk.mysql.com
55558582ae Merge kpdesk.mysql.com:/home/thek/dev/test23010/my40-bug23010
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.0-maint
2007-01-11 15:14:34 +01:00
evgen@moonbone.local
fc0e206cb5 Bug#23409: Arguments of the ENCODE() and the DECODE() functions were not printed
correctly.

The Item_func::print method was used to print the Item_func_encode and the
Item_func_decode objects. The last argument to ENCODE and DECODE functions
is a plain C string and thus Item_func::print wasn't able to print it.

The print() method is added to the Item_func_encode class. It correctly
prints the Item_func_encode and the Item_func_decode objects.
2007-01-11 16:45:38 +03:00
evgen@moonbone.local
f35e10d43c Merge fix for bug#17711 2007-01-11 16:20:08 +03:00
thek@kpdesk.mysql.com
1802d5aabb Merge kpettersson@bk-internal:/home/bk/mysql-4.1-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
2007-01-11 14:11:58 +01:00
thek@kpdesk.mysql.com
f7688d5f10 Merge kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-5.0-maint
2007-01-11 14:08:12 +01:00
evgen@moonbone.local
c17bf5cb23 Bug#17711: DELETE doesn't use index when ORDER BY, LIMIT and non-restricting
WHERE is present.

If a DELETE statement with ORDER BY and LIMIT contains a WHERE clause
with conditions that for sure cannot be used for index access (like in
WHERE @var:= field) the execution always follows the filesort path.    
It happens currently even when for the above case there is an index that
can be used to speedup sorting by the order by list.

Now if a DELETE statement with ORDER BY and LIMIT contains such WHERE
clause conditions that cannot be used to build any quick select then
the mysql_delete() tries to use an index like there is no WHERE clause at all.
2007-01-11 16:05:03 +03:00
thek@kpdesk.mysql.com
0982a1d9b4 Merge kpdesk.mysql.com:/home/thek/dev/mysql-4.0-maint
into  kpdesk.mysql.com:/home/thek/dev/mysql-4.1-maint
2007-01-11 14:04:01 +01:00
Kristofer.Pettersson@naruto.
472ff94b4d Merge naruto.:C:/cpp/bug24751/my41-bug24751
into  naruto.:C:/cpp/mysql-4.1-maint
2007-01-11 13:13:06 +01:00
Kristofer.Pettersson@naruto.
d9ad0cd0ba Merge naruto.:C:/cpp/bug24751/my50-bug24751
into  naruto.:C:/cpp/mysql-5.0-maint
2007-01-11 13:09:13 +01:00
kent@mysql.com/kent-amd64.(none)
e9f9b03263 Merge mysql.com:/home/kent/bk/tmp2/mysql-4.1-build
into  mysql.com:/home/kent/bk/tmp2/mysql-5.0-build
2007-01-11 12:43:30 +01:00
kent@mysql.com/kent-amd64.(none)
bd2ec8051d Many files:
Reverted change for bug#13859, applied smaller patch from Marko
2007-01-11 12:31:52 +01:00
joerg@trift2.
19b4e4fd75 Merge trift2.:/MySQL/M50/mysql-5.0
into  trift2.:/MySQL/M50/push-5.0
2007-01-11 11:32:53 +01:00
joerg@trift2.
050a69a794 Merge trift2.:/MySQL/M41/push-4.1
into  trift2.:/MySQL/M50/push-5.0
2007-01-11 11:30:44 +01:00
holyfoot/hf@mysql.com/hfmain.(none)
3ff9dff06a Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/d2/hf/mr10/my50-mr10
2007-01-11 13:18:49 +04:00
Kristofer.Pettersson@naruto.
3adcf75e1d Merge naruto.:C:/cpp/bug24751/my41-bug24751
into  naruto.:C:/cpp/bug24751/my50-bug24751
2007-01-11 09:41:44 +01:00
Kristofer.Pettersson@naruto.
270752654e Bug#24751 - Possible infinit loop in init_io_cache() when insufficient memory
- When cache memory can't be allocated size is recaclulated using 3/4 of
  the requested memory. This number is rounded up to the nearest 
  min_cache step. 
  However with the previous implementation the new cache size might
  become bigger than requested because of this rounding and thus we get
  an infinit loop.
- This patch fixes this problem by ensuring that the new cache size
  always will be smaller on the second and subsequent iterations until
  we reach min_cache.
2007-01-11 09:40:17 +01:00
mmj@tiger.mmj.dk
49913f2a95 Merge mjorgensen@bk-internal.mysql.com:/home/bk/mysql-5.0-sage
into  tiger.mmj.dk:/Users/mmj/bktrees/mysql-5.0
2007-01-11 09:19:32 +01:00