Now the actual binlog position for each commit is stored in THD, and XtraDB
can fetch the correct value from within commit_ordered() or commit().
mysql-test/r/group_commit_binlog_pos.result:
Test case for XtraDB binlog position.
mysql-test/t/group_commit_binlog_pos-master.opt:
Test case for XtraDB binlog position.
mysql-test/t/group_commit_binlog_pos.test:
Test case for XtraDB binlog position.
sql/log.cc:
Save binlog position corresponding to commit in THD, and make accessible to storage engine.
sql/sql_parse.cc:
Add generic crash point for use in test cases.
storage/xtradb/handler/ha_innodb.cc:
Update to use new method of getting current binlog position that works with group commit.
storage/xtradb/handler/ha_innodb.h:
Update to use new method of getting current binlog position that works with group commit.
Tweak the commit_ordered() semantics. Now it is only called for transactions
that go through 2-phase commit. This avoids forcing engines to make commits
visible before they are durable.
Also take LOCK_commit_ordered() around START TRANSACTION WITH CONSISTENT
SNAPSHOT, to get a truly consistent snapshot.
Added --strace support to mysql-test-run
mysql-test/mysql-test-run.pl:
Added support for --strace (usefull for example to check how much memory mysqld was using)
mysql-test/suite/funcs_1/t/is_engines_innodb.test:
Fixed test case to also work with xtradb
mysql-test/suite/innodb_plugin/t/innodb.test:
Don't run if we don't have the used character sets.
mysql-test/suite/innodb_plugin/t/innodb_mysql.test:
Don't run if we don't have the used character sets.
sql/sql_show.cc:
Extended comment to 160 characters to get full comment from xtradb
storage/xtradb/handler/ha_innodb.cc:
Fixed valgrind warning.
If one compiles innodb_plugin, then the tests in suite/innodb_plugin will use the plugin. If not and xtradb is used, the tests will use xtradb.
mysql-test/include/have_innodb_plugin.inc:
Test both for innodb_plugin and xtradb
mysql-test/include/have_real_innodb_plugin.inc:
Test if we are using innodb_plugin (but not xtradb)
mysql-test/include/have_xtradb.inc:
Test if xtradb is used
mysql-test/lib/mtr_cases.pm:
Enable easy testing of innodb_plugin
mysql-test/mysql-test-run.pl:
Added supression for difference between xtradb & innodb_plugin
mysql-test/suite/innodb_plugin/r/innodb-index-ip.result:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/r/innodb-index-xb.result:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/r/innodb-index.result:
Move tests away that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/r/innodb-ip.result:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/r/innodb-xb.result:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/r/innodb.result:
Move tests away that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/r/innodb_bug21704-xb.result:
Test result differ for xtradb
mysql-test/suite/innodb_plugin/r/innodb_bug46000.result:
Remove (not needed) error message not given by MariaDB
mysql-test/suite/innodb_plugin/r/innodb_bug49164-xb.result:
Test result differs for xtradb
mysql-test/suite/innodb_plugin/r/innodb_bug49164.result:
Update results
mysql-test/suite/innodb_plugin/r/innodb_bug53591.result:
Remove (not needed) error message not given by MariaDB
mysql-test/suite/innodb_plugin/r/innodb_bug54679.result:
Updated result file
mysql-test/suite/innodb_plugin/r/innodb_mysql.result:
Updated result file
mysql-test/suite/innodb_plugin/t/disabled.def:
Disable some tests that depends on newer version of XtraDB
mysql-test/suite/innodb_plugin/t/innodb-index-ip.test:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/t/innodb-index-xb.test:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/t/innodb-index.test:
Move tests away that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/t/innodb-ip.test:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/t/innodb-xb.test:
Tests from innodb-index that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/t/innodb.test:
Move tests away that gave different results for innodb_plugin and xtradb
mysql-test/suite/innodb_plugin/t/innodb_bug21704-xb.test:
Test result differ for xtradb
mysql-test/suite/innodb_plugin/t/innodb_bug21704.test:
Test result differ for xtradb
mysql-test/suite/innodb_plugin/t/innodb_bug53591.test:
Test results only makes sence for innodb_plugin (things works ok for xtradb)
sql/sql_table.cc:
Don't set HA_CREATE_USED_ROW_FORMAT for create table (only for update_create_info) if ROW_FORMAT is not used.
storage/innodb_plugin/handler/ha_innodb.cc:
Fixed wrong error message from innodb.
This is needed as MariaDB properly handles errors from ha_index_init()
storage/xtradb/handler/ha_innodb.cc:
Update base information for XtraDB so that one can use informationschema.plugins to check if one is using XtraDB
storage/federated/Makefile.am:
federated needs functions from mysys/string.c.
mysqld does not use them, so they don't get into the binary.
storage/federated/plug.in:
enable federated again.
remove it from all configurations.
storage/federatedx/Makefile.am:
federatedx is now called federatedx in configure
storage/federatedx/ha_federatedx.cc:
federatedx is now called federatedx in configure
storage/federatedx/plug.in:
federatedx is now called federatedx in configure
storage/innodb_plugin/plug.in:
enable innodb plugin again.
remove it from all configurations.
storage/xtradb/CMakeLists.txt:
xtradb is now called xtradb in configure,
and builds libxtradb.a and ha_xtradb.so
storage/xtradb/Makefile.am:
xtradb is now called xtradb in configure,
and builds libxtradb.a and ha_xtradb.so
storage/xtradb/handler/ha_innodb.cc:
xtradb is now called xtradb in configure,
and builds libxtradb.a and ha_xtradb.so
storage/xtradb/plug.in:
xtradb is now called xtradb in configure,
and builds libxtradb.a and ha_xtradb.so
Fix wrong cast of time()
include/my_pthread.h:
Safety fix that also removes compiler warnings
sql/handler.h:
Changed timestamp columns to be of type time_t
storage/maria/ma_check.c:
Removed wrong cast
storage/maria/ma_create.c:
Removed wrong cast
storage/myisam/mi_check.c:
Removed wrong cast
storage/myisam/mi_create.c:
Removed wrong cast
storage/xtradb/handler/ha_innodb.cc:
Removed compiler warning on windows
- Moved some code from innodb_plugin to xtradb, to ensure that all tests runs
- Did changes in pbxt and maria storage engines becasue of changes in thd->query
- Reverted wrong code in sql_table.cc for how ROW_FORMAT is used.
This is a re-commit of Monty's merge to eliminate an extra commit from
MySQL-5.1.42 that was accidentally included in the merge.
This is a merge of the MySQL 5.1.41 clone-off (clone-5.1.41-build). In
case there are any extra changes done before final MySQL 5.1.41
release, these will need to be merged later before MariaDB 5.1.41
release.
Manually merge some InnoDB changes into XtraDB.
Fix ALTER TABLE bug in XtraDB with wrong comparison of row type.
mysql-test/include/varchar.inc:
Fix in test case that which of several duplicate keys triggers an error is not
deterministic.
mysql-test/mysql-test-run.pl:
InnoDB does not bother to free resources individually during shutdown, but due to using
its own memory tracking it nevertheless can free everything at exit. But XtraDB adds an
option, on by default, to skip this extra tracking. This causes lots of Valgrind
warnings, so needs to be disabled for Valgrind testing.
mysql-test/r/innodb.result:
Fix in test case that which of several duplicate keys triggers an error is not
deterministic.
mysql-test/t/innodb-use-sys-malloc.test:
InnoDB does not bother to free resources individually during shutdown, but due to using
its own memory tracking it nevertheless can free everything at exit. But XtraDB adds an
option, on by default, to skip this extra tracking. This causes lots of Valgrind
warnings, so needs to be disabled for Valgrind testing.
sql/sql_table.cc:
Add some useful DBUG while debugging alter table.
storage/xtradb/handler/ha_innodb.cc:
Fix that check_if_incompatible_data did not realise that ROW_TYPE_DEFAULT is identical
to the default row format ROW_TYPE_COMPACT, causing excessive table copying in
ALTER TABLE
Add some useful DBUG while debugging alter table.
Manually merge into XtraDB a few small changes for InnoDB from upstream MySQL.
storage/xtradb/include/pars0pars.h:
Manually merge into XtraDB a few small changes for InnoDB from upstream MySQL.
storage/xtradb/include/univ.i:
Manually merge a MariaDB fix in InnoDB into XtraDB.
include/my_sys.h:
Move generic file parsing functions out to shared code, as they are used in several places.
mysys/mf_iocache2.c:
Move generic file parsing functions out to shared code, as they are used in several places.
sql/log_event.cc:
Fix XtraDB build with embedded server.
XtraDB needs access to replication stuff, which is missing in embedded server.
Solved by defining wrapper function for this which is compiled differently for normal and
embedded case.
sql/log_event.h:
Fix XtraDB build with embedded server.
XtraDB needs access to replication stuff, which is missing in embedded server.
Solved by defining wrapper function for this which is compiled differently for normal and
embedded case.
sql/slave.cc:
Move generic file parsing functions out to shared code, as they are used in several places.
.bzrignore:
XtraDB compiles innodb in storage/xtradb instead of storage/innobase
CMakeLists.txt:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
libmysqld/CMakeLists.txt:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/innobase/plug.in.disabled:
Disable building old InnoDB from storage/innobase/ directory.
We will keep the files around to avoid getting merge conflicts for every MySQL upstream
change to InnoDB.
storage/xtradb/CMakeLists.txt:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/COPYING:
Remove not needed file from XtraDB.
storage/xtradb/Makefile.am:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/Makefile.in:
Remove not needed file from XtraDB.
storage/xtradb/handler/ha_innodb.cc:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/plug.in:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/
storage/xtradb/row/row0ins.c:
Take InnoDB code from storage/xtradb/ instead of storage/innobase/