1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-10 04:22:00 +03:00
Commit Graph

92 Commits

Author SHA1 Message Date
abfa9641ec WL 5408: automerged bzr bundle from original commit. 2010-06-23 11:17:59 +01:00
32b7e60e42 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.



mysql-test/mysql-test-run.pl:
  The regression test suite now adds a
  --default-storage-engine=MyISAM for all non-innodb 
  tests.  This behaviour can be controlled by the
  default-myisam switch in mysql-test-run
mysql-test/t/bootstrap-master.opt:
  The bootstrap test can only be run without InnoDB
  as it starts several mysqld instances on the same
  datadir. This is possible with MyISAM, but not
  with InnoDB.
storage/innobase/CMakeLists.txt:
  Build InnoDB per default
storage/innobase/handler/ha_innodb.cc:
  Change default values for system variables
  
    Enable file_per_table
    Enable strict_mode
    Upgrade default file format to Barracuda
2010-06-17 22:51:35 +02:00
ec6285d5f7 BUG 54161: automerged mysql-5.1-bugteam into mysql-trunk-merge. 2010-06-02 13:16:47 +01:00
9f4859e78b WL#5408: Reduce Pushbuild2 turnaround times for rpl suite.
This patch aims at moving some rpl tests to be run on a daily
basis instead of running on a per push basis. To accomplish such
goal the following modifications are proposed:

- MTR: added --skip-test-list cli parameter

  This option allows the user to specify more than one
  disabled.def file, for example:

  perl mtr --skip-test-list=list1.list --skip-test-list=list2.list

- Added collections/disabled-per-push.list

  This file lists the test cases that should be disabled per
  push.

- Changed mysql-test/collections/default.push

  Added --skip-test-list=collections/disabled-per-push.list
  to rpl_binlog_row, ps_row and n_mix runs.

- Changed mysql-test/collections/default.daily

  Added rpl_binlog_row run (since it is partially run per push we
  should run it fully on a daily basis).
2010-06-02 13:01:42 +01:00
1d9ab18a1a BUG#54161: MTR: disabled.def lists don't work with FQ test names
MTR will ignore fully qualified test name entries in disabled.def 
lists. Therefore, it would still run the test case, even if it is
listed.

This patch fix this by extending the check when marking the test
case as disabled to take into consideration not only the cases that
contain the simple test name but also those that contain fully 
qualified test names.
2010-06-02 12:20:43 +01:00
6f58f36846 Enable innodb_plugin tests based on the presence of lib_innodb_plugin. 2010-04-19 12:44:05 +03:00
68fcbba604 Do not require innodb for running innodb_plugin tests. 2010-04-19 12:21:13 +03:00
5a0e20715d Move the InnoDB Plugin tests from storage/innodb_plugin/mysql-test/ where
they are ignored to a new test suite "innodb_plugin".

Remove a hack in mtr that was deployed to run the builtin InnoDB tests against
the InnoDB Plugin. Also detect if a test is an 'innodb plugin test' and if so
then transparently replace the builtin InnoDB with the InnoDB Plugin.
2010-04-09 15:56:51 +03:00
5a9bad95a9 More exceptions for InnoDB plugin tests. 2010-03-24 23:09:23 +04:00
0b1d317b23 A follow-up on WL#5154 and WL#5182: remove forgotten options. 2010-03-03 22:22:02 +03:00
dedad8ae44 merge 44054 2010-02-17 13:09:48 +01:00
5b7306e259 Bug #44054 MTR2: --no-reorder does not prevent reordering
Some logic would group by suite always
Disable this if using --noreorder
Also fix getting array from collect_one_suite() in this case
Amended according to previous comment
2010-02-17 12:37:37 +01:00
1e26b2c26b Applying InnoDB Plugin 1.0.6 snapshot, part 8. Fixes BUG#48782
applied revisions: r6185, r6186, r6189, r6194

r6185 - only code changes incorporated, changesets which change
        innodb tests in the main mysql suite are discarded

r61889 - Fixes BUG#48782

