Another problem is that the backtrace facility wasn't being
enabled for non-Linux targets even if the target OS has the
backtrace functions. Also, the stacktrace functions inside
mysqltest were being used without proper checks for their
presence in the build.
The problem was that when a embedded linked version of mysqltest
crashed there was no way to obtain a stack trace if no core file
is available. Another problem is that the embedded version of
libmysql was not behaving (crash) the same as the non-embedded with
respect to sending commands to a explicitly closed connection.
The solution is to generate a mysqltest's stack trace on crash
and to enable "reconnect" if the connection handle was explicitly
closed so the behavior matches the non-embedded one.
Corrected calculation of version id, incorrect last two digits if < 10
Keep "sp1" or "a" in MYSQL_NO_DASH_VERSION, to set correct version in
RPM spec file
Added MYSQL_NUMERIC_VERSION that is like MYSQL_NO_DASH_VERSION before
Added clear doc how the different version variables differ
SocketServer.cpp:
Corrected typo in debug error message
floating point numbers
Some math functions did not check if the result is a valid number
(i.e. neither of +-inf or nan).
Fixed by validating the result where necessary and returning NULL in
case of invalid result.
On crashes generate a user-friendly resolved and demangled stack
trace when libc provides the necessary functions (newer libc on i386,
x86_64, powerpc, ia64, alpha and s390). Otherwise print a numeric
stack trace as before, relying on resolve_stack_dump utility.
Patch by Kasper Dupont. No CLA required for this size of patch.
"resolveip" program produces incorrect result if given a hostname
starting with a digit. Someone seems to have thought that names
can not have digits at the beginning.
Instead, use the resolver library to work out the rules of hostnames,
as it will undoubtedly be better at it than we are.
Use compiler provided atomic builtins as a 'backend' for
MySQL's atomic primitives. The builtins are available on
a handful of platforms and compilers.
Removed the auto detection and use of Solaris "libmtmalloc", as it
cause regression on bug#18322. The code removed also prevented
a build without using this library. Users can still compile with
"libmtmalloc", if configuring with "--with-mysqld-libs=-lmtmalloc"
community-server features.
Community server features should be fully integrated into 5.1, but
disabled by default. We never toggle that they're disabled based
on the version number, in the 5.1 line and later.
"Dynamic plugins fail to load on FreeBSD"
ELF executables need to be linked using the -export-dynamic option to
ld(1) for symbols defined in the executable to become visible to dlsym().
Also, do not build plugins on an all-static build.