diff options
author | unknown <heikki@donna.mysql.fi> | 2001-04-06 20:37:31 +0300 |
---|---|---|
committer | unknown <heikki@donna.mysql.fi> | 2001-04-06 20:37:31 +0300 |
commit | a9c32293404dfa5daafe69f1c2b6745825eff5a5 (patch) | |
tree | 2ea76af015747f83b5e9eba769ceccd905e2f9cc /sql | |
parent | efc74d1b22b4ba54fedcd10cad21c6bf67340d3c (diff) | |
download | mariadb-git-a9c32293404dfa5daafe69f1c2b6745825eff5a5.tar.gz |
univ.i Prevent inlining of functions on HP-UX because GCC is broken there
configure.in Prevent inlining of functions on HP-UX because GCC is broken there
trx0trx.h Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t
trx0trx.c Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t
ha_innobase.cc Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t
sql/ha_innobase.cc:
Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t
innobase/trx/trx0trx.c:
Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t
innobase/include/trx0trx.h:
Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t
innobase/configure.in:
Prevent inlining of functions on HP-UX because GCC is broken there
innobase/include/univ.i:
Prevent inlining of functions on HP-UX because GCC is broken there
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql')
-rw-r--r-- | sql/ha_innobase.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sql/ha_innobase.cc b/sql/ha_innobase.cc index 0debae9a797..62fa6627ae8 100644 --- a/sql/ha_innobase.cc +++ b/sql/ha_innobase.cc @@ -2575,10 +2575,16 @@ ha_innobase::info( } } + /* The trx struct in Innobase contains a pthread mutex embedded: + in the debug version of MySQL that it replaced by a 'safe mutex' + which is of a different size. We have to use a function to access + trx fields. Otherwise trx->error_info will be a random + pointer and cause a seg fault. */ + if (flag & HA_STATUS_ERRKEY) { errkey = (unsigned int) row_get_mysql_key_number_for_index( - (dict_index_t*) - prebuilt->trx->error_info); + (dict_index_t*) + trx_get_error_info(prebuilt->trx)); } DBUG_VOID_RETURN; |