mirror of
https://github.com/MariaDB/server.git
synced 2025-01-15 19:42:28 +01:00
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
This commit is contained in:
parent
0857a6930d
commit
4d1cb99149
2 changed files with 12 additions and 13 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue