Commit graph

55643 commits

Author SHA1 Message Date
Timothy Smith
06adec7ad9 Auto merge 2009-01-16 17:47:09 +01:00
Timothy Smith
33ff35305d Auto-merge from upstream 5.1-bugteam 2009-01-16 17:33:24 +01:00
Georgi Kodinov
4d8e73c818 merged 5.0-bugteam -> 5.1-bugteam 2009-01-16 17:38:38 +02:00
Georgi Kodinov
bdec5458ae auto merge 2009-01-16 16:48:41 +02:00
Georgi Kodinov
47bd8d19fd merged 5.0-bugteam -> 5.1-bugteam 2009-01-16 13:42:01 +02:00
Georgi Kodinov
64ecdbe3f5 merged 5.1-main -> 5.1-bugteam 2009-01-16 13:41:12 +02:00
Georgi Kodinov
b6468e4a1a merged 5.0-main -> 5.0-bugteam 2009-01-16 13:19:42 +02:00
Georgi Kodinov
7ba31022e7 merged 5.1-main -> 5.1-bugteam 2009-01-16 12:47:48 +02:00
Georgi Kodinov
b385a2d8a5 merged 5.0-bugteam -> 5.1-bugtteam 2009-01-16 12:45:17 +02:00
Joerg Bruehe
aec81abb3b Upmerge changesets from 5.0-build to 5.1-build.
This does not bring any contents changes, it is purely
metadata which are affected.

Details:

Even within 5.0, most of these changesets did not cause
file contents changes, because they were backports done
for the "service pack" builds of 5.0.66sp1 and 5.0.72sp1.

The "real" changesets are also already present in 5.1,
so this upmerge doesn't change any contents.

The only "real" changeset in 5.0 was a fix of the shell
scripts used to configure bdb (BerkeleyDB).
As we completele removed bdb from the 5.1 sources already,
the affected files are not present in the 5.1 source tree,
so this changeset also does not cause any contents changes.
2009-01-15 19:11:25 +01:00
Joerg Bruehe
d5e10aec08 Again, the branch designation "-bugteam" made it to the main tree,
this should not happen.
2009-01-15 18:35:21 +01:00
Joerg Bruehe
65474bb120 Merge the version number increase. 2009-01-15 17:51:40 +01:00
Joerg Bruehe
f6d2d02237 Merge main tree to 5.1-build 2009-01-15 17:21:42 +01:00
unknown
f6c8f94d11 Raise version number after cloning 5.1.31 2009-01-15 16:48:10 +01:00
Georgi Kodinov
683542698f merged Bug 38795 to 5.0-bugteam 2009-01-15 16:15:38 +02:00
Davi Arnaut
637d488027 Post-merge fix for Bug#36326
mysql-test/r/cache_innodb.result:
  Update test case result.
2009-01-15 11:38:49 -02:00
Alexander Nozdrin
eb09f64a78 Bug#31222: adding missed file. 2009-01-15 14:58:32 +03:00
Joerg Bruehe
e48b721d5c Merge some tool fixes from the 5.0.72sp1 build back into the tree.
This is not the final merge of that release build, but we need early
access to these tool fixes (use of "awk" in the BDB configuration).
2009-01-15 12:08:09 +01:00
Joerg Bruehe
315c0ce163 Merge the changes of the 5.0.66sp1 build back into the tree. 2009-01-15 11:48:31 +01:00
Davi Arnaut
e48c7178f7 Merge from 5.0-bugteam 2009-01-15 08:28:10 -02:00
Alexander Nozdrin
852d1d66f6 Pull from 5.0-bugteam 2009-01-15 13:10:20 +03:00
Alexander Nozdrin
91e5423c64 Merge backport of patch for Bug#31222 from 5.0 to 5.1 2009-01-15 12:56:05 +03:00
Davi Arnaut
ed87b43915 Auto-merge from 5.1-bugteam 2009-01-15 07:52:06 -02:00
Alexander Nozdrin
9a6e05d8b9 Backport patch for Bug#31222 (com_% global status counters behave randomly
with mysql_change_user) to 5.0.
2009-01-15 12:36:34 +03:00
Georgi Kodinov
920021c9b8 merge 5.0-bugteam-> 5.1-bugteam 2009-01-15 07:31:47 +02:00
Georgi Kodinov
a08460b83a merge 5.0-main to 5.0-bugteam 2009-01-15 06:35:18 +02:00
MySQL Build Team
09ac5c45eb Oops, bumped version too high. Drop it back down from 5.0.78 to 5.0.77. 2009-01-15 00:14:07 +01:00
Ramil Kalimullin
7a23cfaac9 bug#33094: Error in upgrading from 5.0 to 5.1 when table contains triggers
Post-fix test failure: fixed mysqlcheck.test on Windows platforms.


