- Only read *.pid
- Only allow it to contain a number
mysql-test/lib/mtr_io.pl:
Check that the value read from pidfile is a valid number consisting only of digits
mysql-test/lib/mtr_process.pl:
Only process .pid files in var/run dir and print a warning if other files are found there.
client/mysqltest.c:
Make the variables that are referenced from the "command_arg" arrays static to please the NetWare compiler.
Apparently the arrays can't reference local stack variables.
- Because my_seek actually is capable of returning an error code we should
exploit that in the best possible way.
- There might be kernel errors or other errors we can't predict and capturing
the return value of all system calls gives us better understanding of
possible errors.
mysys/mf_iocache.c:
- Added check on return value for my_seek
- Added comments
mysys/my_chsize.c:
- Added check on return value for my_seek
- Added comments
mysys/my_lock.c:
- Added check on return value for my_seek
- Added comments
mysys/my_seek.c:
- Added comments
If the user has specified --max-connections=N or --table-open-cache=M
options to the server, a warning could be given that some values were
recalculated, and table-open-cache could be assigned greater value.
Note that both warning and increase of table-open-cache were totally
harmless.
This patch fixes recalculation code to ensure that table-open-cache will
be never increased automatically and that a warning will be given only if
some values had to be decreased due to operating system limits.
No test case is provided because we neither can't predict nor control
operating system limits for maximal number of open files.
sql/mysql_priv.h:
Add constants for table_cache minimum and default values.
sql/mysqld.cc:
Fix max_connections and table_cache_size re-computation.
- Wait in loop with small sleep until tables has been renamed
mysql-test/t/rename.test:
To avoid scheduling effects wait for the tables to be renamed in a loop with small sleeps
before continuing with tests
mysql-test/include/wait_for_query_to_suceed.inc:
New BitKeeper file ``mysql-test/include/wait_for_query_to_suceed.inc''
Still leakage, make sure all unlinked operations are put back so they will be release
(on failing blob operations, when AO_IgnoreError)
ndb/src/ndbapi/NdbConnection.cpp:
Still leakage, make sure all unlinked operations are put back so they will be release
include/Makefile.am:
Move m_ctype.h from BUILT_SOURCES, it's in vcs
Update the rule for abi_check
include/mysql_h.ic:
Update the refernce and rename it to mysql_h.ic
Backport of the fix for bug #8143: A date with value 0 is treated as a NULL value
mysql-test/r/delete.result:
Fix for bug #23412: delete rows with null date field
- test result
mysql-test/t/delete.test:
Fix for bug #23412: delete rows with null date field
- test case
sql/sql_delete.cc:
Fix for bug #23412: delete rows with null date field
- during SELECT queries processing we convert 'date[time]_field is null'
conditions into 'date[time]_field = 0000-00-00[ 00:00:00]' for not null
DATE and DATETIME fields. To be consistent, we have to do the same for DELETE
queries. So we should call remove_eq_conds() in the mysql_delete() as well.
Also it may simplify and speed up DELETE queries execution.
If the error happens during DELETE IGNORE, nothing could be send to the
client, thus leaving it frozen expecting the reply.
The problem was that if some error occurred, it wouldn't be reported to
the client because of IGNORE, but neither success would be reported.
MySQL 4.1 would not freeze the client, but will report
ERROR 1105 (HY000): Unknown error
instead, which is also a bug.
The solution is to report success if we are in DELETE IGNORE and some
non-fatal error has happened.
mysql-test/r/innodb_mysql.result:
Add result for bug#18819: DELETE IGNORE hangs on foreign key parent
delete.
mysql-test/t/innodb_mysql.test:
Add test case for bug#18819: DELETE IGNORE hangs on foreign key parent
delete.
sql/sql_delete.cc:
Report success if we have got an error, but we are in DELETE IGNORE, and
the error is not fatal (if it is, it would be reported to the client).
Fix two memory leaks in mysql_client_test
mysql-test/mysql-test-run.pl:
Add valgrinding support for mysql_client_test
tests/mysql_client_test.c:
Fix two memory leaks
bugs.
ndb/include/util/UtilBuffer.hpp:
Fix accessing memory after free(), if called with source and destination
pointer the same (which should not really happen...).
Fixes a problem in ndb_restore.
ndb/src/common/util/SimpleProperties.cpp:
Fix typo in check of maxValue.
into willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2-merge2
sql/ha_myisammrg.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_select.cc:
Auto merged
BUG#23427 incompatible ABI change in 5.0.26?
- Use the icheck tool if avaliable and compare the current mysql.h to a version
controlled reference file
BitKeeper/etc/ignore:
Added include/check_abi include/mysql_h.ic to the ignore list
configure.in:
Look for icheck in configure
include/Makefile.am:
Add rule to build mysql_h.ic if icheck is avaliable
Add rule to compare mysql_h.ic to the version
controlled reference file mysql_h_abi.ic
include/mysql.h:
Add comment about taking care when editing mysql.h
Add example how to add reserved fiels in the structs to
allow for features to be added without breaking ABI
include/mysql_h_abi.ic:
Add new file describing the libmysqlclient ABI used as a reference to detect ABI breakage
Flush both stdout and stderr before abort'ing mysql_client_test
mysql-test/mysql-test-run.pl:
Run mysql_client_test wihtout --silent flag
tests/mysql_client_test.c:
Before aborting mysql_client_test in die, make sure
to first flush stdout and finally after the error message
has been printed also fflush stderr
with error 1 and we are running with --force
The specific "analyze" code is enclosed in a .test file fwich can easily
be modified to be more advanced
mysql-test/mysql-test-run.pl:
Attempt to run some quick queries to analyze the failure when mysqltest returns 1 indicating test has failed
Initially only code to analyze "could not sync with master" is added as that is a blackbox
and all problems looks the same
mysql-test/include/analyze_failure_sync_with_master.test:
New BitKeeper file ``mysql-test/include/analyze_failure_sync_with_master.test''
the incompatibility was caused by current_stmt member added to the MYSQL
structure.
It's possible to move it to THD structure instead which saves ABI
include/mysql.h:
member moved to the THD structure
libmysqld/lib_sql.cc:
now we use THD member here
sql/sql_class.h:
current_stmt member added for the embedded server
This fixes problem where --replace_result failed in rpl000015 because the MYSQL_TCP_PORT variable was "3306\r"
mysql-test/mysql-test-run.pl:
Avoid matching the trailing carriage return when parsing the mysqld.spec file
fixes for ndb_* tests broken by previous fix
be more careful in ndb about setting errors on failure of info call (especially
in open)
sql/ha_ndbcluster.cc:
fix some ndb* tests failing due to fix for 19914
be more careful about setting errors on failure of info call
sql/ha_ndbcluster.h:
fix some ndb* tests failing due to fix for 19914
be more careful about setting errors on failure of info call