List:Commits« Previous MessageNext Message »
From:tomas Date:April 27 2007 2:54pm
Subject:bk commit into 5.1 tree (tomas:1.2502)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas 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-04-27 14:53:58+02:00, tomas@stripped +15 -0
  Merge whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-single-user
  into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-telco-merge
  MERGE: 1.2491.1.9

  configure.in@stripped, 2007-04-27 14:52:48+02:00, tomas@stripped +0 -0
    Auto merged
    MERGE: 1.434.1.24

  sql/ha_ndbcluster.cc@stripped, 2007-04-27 14:52:48+02:00, tomas@stripped +0
-0
    Auto merged
    MERGE: 1.408.1.35

  sql/item_func.cc@stripped, 2007-04-27 14:52:48+02:00, tomas@stripped +0 -0
    Auto merged
    MERGE: 1.353.1.27

  sql/mysqld.cc@stripped, 2007-04-27 14:52:49+02:00, tomas@stripped +0 -0
    Auto merged
    MERGE: 1.636.1.2

  storage/ndb/include/ndbapi/Ndb.hpp@stripped, 2007-04-27 14:53:55+02:00,
tomas@stripped +0 -0
    SCCS merged
    MERGE: 1.61.2.2

  storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.112.1.19

  storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.36.1.2

  storage/ndb/src/kernel/blocks/lgman.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.24.1.3

  storage/ndb/src/mgmsrv/MgmtSrvr.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.113.4.2

  storage/ndb/src/ndbapi/NdbBlob.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.55.1.2

  storage/ndb/src/ndbapi/NdbImpl.hpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.21.1.2

  storage/ndb/src/ndbapi/NdbScanOperation.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.105.1.11

  storage/ndb/src/ndbapi/NdbTransaction.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.75.1.4

  storage/ndb/test/ndbapi/testBlobs.cpp@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.38.1.2

  storage/ndb/test/run-test/daily-basic-tests.txt@stripped, 2007-04-27 14:52:49+02:00,
tomas@stripped +0 -0
    Auto merged
    MERGE: 1.61.1.23

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	tomas
# Host:	whalegate.ndb.mysql.com
# Root:	/home/tomas/mysql-5.1-telco-merge/RESYNC

--- 1.446/configure.in	2007-04-27 10:33:21 +02:00
+++ 1.447/configure.in	2007-04-27 14:52:48 +02:00
@@ -430,6 +430,22 @@
 
 # icheck, used for ABI check
 AC_PATH_PROG(ICHECK, icheck, no)
+# "icheck" is also the name of a file system check program on Tru64.
+# Verify the program found is really the interface checker.
+if test "x$ICHECK" != "xno"
+then
+  AC_MSG_CHECKING(if $ICHECK works as expected)
+  echo "int foo;" > conftest.h
+  $ICHECK --canonify -o conftest.ic conftest.h 2>/dev/null
+  if test -f "conftest.ic"
+  then
+    AC_MSG_RESULT(yes)
+  else
+    AC_MSG_RESULT(no)
+    ICHECK=no
+  fi
+  rm -f conftest.ic conftest.h
+fi
 AC_SUBST(ICHECK)
 
 # Lock for PS
@@ -2306,28 +2322,6 @@
     [with_man=yes]
 )
 
