this is important because this 4.0 "Bootstrap" is the one generally used on host "build".
Build-tools/Bootstrap:
If the source tree does not contain any "Docs/Images/Makefile*" (due to an error,
or because it is not yet prepared to contain the Images in the source tar-ball),
a plain "rm" will fail and so cause "Bootstrap" to fail. (This has happened ...)
Prevent this danger by using "rm -f".
the fact that the transaction log is empty does not mean we're not in a transaction
(it could be BEGIN; SELECT * FOR UPDATE FROM ibtable: then we don't want to commit now, even if
the statement is a MyISAM update).
With a testcase.
mysql-test/r/mix_innodb_myisam_binlog.result:
result update
mysql-test/t/mix_innodb_myisam_binlog.test:
test update for a new bug
sql/log.cc:
The fact that the transaction log is empty does not mean we're not in a transaction
(it could be BEGIN; SELECT * FOR UPDATE: then we don't want to commit now).
in the source tar-ball for distribution. This is done by using the "DISTFILES" macro
in a new "Docs/Images/Makefile". As the source BK tree does not contain these files,
they are copied from the "mysqldocs" tree at release build time.
This changeset relies on "bk commit - mysqldoc tree (joerg:1.2276)" of today.
Build-tools/Bootstrap:
Copy the relevant files with "Docs/Images" from the "mysqldocs" BK tree into the
build tree, ensuring that the "Makefile*" from the source BK tree are removed before.
Docs/Images/Makefile.am:
This dummy file is only needed to satisfy the Makefile hierarchy,
at release build time it will be replaced by its counterpart from the "mysqldocs" BK tree.
Docs/Makefile.am:
Include the new "Docs/Images/Makefile" in the Makefile hierarchy.
configure.in:
Ensure that the autotools will handle the new "Docs/Images/Makefile.am".
value if server runs in time zone with leap seconds".
Now in my_gmt_sec() function we take into account difference between
our target and estimation in seconds part.
mysql-test/Makefile.am:
Added mysql-test/std_data/Moscow_leap reuired by new timezone3.test
to source distribution.
sql/time.cc:
my_gmt_sec():
When comparing our target broken-down datetime t value and proper
representation of our estimation *l_time we should take into account
that they could differ in second part if we have time zone leap seconds.
Also added comments about some assumptions used in this function.
innobase/dict/dict0dict.c:
dict_scan_to(): skip quoted strings while scanning for the keyword
dict_create_foreign_constraints_low(): allow quote immediately after CONSTRAINT
for Solaris test, and fix if @IS_LINUX@ test in mysqld_safe itself.
configure.in:
Portability fix for FIND_PROC setting; on Solaris (and
probably others), 'ps -p $$' inside a shell script just
returns 'sh' for command line, even though $0 contains
the filename. So, use 'ps -fp $$' in the test (it shows
the full command line, e.g., 'sh configure'). Leave the
actual FIND_PROC command as-is, since mysqld itself is
not a shell script.
scripts/mysqld_safe.sh:
Portability fix for mysqld_safe on non-Linux systems. A bogus use
of 'if' and 'test' caused non-bash shells to enter a section meant
to be run only on Linux systems.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
Backport Jan's fix of the LOAD DATA INFILE REPLACE duplicate key error bug (Bug #5835) to 4.0
sql/ha_innodb.cc:
Backport Jan's fix of the LOAD DATA INFILE REPLACE duplicate key error bug (Bug #5835) to 4.0
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
dict0dict.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it; fix also a hang that would occur if one tried in ALTER TABLE or RENAME TABLE to create a foreign key constraint name that collided with another existing name
innobase/dict/dict0crea.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/dict/dict0load.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/dict/dict0dict.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it; fix also a hang that would occur if one tried in ALTER TABLE or RENAME TABLE to create a foreign key constraint name that collided with another existing name
innobase/eval/eval0eval.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/pars/pars0pars.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
innobase/row/row0mysql.c:
Fix bug #3478: InnoDB's FOREIGN KEY tables treated table and database names as case-insensitive; RENAME TABLE t to T would hang in an endless loop if t had a foreign key constraint defined on it
(backports from fixes made in 4.1)
myisam/myisampack.c:
- replaced "1ULL" with "((ulonglong)1)" to resolve a compile error on
Windows
sql/sql_handler.cc:
- removed some unused variables
- added a (byte*) cast to fix a compile error on Windows (backport of a
fix made in 4.1)
Updated version of texi2html so that 4.0.22 HTML manual doesn't turn out all goofy.
Docs/Support/texi2html:
Updated version of texi2html so that 4.0.22 HTML manual doesn't turn out all goofy.
without trying to re-run autotools.
(Backport from 4.1.7 for 4.0.22)
Build-tools/mysql-copyright:
The top level Makefile will try to re-run the autotools unless the timestamps of the
relevant files are in truly ascending order. Ensure this order!
(Backport from 4.1.7 for 4.0.22)
crashes server"
(in 4.0 we fix only connection stalling in case of error, crash itself is
fixed in 4.1, the test case for this code is also there).
sql/sql_parse.cc:
Handling of COM_CREATE_DB, COM_DROP_DB:
We should call send_error() if mysql_create_db or mysql_drop_db
return error (like we do it for SQL versions of these commands).
Add typecast from ulint to ssize_t in pread and pwrite, so that the type is according to the Linux man page; this will probably not help to fix the HP-UX 32-bit pwrite failure, since the compiler should do the appropriate typecasts anyway
innobase/os/os0file.c:
Add typecast from ulint to ssize_t in pread and pwrite, so that the type is according to the Linux man page; this will probably not help to fix the HP-UX 32-bit pwrite failure, since the compiler should do the appropriate typecasts anyway
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
innobase/row/row0ins.c:
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
innobase/row/row0mysql.c:
Fix bug #5961: release the dictionary latch during a long cascaded FOREIGN KEY operation, so that we do not starve other users
mysql-test/r/query_cache.result:
hiding real table stored in query cache by temporary table
mysql-test/t/query_cache.test:
hiding real table stored in query cache by temporary table
sql/sql_cache.cc:
Check of temporary tables hiding for query fetched from QC
sql/sql_cache.h:
Key length now stored in table record of query cache
Update texi2html with version from mysqldoc repository.
(Please merge this forward to 4.0, 4.1, 5.0.)
Docs/Support/texi2html:
Update texi2html with version from mysqldoc repository.
(Please merge this forward to 4.0, 4.1, 5.0.)
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
scripts/mysql_install_db.sh:
A fix (bug #6000 No "@%"-accounts after install).
Why do we need those REPLACE queries?
Removed $hostname queries for windows builds.
mysql-test/r/innodb-lock.result:
Fix test case (old one didn't test things correctly)
mysql-test/t/innodb-lock.test:
Fix test case (old one didn't test things correctly)
mysys/thr_lock.c:
More debugging information
sql/mysqld.cc:
Enable innodb_table_locks as default, as otherwise there is a possibility for deadlocks
sql/sql_base.cc:
More debug information
Rename innodb_table_locks_old_behavior -> innodb_table_locks
Set innodb_table_locks to off by default to get same behaviour as in MySQL 4.0.20
(This means that Innodb ignore table locks by default, which makes it easier to combine MyISAM and InnoDB to simulate a transaction)
libmysql/libmysql.c:
Use ulong instead of unsigned long
Reuse _dig_vec()
myisam/myisampack.c:
Simplify code
mysql-test/r/innodb-lock.result:
new test case
mysql-test/t/innodb-lock.test:
new test case
sql/ha_innodb.cc:
Rename innodb_table_locks_old_behavior -> innodb_table_locks
sql/mysqld.cc:
Rename innodb_table_locks_old_behavior -> innodb_table_locks
Set this off by default to get same behaviour as in MySQL 4.0.20
sql/set_var.cc:
Rename innodb_table_locks_old_behavior -> innodb_table_locks
sql/sql_class.h:
Rename innodb_table_locks_old_behavior -> innodb_table_locks