diff options
author | unknown <monty@hundin.mysql.fi> | 2002-10-31 16:43:42 +0200 |
---|---|---|
committer | unknown <monty@hundin.mysql.fi> | 2002-10-31 16:43:42 +0200 |
commit | d19f89f9bd16b0f32dd76c09aac78d2120b0381c (patch) | |
tree | 843fc74c34ee54c14aabedabce3d1ad17883522f | |
parent | ec952f21f8a4386045f5e5ac6fe44bf856ff2738 (diff) | |
parent | 3e320066e7a9ab1e757c2e400ca60e2f4870134a (diff) | |
download | mariadb-git-d19f89f9bd16b0f32dd76c09aac78d2120b0381c.tar.gz |
Merge work:/my/mysql-4.0 into hundin.mysql.fi:/my/mysql-4.0
configure.in:
Auto merged
-rwxr-xr-x | Build-tools/Do-compile | 6 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | innobase/include/srv0start.h | 2 | ||||
-rw-r--r-- | innobase/srv/srv0start.c | 11 | ||||
-rw-r--r-- | sql/ha_innodb.cc | 13 |
5 files changed, 26 insertions, 8 deletions
diff --git a/Build-tools/Do-compile b/Build-tools/Do-compile index a29bd99191d..367911bb252 100755 --- a/Build-tools/Do-compile +++ b/Build-tools/Do-compile @@ -381,13 +381,15 @@ if ($opt_stage <= 9 && !$opt_no_test) log_system("rm -f output/*"); $tmp= $opt_fast_benchmark ? "--fast --user root --small-test" : ""; check_system("perl ./run-all-tests --log --die-on-errors $connect_option $tmp","RUN-mysql"); + # Run additional fast test with dynamic-row tables + check_system("perl ./run-all-tests --log --suffix=\"_dynamic_rows\" --die-on-errors $connect_option --fast --user=root --small-test --create-options=\"row_format=dynamic\"","RUN-mysql"); if ($opt_innodb) { - check_system("perl ./run-all-tests --log --suffix=\"_innodb\" --die-on-errors $connect_option $tmp --create-option=\"type=innodb\"","RUN-mysql"); + check_system("perl ./run-all-tests --log --suffix=\"_innodb\" --die-on-errors $connect_option $tmp --create-options=\"type=innodb\"","RUN-mysql"); } if ($opt_bdb) { - check_system("perl ./run-all-tests --log --suffix=\"_bdb\" --die-on-errors $connect_option $tmp --create-option=\"type=bdb\"","RUN-mysql"); + check_system("perl ./run-all-tests --log --suffix=\"_bdb\" --die-on-errors $connect_option $tmp --create-options=\"type=bdb\"","RUN-mysql"); } } diff --git a/configure.in b/configure.in index fb98e6fc676..c1a32249fba 100644 --- a/configure.in +++ b/configure.in @@ -2417,7 +2417,7 @@ AC_OUTPUT(Makefile extra/Makefile mysys/Makefile isam/Makefile \ os2/Makefile os2/include/Makefile os2/include/sys/Makefile \ man/Makefile BUILD/Makefile readline/Makefile vio/Makefile \ libmysql_r/Makefile libmysqld/Makefile libmysqld/examples/Makefile \ - libmysql/Makefile client/Makefile os2/Makefile \ + libmysql/Makefile client/Makefile \ pstack/Makefile pstack/aout/Makefile sql/Makefile sql/share/Makefile \ merge/Makefile dbug/Makefile scripts/Makefile \ include/Makefile sql-bench/Makefile tools/Makefile \ diff --git a/innobase/include/srv0start.h b/innobase/include/srv0start.h index 646d2c1bb06..24cdecb7341 100644 --- a/innobase/include/srv0start.h +++ b/innobase/include/srv0start.h @@ -79,6 +79,8 @@ innobase_shutdown_for_mysql(void); /*=============================*/ /* out: DB_SUCCESS or error code */ +extern ulint srv_sizeof_trx_t_in_ha_innodb_cc; + extern ibool srv_startup_is_before_trx_rollback_phase; extern ibool srv_is_being_shut_down; diff --git a/innobase/srv/srv0start.c b/innobase/srv/srv0start.c index d6d610bb5b8..cad946b1e54 100644 --- a/innobase/srv/srv0start.c +++ b/innobase/srv/srv0start.c @@ -56,6 +56,8 @@ Created 2/16/1996 Heikki Tuuri #include "srv0start.h" #include "que0que.h" +ulint srv_sizeof_trx_t_in_ha_innodb_cc; + ibool srv_startup_is_before_trx_rollback_phase = FALSE; ibool srv_is_being_started = FALSE; ibool srv_was_started = FALSE; @@ -960,6 +962,15 @@ innobase_start_or_create_for_mysql(void) "InnoDB: !!!!!!!!!!!!!! UNIV_MEM_DEBUG switched on !!!!!!!!!!!!!!!\n"); #endif + if (srv_sizeof_trx_t_in_ha_innodb_cc != (ulint)sizeof(trx_t)) { + fprintf(stderr, + "InnoDB: Error: trx_t size is %lu in ha_innodb.cc but %lu in srv0start.c\n" + "InnoDB: Check that pthread_mutex_t is defined in the same way in these\n" + "InnoDB: compilation modules. Cannot continue.\n", + srv_sizeof_trx_t_in_ha_innodb_cc, (ulint)sizeof(trx_t)); + return(DB_ERROR); + } + log_do_write = TRUE; /* yydebug = TRUE; */ diff --git a/sql/ha_innodb.cc b/sql/ha_innodb.cc index 588c37e9cf3..b849bbb76b2 100644 --- a/sql/ha_innodb.cc +++ b/sql/ha_innodb.cc @@ -40,17 +40,12 @@ InnoDB */ #include "ha_innodb.h" -/* We must declare this here because we undef SAFE_MUTEX below */ pthread_mutex_t innobase_mutex; /* Store MySQL definition of 'byte': in Linux it is char while InnoDB uses unsigned char */ typedef byte mysql_byte; -#ifdef SAFE_MUTEX -#undef pthread_mutex_t -#endif - #define INSIDE_HA_INNOBASE_CC /* Include necessary InnoDB headers */ @@ -752,6 +747,14 @@ innobase_init(void) default_charset_info->sort_order, 256); } + /* Since we in this module access directly the fields of a trx + struct, and due to different headers and flags it might happen that + mutex_t has a different size in this module and in InnoDB + modules, we check at run time that the size is the same in + these compilation modules. */ + + srv_sizeof_trx_t_in_ha_innodb_cc = sizeof(trx_t); + err = innobase_start_or_create_for_mysql(); if (err != DB_SUCCESS) { |