mysql-test/r/mysqlcheck.result:
  fixed mysqlcheck.test on Windows platforms.
mysql-test/t/mysqlcheck.test:
  fixed mysqlcheck.test on Windows platforms.
2009-01-15 00:54:25 +04:00
unknown
ea75d58249 Raise version number after cloning 5.0.76 2009-01-14 20:16:10 +01:00
Chad MILLER
041d09845b Merge from bugteam trunk. 2009-01-14 10:56:37 -05:00
Timothy Smith
57a083d5b1 Auto-merge from upstream 5.1-bugteam 2009-01-14 16:50:51 +01:00
Ramil Kalimullin
53e42d9ee4 Fix for
bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
triggers
and
: Crash when attempting to repair a #mysql50# upgraded table
with triggers.

Problem:
1. trigger code didn't assume a table name may have
a "#mysql50#" prefix, that may lead to a failing ASSERT().
2. "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME" failed
for databases with "#mysql50#" prefix if any trigger.
3. mysqlcheck --fix-table-name didn't use UTF8 as a default
character set that resulted in (parsing) errors for tables with
non-latin symbols in their names and definitions of triggers.

Fix:
1. properly handle table/database names with "#mysql50#" prefix.
2. handle --default-character-set mysqlcheck option;
if mysqlcheck is launched with --fix-table-name or --fix-db-name
set default character set to UTF8 if no --default-character-set
option given.

Note: if given --fix-table-name or --fix-db-name option,
without --default-character-set mysqlcheck option
default character set is UTF8.


client/mysqlcheck.c:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  : Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - check and set default charset if --default-character-set option
      given.
    - set default charset to "utf8" if there's
      --fix-table-name or --fix-db-name and no --default-character-set.
mysql-test/r/mysqlcheck.result:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  : Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - test result.
mysql-test/t/mysqlcheck.test:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  : Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - test case.
sql/mysql_priv.h:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  : Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - check_n_cut_mysql50_prefix() introduced.
sql/sql_table.cc:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  : Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - tablename_to_filename() code split into 2 parts
    - check_n_cut_mysql50_prefix() introduced to cut #mysql50# prefixes,
      used in the trigger code as well.
sql/sql_trigger.cc:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  : Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - Table_triggers_list::check_n_load() - checking triggers assume
      a table/database name given may have "#mysql50#" prefix in some cases.
    - Table_triggers_list::change_table_name_in_triggers() -
      create .TRG file in new database directory and delete it in old one,
      as they may differ in case of
      "ALTER DATABASE ... UPGRADE DATA DIRECTORY NAME"
    - Table_triggers_list::change_table_name_in_trignames() - remove stale .TRN
      files in #mysql50#dbname directory in case of database upgrade
    - Table_triggers_list::change_table_name() - allow changing trigger's
      database in case of its upgrading
sql/sql_trigger.h:
  Fix for
  bug#33094: Error in upgrading from 5.0 to 5.1 when table contains
  triggers
  and
  : Crash when attempting to repair a #mysql50# upgraded table
  with triggers.
    - new old_db_name parameter added in
      Table_triggers_list::change_table_name_in_trignames() and
      Table_triggers_list::change_table_name_in_triggers()
