Below is the list of changes that have just been committed into a local
5.0 repository of kaa. When kaa 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-10-12 14:03:51+04:00, kaa@polly.(none) +2 -0
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@stripped, 2007-10-12 14:03:41+04:00, kaa@polly.(none) +9 -2
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@stripped, 2007-10-12 14:03:42+04:00, kaa@polly.(none) +5 -0
_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.
diff -Nrup a/config/ac-macros/large_file.m4 b/config/ac-macros/large_file.m4
--- a/config/ac-macros/large_file.m4 2007-08-01 06:56:48 +04:00
+++ b/config/ac-macros/large_file.m4 2007-10-12 14:03:41 +04:00
@@ -128,8 +128,15 @@ AC_DEFUN([MYSQL_SYS_LARGEFILE],
ac_cv_sys_largefile_source=1 ;;
esac])
- # AIX 4.2 and later -- do nothing, include standards.h instead.
- # this goes for both GNU and IBM C and C++ compilers.
+ AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
+ ac_cv_sys_large_files,
+ [Large files support on AIX-style hosts.],
+ [case "$host_os" in
+ # Large file support on AIX is available starting from version 4.2
+ # Tested only on 5.2 and up
+ aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
+ ac_cv_sys_large_files=1 ;;
+ esac])
fi
])
diff -Nrup a/include/my_global.h b/include/my_global.h
--- a/include/my_global.h 2007-10-02 11:17:56 +04:00
+++ b/include/my_global.h 2007-10-12 14:03:42 +04:00
@@ -100,6 +100,11 @@
#define NETWARE_SET_SCREEN_MODE(A)
#endif
+/* Workaround for _LARGE_FILES and _LARGE_FILE_API incompatibility on AIX */
+#if defined(_AIX) && defined(_LARGE_FILE_API)
+#undef _LARGE_FILE_API
+#endif
+
/*
The macros below are used to allow build of Universal/fat binaries of
MySQL and MySQL applications under darwin.
| Thread |
|---|
| • bk commit into 5.0 tree (kaa:1.2527) BUG#31254 | Alexey Kopytov | 12 Oct |