Commit graph

62907 commits

Author SHA1 Message Date
Joerg Bruehe
3396ca2211 Automerge into next-mr-bugfixing. 2010-03-10 17:26:49 +01:00
Martin Hansson
dcc5b43b35 Bug#50545: Single table UPDATE IGNORE crashes on
join view in sql_safe_updates mode. 

This bug was unexpectedly fixed along with bug 
number 49534. This patch contains only the test
case.
2010-03-10 17:10:05 +01:00
Sergey Vojtovich
6b69a14543 Merge an addition to BUG51342 5.0-bugteam -> 5.1-bugteam. 2010-03-10 19:31:22 +04:00
Sergey Vojtovich
2a667b7bcb An addition to fix for
BUG#51342 - more xid crashing

Restore autocommit variable by supplying explicit value.

mysql-test/r/xa.result:
  Restore autocommit variable by supplying explicit value.
mysql-test/t/xa.test:
  Restore autocommit variable by supplying explicit value.
2010-03-10 19:28:49 +04:00
Alexander Nozdrin
929293b9be Auto-merge from mysql-next-mr-bugfixing. 2010-03-10 17:58:35 +03:00
Konstantin Osipov
7fe455a6bc A fix and a test case for Bug#51710 FLUSH TABLES <view> WITH READ
LOCK kills the server.

Prohibit FLUSH TABLES WITH READ LOCK application to views or
temporary tables.
Fix a subtle bug in the implementation when we actually
did not remove table share objects from the table cache after 
acquiring exclusive locks.