2009-01-14 18:50:51 +04:00
He Zhenxing
45140a8ea3 Auto merge 2009-01-14 17:32:25 +08:00
He Zhenxing
f2c122bf90 BUG#41986 Replication slave does not pick up proper AUTO_INCREMENT value for Innodb tables
The next number (AUTO_INCREMENT) field of the table for write
rows events are not initialized, and cause some engines (innodb)
not correctly update the tables's auto_increment value.

This patch fixed this problem by honor next number fields if present.

mysql-test/extra/rpl_tests/rpl_auto_increment.test:
  Add test code for BUG#41986
mysql-test/suite/rpl/r/rpl_auto_increment.result:
  update test result file for BUG#41986
sql/log_event.cc:
  set next_number_field before writing rows, and reset next_number_field after finished writing rows
2009-01-14 16:27:32 +08:00
Timothy Smith
80e659a2ed Fix Bug : date_format test fails if new variables LIKE '%e_format' are added
Use SELECT FROM INFORMATION_SCHEMA instead of SHOW VARIABLES LIKE to restrict
values correctly.
2009-01-13 23:29:11 +01:00
Timothy Smith
50958a346a Apply test case changes for Bug (innodb-semi-consistent.test) also to
partition_innodb_semi_consistent.test, which was overlooked in the
innodb-5.1-ss3603 snapshot.
2009-01-13 23:12:16 +01:00
Davi Arnaut
3d6cea324a Bug#36326: nested transaction and select
The problem is that the query cache stores packets containing
the server status of the time when the cached statement was run.
This might lead to a wrong transaction status in the client side
if a statement is cached during a transaction and is later served
outside a transaction context (and vice-versa).

The solution is to take into account the transaction status when
storing in and serving from the query cache.

mysql-test/r/innodb_cache.result:
  Update test case result.
mysql-test/r/query_cache.result:
  Add test case result for Bug#36326
mysql-test/t/query_cache.test:
  Add test case for Bug#36326
sql/mysql_priv.h:
  Add new flags.
sql/sql_cache.cc:
  Remember the transaction and autocommit status stored in the packet.
tests/mysql_client_test.c:
  Add test case for Bug#36326
2009-01-13 20:07:06 -02:00
Chad MILLER
97523591b0 Merge fix for bug 38364. 2009-01-13 10:50:22 -05:00
Matthias Leich
ec1b0874b6 Merge into actual tree 2009-01-13 16:42:37 +01:00
Timothy Smith
2cfe32ae42 Fix Bug#32831: libmysql should be built with all charsets
Add #define HAVE_CHARSET_name in config-win.h for all character sets that MySQL
supports.  Add comments to config/ac-macros/character_sets.m4 and config-win.h
so hopefully they will be updated in sync.
2009-01-13 16:16:03 +01:00
Davi Arnaut
27a2c73917 Auto-merge from upstream 5.1-bugteam 2009-01-13 13:06:31 -02:00
Timothy Smith
96415bb39d Applying InnoDB snapshot innodb-5.1-ss3603
Detailed description of changes:
r3601 | marko | 2008-12-22 16:05:19 +0200 (Mon, 22 Dec 2008) | 9 lines
branches/5.1: Make
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED
a true replacement of SET GLOBAL INNODB_LOCKS_UNSAFE_FOR_BINLOG=1.
This fixes an error that was introduced in r370, causing
semi-consistent read not to not unlock rows in READ UNCOMMITTED mode.
(Bug , Issue )

rb://67 approved by Heikki Tuuri
2009-01-13 15:14:11 +01:00
Matthias Leich
3bee9e6a8f Merge of fix for bug
41776 type_date.test may fail if run around midnight.
into GCA tree.
2009-01-13 15:04:28 +01:00
Joerg Bruehe
1fc458230d Tool fix, needed for "compile-dist" to succeed on Solaris:
The default "awk" there cannot handle some of the scripts
which are used by BDB for configuration.

The fix:
1) Introduce a variable "AWK" in some of the BDB shell scripts,
2) search "gawk" and give it precedence over "awk"
   when assigning a value to the "AWK" variable,
   fail if neither is found,
