summaryrefslogtreecommitdiff
path: root/storage/maria
diff options
context:
space:
mode:
authorMichael Widenius <monty@mysql.com>2009-01-09 06:11:37 +0200
committerMichael Widenius <monty@mysql.com>2009-01-09 06:11:37 +0200
commit7dc83c50436a36280e99f9c71006b05452d0b9fe (patch)
tree0bf95492648e5352cf6ff76860cc7021d850d8eb /storage/maria
parentc45bf1b3cc1dd241f26210ebdef836566124bef0 (diff)
downloadmariadb-git-7dc83c50436a36280e99f9c71006b05452d0b9fe.tar.gz
Fixed bugs from my latest patch found by pushbuild:
Bug #41962 Maria: view-related test failures (insert, view, maria, trigger tests) Added error handling for wrong update of view. See Bug #41760 Inserting into multiple-table views is not working mysql-test/r/delayed.result: Fixed test as we are now testing values before fields. Added new tests to test all error combinations mysql-test/suite/maria/r/maria.result: Added error handling for not supported update of view. mysql-test/suite/maria/t/maria.test: Added error handling for not supported update of view. mysql-test/t/delayed.test: Fixed test as we are now testing values before fields. Added new tests to test all error combinations sql/sql_base.cc: Fixed warning from valgrind sql/sql_insert.cc: Don't test from which table values are in case of INSERT ... SELECT Run fix_fields() in values before we do it on fields. This is needed becasue check_view_single_update() are accessing values. storage/maria/ma_blockrec.c: Don't call pagecache_delete_pages() if no pages to delete. This fixes a DBUG_ASSERT() error in maria_test_recovery
Diffstat (limited to 'storage/maria')
-rw-r--r--storage/maria/ma_blockrec.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/storage/maria/ma_blockrec.c b/storage/maria/ma_blockrec.c
index 54c05b4ae9c..b8538a52cb0 100644
--- a/storage/maria/ma_blockrec.c
+++ b/storage/maria/ma_blockrec.c
@@ -2422,7 +2422,8 @@ static my_bool free_full_page_range(MARIA_HA *info, pgcache_page_no_t page,
*/
delete_count--;
}
- if (pagecache_delete_pages(share->pagecache, &info->dfile,
+ if (delete_count &&
+ pagecache_delete_pages(share->pagecache, &info->dfile,
page, delete_count, PAGECACHE_LOCK_WRITE, 0))
res= 1;