Commit graph

59677 commits

Author SHA1 Message Date
Kristofer Pettersson
bda3647e62 Bug#46043 mysqld --skip-innodb does not skip InnoDB
The prefix --skip- didn't work on 64 bit big endian machines
because of how the value pointer was casted.
2009-11-09 23:28:31 +01:00
Alexander Nozdrin
516b39c683 Fix manual-merge (2nd attempt). 2009-11-10 00:08:17 +03:00
hery.ramilison@sun.com
59951b113f Raise version number after cloning 5.0.88 2009-11-09 19:22:35 +01:00
Luis Soares
c8df6e8d4b BUG#48357: SHOW BINLOG EVENTS: Wrong offset or I/O error
In function log_event.cc:Query_log_event::write, there was a cast that
was triggering undefined behavior. The offending cast is the
following:

  write_str_with_code_and_len((char **)(&start),
                              catalog, catalog_len, Q_CATALOG_NZ_CODE);

This results in calling write_str_with_code_and_len with first
argument pointing to a (char **) while "start" is itself a pointer to
uchar (uchar *). Inside write_str_with_..., the content of start is
then be updated:

  (*dst)+= len;

The instruction above would cause the (*dst) pointer (ie, the "start"
argument, from the caller point of view, and which actually points to
uchar instead of pointing to char) to be updated so that it would
increment catalog_len. However, this seems to break strict-aliasing
rules ultimately causing the increment and assignment to behave
unexpectedly.

We fix this by removing the cast and by making the types match.
2009-11-09 17:36:13 +00:00
Alexander Nozdrin
6a795bf3b9 Auto-merge from mysql-trunk-merge. 2009-11-09 18:14:53 +03:00
Alexander Nozdrin
72362ac7fa Fix manual-merge. 2009-11-09 18:13:11 +03:00
Georgi Kodinov
48c67b2ca0 Bug #48458: simple query tries to allocate enormous amount of
memory

The server was doing a bad class typecast causing setting of 
wrong value for the maximum number of items in an internal
structure used in equality propagation.
Fixed by not doing the wrong typecast and asserting the type
of the Item where it should be done.
2009-11-09 16:09:46 +02:00
Georgi Kodinov
154c348031 Bug #42760: Select doesn't return desired results when we have null
values
 
 We should re-set the access method functions when changing the access
 method when switching to another index to avoid sorting.
 
 Fixed by doing a little re-engineering : encapsulating all the function
 assignment into a special function and calling it when flipping the 
 indexes.
2009-11-10 10:21:41 +02:00
Alexander Nozdrin
157affe8c4 Fix innodb.test due to Bug#48636. 2009-11-09 14:56:15 +03:00
Mattias Jonsson
3ebb8be932 Bug#48276: can't add column if subpartition exists
Bug when setting up default partitioning,
used an uninitialized variabe.
2009-11-09 11:26:01 +01:00
Mikael Ronstrom
52beed00e2 Merge BUG#48161, BUG#48447 2009-11-06 23:23:28 +01:00
Evgeny Potemkin
47d850a89d Auto-merged fix for the bug#34384. 2009-11-06 22:42:24 +03:00
Evgeny Potemkin
60d358af27 Bug#34384: Slow down on constant conversion.
When values of different types are compared they're converted to a type that
allows correct comparison. This conversion is done for each comparison and
takes some time. When a constant is being compared it's possible to cache the
value after conversion to speedup comparison. In some cases (large dataset,
complex WHERE condition with many type conversions) query might be executed
7% faster.

A test case isn't provided because all changes are internal and isn't visible
outside.

The behavior of the Item_cache is changed to cache values on the first request
of cached value rather than at the moment of storing item to be cached.
A flag named value_cached is added to the Item_cache class. It's set to TRUE
when cache holds the value of the last stored item.
Function named cache_value() is added to the Item_cache class and derived classes.
This function actually caches the value of the saved item.
Item_cache_xxx::store functions now only store item to be cached and set
value_cached flag to FALSE.
Item_cache_xxx::val_xxx functions are changed to call cache_value function
prior to returning cached value if value_cached is FALSE.
The Arg_comparator::set_cmp_func function now calls cache_converted_constant
to cache constants if they need a type conversion.
The Item_cache::get_cache function is overloaded to allow setting of the
cache type.
The cache_converted_constant function is added to the Arg_comparator class.
It checks whether a value can and should be cached and if so caches it.
2009-11-06 22:34:25 +03:00
Luis Soares
9ea972dc47 auto-merge bzr bundle from bug report into latest mysql-5.1-bugteam. 2009-11-06 17:08:06 +00:00
Alexander Nozdrin
e89a561d52 Auto-merge from mysql-trunk-merge. 2009-11-06 19:15:09 +03:00
Alexander Nozdrin
35b00a182e Manual merge from mysql-trunk-merge. 2009-11-06 19:13:33 +03:00
Alexander Nozdrin
f56223598e Auto-merge from mysql-trunk-merge. 2009-11-06 18:33:37 +03:00
Alexander Nozdrin
db6334d49e Auto-merge from mysql-trunk-merge. 2009-11-06 18:28:25 +03:00
Alexander Nozdrin
9c61ec687f Manual merge from mysql-trunk-merge. 2009-11-06 18:19:24 +03:00
Alexey Kopytov
1a90c5f7c0 Automerge. 2009-11-06 17:58:01 +03:00
Alexey Kopytov
91829c0a32 Automerge. 2009-11-06 17:56:58 +03:00
Alexey Kopytov
5d725601a8 Automerge. 2009-11-06 17:56:51 +03:00
Alexey Kopytov
9674ef6809 Automerge. 2009-11-06 17:54:19 +03:00
Alexander Nozdrin
2ca5b2c791 Manual merge from mysql-trunk-merge. 2009-11-06 17:20:27 +03:00
Mikael Ronstrom
d4ca8b12cd Review fixes for BUG#48161 and BUG#48447 2009-11-06 11:49:27 +01:00
Alexander Nozdrin
7a90f041cc Auto-merge from mysql-trunk-merge. 2009-11-06 13:32:54 +03:00
Alexander Nozdrin
4d0c2629cd Null-merge patch for Bug#47627
(revision-id: kristofer.pettersson@sun.com-20091019074333-g2ces0lo4c2ejar7),
because it broke the tree and was reverted later.
2009-11-06 13:30:41 +03:00
Alexander Nozdrin
f956ea3771 Manual-merge from mysql-trunk-merge. 2009-11-06 12:52:45 +03:00
Alexander Nozdrin
112d9fd9db Auto-merge from mysql-trunk-merge. 2009-11-06 12:37:00 +03:00
Alexander Nozdrin
d9d3271da3 Auto-merge from mysql-trunk-merge. 2009-11-06 12:17:01 +03:00
Alexander Nozdrin
ab2450efd5 Manual merge from mysql-trunk-merge.
Fix partition_column.test.
2009-11-06 11:56:48 +03:00
Alexey Kopytov
9fff9acf0c Bug #48475: DISTINCT is ignored with GROUP BY WITH ROLLUP and
only const tables

The problem was caused by two shortcuts in the optimizer that
are inapplicable in the ROLLUP case.

Normally in a case when only const tables are involved in a
query, DISTINCT clause can be safely optimized away since there
may be only one row produced by the join. Similarly, we don't
need to create a temporary table to resolve DISTINCT/GROUP
BY/ORDER BY. Both of these are inapplicable when the WITH
ROLLUP modifier is present.

Fixed by disabling the said optimizations for the WITH ROLLUP
case.
2009-11-06 09:44:01 +03:00
Alexander Nozdrin
ef862653af Manual merge from mysql-trunk-merge. 2009-11-05 23:48:01 +03:00
Alexander Nozdrin
f620cae974 Manual merge from mysql-trunk-merge. 2009-11-05 23:28:35 +03:00
timothy.smith@sun.com
76903202dd Use C comments in C code 2009-11-05 21:22:17 +01:00
Alexander Nozdrin
2242926ae0 Manual merge from mysql-5.1. 2009-11-05 17:59:05 +03:00
Alexander Nozdrin
3cf6345535 Fix automerge: use 'thd->query()' instead of 'thd->query'. 2009-11-05 17:51:00 +03:00
Mikael Ronstrom
09580562a2 BUG#48447, BUG#48161, fixed a regression from fix of BUG#6045, where binary collations can use indexes/partition pruning for cases using equality conditions, however it cannot be used for any other condition like <, >, <=, >=, <>, also added test case for verification of BUG#47774 in this patch 2009-11-05 15:42:03 +01:00
Sergey Vojtovich
cbe94583c2 Manually applied fix for innodb_bug39438 test from 5.1. 2009-11-05 18:06:28 +04:00
Sergey Vojtovich
2cd0b2f373 Updates for test cases from innodb-zip-ss6129. 2009-11-05 17:23:50 +04:00
Sergey Vojtovich
21fad4ee1f Merge of innodb-zip-ss6129 from 5.1 to mysql-trunk. 2009-11-05 16:29:58 +04:00
Alexander Nozdrin
26fc558319 Auto-merge from mysql-5.1. 2009-11-05 15:13:16 +03:00
Alexander Nozdrin
dae191d36a Null-merge revid:svoj@sun.com-20091103091902-vwszwwpfi1f4zrpn from mysql-5.1 2009-11-05 15:10:39 +03:00
Alexander Nozdrin
411a6bfeb9 Auto-merge from mysql-next-mr. 2009-11-05 15:08:37 +03:00
Alexander Nozdrin
258ec2ebaa Auto-merge from mysql-5.1. 2009-11-05 14:03:16 +03:00
Alexander Nozdrin
13f1ace38b Auto-merge from mysql-5.1. 2009-11-05 13:59:58 +03:00
Alexander Nozdrin
110835764b Manual merge from mysql-5.1. 2009-11-05 13:58:14 +03:00
Alexander Nozdrin
b591221eb1 Auto-merge from mysql-5.1. 2009-11-05 12:38:14 +03:00
Alexander Nozdrin
f51d08921a Auto-merge from mysql-5.1. 2009-11-05 12:37:26 +03:00
Alexander Nozdrin
018358415f Auto-merge from mysql-5.1. 2009-11-05 12:36:34 +03:00