List:Commits« Previous MessageNext Message »
From:magnus.blaudd Date:March 5 2013 9:03am
Subject:bzr push into mysql-5.5-cluster-7.2 branch (magnus.blaudd:4180 to 4182)
View as plain text  
 4182 magnus.blaudd@stripped	2013-03-04
      ndb
      
       - fix one more warning concerning size_t to uint

    modified:
      storage/ndb/src/common/util/NdbSqlUtil.cpp
 4181 magnus.blaudd@stripped	2013-03-04
      ndb test
      
       - fix compiler warnings about conversion from size_t to unsigned

    modified:
      storage/ndb/test/run-test/db.cpp
      storage/ndb/test/run-test/main.cpp
 4180 Ole John Aske	2013-03-04
      Fix for Bug#16198866 INCORRECT RESULT FROM 'PUSHED JOIN' WITH OUTER JOINS
            
      During building of a pushed join query plan, possible parent candidates
      for a joined table are collected in the bitmasks 'common_parents' and
      'extend_parent'.
      
      At first the parent sets contain a rather raw selection of parent candidates.
      At later stages in the query planning, we may find that there apply
      restrictions on which parents we may actually use. One such restriction is
      that there should be no outer joins between our table and the tables we
      joins with, except if the outer joined table is explicit refered in our join
      clause. (Also see bug/fix for 16199028)
      
      This fix enforce this restriction by removing illegal parents from the
      common/extend parent set when such are detected.
      
      It also removes a too strict DBUG_ASSERT used to guard against outer joins
      inbetween our joined tables. This DBUG_ASSERT incorrectly checked against
      the pushed join root, instead of using the common ancestor of the tables
      being referred in the join clause. As we now removes such illegal parent 
      candidates at an earlier stage, this ASSERT should be absolete now.
      
      Add more comments wrt. the use and interpretation of the 'parent' member
      fields in 'struct pushed_tables'.

    modified:
      mysql-test/suite/ndb/r/ndb_join_pushdown_default.result
      mysql-test/suite/ndb/t/ndb_join_pushdown.inc
      sql/ha_ndbcluster_push.cc
      sql/ha_ndbcluster_push.h
=== modified file 'storage/ndb/src/common/util/NdbSqlUtil.cpp'
--- a/storage/ndb/src/common/util/NdbSqlUtil.cpp	2011-10-21 12:36:44 +0000
+++ b/storage/ndb/src/common/util/NdbSqlUtil.cpp	2013-03-04 20:57:07 +0000
@@ -959,7 +959,7 @@ NdbSqlUtil::ndb_strnxfrm(struct charset_
     defaults for those and can thus easily calculate them from
     existing params
   */
-  return  (*cs->coll->strnxfrm)(cs, dst, dstlen, dstlen,
+  return  (*cs->coll->strnxfrm)(cs, dst, dstlen, (uint)dstlen,
                                 src, srclen, MY_STRXFRM_PAD_WITH_SPACE);
 #endif
 }

=== modified file 'storage/ndb/test/run-test/db.cpp'
--- a/storage/ndb/test/run-test/db.cpp	2013-03-01 17:33:23 +0000
+++ b/storage/ndb/test/run-test/db.cpp	2013-03-04 20:29:29 +0000
@@ -250,7 +250,7 @@ template <typename T>
 int
 find(T* obj, Vector<T*>& arr)
 {
-  for (size_t i = 0; i<arr.size(); i++)
+  for (unsigned i = 0; i<arr.size(); i++)
     if (arr[i] == obj)
       return (int)i;
   abort();
@@ -500,7 +500,7 @@ setup_repl(atrt_process* dst, atrt_proce
 bool
 setup_repl(atrt_config& config)
 {
-  for (size_t i = 0; i<config.m_processes.size(); i++)
+  for (unsigned i = 0; i<config.m_processes.size(); i++)
   {
     atrt_process * dst = config.m_processes[i];
     if (dst->m_rep_src)

=== modified file 'storage/ndb/test/run-test/main.cpp'
--- a/storage/ndb/test/run-test/main.cpp	2013-03-01 17:33:23 +0000
+++ b/storage/ndb/test/run-test/main.cpp	2013-03-04 20:29:29 +0000
@@ -1153,7 +1153,7 @@ update_status(atrt_config& config, int){
     if(proc.m_proc.m_id != -1){
       Vector<SimpleCpcClient::Process> &h_procs= m_procs[proc.m_host->m_index];
       bool found = false;
-      for(size_t j = 0; j<h_procs.size(); j++){
+      for(unsigned j = 0; j<h_procs.size(); j++){
 	if(proc.m_proc.m_id == h_procs[j].m_id){
 	  found = true;
 	  proc.m_proc.m_status = h_procs[j].m_status;
@@ -1166,7 +1166,7 @@ update_status(atrt_config& config, int){
 		       proc.m_proc.m_id,
 		       proc.m_host->m_hostname.c_str(),
 		       proc.m_proc.m_path.c_str());
-	for(size_t j = 0; j<h_procs.size(); j++){
+        for(unsigned j = 0; j<h_procs.size(); j++){
 	  g_logger.error("found: %d %s", h_procs[j].m_id, 
 			 h_procs[j].m_path.c_str());
 	}

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-5.5-cluster-7.2 branch (magnus.blaudd:4180 to 4182) magnus.blaudd3 Apr