Commit graph

65878 commits

Author SHA1 Message Date
Alexander Nozdrin
73074274ed Backporting patch for Bug#52716 (Large files support is disabled,
large-pages option is broken) from next-mr to trunk-bugfixing.

Original revision:
------------------------------------------------------------
revision-id: vvaintroub@mysql.com-20100416134524-y4v27j90p5xvblmy
parent: luis.soares@sun.com-20100416000700-n267ynu77visx31t
committer: Vladislav Vaintroub <vvaintroub@mysql.com>
branch nick: mysql-next-mr-bugfixing
timestamp: Fri 2010-04-16 15:45:24 +0200
message:
  Bug #52716 Large files support is disabled, large-pages option is broken.
  
  Correct typo: large pages option was tied to wrong variable opt_large_files,
  instead of opt_large_pages.
------------------------------------------------------------
2010-07-05 13:17:01 +04:00
Sergey Vojtovich
25de3a5625 BUG#54832 - Comment for MyISAM says it is a default engine
Adjusted tests.
2010-07-05 11:34:29 +04:00
Sergey Vojtovich
1b98946298 Merge fix for BUG#54832 to trunk. 2010-07-05 11:21:05 +04:00
Alfranio Correia
7e3236fefe Post-push fix for BUG#53259. 2010-07-04 20:35:05 +01:00
Sergey Vojtovich
12005ca9a1 BUG#54832 - Comment for MyISAM says it is a default engine
Fixed MyISAM storage engine comment, so it doesn't anymore
state that MyISAM is default storage engine.
2010-07-02 14:56:54 +04:00
Alexander Nozdrin
7ec3680161 Disabling failing NDB-tests due to Bug 54850 and Bug 54851. 2010-07-02 10:23:00 +04:00
Alfranio Correia
e8b13892be merge mysql-trunk-bugfixing (local) --> mysql-trunk-bugfixing 2010-06-30 20:38:48 +01:00
Alfranio Correia
34664b6abb WL#5344 2010-06-30 20:37:41 +01:00
Alfranio Correia
3e82758850 merge mysql-trunk-bugfixing (local) --> mysql-trunk-bugfixing 2010-06-30 20:32:05 +01:00
Alfranio Correia
e662b51eef BUG#53259 Unsafe statement binlogged in statement format w/MyIsam temp tables
BUG#54872 MBR: replication failure caused by using tmp table inside transaction 
      
Changed criteria to classify a statement as unsafe in order to reduce the
number of spurious warnings. So a statement is classified as unsafe when
there is on-going transaction at any point of the execution if:

1. The mixed statement is about to update a transactional table and
a non-transactional table.

2. The mixed statement is about to update a temporary transactional
table and a non-transactional table.
      
3. The mixed statement is about to update a transactional table and
read from a non-transactional table.

4. The mixed statement is about to update a temporary transactional
table and read from a non-transactional table.

5. The mixed statement is about to update a non-transactional table
and read from a transactional table when the isolation level is
lower than repeatable read.

After updating a transactional table if:

6. The mixed statement is about to update a non-transactional table
and read from a temporary transactional table.
 
7. The mixed statement is about to update a non-transactional table
 and read from a temporary transactional table.

8. The mixed statement is about to update a non-transactionala table
   and read from a temporary non-transactional table.
     
9. The mixed statement is about to update a temporary non-transactional
table and update a non-transactional table.
     
10. The mixed statement is about to update a temporary non-transactional
table and read from a non-transactional table.
     
11. A statement is about to update a non-transactional table and the
option variables.binlog_direct_non_trans_update is OFF.

The reason for this is that locks acquired may not protected a concurrent
transaction of interfering in the current execution and by consequence in
the result. So the patch reduced the number of spurious unsafe warnings.

Besides we fixed a regression caused by BUG#51894, which makes temporary
tables to go into the trx-cache if there is an on-going transaction. In
MIXED mode, the patch for BUG#51894 ignores that the trx-cache may have
updates to temporary non-transactional tables that must be written to the
binary log while rolling back the transaction.
      
So we fix this problem by writing the content of the trx-cache to the
binary log while rolling back a transaction if a non-transactional
temporary table was updated and the binary logging format is MIXED.
2010-06-30 16:25:13 +01:00
Vladislav Vaintroub
41d832d19b Bug #52850: mysqld-debug.pdb doesn't match
mysqld-debug.exe in 5.5.3 on windows

Fix:

- Do not rename PDB, install mysqld.pdb matching 
mysqld-debug.exe into bin\debug subdirectory

- Stack tracing code will now additionally look in 
debug subdirectory of the application directory 
for debug symbols.

- Small cleanup in stacktracing code: link with 
dbghelp rather than load functions dynamically 
at runtime, since dbghelp.dll is always present.

- Install debug binaries with WiX
2010-06-30 14:10:29 +02:00
Alexander Nozdrin
6eebe0c872 Disable lowercase_table3.test due to Bug 54845. Sort disabled.def. 2010-06-30 13:27:38 +04:00
Magne Mahre
10e329c8e1 Bug#54846 main.lowercase_table2 on Mac OSX
This bug is a consequence of WL#5349, as the
default storage engine was changed.

