EXCEPTIONS file and amended the GPL text as requested by Zak
libmysql/Makefile.am:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql/Makefile.shared:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql/conf_to_src.c:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql/dll.c:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql/errmsg.c:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql/get_password.c:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql/libmysql.c:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql/manager.c:
- Fixed license text, added reference to the EXCEPTIONS file
libmysql_r/Makefile.am:
- Fixed license text, added reference to the EXCEPTIONS file
various distributions
Docs/Makefile.am:
- Honoured node name change in manual.texi FOSS->FLOSS
Makefile.am:
- actually add EXCEPTIONS to the source distribution
scripts/make_win_src_distribution.sh:
- add EXCEPTIONS to the Windows source distribution, too
file "EXCEPTIONS" and include it in the source and binary
distributions
Build-tools/mysql-copyright:
- remove COPYING and EXCEPTIONS from the commercial packages
Docs/Makefile.am:
- create the EXCEPTIONS file that includes the FOSS License exception
scripts/make_binary_distribution.sh:
- include EXCEPTIONS in the binary distribution, too.
support-files/mysql.spec.sh:
- add EXCEPTIONS to the server RPM
sql/share/czech/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/danish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/dutch/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/english/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/estonian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/french/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/german/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/greek/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/hungarian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/japanese/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/korean/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/norwegian-ny/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/norwegian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/polish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/portuguese/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/romanian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/russian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/slovak/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/spanish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/swedish/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
sql/share/ukrainian/errmsg.txt:
Remove trailing \n from ER_READY (it is now printed in mysqld.cc)
Bug #4810 "deadlock with KILL when the victim was in a wait state"
(I included mutex unlock into exit_cond() for future safety)
and BUG#4827 "KILL while START SLAVE may lead to replication slave crash"
sql/lock.cc:
we did exit_cond() before unlock(LOCK_open), which led to deadlocks with THD::awake(). Fixing this.
sql/log.cc:
mutex unlock is now included in exit_cond()
sql/repl_failsafe.cc:
we did exit_cond() before unlock(LOCK_rpl_status), which led to deadlocks with THD::awake(). Fixing this.
sql/slave.cc:
we did exit_cond() before unlock(cond_lock), which led to deadlocks with THD::awake(). Fixing this.
Fixing also that if killed while waiting for slave thread to start, we don't release the mutex
(that caused a double release of the mutex => crash).
sql/sql_class.h:
comments about exit_cond()/enter_cond().
Mutex unlock is now included in exit_cond() so that it's always done in the good order.
sql/sql_table.cc:
unlock is now included in exit_cond().
sql/sql_class.h:
removing the assertion as I don't want to include assert.h (inclusion of assert.h has already been
reworked in 4.1, so I'll move the assertion to 4.1). Assertion makes compilation fail if non-debug.
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
innobase/include/page0page.ic:
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
innobase/row/row0sel.c:
Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
removing safe_mutex_assert_owner, as it would require an include,
and Konstantin already has cleaned up things with assert.h in 4.1;
so I'll put the safe_mutex_assert_owner in 4.1 instead.
sql/sql_class.h:
removing safe_mutex_assert_owner, as it would require an include,
and Konstantin already has cleaned up things with assert.h in 4.1;
so I'll put the safe_mutex_assert_owner in 4.1 instead.
happen on SMP machines, when a thread is going to wait on a condition and it is KILLed at the
same time.
Cleaning code a bit by adding a test in enter_cond() that we have the mutex (was already the case in all places
where it's called except one which is fixed here).
sql/log.cc:
safe_mutex_assert_owner() is now in THD::enter_cond()
sql/slave.cc:
lock mutex before waiting on condition.
sql/sql_class.cc:
THD::awake(): before locking the mutex, let's test it's not zero;
in theory indeed, the killer thread may see current_cond non-zero and current_mutex zero
(order of assignments is not guaranteed by POSIX).
A comment noting that there is still a small chance a KILL does not work and needs
being re-issued.
sql/sql_class.h:
Assert in enter_cond() that we have the mutex.
It is already the case in all places where we call enter_cond(), so better ensure it there.
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
innobase/os/os0file.c:
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
innobase/buf/buf0flu.c:
Add more diagnostic code to determine when an lsn field gets corrupt; tracks a crash reported from one Itanium computer
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
innobase/include/page0page.ic:
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
innobase/row/row0sel.c:
Add diagnostic code to print hex dumps and track corruption of next record offsets in an index page
and HP-UX (.sl) for creating "mysql-shared" packages there
scripts/make_sharedlib_distribution.sh:
- match shared library file name suffixes on Mac OS X (.dylib)
and HP-UX (.sl)
configure.in (thanks to Al Begley from Apple for the hint)
configure.in:
- Use the same compile options for the upcoming darwin8 OS
(thanks to Al Begley from Apple for the hint)
The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
sql/sql_insert.cc:
Fix for BUG#4551 "Temporary InnoDB tables not replicated properly with CREATE TABLE .. SELECT"
The problem was that (for any storage engine), the created temporary table was not removed if CREATE SELECT failed (because
of a constraint violation for example). This was not consistent with the manual and with CREATE SELECT (no TEMPORARY).
And it led to the above bug, because the binlogging of CREATE SELECT is done by select_insert::send_eof() (same function
as INSERT SELECT) and so, if the table is transactional and there is a failure, the statement is considered as rolled
back and so nothing is written in the binlog. So temp table MUST be deleted.