List:Commits« Previous MessageNext Message »
From:Tatjana A Nuernberg Date:August 1 2007 4:45am
Subject:bk commit into 5.0 tree (tnurnberg:1.2504) BUG#10776
View as plain text  
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)
Thread
bk commit into 5.0 tree (tnurnberg:1.2504) BUG#10776Tatjana A Nuernberg1 Aug
  • Re: bk commit into 5.0 tree (tnurnberg:1.2504) BUG#10776Joerg Bruehe1 Aug
    • Re: bk commit into 5.0 tree (tnurnberg:1.2504) BUG#10776Stewart Smith6 Aug
      • Re: bk commit into 5.0 tree (tnurnberg:1.2504) BUG#10776Joerg Bruehe9 Aug
        • Re: bk commit into 5.0 tree (tnurnberg:1.2504) BUG#10776Stewart Smith13 Aug