List:Commits« Previous MessageNext Message »
From:Sergey Petrunia Date:November 16 2007 5:39pm
Subject:bk commit into 6.0 tree (sergefp:1.2661) WL#2771
View as plain text  
Below is the list of changes that have just been committed into a local
6.0 repository of psergey. When psergey 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, 2007-11-16 19:39:21+03:00, sergefp@stripped +3 -0
  Temporary fix: make "read before update" optimization work with changes
  in MRR interface. This code will need to be removed when this is merged
  together with WL#2771 Batched Key Access

  sql/ha_ndbcluster.cc@stripped, 2007-11-16 19:39:12+03:00, sergefp@stripped +3 -2
    Temporary fix: make "read before update" optimization work with changes
    in MRR interface. This code will need to be removed when this is merged
    together with WL#2771 Batched Key Access

  sql/handler.h@stripped, 2007-11-16 19:39:12+03:00, sergefp@stripped +1 -0
    Temporary fix: make "read before update" optimization work with changes
    in MRR interface. This code will need to be removed when this is merged
    together with WL#2771 Batched Key Access

  sql/opt_range.cc@stripped, 2007-11-16 19:39:12+03:00, sergefp@stripped +5 -0
    Temporary fix: make "read before update" optimization work with changes
    in MRR interface. This code will need to be removed when this is merged
    together with WL#2771 Batched Key Access

diff -Nrup a/sql/ha_ndbcluster.cc b/sql/ha_ndbcluster.cc
--- a/sql/ha_ndbcluster.cc	2007-11-13 23:31:09 +03:00
+++ b/sql/ha_ndbcluster.cc	2007-11-16 19:39:12 +03:00
@@ -11032,10 +11032,11 @@ int ha_ndbcluster::multi_range_read_next
     {
       DBUG_PRINT("info", ("using read before write removal optimisation"));
       KEY* key_info= table->key_info + active_index;
-      key_restore(table->record[0], (uchar*)multi_range_curr->start_key.key,
+      key_restore(table->record[0], 
+                  mrr_get_lookup_key(mrr_iter, first_running_range),
                   key_info, key_info->key_length);
       table->status= 0;
-      multi_range_curr++;
+      //multi_range_curr++;
       DBUG_RETURN(0);
     }
     else if (mrr_persistent_flag_storage(mrr_iter, first_running_range) &
UNIQUE_RANGE)
diff -Nrup a/sql/handler.h b/sql/handler.h
--- a/sql/handler.h	2007-11-12 16:20:22 +03:00
+++ b/sql/handler.h	2007-11-16 19:39:12 +03:00
@@ -1007,6 +1007,7 @@ typedef struct st_range_seq_if
 } RANGE_SEQ_IF;
 
 uint16 &mrr_persistent_flag_storage(range_seq_t seq, uint idx);
+uchar *mrr_get_lookup_key(range_seq_t seq, uint idx);
 char* &mrr_get_ptr_by_idx(range_seq_t seq, uint idx);
 
 class COST_VECT
diff -Nrup a/sql/opt_range.cc b/sql/opt_range.cc
--- a/sql/opt_range.cc	2007-10-25 11:39:53 +04:00
+++ b/sql/opt_range.cc	2007-11-16 19:39:12 +03:00
@@ -8401,6 +8401,11 @@ uint16 &mrr_persistent_flag_storage(rang
   return ctx->first[idx]->flag;
 }
 
+uchar *mrr_get_lookup_key(range_seq_t seq, uint idx)
+{
+  QUICK_RANGE_SEQ_CTX *ctx= (QUICK_RANGE_SEQ_CTX*)seq;
+  return ctx->first[idx]->min_key;
+}
 
 /*
   MRR range sequence interface: array<QUICK_RANGE> impl: utility func for NDB
Thread
bk commit into 6.0 tree (sergefp:1.2661) WL#2771Sergey Petrunia16 Nov