Commit 4d1cb991 authored by unknown's avatar unknown

Fixed portability issue with comparing thread id

Fixed bug where return value 'error' was not set in case of error in pagecache
Documented the open LOAD INDEX bug


KNOWN_BUGS.txt:
  Added the problem with LOAD INDEX as a known bugs. Will fix this bug later this week
storage/maria/ma_pagecache.c:
  Fixed portability issue with comparing thread id
  Fixed bug where return value 'error' was not set in case of error
parent 0857a693
......@@ -31,7 +31,9 @@ Known bugs that are planned to be fixed before next minor release
Temporary fix is to remove or maria_log.???????? files from the data
directory, restart mysqld and run CHECK TABLE / REPAIR TABLE or
mysqlcheck on your Maria tables
- LOAD INDEX commands are for the moment ignored for Maria tables
(The code needs to be rewritten to do all reads through page cache to
avoid half-block reads)
Known bugs that are planned to be fixed before Beta
===================================================
......
......@@ -2224,7 +2224,7 @@ static my_bool get_wrlock(PAGECACHE *pagecache,
file.file, block->hash_link->file.file,
(ulong) pageno, (ulong) block->hash_link->pageno));
PCBLOCK_INFO(block);
while (block->wlocks && block->write_locker != locker)
while (block->wlocks && !pthread_equal(block->write_locker, locker))
{
/* Lock failed we will wait */
#ifdef THREAD
......@@ -3658,19 +3658,16 @@ no_key_cache:
if (offset != 0 || size != pagecache->block_size)
{
char *page_buffer= alloca(pagecache->block_size);
int error= pagecache_fread(pagecache, file,
page_buffer,
pageno,
pagecache->readwrite_flags);
if (error)
if ((error= pagecache_fread(pagecache, file,
page_buffer,
pageno,
pagecache->readwrite_flags)))
goto end;
else
if ((file->read_callback)(page_buffer, pageno, file->callback_data))
{
if ((file->read_callback)(page_buffer, pageno, file->callback_data))
{
DBUG_PRINT("error", ("read callback problem"));
goto end;
}
DBUG_PRINT("error", ("read callback problem"));
error= 1;
goto end;
}
memcpy(page_buffer + offset, buff, size);
buff= page_buffer;
......
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