Below is the list of changes that have just been committed into a local
5.0 repository of tnurnberg. When tnurnberg 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-08-01 04:45:02+02:00, tnurnberg@stripped +16 -0
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2
mysqld hasn't been built on AIX with ndb-everything in quite a while.
this allowed a variety of changes to be added that broke the AIX build
for both the GNU and IBM compilers (but the IBM suite in particular).
Changeset lets build to complete on AIX 5.2 for users of the GNU and
the IBM suite both. Tudo bem?
config/ac-macros/large_file.m4@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +3 -8
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (2)
we no longer declare anything large-file on AIX. the
GNU C++ compiler declares _LARGE_FILE_API all of its
own, and either way we're now pulling in <standards.h>
when on AIX, which defines _LARGE_FILE_API (if not
already defined).
configure.in@stripped, 2007-08-01 04:44:54+02:00, tnurnberg@stripped +6 -0
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (1)
build NDB binaries as static on AIX. because that actually
*works*.
when building dynamic, with the IBM compiler (xlC_r), and
the build breaks on AIX due to missing symbols
(__vec__delete2 et al.), try adding -lhC to the Makefile.
include/mysql.h@stripped, 2007-08-01 04:44:54+02:00, tnurnberg@stripped +4
-0
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (2)
we're now pulling in <standards.h> when on AIX, which
defines _LARGE_FILE_API (if not already defined).
ndb/src/common/util/File.cpp@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +2 -2
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (3)
do not de-scope the standards, for they may be funky macros
ndb/src/mgmclient/Makefile.am@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +1 -0
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (4)
make IBM C++ compiler happy on AIX
ndb/src/mgmsrv/Makefile.am@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +1 -1
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (5)
GNU compiler has no sense of humour about this
ndb/test/ndbapi/benchronja.cpp@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +13 -6
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
ndb/test/ndbapi/flexAsynch.cpp@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +13 -6
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
ndb/test/ndbapi/flexHammer.cpp@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +11 -4
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
ndb/test/ndbapi/flexScan.cpp@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +9 -2
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
ndb/test/ndbapi/flexTT.cpp@stripped, 2007-08-01 04:44:54+02:00,
tnurnberg@stripped +13 -6
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
ndb/test/ndbapi/flexTimedAsynch.cpp@stripped, 2007-08-01 04:44:55+02:00,
tnurnberg@stripped +15 -8
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
ndb/test/ndbapi/initronja.cpp@stripped, 2007-08-01 04:44:55+02:00,
tnurnberg@stripped +8 -1
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
ndb/test/ndbapi/testOperations.cpp@stripped, 2007-08-01 04:44:55+02:00,
tnurnberg@stripped +0 -5
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (7)
IBM C compiler on AIX is not happy with the re-def.
Please choose one.
ndb/test/ndbapi/testScanFilter.cpp@stripped, 2007-08-01 04:44:55+02:00,
tnurnberg@stripped +10 -2
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (8)
The IBM C++ compiler on AIX doesn't like initializing from pow().
This works, but breaks a VAL (bool res_cal[TUPLE_NUM] ...) later on.
ndb/test/odbc/SQL99_test/SQL99_test.cpp@stripped, 2007-08-01 04:44:55+02:00,
tnurnberg@stripped +10 -3
Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
MAXTHREADS is already defined in includes for IBM C compiler on AIX
diff -Nrup a/config/ac-macros/large_file.m4 b/config/ac-macros/large_file.m4
--- a/config/ac-macros/large_file.m4 2004-12-04 19:48:50 +01:00
+++ b/config/ac-macros/large_file.m4 2007-08-01 04:44:54 +02:00
@@ -127,14 +127,9 @@ AC_DEFUN([MYSQL_SYS_LARGEFILE],
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
ac_cv_sys_largefile_source=1 ;;
esac])
- AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
- ac_cv_sys_large_files,
- [Large files support on AIX-style hosts.],
- [case "$host_os" in
- # AIX 4.2 and later
- aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
- ac_cv_sys_large_files=1 ;;
- esac])
+
+ # AIX 4.2 and later -- do nothing, include standards.h instead.
+ # this goes for both GNU and IBM C and C++ compilers.
fi
])
diff -Nrup a/configure.in b/configure.in
--- a/configure.in 2007-06-21 18:28:48 +02:00
+++ b/configure.in 2007-08-01 04:44:54 +02:00
@@ -2890,6 +2890,12 @@ then
ndb_opt_subdirs="$ndb_opt_subdirs docs"
ndb_bin_am_ldflags=""
fi
+# building dynamic breaks on AIX. (If you want to try it and get unresolved
+# __vec__delete2 and some such, try linking against libhC.)
+case "$host_os" in
+ aix3.* | aix4.0.* | aix4.1.*) ;;
+ *) ndb_bin_am_ldflags="-static";;
+esac
AC_SUBST([ndb_bin_am_ldflags])
AC_SUBST([ndb_opt_subdirs])
diff -Nrup a/include/mysql.h b/include/mysql.h
--- a/include/mysql.h 2007-01-22 13:10:36 +01:00
+++ b/include/mysql.h 2007-08-01 04:44:54 +02:00
@@ -27,6 +27,10 @@
#ifndef _mysql_h
#define _mysql_h
+#ifdef _AIX /* large-file support will break without this */
+#include <standards.h>
+#endif
+
#ifdef __CYGWIN__ /* CYGWIN implements a UNIX API */
#undef WIN
#undef _WIN
diff -Nrup a/ndb/src/common/util/File.cpp b/ndb/src/common/util/File.cpp
--- a/ndb/src/common/util/File.cpp 2007-02-21 12:04:56 +01:00
+++ b/ndb/src/common/util/File.cpp 2007-08-01 04:44:54 +02:00
@@ -50,7 +50,7 @@ File_class::size(FILE* f)
MY_STAT s;
// Note that my_fstat behaves *differently* than my_stat. ARGGGHH!
- if(my_fstat(::fileno(f), &s, MYF(0)))
+ if(my_fstat(fileno(f), &s, MYF(0)))
return 0;
return s.st_size;
@@ -196,7 +196,7 @@ File_class::flush() const
{
#if defined NDB_OSE || defined NDB_SOFTOSE
::fflush(m_file);
- return ::fsync(::fileno(m_file));
+ return ::fsync(fileno(m_file));
#else
return ::fflush(m_file);;
#endif
diff -Nrup a/ndb/src/mgmclient/Makefile.am b/ndb/src/mgmclient/Makefile.am
--- a/ndb/src/mgmclient/Makefile.am 2007-06-14 13:40:43 +02:00
+++ b/ndb/src/mgmclient/Makefile.am 2007-08-01 04:44:54 +02:00
@@ -36,6 +36,7 @@ INCLUDES += -I$(top_srcdir)/ndb/include/
LDADD_LOC = $(noinst_LTLIBRARIES) \
../common/portlib/libportlib.la \
@readline_link@ \
+ $(top_builddir)/ndb/src/libndbclient.la \
$(top_builddir)/dbug/libdbug.a \
$(top_builddir)/mysys/libmysys.a \
$(top_builddir)/strings/libmystrings.a \
diff -Nrup a/ndb/src/mgmsrv/Makefile.am b/ndb/src/mgmsrv/Makefile.am
--- a/ndb/src/mgmsrv/Makefile.am 2006-12-30 22:07:31 +01:00
+++ b/ndb/src/mgmsrv/Makefile.am 2007-08-01 04:44:54 +02:00
@@ -38,7 +38,7 @@ INCLUDES_LOC = -I$(top_srcdir)/ndb/src/n
-I$(top_srcdir)/ndb/src/common/mgmcommon \
-I$(top_srcdir)/ndb/src/mgmclient
-LDADD_LOC = $(top_builddir)/ndb/src/mgmclient/CommandInterpreter.o \
+LDADD_LOC = $(top_builddir)/ndb/src/mgmclient/CommandInterpreter.lo \
$(top_builddir)/ndb/src/libndbclient.la \
$(top_builddir)/dbug/libdbug.a \
$(top_builddir)/mysys/libmysys.a \
diff -Nrup a/ndb/test/ndbapi/benchronja.cpp b/ndb/test/ndbapi/benchronja.cpp
--- a/ndb/test/ndbapi/benchronja.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/benchronja.cpp 2007-08-01 04:44:54 +02:00
@@ -41,7 +41,14 @@
#define MAXSTRLEN 16
#define MAXATTR 64
#define MAXTABLES 64
-#define MAXTHREADS 256
+#define NDB_MAXTHREADS 256
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
#define MAXATTRSIZE 8000
#define START_TIMER NdbTimer timer; timer.doStart();
#define STOP_TIMER timer.doStop();
@@ -56,18 +63,18 @@ struct ThreadNdb
Ndb* NdbRef;
};
-static NdbThread* threadLife[MAXTHREADS];
+static NdbThread* threadLife[NDB_MAXTHREADS];
static unsigned int tNoOfThreads;
static unsigned int tNoOfOpsPerExecute;
static unsigned int tNoOfRecords;
static unsigned int tNoOfOperations;
-static int ThreadReady[MAXTHREADS];
-static int ThreadStart[MAXTHREADS];
+static int ThreadReady[NDB_MAXTHREADS];
+static int ThreadStart[NDB_MAXTHREADS];
NDB_COMMAND(benchronja, "benchronja", "benchronja", "benchronja", 65535){
ndb_init();
- ThreadNdb tabThread[MAXTHREADS];
+ ThreadNdb tabThread[NDB_MAXTHREADS];
int i = 0 ;
int cont = 0 ;
Ndb* pMyNdb = NULL ; //( "TEST_DB" );
@@ -84,7 +91,7 @@ NDB_COMMAND(benchronja, "benchronja", "b
{
if (strcmp(argv[i], "-t") == 0){
tNoOfThreads = atoi(argv[i+1]);
- if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)) goto error_input;
+ if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)) goto error_input;
}else if (strcmp(argv[i], "-o") == 0){
tNoOfOperations = atoi(argv[i+1]);
if (tNoOfOperations < 1) goto error_input;
diff -Nrup a/ndb/test/ndbapi/flexAsynch.cpp b/ndb/test/ndbapi/flexAsynch.cpp
--- a/ndb/test/ndbapi/flexAsynch.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/flexAsynch.cpp 2007-08-01 04:44:54 +02:00
@@ -35,7 +35,14 @@
#define MAXSTRLEN 16
#define MAXATTR 64
#define MAXTABLES 64
-#define MAXTHREADS 128
+#define NDB_MAXTHREADS 128
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
#define MAXPAR 1024
#define MAXATTRSIZE 1000
#define PKSIZE 2
@@ -76,10 +83,10 @@ struct ThreadNdb
int ThreadNo;
};
-static NdbThread* threadLife[MAXTHREADS];
+static NdbThread* threadLife[NDB_MAXTHREADS];
static int tNodeId;
-static int ThreadReady[MAXTHREADS];
-static StartType ThreadStart[MAXTHREADS];
+static int ThreadReady[NDB_MAXTHREADS];
+static StartType ThreadStart[NDB_MAXTHREADS];
static char tableName[MAXTABLES][MAXSTRLEN+1];
static char attrName[MAXATTR][MAXSTRLEN+1];
@@ -160,7 +167,7 @@ NDB_COMMAND(flexAsynch, "flexAsynch", "f
return NDBT_ProgramExit(NDBT_WRONGARGS);
}
- pThreadData = new ThreadNdb[MAXTHREADS];
+ pThreadData = new ThreadNdb[NDB_MAXTHREADS];
ndbout << endl << "FLEXASYNCH - Starting normal mode" << endl;
ndbout << "Perform benchmark of insert, update and delete transactions";
@@ -844,7 +851,7 @@ readArguments(int argc, const char** arg
while (argc > 1){
if (strcmp(argv[i], "-t") == 0){
tNoOfThreads = atoi(argv[i+1]);
- if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)){
+ if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)){
ndbout_c("Invalid no of threads");
return -1;
}
diff -Nrup a/ndb/test/ndbapi/flexHammer.cpp b/ndb/test/ndbapi/flexHammer.cpp
--- a/ndb/test/ndbapi/flexHammer.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/flexHammer.cpp 2007-08-01 04:44:54 +02:00
@@ -69,7 +69,14 @@ ErrorData * flexHammerErrorData;
#define MAXSTRLEN 16
#define MAXATTR 64
#define MAXTABLES 64
-#define MAXTHREADS 256
+#define NDB_MAXTHREADS 256
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
#define MAXATTRSIZE 100
// Max number of retries if something fails
#define MaxNoOfAttemptsC 10
@@ -122,8 +129,8 @@ static int tAttributeSize;
static int tNoOfOperations;
static int tNoOfRecords;
static int tNoOfLoops;
-static ReadyType ThreadReady[MAXTHREADS];
-static StartType ThreadStart[MAXTHREADS];
+static ReadyType ThreadReady[NDB_MAXTHREADS];
+static StartType ThreadStart[NDB_MAXTHREADS];
static char tableName[MAXTABLES][MAXSTRLEN];
static char attrName[MAXATTR][MAXSTRLEN];
static int theSimpleFlag = 0;
@@ -643,7 +650,7 @@ readArguments (int argc, const char** ar
while (argc > 1) {
if (strcmp(argv[i], "-t") == 0) {
tNoOfThreads = atoi(argv[i+1]);
- if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS))
+ if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS))
return(1);
}
else if (strcmp(argv[i], "-o") == 0) {
diff -Nrup a/ndb/test/ndbapi/flexScan.cpp b/ndb/test/ndbapi/flexScan.cpp
--- a/ndb/test/ndbapi/flexScan.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/flexScan.cpp 2007-08-01 04:44:54 +02:00
@@ -68,7 +68,14 @@
#define MAXSTRLEN 16
#define MAXATTR 64
#define MAXTABLES 64
-#define MAXTHREADS 256
+#define NDB_MAXTHREADS 256
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
#define MAXATTRSIZE 64
enum StartType {
@@ -860,7 +867,7 @@ static int readArguments(int argc, const
if (strcmp(argv[i], "-t") == 0) {
if (argv[i + 1] != NULL) {
tNoOfThreads = atoi(argv[i + 1]);
- if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)) {
+ if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)) {
retValue = -1;
} // if
} // if
diff -Nrup a/ndb/test/ndbapi/flexTT.cpp b/ndb/test/ndbapi/flexTT.cpp
--- a/ndb/test/ndbapi/flexTT.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/flexTT.cpp 2007-08-01 04:44:54 +02:00
@@ -35,7 +35,14 @@
#define MAXSTRLEN 16
#define MAXATTR 64
#define MAXTABLES 64
-#define MAXTHREADS 128
+#define NDB_MAXTHREADS 128
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
#define MAXPAR 1024
#define MAXATTRSIZE 1000
#define PKSIZE 1
@@ -101,10 +108,10 @@ static void input_error();
ErrorData * flexTTErrorData;
-static NdbThread* threadLife[MAXTHREADS];
+static NdbThread* threadLife[NDB_MAXTHREADS];
static int tNodeId;
-static int ThreadReady[MAXTHREADS];
-static StartType ThreadStart[MAXTHREADS];
+static int ThreadReady[NDB_MAXTHREADS];
+static StartType ThreadStart[NDB_MAXTHREADS];
static char tableName[1][MAXSTRLEN+1];
static char attrName[5][MAXSTRLEN+1];
@@ -184,7 +191,7 @@ NDB_COMMAND(flexTT, "flexTT", "flexTT",
return NDBT_ProgramExit(NDBT_WRONGARGS);
}
- pThreadData = new ThreadNdb[MAXTHREADS];
+ pThreadData = new ThreadNdb[NDB_MAXTHREADS];
ndbout << endl << "FLEXTT - Starting normal mode" << endl;
ndbout << "Perform TimesTen benchmark" << endl;
@@ -798,7 +805,7 @@ readArguments(int argc, const char** arg
while (argc > 1){
if (strcmp(argv[i], "-t") == 0){
tNoOfThreads = atoi(argv[i+1]);
- if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS)){
+ if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS)){
ndbout_c("Invalid no of threads");
return -1;
}
diff -Nrup a/ndb/test/ndbapi/flexTimedAsynch.cpp b/ndb/test/ndbapi/flexTimedAsynch.cpp
--- a/ndb/test/ndbapi/flexTimedAsynch.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/flexTimedAsynch.cpp 2007-08-01 04:44:55 +02:00
@@ -57,7 +57,14 @@
#define MAXSTRLEN 16
#define MAXATTR 64
#define MAXTABLES 64
-#define MAXTHREADS 256
+#define NDB_MAXTHREADS 256
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
#define MAXATTRSIZE 1000
#define PKSIZE 1
@@ -95,10 +102,10 @@ static int failed = 0 ; // lame global v
// incremented in executeCallback() and reset in main()
/************************************************************* < epaulsa */
-static NdbThread* threadLife[MAXTHREADS];
+static NdbThread* threadLife[NDB_MAXTHREADS];
static int tNodeId;
-static int ThreadReady[MAXTHREADS];
-static StartType ThreadStart[MAXTHREADS];
+static int ThreadReady[NDB_MAXTHREADS];
+static StartType ThreadStart[NDB_MAXTHREADS];
static char tableName[MAXTABLES][MAXSTRLEN+1];
static char attrName[MAXATTR][MAXSTRLEN+1];
static int *getAttrValueTable;
@@ -174,7 +181,7 @@ void deleteAttributeSpace(){
NDB_COMMAND(flexTimedAsynch, "flexTimedAsynch", "flexTimedAsynch [-tpoilcas]",
"flexTimedAsynch", 65535)
{
ndb_init();
- ThreadNdb tabThread[MAXTHREADS];
+ ThreadNdb tabThread[NDB_MAXTHREADS];
int tLoops=0;
int returnValue;
//NdbOut flexTimedAsynchNdbOut;
@@ -615,8 +622,8 @@ void readArguments(int argc, const char*
if (strcmp(argv[i], "-t") == 0)
{
tNoOfThreads = atoi(argv[i+1]);
- // if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS))
- if ((tNoOfThreads < 1) || (tNoOfThreads > MAXTHREADS))
+ // if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS))
+ if ((tNoOfThreads < 1) || (tNoOfThreads > NDB_MAXTHREADS))
exit(-1);
}
else if (strcmp(argv[i], "-i") == 0)
@@ -628,7 +635,7 @@ void readArguments(int argc, const char*
else if (strcmp(argv[i], "-p") == 0)
{
tNoOfTransInBatch = atoi(argv[i+1]);
- //if ((tNoOfTransInBatch < 1) || (tNoOfTransInBatch > MAXTHREADS))
+ //if ((tNoOfTransInBatch < 1) || (tNoOfTransInBatch > NDB_MAXTHREADS))
if ((tNoOfTransInBatch < 1) || (tNoOfTransInBatch > 10000))
exit(-1);
}
diff -Nrup a/ndb/test/ndbapi/initronja.cpp b/ndb/test/ndbapi/initronja.cpp
--- a/ndb/test/ndbapi/initronja.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/initronja.cpp 2007-08-01 04:44:55 +02:00
@@ -29,7 +29,14 @@
#define MAXSTRLEN 16
#define MAXATTR 64
#define MAXTABLES 64
-#define MAXTHREADS 256
+#define NDB_MAXTHREADS 256
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
#define MAXATTRSIZE 8000
static unsigned int tNoOfRecords;
diff -Nrup a/ndb/test/ndbapi/testOperations.cpp b/ndb/test/ndbapi/testOperations.cpp
--- a/ndb/test/ndbapi/testOperations.cpp 2006-12-23 20:04:19 +01:00
+++ b/ndb/test/ndbapi/testOperations.cpp 2007-08-01 04:44:55 +02:00
@@ -98,11 +98,6 @@ OperationTestCase matrix[] = {
break; }
#define C3(b) if (!(b)) { \
- g_err << "ERR: "<< step->getName() \
- << " failed on line " << __LINE__ << endl; \
- abort(); return NDBT_FAILED; }
-
-#define C3(b) if (!(b)) { \
g_err << "ERR: failed on line " << __LINE__ << endl; \
return NDBT_FAILED; }
diff -Nrup a/ndb/test/ndbapi/testScanFilter.cpp b/ndb/test/ndbapi/testScanFilter.cpp
--- a/ndb/test/ndbapi/testScanFilter.cpp 2007-04-26 16:48:50 +02:00
+++ b/ndb/test/ndbapi/testScanFilter.cpp 2007-08-01 04:44:55 +02:00
@@ -49,7 +49,15 @@ const char COL_LEN = 7;
* there are six columns, 'i', 'j', 'k', 'l', 'm', 'n', and each on is equal to 1 or 1,
* Since each tuple should be unique in this case, then TUPLE_NUM = 2 power 6 = 64
*/
-const int TUPLE_NUM = (int)pow(2, COL_LEN-1);
+#ifdef _AIX
+/*
+ IBM xlC_r breaks on the initialization with pow():
+ "The expression must be an integral constant expression."
+*/
+const int TUPLE_NUM = 64;
+#else
+const int TUPLE_NUM = (int)pow(2, COL_LEN-1);
+#endif
/*
* the recursive level of random scan filter, can
@@ -479,7 +487,7 @@ int get_column_id(char ch)
*/
bool check_col_equal_one(int tuple_no, int col_id)
{
- int i = (int)pow(2, 6 - col_id);
+ int i = (int)pow((double)2, (double)(6 - col_id));
int j = tuple_no / i;
if(j % 2)
return true;
diff -Nrup a/ndb/test/odbc/SQL99_test/SQL99_test.cpp
b/ndb/test/odbc/SQL99_test/SQL99_test.cpp
--- a/ndb/test/odbc/SQL99_test/SQL99_test.cpp 2006-12-23 20:04:21 +01:00
+++ b/ndb/test/odbc/SQL99_test/SQL99_test.cpp 2007-08-01 04:44:55 +02:00
@@ -27,7 +27,14 @@ using namespace std; //
#define MAXROW 64
#define DEFROW 8
-#define MAXTHREADS 24
+/*
+ NDB_MAXTHREADS used to be just MAXTHREADS, which collides with a
+ #define from <sys/thread.h> on AIX (IBM compiler). We explicitly
+ #undef it here lest someone use it by habit and get really funny
+ results. K&R says we may #undef non-existent symbols, so let's go.
+*/
+#undef MAXTHREADS
+#define NDB_MAXTHREADS 24
#define DEFTHREADS 2
#define MAXTABLES 16
@@ -83,7 +90,7 @@ int main(int argc, char* argv[]){
char* szTableNames = (char*)malloc(sizeof(char)*nNoOfTables*MAX_TABLE_NAME) ;
memset(szTableNames, 0, sizeof(char)*nNoOfTables*MAX_TABLE_NAME) ;
- UintPtr pThreadHandles[MAXTHREADS] = { NULL } ;
+ UintPtr pThreadHandles[NDB_MAXTHREADS] = { NULL } ;
AssignTableNames(szTableNames, nNoOfTables) ;
@@ -313,7 +320,7 @@ void ParseArguments(int argc, const char
if (strcmp(argv[i], "-t") == 0)
{
nNoOfThreads = atoi(argv[i+1]);
- if ((nNoOfThreads < 1) || (nNoOfThreads > MAXTHREADS))
+ if ((nNoOfThreads < 1) || (nNoOfThreads > NDB_MAXTHREADS))
nNoOfThreads = DEFTHREADS ;
}
else if (strcmp(argv[i], "-c") == 0)