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) | tomas | 27 Apr |