The fix was to explicitly add an ENGINE
clause to a CREATE TABLE statement, to
ensure that we test case preservement on
MyISAM.
2010-06-28 11:23:50 +02:00
Alexander Nozdrin
1d83d09512 Mark parts.partition_alter4_innodb experimental due to Bug 45299. 2010-06-28 09:57:06 +04:00
Alexander Nozdrin
759aabe371 Make few tests experimental. 2010-06-26 11:51:14 +04:00
Alexander Nozdrin
59ef962bdc Auto-merge from mysql-trunk. 2010-06-26 11:43:00 +04:00
Gleb Shchepa
6941da5107 gcc warnings removal (after bugfix for bug 36569) 2010-06-26 02:06:53 +04:00
Alexander Nozdrin
514b9b25d2 Backport of revid:ingo.struewing@sun.com-20091223200354-r2uzbdkj2v6yv111
Bug#47633 - assert in ha_myisammrg::info during OPTIMIZE
 
   The server crashed on an attempt to optimize a MERGE table with
   non-existent child table.
 
   mysql_admin_table() relied on the table to be successfully open
   if a table object had been allocated.
 
   Changed code to check return value of the open function before
   calling a handler:: function on it.
2010-06-25 19:32:59 +04:00
Jon Olav Hauglid
80af13189f Bug #50124 Rpl failure on DROP table with concurrent txn/non-txn
DML flow and SAVEPOINT

The problem was that replication could break if a transaction involving
both transactional and non-transactional tables was rolled back to a
savepoint. It broke if a concurrent connection tried to drop a
transactional table which was locked after the savepoint was set.
This DROP TABLE completed when ROLLBACK TO SAVEPOINT was executed as the
lock on the table was dropped by the transaction. When the slave later
tried to apply the binlog, it would fail as the table would already
have been dropped.

The reason for the problem is that transactions involving both
transactional and non-transactional tables are written fully to the
binlog during ROLLBACK TO SAVEPOINT. At the same time, metadata locks
acquired after a savepoint, were released during ROLLBACK TO SAVEPOINT.
This allowed a second connection to drop a table only used between
SAVEPOINT and ROLLBACK TO SAVEPOINT. Which caused the transaction binlog
to refer to a non-existing table when it was written during ROLLBACK
TO SAVEPOINT.

This patch fixes the problem by not releasing metadata locks when
ROLLBACK TO SAVEPOINT is executed if binlogging is enabled.
2010-06-25 09:32:24 +02:00
Joerg Bruehe
7f0b7faa68 Merge bug fix. 2010-06-23 16:32:03 +02:00
Joerg Bruehe
f1cc08433e Fix Bug #54739
Accidental change in compile-time definitions for FreeBSD


Revert the accidental setting of "HAVE_BROKEN_REALPATH"
on current versions of FreeBSD,

do it for both autotools ("configure.in")
and cmake ("cmake/os/FreeBSD.cmake").
2010-06-23 16:19:19 +02:00
Luis Soares
44acc95929 WL#5408: adding skip-test-list to mysql-trunk.push and mysql-next-mr.push
collections. Originally, they had only been added to default.push, so
trees named after mysql-[trunk|next-mr] would not skip those tests.
2010-06-23 11:58:24 +01:00
Luis Soares
5d14217497 WL#5408: automerged original bzr bundles into mysql-trunk-bugfixing. 2010-06-23 11:21:00 +01:00
Luis Soares
ae95721663 WL 5408: automerged incremental bzr bundle from original commit. 2010-06-23 11:19:09 +01:00
Luis Soares
d09b73c8b8 WL 5408: automerged bzr bundle from original commit. 2010-06-23 11:17:59 +01:00
sunanda
e0aba0c84b Updated the version number 2010-06-23 10:31:33 +02:00
sunanda
ef745c9112 Made the changes as per Kent/wlad to include http://lists.mysql.com/commits/111802 2010-06-23 10:23:41 +02:00
Tor Didriksen
545d8a5b40 Backport of Bug#53236 Segfault in DTCollation::set(DTCollation&)
Don't call member functions for a NIL pointer.
2010-06-23 08:13:34 +02:00
Gleb Shchepa
da4d23277f Bug #30584: delete with order by and limit clauses does not
use limit efficiently
Bug #36569: UPDATE ... WHERE ... ORDER BY... always does a
            filesort even if not required

Also two bugs reported after QA review (before the commit
of bugs above to public trees, no documentation needed):

Bug #53737: Performance regressions after applying patch
            for bug 36569
Bug #53742: UPDATEs have no effect after applying patch
            for bug 36569


Execution of single-table UPDATE and DELETE statements did not use the 
same optimizer as was used in the compilation of SELECT statements. 
Instead, it had an optimizer of its own that did not take into account 
that you can omit sorting by retrieving rows using an index.