-if test X"$with_man" = Xyes
-then
-  man_dirs="man"
-  if test X"$have_ndbcluster" = Xyes
-  then
-    man1_files=`ls $srcdir/man/*.1 | sed -e 's;^.*man/;;'`
-    man8_files=`ls $srcdir/man/*.8 | sed -e 's;^.*man/;;'`
-  else
-    man1_files=`ls $srcdir/man/*.1 | grep -v '/ndb' | sed -e 's;^.*man/;;'`
-    man8_files=`ls $srcdir/man/*.8 | grep -v '/ndb' | sed -e 's;^.*man/;;'`
-  fi
-  man1_files=`echo $man1_files`
-  man8_files=`echo $man8_files`
-else
-  man_dirs=""
-  man1_files=""
-  man8_files=""
-fi
-AC_SUBST(man_dirs)
-AC_SUBST(man1_files)
-AC_SUBST(man8_files)
-
 # Don't build readline, i have it already
 AC_ARG_WITH(readline,
     [  --without-readline      Use system readline instead of bundled copy.],
@@ -2453,6 +2447,61 @@
 AC_SUBST(readline_link)
 AC_SUBST(readline_h_ln_cmd)
 
+
+
+# Include man pages, if desired, adapted to the configured parts.
+if test X"$with_man" = Xyes
+then
+  # First, create the list of all man pages present.
+  MANLISTFIL=manlist.$$
+  TMPLISTFIL=`echo $MANLISTFIL | sed -e 's/manlist/tmplist/'`
+  if test -f $MANLISTFIL -o -f $TMPLISTFIL
+  then
+    echo "Temp file '$MANLISTFIL' or '$TMPLISTFIL' already exists in '`pwd`' - aborting"
+    exit 1
+  fi
+  touch $MANLISTFIL $TMPLISTFIL
+
+  ls $srcdir/man/*.[[18]] > $MANLISTFIL
+
+  # Then, remove all those pages from the list which are specific to parts
+  # (table handlers, features, ...) which are not configured in this run.
+  AC_MSG_CHECKING("for man pages to remove")
+  MAN_DROP="dropping"
+  if test X"$with_plugin_ndbcluster" != Xyes
+  then
+    MAN_DROP="$MAN_DROP ndbcluster"
+    grep -v '/ndb' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
+  fi
+  if test X"$with_embedded_server" != Xyes
+  then
+    MAN_DROP="$MAN_DROP embedded"
+    grep -v 'embedded' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
+  fi
+  if test X"$with_plugin_innobase" != Xyes
+  then
+    MAN_DROP="$MAN_DROP innodb"
+    grep -v 'inno' $MANLISTFIL > $TMPLISTFIL ; mv -f $TMPLISTFIL $MANLISTFIL
+  fi
+  AC_MSG_RESULT([$MAN_DROP])
+
+  # Finally, split the man pages into sections 1 and 8.
+  # Get rid of line breaks.
+  man1_files=`sed -n -e '/\.1$/s/^.*man\///p' <$MANLISTFIL`
+  man8_files=`sed -n -e '/\.8$/s/^.*man\///p' <$MANLISTFIL`
+
+  man_dirs="man"
+  man1_files=`echo $man1_files`
+  man8_files=`echo $man8_files`
+  rm -f $MANLISTFIL $TMPLISTFIL
+else
+  man_dirs=""
+  man1_files=""
+  man8_files=""
+fi
+AC_SUBST(man_dirs)
+AC_SUBST(man1_files)
+AC_SUBST(man8_files)
 
 # If we have threads generate some library functions and test programs
 sql_server_dirs=

--- 1.365/sql/item_func.cc	2007-04-23 20:45:22 +02:00
+++ 1.366/sql/item_func.cc	2007-04-27 14:52:48 +02:00
@@ -4726,7 +4726,7 @@
   for (keynr=0 ; keynr < table->s->keys ; keynr++)
   {
     if ((table->key_info[keynr].flags & HA_FULLTEXT) &&
-        (table->keys_in_use_for_query.is_set(keynr)))
+        (table->s->keys_in_use.is_set(keynr)))
     {
       ft_to_key[fts]=keynr;
       ft_cnt[fts]=0;

--- 1.65/storage/ndb/include/ndbapi/Ndb.hpp	2007-04-16 15:43:29 +02:00
+++ 1.66/storage/ndb/include/ndbapi/Ndb.hpp	2007-04-27 14:53:55 +02:00
@@ -1057,18 +1057,6 @@
   friend class NdbImpl;
   friend class Ndb_cluster_connection;
   friend class Ndb_cluster_connection_impl;
-  friend class Ndb_free_list_t<NdbRecAttr>;  
-  friend class Ndb_free_list_t<NdbApiSignal>;
-  friend class Ndb_free_list_t<NdbLabel>;
-  friend class Ndb_free_list_t<NdbBranch>;
-  friend class Ndb_free_list_t<NdbSubroutine>;
-  friend class Ndb_free_list_t<NdbCall>;
-  friend class Ndb_free_list_t<NdbBlob>;
-  friend class Ndb_free_list_t<NdbReceiver>;
-  friend class Ndb_free_list_t<NdbIndexScanOperation>;
-  friend class Ndb_free_list_t<NdbOperation>;
-  friend class Ndb_free_list_t<NdbIndexOperation>;
-  friend class Ndb_free_list_t<NdbTransaction>;
 #endif
 
 public:

--- 1.132/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp	2007-04-26 21:36:33 +02:00
+++ 1.133/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp	2007-04-27 14:52:49 +02:00
@@ -18,6 +18,7 @@
 
 #define DBDICT_C
 #include "Dbdict.hpp"
+#include "diskpage.hpp"
 
 #include <ndb_limits.h>
 #include <NdbOut.hpp>
@@ -15678,7 +15679,10 @@
     } 
     else if(fg.FilegroupType == DictTabInfo::LogfileGroup)
     {
-      if(!fg.LF_UndoBufferSize)
+      /**
+       * undo_buffer_size can't be less than 96KB in LGMAN block 
+       */
+      if(fg.LF_UndoBufferSize < 3 * File_formats::NDB_PAGE_SIZE)
       {
 	op->m_errorCode = CreateFilegroupRef::InvalidUndoBufferSize;
 	break;

--- 1.40/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp	2007-04-26 14:04:29 +02:00
+++ 1.41/storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp	2007-04-27 14:52:49 +02:00
@@ -567,8 +567,12 @@
       Uint32 sz= sizeof(Disk_undo::Create) >> 2;
       
       Logfile_client lgman(this, c_lgman, regFragPtr.p->m_logfile_group_id);
-      (void)  c_lgman->alloc_log_space(regFragPtr.p->m_logfile_group_id,
-                                       sz);
+      if((terrorCode = 
+          c_lgman->alloc_log_space(regFragPtr.p->m_logfile_group_id, sz)))
+      {
+        addattrrefuseLab(signal, regFragPtr, fragOperPtr, regTabPtr.p, fragId);
+        return;
+      }
       
       int res= lgman.get_log_buffer(signal, sz, &cb);
       switch(res){

--- 1.133/storage/ndb/src/mgmsrv/MgmtSrvr.cpp	2007-04-26 22:52:27 +02:00
+++ 1.134/storage/ndb/src/mgmsrv/MgmtSrvr.cpp	2007-04-27 14:52:49 +02:00
@@ -2183,6 +2183,11 @@
         nodeId = refToNode(ref->masterRef);
 	if (!theFacade->get_node_alive(nodeId))
 	  nodeId = 0;
+        if (ref->errorCode != AllocNodeIdRef::NotMaster)
+        {
+          /* sleep for a while (100ms) before retrying */
+          NdbSleep_MilliSleep(100);  
+        }
         continue;
       }
       return ref->errorCode;

--- 1.24/storage/ndb/src/ndbapi/NdbImpl.hpp	2007-04-16 15:43:29 +02:00
+++ 1.25/storage/ndb/src/ndbapi/NdbImpl.hpp	2007-04-27 14:52:49 +02:00
@@ -98,6 +98,15 @@
     return 0;
   }
 
+/*
+  We need this friend accessor function to work around a HP compiler problem,
+  where template class friends are not working.
+*/
+  static inline void setNdbError(Ndb &ndb,int code){
+    ndb.theError.code = code;
+    return;
+  }
+
   BaseString m_systemPrefix; // Buffer for preformatted for <sys>/<def>/
 
   /**
@@ -219,7 +228,7 @@
     m_free_list = new T(ndb);
     if (m_free_list == 0)
     {
-      ndb->theError.code = 4000;
+      NdbImpl::setNdbError(*ndb, 4000);
       assert(false);
       return -1;
     }
@@ -229,7 +238,7 @@
     T* obj= new T(ndb);
     if(obj == 0)
     {
-      ndb->theError.code = 4000;
+      NdbImpl::setNdbError(*ndb, 4000);
       assert(false);
       return -1;
     }
@@ -261,7 +270,7 @@
   }
   else
   {
-    ndb->theError.code = 4000;
+    NdbImpl::setNdbError(*ndb, 4000);
     assert(false);
   }
   return tmp;

--- 1.455/sql/ha_ndbcluster.cc	2007-04-26 21:36:33 +02:00
+++ 1.456/sql/ha_ndbcluster.cc	2007-04-27 14:52:48 +02:00
@@ -778,8 +778,8 @@
         DBUG_DUMP("value", (char*)&bits, pack_len);
 #ifdef WORDS_BIGENDIAN
         /* store lsw first */
-        bits = ((bits >> 32) & 0x00000000FFFFFFFF)
-          |    ((bits << 32) & 0xFFFFFFFF00000000);
+        bits = ((bits >> 32) & 0x00000000FFFFFFFFLL)
+          |    ((bits << 32) & 0xFFFFFFFF00000000LL);
 #endif
         DBUG_RETURN(ndb_op->setValue(fieldnr, (char*)&bits) != 0);
       }
@@ -3268,10 +3268,10 @@
             /* lsw is stored first */
             Uint32 *buf= (Uint32 *)(*value).rec->aRef();
             field_bit->Field_bit::store((((longlong)*buf)
-                                         & 0x000000000FFFFFFFF)
+                                         & 0x000000000FFFFFFFFLL)
                                         |
                                         ((((longlong)*(buf+1)) << 32)
-                                         & 0xFFFFFFFF00000000),
+                                         & 0xFFFFFFFF00000000LL),
                                         TRUE);
 #else
             field_bit->Field_bit::store((longlong)
Thread
bk commit into 5.1 tree (tomas:1.2502)tomas27 Apr