MySQL server 100% CPU if FLUSH TABLES WITH READ LOCK + INSERT
Infinite loop caused by missing update to thd version.
sql/sql_base.cc:
Bug#6616
thd version needs to be updated before reopening tables
to prevent an infinite loop.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
include/my_global.h:
A fix (bug #7970: CONFIG_NR_CPUS not defined for kernel header percpu.h).
We don't need to manipulate HAVE_ATOMIC_XXX here as we test it in the configure.
Invalid DataDir in config causes ndbd segfault
ndb/src/kernel/error/ErrorReporter.cpp:
print error and return error if unable to open the file for error reporting.
Only print the read line version if we are on a platform that supports readline
mysql.cc:
Add #ifdef to only print readline version if we are on a platform that supports readline
client/mysql.cc:
Add #ifdef to only print readline version if we are on a platform that supports readline
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Added an extra parameter to all calls to timeout().
1 means we want to set the write timeout
0 means we wnat to set the read timeout
viossl.c:
Add which parameter to ssl timeout routine
vio_priv.h:
Added which parameter to vio_ignore_timeout and vio_ssl_timeout
violite.h:
Add which parameter to vio_timeout sigs
net_serv.cc:
Use proper which code in call to vio_timeout to set the proper timeout
viosocket.c:
Set the appropriate timeout in vio_timeout
vio/viosocket.c:
Set the appropriate timeout in vio_timeout
sql/net_serv.cc:
Use proper which code in call to vio_timeout to set the proper timeout
include/violite.h:
Add which parameter to vio_timeout sigs
vio/vio_priv.h:
Added which parameter to vio_ignore_timeout and vio_ssl_timeout
vio/viossl.c:
Add which parameter to ssl timeout routine
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
should return a non empty one"
(see comments for the changed files for details).
mysql-test/r/ps.result:
A test case for Bug#9777: tests results fixed.
mysql-test/t/ps.test:
A test case for Bug#9777
sql/item.cc:
A fix for Bug#9777: when creating a constant item from within
Item_int_with_ref::new_item, create the item by value, not by name.
This should work with prepared statements placeholders.
Item_int_with_ref is a special optimization case used
when we compare datetime constants with datetime value.
Converting the item to integer early is OK as it is in line
with the purpose of Item_int_with_ref - to speed up comparison by
using integers.
Minor cleanups.
sql/item.h:
Declaration for Item_int_with_ref::new_item
Initial Metrowerks CodeWarrior compiler support
new file
support-files/MacOSX/mwar-wrapper:
Initial Metrowerks CodeWarrior compiler support
BUILD/compile-darwin-mwcc:
Initial Metrowerks CodeWarrior compiler support
support-files/MacOSX/mwcc-wrapper:
Initial Metrowerks CodeWarrior compiler support
Red Hat Linux (BUG#9444) - we now match the levels used by the MySQL as shipped with Red Hat Linux
(e.g. RHEL3/RHEL4)
support-files/mysql.server.sh:
- adjusted the start and stop priority level for chkconfig on Red Hat Linux (BUG#9444) - we now match
the levels used by the MySQL as shipped with Red Hat Linux (RHEL3/RHEL4)
AUTO_INCREMENT = X; or CREATE TABLE .. AUTO_INCREMENT = X; This
change is backported from 5.0 (Bug #7061).
sql/ha_innodb.cc:
Initial value for a auto_increment can now be set using ALTER TABLE
AUTO_INCREMENT = X; or CREATE TABLE .. AUTO_INCREMENT = X; This
change is backported from 5.0.
records if prepared statements is used".
This fix changes equality evaluation method of basic constants from
by-name to by-value, thus effectively enabling use of parameter markers
in some optimizations (constants propagation, evaluation of possible
keys for query).
mysql-test/r/ps.result:
Test results for the test case for Bug#9096
mysql-test/t/ps.test:
A short test case for Bug#9096 "select doesn't return all matched records if
prepared statements is used". The is enough to reproduce the
glitch in update_ref_and_keys causing the bug to occur.
sql/item.cc:
Implement by-value equality evaluation of basic constants.
This is needed to work with Item_param values. Until now
Item_param was compared with other items by its name, which is always "?".
The bug at hand showed up when an integer
constant was created from one parameter marker (with value 200887 and
name "?") and then compared by-name with another parameter marker
(with value 860 and name "?"). True returned by this comparison resulted
in a wrong table access method used to evaluate the query.
Implement Item_param methods needed to emulate "basic constant" mode at
full.
sql/item.h:
Change declaration of basic_const_item(): now it also widens its
argument from const Item * to Item * if the argument is a basic constant.
Declare eq() for all basic constatns, as long as now they
are compared by value, not by name. Each constant needs its own
comparison method.
Declarations of Item_param methods needed to fully emulate
a basic constant when parameter value is set.
sql/item_func.cc:
Fix wrong casts.