Detailed revision comments:

r6185 | marko | 2009-11-17 16:44:20 +0200 (Tue, 17 Nov 2009) | 16 lines
branches/zip: Report duplicate table names
to the client connection, not to the error log.  This change will allow
innodb-index.test to be re-enabled.  It was previously disabled, because
mysql-test-run does not like output in the error log.

row_create_table_for_mysql(): Do not output anything to the error log
when reporting DB_DUPLICATE_KEY.  Let the caller report the error.
Add a TODO comment that the dict_table_t object is apparently not freed
when an error occurs.

create_table_def(): Convert InnoDB table names to the character set
of the client connection for reporting.  Use my_error(ER_WRONG_COLUMN_NAME)
for reporting reserved column names.  Report my_error(ER_TABLE_EXISTS_ERROR)
when row_create_table_for_mysql() returns DB_DUPLICATE_KEY.

rb://206
r6186 | vasil | 2009-11-17 16:48:14 +0200 (Tue, 17 Nov 2009) | 4 lines
branches/zip:

Add ChangeLog entry for r6185.

r6189 | marko | 2009-11-18 11:36:18 +0200 (Wed, 18 Nov 2009) | 5 lines
branches/zip: ha_innobase::add_index(): When creating the primary key
and the table is being locked by another transaction,
do not attempt to drop the table. (Bug #48782)

Approved by Sunny Bains over IM
r6194 | vasil | 2009-11-19 09:24:45 +0200 (Thu, 19 Nov 2009) | 5 lines
branches/zip:

Increment version number from 1.0.5 to 1.0.6 since 1.0.5 was just released
by MySQL and we will soon release 1.0.6.
2009-11-30 18:43:34 +05:30
cefd968ddd Applying Innodb Snapshot 5.1-ss6242, part 9.
1. Enabling the disabled test for BUG#32430 for builtin innodb
2. Disabling the innodb-autoinc.test for innodb plugin.
2009-11-30 16:24:20 +05:30
7c4cae75b8 Clean-up after applying innodb-zip-ss6129 snapshot:
- re-enabled main.innodb_bug44369;
- re-enabled main.innodb_bug47777;
- re-enabled innodb.innodb_information_schema.
2009-11-03 18:41:04 +04:00
b703edd747 Clean-ups after applying InnoDB snapshot 5.1-ss6129:
- disabled main.innodb_bug47777.test with InnoDB plugin
  until fix for plugin is applied.
- disabled main.innodb-autoinc.test (failing)
- re-enabled main.innodb_bug39438.test
- added error message suppression to innodb_bug39438, as
  requested by InnoDB/Oracle
- reverted change to main.innodb_bug34300 as plugin specific.
2009-11-03 12:46:04 +04:00
2a6e8d37f1 Automerge from mysql-trunk. 2009-10-23 00:24:24 +04:00
4f12a0ba80 Automerge from mysql-trunk. 2009-10-22 22:05:42 +04:00
136a4225c7 Apply missing patch from bug#46834 to mysql-trunk-bugfixing. 2009-10-22 16:48:52 +01:00
3a2434d432 new merge from trunk 2009-10-22 09:13:44 +02:00
4113d6ca88 merge 48149 2009-10-20 12:04:55 +02:00
0777ef567d merge 48149 2009-10-20 12:05:28 +02:00
e6bc01d170 Bug #48149 MTR should automatically skip SSL tests if SSL not supported
Knowledge of no SSL support is not used
Skip tests the same way e.g. innodb tests are
Does not refer to have_ssl_communication.inc, 
     will add this when merging to 6.0-codebase
2009-10-19 15:51:47 +02:00
72c96cbd0e merge from 5.1 main 2009-10-16 23:25:05 +02:00
310833ff2e Merge from mysql-5.1. 2009-10-14 11:17:49 +04:00
0aca4f0011 Bug #46625 Pushbuild2: does not notice test failure in "Innodb Plugin" mode
Disallow (and don't use) space in combination names
2009-10-08 11:14:42 +02:00
6eb9c2bec9 merge of 47383 from 5.1-mtr 2009-10-06 14:37:37 +02:00
95c6cc51a5 Applying InnoDB snapshot 5.1-ss5921, part 2. Fixes BUG#44369
BUG#44369 - InnoDB: Does not uniformly disallow disallowed column names

Detailed revision comments:

r5741 | jyang | 2009-09-03 07:16:01 +0300 (Thu, 03 Sep 2009) | 5 lines
branches/5.1: Block creating table with column name conflicting
with Innodb reserved key words. (Bug #44369) rb://151 approved
by Sunny Bains.


r5760 | jyang | 2009-09-04 07:07:34 +0300 (Fri, 04 Sep 2009) | 3 lines
branches/5.1: This is to revert change 5741. A return status for
create_table_def() needs to be fixed.

r5834 | jyang | 2009-09-11 00:43:05 +0300 (Fri, 11 Sep 2009) | 5 lines
branches/5.1: Block creating table with column name conflicting
with Innodb reserved key words. (Bug #44369) rb://151 approved
by Sunny Bains.
2009-10-05 16:47:48 +05:30
b9ce9f79d6 Applying InnoDB snapshot 5.1-ss5921, Part 1. Fixes BUG#46000
1. BUG#46000 - using index called GEN_CLUST_INDEX crashes server

Detailed revision comments:

r5895 | jyang | 2009-09-15 03:39:21 +0300 (Tue, 15 Sep 2009) | 5 lines
branches/5.1: Disallow creating index with the name of
"GEN_CLUST_INDEX" which is reserved for the default system
primary index. (Bug #46000) rb://149 approved by Marko Makela.
2009-10-05 16:39:07 +05:30
28b190b272 Bug #47383 let mysql-test-run.pl run innodb tests using the plugin
Alt. solution: let the "InnoDB plugin" combinations apply
Added some alternative plugin paths (I need to move the code anyway)
2009-10-02 10:36:38 +02:00
88365681af Don't use the semicolon character as a argument separator as it
can be interpreted as a shell metacharacter in some circumstances.
For example, it is interpreted as a command separator when invoking
a debugger.

mysql-test/lib/mtr_cases.pm:
  Use ':' as the separator on non-Windows platforms.
mysql-test/mysql-test-run.pl:
  Remove unnecessary use of the separator.
2009-09-29 11:11:46 -03:00
1eef766534 Additional Fix for BUG#44030 - Error: (1500) Couldn't read the MAX(ID) autoinc
value from the index (PRIMARY)


With the fix for BUG#46760, we correctly flag the presence of row_type 
only when it's actually changed and enables the FAST ALTER TABLE which was
disabled with the BUG#39200.

So the changes made by BUG#46760 makes MySQL data dictionaries to be out of 
sync but they are handled already by InnoDB with this BUG#44030.

The test was originally written to handle this but we requested Innodb to
update the test as the data dictionaries were in sync after the fix for 
BUG#39200.

Adjusting the innodb-autoinc testcase as mentioned in the comments.

mysql-test/lib/mtr_cases.pm:
  Re-enable the innodb-autoinc test case for plugin as we have a common
  result file.
mysql-test/r/innodb-autoinc.result:
  Additional Fix for BUG#44030 - Error: (1500) Couldn't read the MAX(ID) autoinc 
                                 value from the index (PRIMARY)
  
  Adjust the innodb-autoinc testcase as the patch for BUG#46760 enables the 
  FAST ALTER TABLE and makes the data dictonaries go out of sync. This is 
  expected in the testcase.
mysql-test/t/innodb-autoinc.test:
  Additional Fix for BUG#44030 - Error: (1500) Couldn't read the MAX(ID) autoinc 
                                 value from the index (PRIMARY)
  
  Adjust the innodb-autoinc testcase as the patch for BUG#46760 enables the 
  FAST ALTER TABLE and makes the data dictonaries go out of sync. This is 
  expected in the testcase.
2009-09-23 17:42:12 +05:30
4ac694822b automerge 2009-09-18 16:35:40 +03:00
7cf8f7a4bb Applying InnoDB snapshot 5.1-ss5282, Fixes BUG#44030
1. Fixes BUG#44030 - Error: (1500) Couldn't read the MAX(ID) autoinc value 
                     from the index (PRIMARY)

2. Disables the innodb-autoinc test for innodb plugin temporarily.
   The testcase for this bug has different result file for InnoDB plugin.
   Should add the testcase to Innodb suite with a different result file.

Detailed revision comments:

r5243 | sunny | 2009-06-04 03:17:14 +0300 (Thu, 04 Jun 2009) | 14 lines
branches/5.1: When the InnoDB and MySQL data dictionaries go out of sync, before
the bug fix we would assert on missing autoinc columns. With this fix we allow
MySQL to open the table but set the next autoinc value for the column to the
MAX value. This effectively disables the next value generation. INSERTs will
fail with a generic AUTOINC failure. However, the user should be able to
read/dump the table, set the column values explicitly, use ALTER TABLE to
set the next autoinc value and/or sync the two data dictionaries to resume
normal operations.

Fix Bug#44030 Error: (1500) Couldn't read the MAX(ID) autoinc value from the
index (PRIMARY)

rb://118

r5252 | sunny | 2009-06-04 10:16:24 +0300 (Thu, 04 Jun 2009) | 2 lines
branches/5.1: The version of the result file checked in was broken in r5243.

r5259 | vasil | 2009-06-05 10:29:16 +0300 (Fri, 05 Jun 2009) | 7 lines
branches/5.1:

Remove the word "Error" from the printout because the mysqltest suite
interprets it as an error and thus the innodb-autoinc test fails.

Approved by:	Sunny (via IM)
r5466 | vasil | 2009-07-02 10:46:45 +0300 (Thu, 02 Jul 2009) | 6 lines
branches/5.1:

Adjust the failing innodb-autoinc test to conform to the latest behavior
of the MySQL code. The idea and the comment in innodb-autoinc.test come
from Sunny.
2009-09-17 11:59:43 +05:30
29a142043e initial merge from 5.1-mtr 2009-09-04 15:20:58 +02:00
a829604260 first merge from main 2009-09-02 18:58:17 +02:00
4692054b18 merge 2009-08-18 09:40:20 +02:00
ca7bf9fad5 Bug #44222 mysql-test-run --start analyses which tests it would skip. This is redundant.
Quicker test collection and better output with --start[-dirty]
2009-08-18 09:38:18 +02:00
e5ae860e32 Bug #46755 Wrong grammar in some skip messages: Test need instead of Test needs
Fixed in two comments as well
2009-08-17 11:21:02 +02:00
3adae7f2cf Disable main.index_merge_innodb with InnoDB plugin. The test case is
not ready to run with innoplug-1.0.4.
2009-08-12 17:46:12 +05:00
7fa1449eac InnoDB plugin is built-in: remove test code which depended on the plugin property
mysql-test/lib/mtr_cases.pm:
  there is only one InnoDB in this tree, no need to run an InnoDB test twice
mysql-test/suite/innodb/include/have_innodb_plugin.inc:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb-analyze.test:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb-timeout.test:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb-use-sys-malloc.test:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb-zip.test:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb_bug36169.test:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb_bug36172.test:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb_file_format.test:
  plugin is now the builtin
mysql-test/suite/innodb/t/innodb_information_schema.test:
  plugin is now the builtin
storage/innodb_plugin/plug.in:
  build libinnobase.a, to have it built-in
2009-08-05 12:07:41 +02:00
bae6276d45 Update to innoplug-1.0.4. 2009-07-30 17:42:56 +05:00
058cd62565 Merge 5.1-bugteam -> 5.1-innodb_plugin. 2009-07-14 15:06:04 +05:00
9f78d5857c Expanded list of directories to seach for InnoDB plugin. With
this fix it is possible to test InnoDB plugin from binary
distribution. As well as on pb.
2009-06-25 14:34:37 +05:00
b4ac7f8c15 This patch implements testing InnoDB plugin milestone.
mysql-test/lib/mtr_cases.pm:
  Expand test cases list with test cases to test
  InnoDB plugin.
mysql-test/mysql-test-run.pl:
  Added "innodb" suite to default list of suites.
mysql-test/suite/innodb/include/have_innodb_plugin.inc:
  This file determines if innodb plugin is available.
mysql-test/suite/innodb/my.cnf:
  Removed temporary my.cnf, which was added for testing. Not
  needed anymore - options are substituted by mtr.
mysql-test/suite/innodb/t/innodb-analyze.test:
  This test can only be run with InnoDB plugin.
mysql-test/suite/innodb/t/innodb-timeout.test:
  This test can only be run with InnoDB plugin.
mysql-test/suite/innodb/t/innodb-use-sys-malloc-master.opt:
  Use "loose" prefix with mysqld options. This makes this
  test skipped properly when no innodb is available.
mysql-test/suite/innodb/t/innodb-use-sys-malloc.test:
  This test can only be run with InnoDB plugin.
mysql-test/suite/innodb/t/innodb-zip.test:
  This test can only be run with InnoDB plugin.
mysql-test/suite/innodb/t/innodb_bug36169.test:
  This test can only be run with InnoDB plugin.
mysql-test/suite/innodb/t/innodb_bug36172.test:
  This test can only be run with InnoDB plugin.
mysql-test/suite/innodb/t/innodb_information_schema.test:
  This test can only be run with InnoDB plugin.
2009-06-24 22:18:58 +05:00
d7d3c56aee merge from 5.1-mtr 2009-05-25 22:58:31 +02:00
baeac87623 Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors
Fix bug in mtr_cases.pm script visible only when InnoDB isn't configured.

mysql-test/lib/mtr_cases.pm:
  If InnoDB isn't configured the help texts won't show the "innodb" option and mysqld_variables will not contain any "innodb" entry.
2009-05-17 22:16:21 +02:00
afee63222a Bug#19027 MySQL 5.0 starts even with Fatal InnoDB errors
It is not possible to prevent the server from starting if a mandatory
built-in plugin fails to start. This can in some cases lead to data
corruption when the old table name space suddenly is used by a different
storage engine.

A boolean command line option in the form of --foobar is automatically
created for every existing plugin "foobar". By changing this command line
option from a boolean to a tristate { OFF, ON, FORCE } it is possible to
specify the plugin loading policy for each plugin.

The behavior is specified as follows:
   OFF   = Disable the plugin and start the server
   ON    = Enable the plugin and start the server even if an error occurrs
           during plugin initialization.
   FORCE = Enable the plugin but don't start the server if an error occurrs
           during plugin initialization.


mysql-test/lib/mtr_cases.pm:
  * Changed --<pluginname> from a boolean to a tristate.
mysys/my_getopt.c:
  * Changed --<pluginname> from boolean to tristate. Optional arguments
    must still work for tristates. It is praxis that disable means value 0
    and enable is value 1. Since plugin name is the only tristate with
    optional arguments this principle will still hold.
sql/sql_plugin.cc:
  * Changed --<pluginname> option from a boolean type to a tristate.
    - FORCE will now terminate the server if the plugin fails to
      initialize properly.
  * Refactored prototypes for test_plugin_options() and construct_options()
    to get rid of the 'enable' value pointer.
  * Cleaned up code related to option name constructing.
  * Added documentation
sql/sql_plugin.h:
  * Introduced new member to st_plugin_int structure.
2009-05-14 14:03:33 +02:00
2f9155296d Bug #42988 MTR2's --help output does not document --parallel
Several options were not documented
Added missing options and removed a few
Fixed use of --skip-combinations
2009-05-12 14:53:46 +02:00
fd6beee8d7 Bug #42807 MTR: './mtr somesuite.sometest' fails if somesuite is not in DEFAULT_SUITES
If suite specified as part of test name, collect from that suite too.
2009-03-27 11:25:24 +01:00