Commit graph

59314 commits

Author SHA1 Message Date
Alexander Ivanov
f7526c063e MWL#36: Add a mysqlbinlog option to change the used database.
Merge from trunk.
2009-10-16 19:08:24 +04:00
Alexander Ivanov
56af9edf1a MWL#36: Add a mysqlbinlog option to change the used database.
Add test-suite.
2009-10-16 18:22:56 +04:00
Alexander Ivanov
c26749b45d MWL#36: Add a mysqlbinlog option to change the used database.
Add --rewrite-db option to mysqlbinlog.
2009-10-16 18:04:12 +04:00
Alexander Ivanov
c12c675d36 MWL#36: Add a mysqlbinlog option to change the used database.
Add Rpl_filter to mysqlbinlog.cc
Note. Though within MWL#36 we are going to use only two Rpl_filter's
      methods (add_db_rewrite and get_rewrite_db), we look forward for
      MWL#40 where Rpl_filter is likely to be used to its more extent.
Note. Within MWL#36 we will not use Rpl_filter for supporting --database
      option: this option allows to specify only one database what
      doesn't correlate with Rpl_filter::add_do_db() (using this method
      will either appear "artificial" or require changing --database
      semantics). To be discussed within MWL#40.
To add Rpl_filter we need:
1. include sql_string.h
   There are two instances of sql_string.* files - in sql and in client
   directories. We need to use the ones from the sql dir.
2. include sql_list.h
   This requires to define a client version of sql_alloc() function.