Extra optimization has been added: when applicable, single-table 
UPDATE/DELETE statements use an existing index instead of filesort. A 
corresponding SELECT query would do the former.

Also handling of the DESC ordering expression has been added when
reverse index scan is applicable.

From now on most single table UPDATE and DELETE statements show the 
same disk access patterns as the corresponding SELECT query. We verify 
this by comparing the result of SHOW STATUS LIKE 'Sort%

Currently the get_index_for_order function 
a) checks quick select index (if any) for compatibility with the
   ORDER expression list or
b) chooses the cheapest available compatible index, but only if 
   the index scan is cheaper than filesort.
Second way is implemented by the new test_if_cheaper_ordering
function (extracted part the test_if_skip_sort_order()).
2010-06-23 00:32:29 +04:00
Vladislav Vaintroub
a4baec5c13 Fix syntax error (missing space in SET command), that effectively prevents mysqld from being build with SSL. 2010-06-22 19:47:49 +02:00
Vladislav Vaintroub
1ef39ee2d1 Fix ~1000 warnings class/struct mismatch.
Handle this warning in the future as error, this will prevent pushing to main trees.
2010-06-22 18:40:14 +02:00
Alexander Nozdrin
04f9d612a3 Auto-merge (empty) from mysql-trunk. 2010-06-22 17:09:38 +04:00
Alexander Nozdrin
13495faeb7 Auto-merge from mysql-trunk-bugfixing. 2010-06-22 17:01:39 +04:00
Magne Mahre
b4f77c40ec Post-push fixups for WL#5349 2010-06-22 12:13:47 +02:00
Alexander Nozdrin
bba0a92d03 Auto-merge from mysql-trunk-stage. 2010-06-21 17:08:16 +04:00
Daniel Fischer
915bfb505e Fixed a readability optimization in CMake code that broke IPv6 support. 2010-06-21 10:59:54 +02:00
Alexander Nozdrin
36348425da Fix tree name. 2010-06-21 11:56:43 +04:00
Magne Mahre
eda2ff8103 Post-push fixup for WL#5349
InnoDB came in a new version "simultanously" with the
commit.  This patch is a minor change to the new innodb
regression test suite.
2010-06-20 22:43:34 +02:00
Daniel Fischer
9891642e77 merge 2010-06-18 17:04:15 +02:00
Joerg Bruehe
105b4c38d0 Automerge from parent copy. 2010-06-18 10:29:03 +02:00
Magne Mahre
3ac6a4b451 WL#5349 Change default storage engine to InnoDB
The default storage engine is changed from MyISAM to
InnoDB, in all builds except for the embedded server.

In addition, the following system variables are 
changed:

  * innodb_file_per_table is enabled
  * innodb_strict_mode is enabled
  * innodb_file_format_name_update is changed
    to 'Barracuda'

The test suite is changed so that tests that do not
explicitly include the have_innodb.inc are run with
--default-storage-engine=MyISAM.  This is to ease the
transition, so that most regression tests are run
with the same engine as before.

Some tests are disabled for the embedded server
regression test, as the output of certain statements
will be different that for the regular server
(i.e SELECT @@default_storage_engine).  This is to
ease transition.
2010-06-17 22:51:35 +02:00
Joerg Bruehe
81fda234c7 Bug#54590 "make_binary_distribution" fails because a command
line exceeds the limit

Merge the fix into "trunk-bugfixing".
2010-06-17 20:19:28 +02:00
Joerg Bruehe
e740b826a8 Bug#54590 "make_binary_distribution" fails because a command
line exceeds the limit

Upmerge the fix from 5.1 to 5.5 ("trunk").
2010-06-17 20:10:17 +02:00
Joerg Bruehe
218a15b76a Bug#54590 "make_binary_distribution" fails because a command
line exceeds the limit

Upmerge the fix from 5.0 to 5.1
2010-06-17 19:55:21 +02:00
Joerg Bruehe
d4c4bd6e2f Bug#54590 "make_binary_distribution" fails because a command
line exceeds the limit

The number and/or names of our files for the main test suite
(contents of "mysql-test/t/") now exceeds the command line
length limit on AIX.
Solve the problem by using separate "cp" commands for the
various file name extensions.
2010-06-17 19:47:38 +02:00
Konstantin Osipov
95c86d14b5 Merge. 2010-06-17 17:55:00 +04:00
Konstantin Osipov
484351d108 Merge trunk-bugfixing -> trunk-runtime 2010-06-17 17:31:51 +04:00
Joerg Bruehe
71377f189f Upmerge an empty merge changeset (27072 in the bug DB) from 5.1-bugteam
to trunk-bugfixing, no contents changes (already done separate).
2010-06-17 13:15:00 +02:00
Joerg Bruehe
6e4cdd847f Automerge the fix for bug#27072 into trunk-bugfixing. 2010-06-17 13:11:34 +02:00
Joerg Bruehe
92c57e3dc5 Automerge the fix for bug#27072 into 5.1-bugteam 2010-06-17 13:07:33 +02:00