mysql-test/r/flush.result:
  Update results (Bug#51710)
mysql-test/t/flush.test:
  Add a test case for Bug#51710.
sql/sql_parse.cc:
  Fix Bug#51710 "FLUSH TABLES <view> WITH READ LOCK
  killes the server.
  Ensure we don't open views and temporary tables.
  Fix a yet another bug in the implementation which 
  did not actually remove the tables from cache after acquiring
  exclusive locks.
2010-03-10 17:35:25 +03:00
Davi Arnaut
b11740894e Bug#33669: Transactional temporary tables do not work under --read-only
The problem was that in read only mode (read_only enabled),
the server would mistakenly deny data modification attempts
for temporary tables which belong to a transactional storage
engine (eg. InnoDB).

The solution is to allow transactional temporary tables to be
modified under read only mode. As a whole, the read only mode
does not apply to any kind of temporary table.


mysql-test/r/read_only_innodb.result:
  Add test case result for Bug#33669
mysql-test/t/read_only_innodb.test:
  Add test case for Bug#33669
sql/lock.cc:
  Rename mysql_lock_tables_check to lock_tables_check and make
  it static. Move locking related checks from get_lock_data to
  lock_tables_check. Allow write locks to temporary tables even
  under read-only.
2010-03-10 10:36:40 -03:00
Joerg Bruehe
3139b90494 Part of the fixes for bug#49022
Plugins included into bin release cannot be
    installed on debug version of server

Ensure that the plugin files of the debug build
get into the optimized tree, so that they find
their way into the final RPMs.


support-files/mysql.spec.sh:
  Use "make install" in the debug build tree to get the debug
  plugin files to a temporary location,
  then move them to "plugin/debug/" in the optimized build tree
  so that the install hook in "plugin/Makefile.am" forwards them
  into the final installation.
  
  This fixes bug#49022 for the generic RPMs.
  
  Unrelated:
  The plugin objects were listed twice in the file list,
  do a cleanup.
2010-03-10 14:36:27 +01:00
Alexander Nozdrin
8f79df0435 Auto-merge (empty) from mysql-trunk-bugfixing. 2010-03-10 16:35:38 +03:00
Alexander Nozdrin
d4e0cff35b Auto-merge (empty) from mysql-next-mr. 2010-03-10 16:34:45 +03:00
Alexander Nozdrin
e58f200a3d Auto-merge from mysql-trunk. 2010-03-10 16:34:12 +03:00
Alexander Nozdrin
494781fa8d Auto-merge (empty) from mysql-trunk. 2010-03-10 16:27:18 +03:00
Alexander Nozdrin
cfeee8580d Auto-merge from mysql-next-mr. 2010-03-10 16:26:34 +03:00
Alexander Nozdrin
c9db455c87 Auto-merge from mysql-next-mr-bugfixing. 2010-03-10 16:22:52 +03:00
Luis Soares
55c9a39078 BUG#50442: MTR check for rpl_sync fails
The test case crashes and recovers the server twice, and while 
recovering InnoDB sets innodb_file_format_check to different
format on second restart. This makes the test case clean up
check to fail.

We fix this by deploying the option "--innodb_file_format_check='ON'"
in slave startup configuration. This makes the innodb_file_format_check
to not change on secod restart.
2010-03-10 12:40:29 +00:00
Sergey Vojtovich
f0c4da7ca2 Merge fix for BUG51307 to 5.1-bugteam. 2010-03-10 16:32:12 +04:00
Sergey Vojtovich
680cc263ec Merge fix for BUG51342 to 5.1-bugteam. 2010-03-10 16:26:39 +04:00
Joerg Bruehe
1b0d2eefb7 Automerge part of the fixes for bug#49022 into "next-mr-bugfixing". 2010-03-10 12:10:21 +01:00
Sergey Vojtovich
992f6754ac Merge fix for BUG51342 to 5.0-bugteam. 2010-03-10 15:07:35 +04:00
Sergey Vojtovich
405fd82207 BUG#51342 - more xid crashing
SET autocommit=1 while XA transaction is active may
cause various side effects, including memory corruption
and server crash.

The problem is that SET autocommit=1 and further queries
attempt to commit local transaction, whereas XA transaction
is still active.

As local and XA transactions are mutually exclusive, this
patch forbids enabling autocommit mode while XA transaction
is active.

mysql-test/r/xa.result:
  A test case for BUG#51342.
mysql-test/t/xa.test:
  A test case for BUG#51342.
sql/set_var.cc:
  Forbid enabling autocommit mode while XA transaction is
  active.
2010-03-10 15:04:32 +04:00
He Zhenxing
bd6cce8a7c Post fix for Bug#49557 2010-03-10 18:32:21 +08:00
Georgi Kodinov
e48779e929 merge 2010-03-10 12:22:08 +02:00
Georgi Kodinov
d03dd16b21 merge 2010-03-10 12:19:49 +02:00
Georgi Kodinov
91056475e1 merged the test disablement because of bug 51357 to 5.0-bugteam 2010-03-10 12:11:39 +02:00
Joerg Bruehe
fcd119066c Part of the fixes for bug#49022
Plugins included into bin release cannot be
    installed on debug version of server

IF    the build process was split into separate "debug" and
      "optimized" builds
   AND
      the plugin files of the debug build got copied into
      "plugin/debug/"
(both is done for MySQL release builds starting from 5.5.3),
THEN these debug plugin files are to be included in the
     final binary package.

This change deals with the inclusion only,
the other parts are done in different changesets.


plugin/Makefile.am:
  The "install" rule must not assume that "debug" files are
  present, this depends on the preceding steps in the build.
  
  If they are present, we cannot copy them by simply using
  "libtool install" (as we could do during an ordinary build)
  because they are already kept in "plugin/debug/".
  
  When doing the copy to the destination hierarchy, we must
  ensure that symlinks are not expanded but rather copied
  as symlinks.
  "cp -d" is specific to GNU, the portable way would use
  "cp -P", but that is not fully specified with recursion.
  So we fall back on "tar c | tar x", which is known to
  keep symlinks unchanged (and un-expanded).
  
  Using "$(TAR)" is just a precaution in case of weird path
  settings or other portability issues.
2010-03-10 10:48:43 +01:00
Mats Kindahl
ec82cbb293 Merging with mysql-next-mr-bugfixing 2010-03-10 10:41:19 +01:00
Marc Alff
f6660539c2 Bug#51878 Build break in HPUX involving mysql_prlock on a client
This is a fix specific for HPUX,
for which the compiler does not resolve properly dependencies
involving unused inline functions.
(See existing comments in mysql_thread.h)

In include/mysql/psi/mysql_thread.h,
the instrumentation helpers for mysql_prlock_*
uses the pr lock apis.

These apis are implemented in mysys/thr_rwlock.c,
which is not linked to client code.

As a result, the code does not link in libmysql_r, on HPUX.

The fix is to cut dependencies explicitely,
by introducing -DDISABLE_MYSQL_RWLOCK_H,
when building client code.
2010-03-09 11:03:02 -07:00
Georgi Kodinov
d63b0a5c62 Bug #35250: readline check breaks when doing vpath build
MySQL uses two source layouts when building : the bzr 
layout and the source package layout.
The previous fix for bug 35250 contained 1 change that is
valid for both modes and a number of changes that are valid
only for the bzr source layout.
The important thing was to fix the source package layout.
And for this the change in configure.in was sufficient.
It's not trivial (and not requested by this bug) to support 
VPATH builds from the bzr trees.
This is why the other changes are reverted and the change to
fix the VPATH build for source distributions is left intact.
2010-03-09 17:51:31 +02:00
Luis Soares
6d701d3e9c Automerge: bzr bundle (post-push fix) in bug report --> mysql-5.1-bugteam-pp-fix 2010-03-10 00:07:33 +00:00
Luis Soares
4dbcac20b4 Post-push fix for BUG#51251.
The test case added in previous patch missed a RESET MASTER on
test start up. Without it, showing binary log contents can
sometimes show spurious entries from previously executed tests,
ultimately causing test failure - result mismatch.

The test file was added in:
revid:luis.soares@sun.com-20100224190153-k0bpdx9abe88uoo2

This patch also moves the test case into binlog_innodb_row.test
file. This way we avoid having yet another test file,
binlog_row_innodb_truncate.test, whose only purpose is to host
one test case. This had been actually suggested during original
patch review, but somehow the binlog_innodb_row was missed when
searching for a file to host the test case.
2010-03-09 23:41:21 +00:00
Tor Didriksen
58559ac827 Bug#50888 valgrind warnings in Field_timestamp::val_str
Ensure that we store the correct cached_field_type whenever we cache Field items
(in this case it allows us to compare dates as dates, rather than strings)


mysql-test/r/type_timestamp.result:
  Add test case.
mysql-test/t/type_timestamp.test:
  Add test case.
sql/item.h:
  Initialize cached_field_type from the Field item.
2010-03-09 15:54:12 +01:00
Alexander Nozdrin
4315b101f5 pfs_upgrade.test is a case-sensitive test. 2010-03-09 18:05:19 +03:00
Davi Arnaut
ed92f91549 Bug#47761: crash when killing a query during subquery execution...
The problem was that killing a query during the optimization
phase of a subselect would lead to crashes. The root of the
problem is that the subselect execution engine ignores failures
(eg: killed) during the optimization phase (JOIN::optimize),
leading to a crash once the subquery is executed due to
partially initialized structures (in this case a join tab).

The optimal solution would be to cleanup certain optimizer
structures if the optimization phase fails, but currently
there is no infrastructure to properly to track and cleanup
the structures. To workaround the whole problem one somewhat
good solution is to avoid executing a subselect if the query
has been killed. Cutting short any problems caused by failures
during the optimization phase.

sql/item_subselect.cc:
  Do not execute a subselect if the session or query has been killed.
2010-03-09 09:51:56 -03:00
Sergey Vojtovich
ae42e96d28 Merge fix for BUG47444 to mysql-5.1-bugteam. 2010-03-16 21:33:56 +04:00
Martin Hansson
4a0dd699b1 Merge of fix for Bug#47762. 2010-03-16 17:21:38 +01:00
Martin Hansson
7dc693229f Bug#47762: Incorrect result from MIN() when WHERE tests NOT
NULL column for NULL

The optimization to read MIN() and MAX() values from an
index did not properly handle comparisons with NULL
values. Fixed by giving up the particular optimization step
if there are non-NULL safe comparisons with NULL values, as 
the result is NULL anyway.

Also, Oracle copyright notice was added to all files.
2010-03-16 15:51:00 +01:00
Mattias Jonsson
7297ec560e merge 2010-03-16 15:09:58 +01:00
Sergey Vojtovich
87e80b6593 Merge fix for BUG47444 to mysql-5.1-bugteam. 2010-03-16 18:06:03 +04:00
Sergey Vojtovich
52c2d8410a Plugin author, description and version are available
via I_S.PLUGINS, not via SHOW PLUGINS.
2010-03-16 17:15:19 +04:00
Luis Soares
cc223d3883 Automerge: mysql-5.1-bugteam bug branch --> mysql-5.1-bugteam latest. 2010-03-16 11:47:15 +00:00
Martin Hansson
0ed4684547 Bug#50918: Date columns treated differently in Views than in
Base Tables

The type inferrence of a view column caused the result to be
interpreted as the wrong type: DATE colums were interpreted
as TIME and TIME as DATETIME. This happened because view
columns are represented by Item_ref objects as opposed to
Item_field's. Item_ref had no method for retrieving a TIME
value and thus was forced to depend on the default
implementation for any expression, which caused the
expression to be evaluated as a string and then parsed into
a TIME/DATETIME value.

Fixed by letting Item_ref classes forward the request for a
TIME value to the referred Item - which is a field in this
case - this reads the TIME value directly without
conversion.
2010-03-16 10:20:07 +01:00
Davi Arnaut
9fc32c2e24 Bug#51289: double Item_cache_decimal::val_real() is broken
Fix up function return value, it must return a double.
2010-03-15 09:07:16 -03:00
Mattias Jonsson
e62c30b5f8 merge 2010-03-12 11:52:38 +01:00
Sergey Vojtovich
e0aadfd491 BUG#47444 - --myisam_repair_threads>1can result in all
index cardinalities=1

Parallel repair didn't poroperly update index cardinality
in certain cases.

When myisam_sort_buffer_size is not enough to store all
keys, index cardinality was updated before index was
actually written, when no index statistic is available.

mysql-test/r/myisam.result:
  A test case for BUG#47444.
mysql-test/t/myisam.test:
  A test case for BUG#47444.
storage/myisam/sort.c:
  update_key_parts() must be called after all index
  entries are written, when index statistic is available.
2010-03-12 14:43:30 +04:00
Mattias Jonsson
7871605bcf merge 2010-03-12 11:41:29 +01:00
Mattias Jonsson
f3190ea61f merged 2010-03-12 11:14:40 +01:00
Mattias Jonsson
78dd2652df Bug#48229: group by performance issue of partitioned table
Additional result file update
2010-03-12 11:14:04 +01:00
Mattias Jonsson
459d04c639 merge 2010-03-11 14:25:33 +01:00
Mattias Jonsson
1a9ec92049 merge 2010-03-11 14:18:44 +01:00
Mattias Jonsson
29b39e7a44 Bug#51830: Incorrect partition pruning on range partition
(regression)

Problem was that partition pruning did not exclude the
last partition if the range was beyond it
(i.e. not using MAXVALUE)

Fix was to not include the last partition if the
partitioning function value was not within the partition
range.

mysql-test/r/partition_innodb.result:
  Bug#51830: Incorrect partition pruning on range partition
  (regression)
  
  Updated result
mysql-test/r/partition_pruning.result:
  Bug#51830: Incorrect partition pruning on range partition
  (regression)
  
  Updated result
mysql-test/t/partition_innodb.test:
  Bug#51830: Incorrect partition pruning on range partition
  (regression)
  
  Added test for pruning in InnoDB, since it does not show
  for MyISAM due to 'Impossible WHERE noticed after reading
  const tables'.
mysql-test/t/partition_pruning.test:
  Bug#51830: Incorrect partition pruning on range partition
  (regression)
  
  Added test
sql/sql_partition.cc:
  Bug#51830: Incorrect partition pruning on range partition
  (regression)
  
  Also increase the partition id if not inside the last partition
  (and no MAXVALUE is defined).
  
  Added comments and DBUG_ASSERT.
2010-03-10 12:56:05 +01:00