The problem is that the function used by the server to increase
the thread's priority (pthread_setschedparam) has the unintended
side-effect of changing the calling thread scheduling policy,
possibly overwriting a scheduling policy set by a sysadmin.
The solution is to rely on the pthread_setschedprio function, if
available, as it only changes the scheduling priority and does not
change the scheduling policy. This function is usually available on
Solaris and Linux, but it use won't work by default on Linux as the
the default scheduling policy only accepts a static priority 0 -- this
is acceptable for now as priority changing on Linux is broken anyway.
The grep expression that finds a running "mysqld" program fails if the
"mysqld_safe" is running with the same PID.
Now, excise "ps" output that has the word " grep" or "mysqld_safe" in
it, to be a little more certain that the matched process is not a false
positive hit. This will fail when the path to mysqld contains either
of those two names, which should be acceptable.
Additionally, some text to search could be truncated if very long.
Expand the number of lines "ps" emits.
Mostly, this affected files (programs, scripts, and manual pages)
which got built during a RPM build but were not listed in the
appropriate "%files" section of the "spec" file.
This is fixed now, they are added.
To make this consistent, this patch also makes the build of "innochecksum"
(and its inclusion in a tar.gz or other package) depend on whether InnoDB
is configured in the build.
Also, some tools to create Windows packages are irrelevant in any binary
Unix package (not the sources !), and so they are deleted before packaging.
manually resolved conflicts:
Text conflict in client/mysqltest.c
Contents conflict in mysql-test/include/have_bug25714.inc
Text conflict in mysql-test/include/have_ndbapi_examples.inc
Text conflict in mysql-test/mysql-test-run.pl
Text conflict in mysql-test/suite/parts/inc/partition_check_drop.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout_check1.inc
Text conflict in mysql-test/suite/parts/inc/partition_layout_check2.inc
Text conflict in mysql-test/suite/parts/r/partition_alter1_1_2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter1_1_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter1_2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter2_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_alter3_innodb.result
Text conflict in mysql-test/suite/parts/r/partition_alter3_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_basic_innodb.result
Text conflict in mysql-test/suite/parts/r/partition_basic_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_basic_symlink_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_engine_myisam.result
Text conflict in mysql-test/suite/parts/r/partition_syntax_myisam.result
Text conflict in mysql-test/suite/rpl_ndb/t/disabled.def
Text conflict in mysql-test/t/disabled.def
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.
added a rule that use gcc to generate preprocessor output (gcc -E)
that can be then compared to a already generated output using
the diff utility.
Ran make test on the repository to verify changes.
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.
and the modified values of the compile-related variables used in "configure".
Make the necessary adjustments in "configure.in" and "scripts/Makefile.am".
This fixes bug#31644
Values of *FLAGS that were used for building packages is missed in mysqlbug
as it may well happen with 32- vs 64-bit Linux systems.
This patch was proposed immediately with the report of
Bug #29658 wrong test for static nss checking on linux, doesn't cover all platforms
Always include all sub directories in "make dist"
Removed incorrect comment
configure.in:
Unconditionally list make files in AC_CONFIG_FILES
Removed 'thread_dirs', it is not used
Minor cleanup
compile-dist:
Simplified the configure line needed for "make dist" to get it all
zlib.m4, ssl.m4:
Unconditionally list make files in AC_CONFIG_FILES
Makefile.am:
Removed DIST_SUBDIRS not needed
Don't copy soft links as files into source package
make sure that if builder configured with a non-standard (!= 3306)
default TCP port that value actually gets used throughout. if they
didn't configure a value, assume "use a sensible default", which
will be read from /etc/services or, failing that, from the factory
default. That makes the order of preference
- command-line option
- my.cnf, where applicable
- $MYSQL_TCP_PORT environment variable
- /etc/services (unless configured --with-tcp-port)
- default port (--with-tcp-port=... or factory default)
Faster thr_alarm()
Added 'Opened_files' status variable to track calls to my_open()
Don't give warnings when running mysql_install_db
Added option --source-install to mysql_install_db
I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read() -> index_read_map()
index_read_idx() -> index_read_idx_map()
index_read_last() -> index_read_last_map()