summaryrefslogtreecommitdiff
path: root/storage/archive/ha_archive.cc
diff options
context:
space:
mode:
authorunknown <jani@a88-113-38-195.elisa-laajakaista.fi>2007-02-03 00:58:09 +0200
committerunknown <jani@a88-113-38-195.elisa-laajakaista.fi>2007-02-03 00:58:09 +0200
commit3f3d9093f9ce6152f5a018a946806c069837e219 (patch)
tree604c311840603ecece2a136bbdc86420a3ec0453 /storage/archive/ha_archive.cc
parent13390debf6aa979ca31437d687eaa9ae2740ad2f (diff)
parent6e501e6548f15d3450ffb122ba1e683f40a4c917 (diff)
downloadmariadb-git-3f3d9093f9ce6152f5a018a946806c069837e219.tar.gz
Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1 BUILD/SETUP.sh: Auto merged client/mysql.cc: Auto merged configure.in: Auto merged libmysqld/lib_sql.cc: Auto merged sql/filesort.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/handler.cc: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.cc: Auto merged sql/item_subselect.cc: Auto merged sql/item_timefunc.cc: Auto merged sql/mysql_priv.h: Auto merged sql/opt_range.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_plugin.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.cc: Auto merged storage/archive/ha_archive.cc: Auto merged plugin/daemon_example/daemon_example.cc: Merged with main 5.1 sql/mysqld.cc: Merged with main 5.1
Diffstat (limited to 'storage/archive/ha_archive.cc')
-rw-r--r--storage/archive/ha_archive.cc39
1 files changed, 20 insertions, 19 deletions
diff --git a/storage/archive/ha_archive.cc b/storage/archive/ha_archive.cc
index 4108bb32a07..bb638e1c17b 100644
--- a/storage/archive/ha_archive.cc
+++ b/storage/archive/ha_archive.cc
@@ -305,10 +305,8 @@ int ha_archive::read_data_header(azio_stream *file_to_read)
See ha_example.cc for a longer description.
*/
-ARCHIVE_SHARE *ha_archive::get_share(const char *table_name,
- TABLE *table, int *rc)
+ARCHIVE_SHARE *ha_archive::get_share(const char *table_name, int *rc)
{
- ARCHIVE_SHARE *share;
uint length;
DBUG_ENTER("ha_archive::get_share");
@@ -381,20 +379,21 @@ ARCHIVE_SHARE *ha_archive::get_share(const char *table_name,
Free the share.
See ha_example.cc for a description.
*/
-int ha_archive::free_share(ARCHIVE_SHARE *share_to_free)
+int ha_archive::free_share()
{
int rc= 0;
DBUG_ENTER("ha_archive::free_share");
- DBUG_PRINT("ha_archive", ("archive table %.*s has %d open handles on entrance",
- share_to_free->table_name_length, share_to_free->table_name,
- share_to_free->use_count));
+ DBUG_PRINT("ha_archive",
+ ("archive table %.*s has %d open handles on entrance",
+ share->table_name_length, share->table_name,
+ share->use_count));
pthread_mutex_lock(&archive_mutex);
- if (!--share_to_free->use_count)
+ if (!--share->use_count)
{
- hash_delete(&archive_open_tables, (byte*) share_to_free);
- thr_lock_delete(&share_to_free->lock);
- VOID(pthread_mutex_destroy(&share_to_free->mutex));
+ hash_delete(&archive_open_tables, (byte*) share);
+ thr_lock_delete(&share->lock);
+ VOID(pthread_mutex_destroy(&share->mutex));
/*
We need to make sure we don't reset the crashed state.
If we open a crashed file, wee need to close it as crashed unless
@@ -402,12 +401,12 @@ int ha_archive::free_share(ARCHIVE_SHARE *share_to_free)
Since we will close the data down after this, we go on and count
the flush on close;
*/
- if (share_to_free->archive_write_open)
+ if (share->archive_write_open)
{
- if (azclose(&(share_to_free->archive_write)))
+ if (azclose(&(share->archive_write)))
rc= 1;
}
- my_free((gptr) share_to_free, MYF(0));
+ my_free((gptr) share, MYF(0));
}
pthread_mutex_unlock(&archive_mutex);
@@ -462,12 +461,14 @@ int ha_archive::open(const char *name, int mode, uint open_options)
DBUG_PRINT("ha_archive", ("archive table was opened for crash: %s",
(open_options & HA_OPEN_FOR_REPAIR) ? "yes" : "no"));
- share= get_share(name, table, &rc);
+ share= get_share(name, &rc);
if (rc == HA_ERR_CRASHED_ON_USAGE && !(open_options & HA_OPEN_FOR_REPAIR))
{
- free_share(share);
+ /* purecov: begin inspected */
+ free_share();
DBUG_RETURN(rc);
+ /* purecov: end */
}
else if (rc == HA_ERR_OUT_OF_MEM)
{
@@ -482,7 +483,7 @@ int ha_archive::open(const char *name, int mode, uint open_options)
if (!record_buffer)
{
- free_share(share);
+ free_share();
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
}
@@ -535,7 +536,7 @@ int ha_archive::close(void)
if (azclose(&archive))
rc= 1;
/* then also close share */
- rc|= free_share(share);
+ rc|= free_share();
DBUG_RETURN(rc);
}
@@ -837,7 +838,7 @@ int ha_archive::write_row(byte *buf)
{
if (!memcmp(read_buf + mfield->offset(record),
table->next_number_field->ptr,
- mfield->max_length()))
+ mfield->max_display_length()))
{
rc= HA_ERR_FOUND_DUPP_KEY;
goto error;