List:Commits« Previous MessageNext Message »
From:Guilhem Bichot Date:March 21 2008 10:29pm
Subject:bk commit into maria tree (guilhem:1.2621)
View as plain text  
Below is the list of changes that have just been committed into a local
maria repository of guilhem.  When guilhem does a push these changes
will be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2008-03-21 22:29:05+01:00, guilhem@stripped +4 -0
  Fix for pushbuild problems: innocuous Valgrind error (uninitialized
  bytes in unimportant, unused pieces of index pages) and test failure
  because test requires Maria. Compiler warning.
  About Valgrind error, two of the three bzero() added here are
  needed to silence the error (the third is added for symmetry).

  mysql-test/t/maria-gis-rtree.test@stripped, 2008-03-21 22:29:01+01:00, guilhem@stripped
+1 -0
    requires Maria

  storage/maria/ma_loghandler.c@stripped, 2008-03-21 22:29:01+01:00, guilhem@stripped
+5 -1
    "uint64->uint16 possible loss of precision" on Windows

  storage/maria/ma_rt_index.c@stripped, 2008-03-21 22:29:01+01:00, guilhem@stripped +2
-2
    We bzero the entire new page, as is done in _ma_enlarge_root()
    for B-tree pages. This silences Valgrind warnings and allows
    better compression.

  storage/maria/ma_rt_split.c@stripped, 2008-03-21 22:29:01+01:00, guilhem@stripped +1
-1
    We bzero the entire new page, as is done in _ma_enlarge_root()
    for B-tree pages. This silences Valgrind warnings and allows
    better compression.

diff -Nrup a/mysql-test/t/maria-gis-rtree.test b/mysql-test/t/maria-gis-rtree.test
--- a/mysql-test/t/maria-gis-rtree.test	2008-03-17 22:31:48 +01:00
+++ b/mysql-test/t/maria-gis-rtree.test	2008-03-21 22:29:01 +01:00
@@ -1,3 +1,4 @@
+-- source include/have_maria.inc
 -- source include/have_geometry.inc
 
 set storage_engine=maria;
diff -Nrup a/storage/maria/ma_loghandler.c b/storage/maria/ma_loghandler.c
--- a/storage/maria/ma_loghandler.c	2008-03-16 17:12:03 +01:00
+++ b/storage/maria/ma_loghandler.c	2008-03-21 22:29:01 +01:00
@@ -8332,7 +8332,11 @@ static uchar *dump_chunk(uchar *buffer, 
     }
     break;
   }
-  length= translog_get_total_chunk_length(buffer, ptr - buffer);
+  {
+    intptr offset= ptr - buffer;
+    DBUG_ASSERT(offset >= 0 && offset <= UINT_MAX16);
+    length= translog_get_total_chunk_length(buffer, (uint16)offset);
+  }
   printf("      Length %u\n", length);
   ptr+= length;
   return ptr;
diff -Nrup a/storage/maria/ma_rt_index.c b/storage/maria/ma_rt_index.c
--- a/storage/maria/ma_rt_index.c	2008-03-17 22:31:48 +01:00
+++ b/storage/maria/ma_rt_index.c	2008-03-21 22:29:01 +01:00
@@ -666,7 +666,7 @@ static int maria_rtree_insert_level(MARI
         HA_OFFSET_ERROR)
       DBUG_RETURN(-1);
     info->keyread_buff_used= 1;
-    bzero(info->buff, share->keypage_header);
+    bzero(info->buff, share->block_size);
     _ma_store_keynr(share, info->buff, keynr);
     _ma_store_page_used(share, info->buff, share->keypage_header);
 
@@ -703,7 +703,7 @@ static int maria_rtree_insert_level(MARI
         DBUG_RETURN(-1); /* purecov: inspected */
       }
 
-      bzero(new_root_buf, share->keypage_header);
+      bzero(new_root_buf, share->block_size);
       if (nod_flag)
         _ma_store_keypage_flag(share, new_root_buf, KEYPAGE_FLAG_ISNOD);
       _ma_store_keynr(share, new_root_buf, keynr);
diff -Nrup a/storage/maria/ma_rt_split.c b/storage/maria/ma_rt_split.c
--- a/storage/maria/ma_rt_split.c	2007-12-10 01:31:58 +01:00
+++ b/storage/maria/ma_rt_split.c	2008-03-21 22:29:01 +01:00
@@ -317,6 +317,7 @@ int maria_rtree_split_page(MARIA_HA *inf
     err_code= -1;
     goto split_err;
   }
+  bzero(new_page, share->block_size);
 
   stop= task + (max_keys + 1);
   cur1= rt_PAGE_FIRST_KEY(share, page, nod_flag);
@@ -342,7 +343,6 @@ int maria_rtree_split_page(MARIA_HA *inf
       memcpy(to - nod_flag, cur->key - nod_flag, full_length);
   }
 
-  bzero(new_page, share->keypage_header);
   if (nod_flag)
     _ma_store_keypage_flag(share, new_page, KEYPAGE_FLAG_ISNOD);
   _ma_store_keynr(share, new_page, keyinfo->key_nr);
Thread
bk commit into maria tree (guilhem:1.2621)Guilhem Bichot21 Mar 2008