3) use that variable when calling an "awk" program with one
   of the critical scripts.

The perfect solution would be to use the "awk" program found
by "configure", but we cannot follow that approach because
BDB's configuration is handled as a special case before the
overall "configure" is run. Because of this,
1) the "configure" result isn't yet available,
2) "configure" will not handle these BDB files.
Searching "gawk" is a (not-so-nice) way out.

Note that all this need not be perfectly portable,
it is needed only when we create a source distribution tarball
from a develkopment tree.

bdb/dist/s_all:
  Search "gawk" if available, give it precedence over "awk",
  fail if neither is found.
bdb/dist/s_include:
  Ensure we use a modern AWK, similar to GNU awk,
  the default awk on Solaris cannot handle BDB's script.
bdb/dist/s_recover:
  Ensure we use a modern AWK, similar to GNU awk,
  the default awk on Solaris cannot handle BDB's script.
bdb/dist/s_rpc:
  Ensure we use a modern AWK, similar to GNU awk,
  the default awk on Solaris cannot handle BDB's script.
2009-01-13 14:52:22 +01:00
Matthias Leich
ee4752c82e Merge of fix for bug
41111 events_bugs fails sporadically on pushbuild
into GCA tree
2009-01-13 14:39:04 +01:00
Matthias Leich
9cef800a07 Merge of fix for bug
41932 funcs_1: is_collation_character_set_applicability path too long for tar
into GCA tree
2009-01-13 14:26:24 +01:00
Matthias Leich
4dcd3c81d7 Fix for Bug#40377 sporadic pushbuild failure in log_state: result mismatch
+ add workaround for bug 38124
+ messages into the protocol when sessions are switched
+ replace error numbers by error names
+ reset of system variables to initial values per subtest
+ remove a file created by this test
+ minor improvements in structure and formatting
2009-01-13 14:09:24 +01:00
Georgi Kodinov
ba47e3bc4d Bug : Automatic search depth and nested join's results in server crash
The greedy optimizer tracks the current level of nested joins and the position
inside these by setting and maintaining a state that's global for the whole FROM
clause.
This state was correctly maintained inside the selection of the next partial plan
table (in best_extension_by_limited_search()). 
greedy_search() also moves the current position by adding the last partial match 
table when there's not enough tables in the partial plan found by 
best_extension_by_limited_search().
This may require update of the global state variables that describe the current
position in the plan if the last table placed by greedy_search is not a top-level 
join table.
Fixed by updating the state after placing the partial plan table in greedy_search()
in the same way this is done on entering the best_extension_by_limited_search().
Fixed the signature of the function called to update the state : 
check_interleaving_with_nj

mysql-test/r/greedy_optimizer.result:
  Bug : test case
mysql-test/t/greedy_optimizer.test:
  Bug : test case
sql/sql_select.cc:
  Bug : correctly update current position when placing
  the next partial plan table in greedy_search().
2009-01-13 13:09:12 +02:00
Patrick Crews
fed5e97733 Bug#41888: Test binlog.binlog_database causing binlog_innodb to fail on Pushbuild.
Added cleanup of status variables to the end of binlog_database.
Re-recorded .result file to account for cleanup statement.
NOTE:  binlog.binlog_innodb also has had an FLUSH STATUS; statement added to it as well, but
adding this cleanup as a preventative measure.
2009-01-12 18:45:35 -05:00
Timothy Smith
13927f53c5 Applying InnoDB snapshot innodb-5.1-ss3603
Detailed description of changes:
r3590 | marko | 2008-12-18 15:33:36 +0200 (Thu, 18 Dec 2008) | 11 lines
branches/5.1: When converting a record to MySQL format, copy the default
column values for columns that are SQL NULL.  This addresses failures in
row-based replication (Bug ).

row_prebuilt_t: Add default_rec, for the default values of the columns in
MySQL format.

row_sel_store_mysql_rec(): Use prebuilt->default_rec instead of
padding columns.

rb://64 approved by Heikki Tuuri
2009-01-12 23:35:05 +01:00