Commit graph

3 commits

Author SHA1 Message Date
unknown
65a32e834f Fix for bug #31254: "Max_data_length" truncated / reported wrong
(compiler issue ?)

Problem:

Improper compile-time flags on AIX prevented use of files > 2 GB. This
resulted in Max_data_length being truncated to 2 GB by MyISAM code.

Solution:

Reverted large-file changes from the fix for bug10776. We need to define
_LARGE_FILES on AIX to have support for files > 2 GB.

 Since _LARGE_FILE_API is incompatible with _LARGE_FILES and may be
automatically defined by including standards.h, we also need a
workaround to avoid this conflict.


config/ac-macros/large_file.m4:
  Reverted large-file changes from the fix for bug10776. We need to define
  _LARGE_FILES on AIX to have support for files > 2 GB.
include/my_global.h:
  _LARGE_FILE_API is defined in standards.h that is automatically included
  by at least some C++ compilers on AIX. Since it is also incompatible
  with _LARGE_FILES which is required for POSIX IO calls to be
  largefile-safe, the only workaround is to explicitely #undef
  _LARGE_FILE_API.
2007-10-12 14:03:51 +04:00
unknown
f5b95d0be1 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:
  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:
  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:
  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:
  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:
  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:
  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:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
ndb/test/ndbapi/flexAsynch.cpp:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
ndb/test/ndbapi/flexHammer.cpp:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
ndb/test/ndbapi/flexScan.cpp:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
ndb/test/ndbapi/flexTT.cpp:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
ndb/test/ndbapi/flexTimedAsynch.cpp:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
ndb/test/ndbapi/initronja.cpp:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
ndb/test/ndbapi/testOperations.cpp:
  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.
ndb/test/ndbapi/testScanFilter.cpp:
  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:
  Bug #10776: Failure to compile ndb ReadNodesConf.cpp on AIX 5.2 (6)
  
  MAXTHREADS collides with a #define from <sys/thread.h> on AIX
  (IBM compiler).  Call it NDB_MAXTHREADS instead.  Also explicitly
  #undef it here lest someone use it by habit and get really funny
  results.  (K&R says we may #undef non-existent symbols.)
2007-08-01 04:56:58 +02:00
unknown
623c733895 Fixing problem with case insitive file systems.
Would you believe that I wrote all of this on a Mac? I just happen to be not using HFS for the partition I did this work on. Oops :)


config/ac-macros/alloca.m4:
  mvdir
config/ac-macros/character_sets.m4:
  mvdir
config/ac-macros/check_cpu.m4:
  mvdir
config/ac-macros/compiler_flag.m4:
  mvdir
config/ac-macros/ha_archive.m4:
  mvdir
config/ac-macros/ha_berkeley.m4:
  mvdir
config/ac-macros/ha_example.m4:
  mvdir
config/ac-macros/ha_innodb.m4:
  mvdir
config/ac-macros/ha_isam.m4:
  mvdir
config/ac-macros/ha_ndbcluster.m4:
  mvdir
config/ac-macros/ha_tina.m4:
  mvdir
config/ac-macros/large_file.m4:
  mvdir
config/ac-macros/misc.m4:
  mvdir
config/ac-macros/mysqlfs.m4:
  mvdir
config/ac-macros/openssl.m4:
  mvdir
config/ac-macros/readline.m4:
  mvdir
config/ac-macros/sanity.m4:
  mvdir
config/ac-macros/zlib.m4:
  mvdir
configure.in:
  Fix silly little problem with case insensitive filesystems.
  
  Funny thing is that I wrote all this on a Mac, but I don't use HFS on that partition so I never noticed that it would be an issue.
  
  Oops :)
2004-12-04 11:00:33 -08:00
Renamed from build/ac-macros/large_file.m4 (Browse further)