3. include rpl_filter.h
   This requires a definition of system_charset_info variable.
   Besides, Rpl_filter::tables_ok() refers to a TABLE_LIST structure which
   encounts deep non-client dependencies and can't be used here as is. On
   the other hand, tables_ok() make use only few TABLE_LIST's members and
   none of them depends on specific server context. This allows to redefine
   TABLE_LIST in a client context so that tables_ok() becomes admissible
   (surely it's a kind of hack but (at least currently) it's better than
   #ifndef'ing this method in Rpl_filter definition).
Also add Rpl_filter::rewrite_db_is_empty() method. This is needed to be
able to check that --rewrite-db is not used jointly with --base64-output=
always (this is not supported - at least currently).
2009-10-16 17:28:13 +04:00
Alexander Ivanov
ef5874d154 MWL#36: Add a mysqlbinlog option to change the used database.
Add rewrite_db() member to the Table_map_log_event class.
Each RBR-event in binary log is preceded by a Table_map event
containing a (db_id, db_name) pair. The rewrite_db(new_name)
function replaces db_name by new_name in a buffer containing
Table_map event read from the binary log.
2009-10-16 15:58:16 +04:00
Alexander Ivanov
6bc7eab161 MWL#36: Add a mysqlbinlog option to change the used database.
Make sql_alloc() declaration "public" for a client context.
The reason is that sql_alloc() is used in definition of some common
purpose stuff (e.g. sql_list.*). To make this stuff available for a
client context we declare sql_alloc() as a "virtual function", i.e.
as a function that is already declared but must be defined in this
context (note that definition of sql_alloc() in thr_malloc.cc is
#ifndef'ed for MYSQL_CLIENT).
Also make sql_string.h repeatedly includable.
2009-10-16 15:20:09 +04:00
Michael Widenius
75a949fb41 Automatic merge with 5.1-merge 2009-10-14 11:09:56 +03:00
Michael Widenius
fb146de092 Removed not used declarations 2009-10-13 19:57:36 +03:00
Michael Widenius
c13f68fa14 Force restart before maria_showlog_error to get rid of status from previous connections
This fixes a race condition in the test system

mysql-test/include/maria_empty_logs.inc:
  Added comment
mysql-test/include/wait_for_status_var.inc:
  Fixed type in variable name. Add ' around variables for better error message
mysql-test/mysql-test-run.pl:
  Remove -skip-falcon (not to be used), add skip-pbxt to bootstrap
mysql-test/suite/maria/t/maria_showlog_error-master.opt:
  Force restart before maria_showlog_error to get rid of status from previous connection
2009-10-13 15:47:17 +03:00
Sergey Petrunya
9f3a7c30e2 Cosmetic fixes to win/make_mariadb_win_dist 2009-10-12 20:50:20 +04:00
Sergey Petrunya
3ce0def211 Fix typo bug in make_mariadb_win_dist 2009-10-12 17:14:31 +04:00
Sergey Petrunya
870900c9c0 Fix win32 binary zipfile name and contents to match the usual expectations 2009-10-12 15:26:48 +04:00
Sergey Petrunya
17494737bd Fix typo bug, s/$ZIPFILE/$ZIPNAME/ 2009-10-12 13:03:53 +04:00
Sergey Petrunya
6ccdfa3d18 Remove leftover "echo" 2009-10-12 11:15:23 +04:00
Sergey Petrunya
14715cc177 Make devenv print the build log to stdout (otherwise buildbot times out
while waiting for output): attempt 2
2009-10-12 00:25:08 +04:00
Sergey Petrunya
f9f6d2a468 Make devenv print the build log to stdout (otherwise buildbot times out
while waiting for output)
2009-10-11 23:27:24 +04:00
unknown
16e7757e74 Modify the test-bt target for OurDelta packaging.
Remove the run of the parts suite (as it is now included in default list of suite).
Add run of PBXT.
2009-10-11 17:38:37 +02:00
Sergey Petrunya
f6f164d04a Add win/make_mariadb_win_dist which is to be used to make windows
binary distribution zips.
2009-10-11 14:21:49 +04:00
unknown
bee8d96079 Fix test failures in variables-big in --embedded.
Problem was the use of SHOW PROCESSLIST. This is not fully functional in
embedded server, STATE is hardcoded to "Writing to net".

Fixed using --replace_result for STATE.
2009-10-11 11:36:10 +02:00
unknown
082898f9aa Bug#37635: Test read_many_rows_innodb is failing w/ wrong error message (lock_wait_timeout)
The test is supposed to provoke a deadlock, to test a crash of the server in
some deadlock scenarios.

The problem is that in recent version of MySQL, no deadlock occurs. It is not
clear why a deadlock should be expected. One transaction does an insert+delete
on primary key value 1 in table t2. The other transaction does an insert on
primary key value 123. There seems no reason that these should conflict, so
there is no deadlock.

(Presumably an earlier version did get a deadlock due to maybe taking excessive
locks on the insert+delete of primary key value 1. The table has only one row,
so maybe a different locking was used ("Impossible WHERE noticed after reading
const tables"))

Fix is to have transaction 1 lock PK 1 and transaction 2 lock PK 123. Then have
transaction 2 access PK 1 (wait) and transaction 1 access PK 123 (deadlock).

It has been checked that this modified test case still crashes the server in
the same way prior to fix of the original bug (Bug#24989).


mysql-test/include/read_many_rows.inc:
  Provoke deadlock on same PK value in the two transactions to ensure that the
  deadlock does occur independently on whatever execution plan is chosen.
mysql-test/r/read_many_rows_innodb.result:
  Result file update.
2009-10-11 11:06:55 +02:00
unknown
314ac2a0ab Fix failures in the funcs_1 test suite.
Some result updates necessary due to extra tables and columns added in
information_schema in MariaDB (XtraDB, PBXT, microsec_process).

Also fix bad merge of two result files; apparently the test case was merged,
but the result file was not.

mysql-test/suite/funcs_1/datadict/processlist_priv.inc:
  Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/datadict/processlist_val.inc:
  Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/r/is_columns_is.result:
  Handle new tables in information_schema.
mysql-test/suite/funcs_1/r/is_tables_is.result:
  Handle new tables in information_schema.
mysql-test/suite/funcs_1/r/is_tables_myisam.result:
  Fix previous bad merge; apparently this file was not merged along with test changes.
mysql-test/suite/funcs_1/r/processlist_priv_no_prot.result:
  Handle the new TIME_MS column in information_schema.processlist.
mysql-test/suite/funcs_1/r/processlist_val_no_prot.result:
  Fix previous bad merge; apparently this file was not merged along with test changes.
  Also handle the new TIME_MS column in INFORMATION_SCHEMA.PROCESSLIST.
mysql-test/suite/funcs_1/t/is_columns_is.test:
  Since result file includes PBXT information_schema tables, we need PBXT to run this test.
2009-10-10 11:59:06 +02:00
unknown
b27fdb26b2 Fix many test failures in parts test suite with --embedded-server.
Fix some connect options to work with embedded.

Disable in --embedded tests that rely on connecting to mysqld externally by
spawning mysqltest.

Disable in --embedded tests that rely on the mysqltest --list_files command,
which does not seem to work properly in --embedded.

mysql-test/suite/parts/t/partition_alter1_1_2_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_2_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_1_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_2_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter1_2_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_maria.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_1_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_maria.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter2_2_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter3_innodb.test:
  Disable in --embedded tests that rely on the mysqltest --list_files command,
  which does not seem to work properly in --embedded.
mysql-test/suite/parts/t/partition_alter3_myisam.test:
  Disable in --embedded tests that rely on the mysqltest --list_files command,
  which does not seem to work properly in --embedded.
mysql-test/suite/parts/t/partition_alter4_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_alter4_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_basic_symlink_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_engine_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_engine_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_special_innodb.test:
  Fix some connect options to work with embedded.
mysql-test/suite/parts/t/partition_syntax_innodb.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
mysql-test/suite/parts/t/partition_syntax_myisam.test:
  Disable in --embedded tests that rely on connecting to mysqld externally by
  spawning mysqltest.
2009-10-09 15:08:09 +02:00
unknown
698cebb677 Merge Sanja's fix of BUG#39249 into MariaDB 5.1.38 release clone. 2009-10-09 12:18:49 +02:00
unknown
e702b70d67 Implement mysqltest --enable_prepare_warnings to properly fix some test failures.
The --enable_prepare_warnings allows to not discard warnings from autorepair
of crashed table in --ps-protocol mode.

Use this to properly fix the parts.partition_recover_myisam and
maria.maria-recover tests.

Add a test case for the new feature. This also adds missing test coverage
for the case where the same warning is thrown in both prepare and execute
phase.


client/mysqltest.cc:
  Implement new commands --enable-prepare_warnings and --disable_prepare_warnings.
mysql-test/r/mysqltest_ps.result:
  Add test case for new --enable_prepare_warning mysqltest command.
mysql-test/suite/maria/t/maria-recover.test:
  Better fix of test case using new --enable_prepare_warnings command.
mysql-test/suite/parts/t/partition_recover_myisam.test:
  Fix test failure in --ps-protocol mode.
mysql-test/t/mysqltest_ps.test:
  Add test case for new --enable_prepare_warning mysqltest command.
2009-10-09 10:09:24 +02:00
Sergey Petrunya
fcb97aa7af Fix make_win_bin_dist:
- Include maria_chk and other maria binaries
- Include sql/$TARGET/mysqld.lib, like mainline does (but what is that useful for?)
- Don't include my_safe_{process,kill} garbage.
- call '/bin/find', not just 'find' is that is some incompatible windows command.
2009-10-09 01:01:03 +04:00
Sergey Petrunya
87de323cb4 Include configure-mariadb.sh in source tarball 2009-10-08 23:11:48 +04:00
Sergey Petrunya
2433da4718 Added win/configure-mariadb.sh - the standard way to configure on Windows. 2009-10-08 23:04:12 +04:00
unknown
0d827917be Revert change of package name in configure.in, as it breaks too much stuff. 2009-10-08 11:43:31 +02:00
unknown
ece15c313a Merge. 2009-10-08 00:59:07 +02:00
unknown
68602b939b Fixes for package name change mysql -> mariadb.
- Don't need any m1 prefix for the first release based on given MySQL
   version number.

 - Fix mysql-test-run to understand that some stuff is installed under
   share/mariadb rather than share/mysql.
2009-10-08 00:57:43 +02:00
Sergey Petrunya
538d689f11 MBUG#442254: mysql-test-run --embedded fails on Windows with: ERROR: .opt file references 'EXAMPLE_PLUGIN_OPT'
- Fix suggested by Kristian on review: ignore the test using mtr's facilities
2009-10-08 01:29:04 +04:00
Sergey Petrunya
d1d978ddc4 Fix win/configure.js: now configure.in has AM_INIT_AUTOMAKE(mariadb, ...)
- Part 2. make it really work.
2009-10-08 01:00:29 +04:00
Sergey Petrunya
56841aced4 Fix win/configure.js: now configure.in has AM_INIT_AUTOMAKE(mariadb, ...) 2009-10-07 21:26:36 +04:00
Sergey Petrunya
9d58141cdc Fix pbxt test suite failures:
- Update EXPLAIN results after table elimination
- mysqlslap now specifies 'Engine=' in CREATE TABLE instead of using 
  SET storage_engine=...
- For some reason, mysqltest logs "connect" command differently when PBXT
  is the default storage engine. This is probably a bug in mysqltest which
  we can't be bothered to investigate at the moment, so add --replace

mysql-test/suite/pbxt/r/connect.result:
  Fix pbxt test suite failures:
  - For some reason, mysqltest logs "connect" command differently when PBXT
    is the default storage engine. This is probably a bug in mysqltest which
    we can't be bothered to investigate at the moment, so add --replace
mysql-test/suite/pbxt/r/mysqlslap.result:
  Fix pbxt test suite failures:
  - mysqlslap now specifies 'Engine=' in CREATE TABLE instead of using 
    SET storage_engine=...
mysql-test/suite/pbxt/r/ps_11bugs.result:
  Fix pbxt test suite failures:
  - Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/r/select.result:
  Fix pbxt test suite failures:
  - Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/r/union.result:
  Fix pbxt test suite failures:
  - Update EXPLAIN results after table elimination
mysql-test/suite/pbxt/t/connect.test:
  Fix pbxt test suite failures:
  - For some reason, mysqltest logs "connect" command differently when PBXT
    is the default storage engine. This is probably a bug in mysqltest which
    we can't be bothered to investigate at the moment, so add --replace
2009-10-07 20:56:11 +04:00
unknown
fd3333c18b Merge Arjen's fix for new slow log functionality. 2009-10-07 15:15:59 +02:00
Arjen Lentz
49e212374e Fix log_slow_filter/log_slow_verbosity code typos (Monty?) 2009-10-07 23:07:10 +10:00
unknown
e244cdaf0c Change naming of our package to mariadb rather than mysql. 2009-10-07 13:48:58 +02:00
unknown
99ff6ada7b comment added 2009-10-07 13:02:43 +03:00
unknown
ed40801d9d Fix test case partition_recover_myisam for --embedded-server. 2009-10-07 09:57:48 +02:00
unknown
eebb0da333 Add missing PBXT windows file to make dist. 2009-10-07 09:40:56 +02:00
unknown
8ea19fa73e Merge a bunch of small fixes from release tree into main lp:maria. 2009-10-06 20:37:55 +02:00
unknown
3bc025506b Fix make dist after CMakeLists.txt rename in previous push. 2009-10-06 20:26:11 +02:00
unknown
228ee84ed3 Fix events_time_zone.test to be skipped for embedded (no event scheduler in embedded server) 2009-10-06 20:15:09 +02:00
unknown
445ad6bd37 Merge fixes for --big tests and compiler warnings. 2009-10-06 20:05:49 +02:00
Sergey Petrunya
1d6e50c6d6 Fix PBXT build on windows by backporting some of their changes (under advise of Vlad Kolesnikov):
- Adjust CMakeLists.txt to follow latest mysql's expectations about plugins
- Add typecasts
- wrap pbms_enabled.cc in #ifdef
2009-10-06 19:16:01 +04:00
unknown
d8049a62ff merge 2009-10-06 17:53:46 +03:00
unknown
5c7232af15 Make sure that partition tests are included in mysql-test-run by default. 2009-10-06 16:02:53 +02:00
unknown
09ab8f348f Fix test failures in innodb-index and partition_special_*:
- innodb-index needs regexp replace for embedded like other similar tests.

 - partitions_special_* need to be modified for the extension from 16 to 32
   max key parts allowed that was made in MariaDB.
2009-10-06 13:39:57 +02:00
unknown
0c0e1f2e35 BUG#39249 Maria:query cache returns out of date results
BUG#41098 Query Cache returns wrong result with concurent insert

BUILD/SETUP.sh:
  test build without query cache setup
BUILD/compile-pentium-debug-max-no-qc:
  test build without query cache
sql/mysql_priv.h:
  removed double declaration
storage/maria/ha_maria.cc:
  query cache invalidation fixed
storage/maria/ma_state.c:
  query cache invalidation fixed
storage/maria/maria_def.h:
  last transaction ID added
  invalidation fixed
storage/myisam/ha_myisam.cc:
  invalidation fixed
storage/myisam/mi_locking.c:
  invalidation fixed
storage/myisam/myisamdef.h:
  invalidation fixed
2009-10-06 09:57:22 +03:00
unknown
8a970cb076 Fix broken --vs-config option of mysql-test-run.pl. 2009-10-06 08:46:45 +02:00