summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <monty@hundin.mysql.fi>2002-10-31 16:43:42 +0200
committerunknown <monty@hundin.mysql.fi>2002-10-31 16:43:42 +0200
commitd19f89f9bd16b0f32dd76c09aac78d2120b0381c (patch)
tree843fc74c34ee54c14aabedabce3d1ad17883522f
parentec952f21f8a4386045f5e5ac6fe44bf856ff2738 (diff)
parent3e320066e7a9ab1e757c2e400ca60e2f4870134a (diff)
downloadmariadb-git-d19f89f9bd16b0f32dd76c09aac78d2120b0381c.tar.gz
Merge work:/my/mysql-4.0 into hundin.mysql.fi:/my/mysql-4.0
configure.in: Auto merged
-rwxr-xr-xBuild-tools/Do-compile6
-rw-r--r--configure.in2
-rw-r--r--innobase/include/srv0start.h2
-rw-r--r--innobase/srv/srv0start.c11
-rw-r--r--sql/ha_innodb.cc13
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) {