Commit 9e1565e3 authored by brian@zim.(none)'s avatar brian@zim.(none)

Merge piggy:/home/brian/mysql-5.1-arch

into  zim.(none):/home/brian/mysql/pread-archive-5.1
parents 88719428 414da94c
...@@ -991,7 +991,6 @@ int ha_archive::rnd_init(bool scan) ...@@ -991,7 +991,6 @@ int ha_archive::rnd_init(bool scan)
/* We rewind the file so that we can read from the beginning if scan */ /* We rewind the file so that we can read from the beginning if scan */
if (scan) if (scan)
{ {
scan_rows= share->rows_recorded;
DBUG_PRINT("info", ("archive will retrieve %llu rows", DBUG_PRINT("info", ("archive will retrieve %llu rows",
(unsigned long long) scan_rows)); (unsigned long long) scan_rows));
stats.records= 0; stats.records= 0;
...@@ -1000,17 +999,18 @@ int ha_archive::rnd_init(bool scan) ...@@ -1000,17 +999,18 @@ int ha_archive::rnd_init(bool scan)
If dirty, we lock, and then reset/flush the data. If dirty, we lock, and then reset/flush the data.
I found that just calling azflush() doesn't always work. I found that just calling azflush() doesn't always work.
*/ */
pthread_mutex_lock(&share->mutex);
scan_rows= share->rows_recorded;
if (share->dirty == TRUE) if (share->dirty == TRUE)
{ {
pthread_mutex_lock(&share->mutex);
if (share->dirty == TRUE) if (share->dirty == TRUE)
{ {
DBUG_PRINT("ha_archive", ("archive flushing out rows for scan")); DBUG_PRINT("ha_archive", ("archive flushing out rows for scan"));
azflush(&(share->archive_write), Z_SYNC_FLUSH); azflush(&(share->archive_write), Z_SYNC_FLUSH);
share->dirty= FALSE; share->dirty= FALSE;
} }
pthread_mutex_unlock(&share->mutex);
} }
pthread_mutex_unlock(&share->mutex);
if (read_data_header(&archive)) if (read_data_header(&archive))
DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE); DBUG_RETURN(HA_ERR_CRASHED_ON_USAGE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment