mysql-test/mysql-test-run.sh:
Add a "--comment=<string>" option, to get it logged when the test is run.
The purpose is to allow a better analysis when generating the status page
("gen-build-status-page").
See "Do-compile" for how it is used.
Bug#16780: Extend port range to make space for 5.1 NDBCLUSTER_PORT_SLAVE
mysql-test/mysql-test-run.sh:
Bug#16780: Extend port range to make space for 5.1 NDBCLUSTER_PORT_SLAVE
When setup_fields() function finds field named '*' it expands it to the list
of all table fields. It does so by checking that the first char of
field_name is '*', but it doesn't checks that the '* is the only char.
Due to this, when updating table with a field named like '*name', such field
is wrongly treated as '*' and expanded. This leads to making list of fields
to update being longer than list of the new values. Later, the fill_record()
function crashes by dereferencing null when there is left fields to update,
but no more values.
Added check in the setup_fields() function which ensures that the field
expanding will be done only when '*' is the only char in the field name.
mysql-test/t/update.test:
Added test case for bug#16510: Updating field named like '*name' caused server crash
mysql-test/r/update.result:
Added test case for bug#16510: Updating field named like '*name' caused server crash
sql/sql_base.cc:
Fixed bug #16510: Updating field named like '*name' caused server crash.
Added check in the setup_fields() function which ensures that the field
expanding will be done only when '*' is the only char in the field name.
After-fix optimizations proposed and finally
implemented by Monty.
mysql-test/r/lock.result:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
Additional test results.
mysql-test/t/lock.test:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
Additional tests.
sql/lock.cc:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
get_lock_data() gets a flag for storing the lock
positions in the new TABLE elements.
mysql_lock_remove() can now remove a lock faster
and more precisely as it has needed info in TABLE now.
mysql_unlock_read_tables() and mysql_lock_merge() must
now adjust the new elements of TABLE when modifying locks.
mysql_lock_have_duplicate() can now work faster on
the existing lock as the positions in the lock
arrays are known for each table.
get_lock_data() assigns the new TABLE elements
on request of the new flag.
sql/table.h:
BUG#5390 - problems with merge tables
After-fix optimizations proposed and finally
implemented by Monty.
Additional elements of TABLE.
Copyright string fixes (bug#16106)
extra/comp_err.c:
Ensure that the license spelling is as expected by the "mysql_copyright" tool.
(bug#16106)
scripts/mysqld_multi.sh:
The "mysql_copyright" tool will not change non-C files, so do not mention the license.
(bug#16106)
Changes to Netware specific mysqld_safe.c
include/config-netware.h:
NetWare specific change to increase thread stack size.
innobase/os/os0thread.c:
NetWare specific change to increase thread stack size.
netware/mysqld_safe.c:
NetWare specific change to make multiple mysqld_safe instances
work when called through a NCF file.
sql/mysqld.cc:
NetWare specific change to increase thread stack size.
Remove wrong fix for Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
Safety fix for bug #13855 "select distinct with group by caused server crash"
client/mysqlimport.c:
Remove not used variable
myisam/myisam_ftdump.c:
Fixed compiler warning
sql/item_cmpfunc.cc:
Removed compiler warning
sql/sql_handler.cc:
Remove wrong fix for Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash.
It's better to let mysql_lock_tables reopen the TABLE object in case of OPTIMIZE TABLE and fix items AFTER mysql_lock_table() instead of before
sql/sql_select.cc:
Safety fix for bug #13855 "select distinct with group by caused server crash"
The previous patch only removed the symptomps, this fix removed the cause of the problem
(Which was that not all hidden_fields was stored in the temporary table)
Problem #1: INSERT...SELECT
INSERT ... SELECT with the same table on both sides (hidden
below a MERGE table) does now work by buffering the select result.
The duplicate detection works now after open_and_lock_tables()
on the locks.
I did not find a test case that failed without the change in
sql_update.cc. I made the change anyway as it should in theory
fix a possible MERGE table problem with multi-table update.
mysql-test/r/create.result:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/r/merge.result:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added test results.
mysql-test/t/create.test:
BUG#5390 - problems with merge tables
Removed a duplicate test.
mysql-test/t/merge.test:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added tests.
sql/lock.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added a new function to find a duplicate lock in a list of tables.
sql/mysql_priv.h:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Added a declaration for the new function.
sql/sql_parse.cc:
BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT
Changed the duplicate tables detection for INSERT ... SELECT
to use the new function, which does also work for MERGE tables.
sql/sql_update.cc:
BUG#5390 - problems with merge tables
Changed the duplicate tables detection for UPDATE
to use the new function, which does also work for MERGE tables.
Initialized usable_keys from table->keys_in_use instead of ~0
in test_if_skip_sort_order(). It was possible that a disabled
index was used for sorting.
mysql-test/r/myisam.result:
Bug#14616 - Freshly imported table returns error 124 when using LIMIT
The test result.
mysql-test/t/myisam.test:
Bug#14616 - Freshly imported table returns error 124 when using LIMIT
The test case.
Version for 4.0.
It fixes two problems:
1. The cause of the bug was that we did not check the table version for
the HANDLER ... READ commands. We did not notice when a table was
replaced by a new one. This can happen during ALTER TABLE, REPAIR
TABLE, and OPTIMIZE TABLE (there might be more cases). I call the fix
for this problem "the primary bug fix".
2. mysql_ha_flush() was not always called with a locked LOCK_open.
Though the function comment clearly said it must.
I changed the code so that the locking is done when required. I call
the fix for this problem "the secondary fix".
mysql-test/r/handler.result:
Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
The test result.
mysql-test/t/handler.test:
Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
The test case.
sql/mysql_priv.h:
Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
Changed a definition for the secondary fix.
sql/sql_base.cc:
Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
Changed function calls for the secondary fix.
sql/sql_class.cc:
Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
Changed a function call for the secondary fix.
sql/sql_handler.cc:
Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
The first two diffs make the primary bug fix.
The rest is for the secondary fix.
sql/sql_table.cc:
Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
Changed function calls for the secondary fix.
- cleanup: removed obsolete support-files/MacOSX/make_mysql_pkg.pl
script (we now use Do-pkg for building OS X packages)
BitKeeper/deleted/.del-.cvsignore~4c7a1f88a5a62a24:
Delete: NEW-RPMS/.cvsignore
BitKeeper/deleted/.del-make_mysql_pkg.pl~caac82eb901cc206:
Delete: support-files/MacOSX/make_mysql_pkg.pl
netware/BUILD/compile-linux-tools:
- removed reference to the NEW-RPMS directory
netware/BUILD/compile-netware-END:
- removed reference to the NEW-RPMS directory
netware/BUILD/compile-netware-src:
- removed reference to the NEW-RPMS directory
directory - these files are now maintained in the mysqldoc
repository and included in the source distribution during the
release build. Updated the configure.in script and Makefiles to
create the man page file list at build time
- Updated the file list in the RPM spec file to include all currently
available man pages (this can not be done with wildcards, as
the man pages are spread across several subpackages. However, RPM
warns about unpackaged files, so newly added man pages can be
spotted)
BitKeeper/deleted/.del-isamchk.1.in~9d44303f6d951962:
Delete: man/isamchk.1.in
BitKeeper/deleted/.del-isamlog.1.in~416d91adbf665b19:
Delete: man/isamlog.1.in
BitKeeper/deleted/.del-mysql.1.in~3f4dbf65d31fea3a:
Delete: man/mysql.1.in
BitKeeper/deleted/.del-mysqlaccess.1.in~2adf98feb44a0dbf:
Delete: man/mysqlaccess.1.in
BitKeeper/deleted/.del-mysqladmin.1.in~81703c6092a1f769:
Delete: man/mysqladmin.1.in
BitKeeper/deleted/.del-mysqld.1.in~42371a82eb27d87c:
Delete: man/mysqld.1.in
BitKeeper/deleted/.del-mysqld_multi.1.in~b3f1c5343b8481e6:
Delete: man/mysqld_multi.1.in
BitKeeper/deleted/.del-mysqld_safe.1.in~6f34e14acc0c5e0b:
Delete: man/mysqld_safe.1.in
BitKeeper/deleted/.del-mysqldump.1.in~9520980bfec710d5:
Delete: man/mysqldump.1.in
BitKeeper/deleted/.del-mysql_fix_privilege_tables.1.in~7422405bb0e64325:
Delete: man/mysql_fix_privilege_tables.1.in
BitKeeper/deleted/.del-mysql_zap.1.in~df5cf8089b50c624:
Delete: man/mysql_zap.1.in
BitKeeper/deleted/.del-mysqlshow.1.in~81ce953dcc1a282f:
Delete: man/mysqlshow.1.in
BitKeeper/deleted/.del-perror.1.in~60d1efcbe71bdd9c:
Delete: man/perror.1.in
BitKeeper/deleted/.del-replace.1.in~e92dc1aea682608c:
Delete: man/replace.1.in
configure.in:
- dynamically add man pages included in the man directory
(the BK tree only contains one dummy file, the directory is
populated by the Bootstrap script by copying current man pages
from the documentation server)
man/Makefile.am:
- removed hard-coded list of man pages, the list is populated
during the configure stage. When building from BK, only one
placeholder file exists. For the release builds, this directory
is populated by the Bootstrap script, which takes man page files
from the documentation server.
man/mysqlman.1:
- removed version number
support-files/mysql.spec.sh:
- adjusted file list: added man pages that are now part of the
official source distribution (taken from the documentation
server)
Option to set environment variable MTR_BUILD_THREAD to a small
number, from what mysql-test-run calculate port numbers that
will not conflict with other runs with different thread num
Makefile.am:
Option to set environment variable MTR_BUILD_THREAD to a small
number, from what mysql-test-run calculate port numbers that
will not conflict with other runs with different thread num
DISTINCT wasn't optimized away and caused creation of tmp table in wrong
case. This result in integer overrun and running out of memory.
Fix backported from 4.1. Now if optimizer founds that in result be only 1
row it removes distinct.
sql/sql_select.cc:
Fix bug #13855 select distinct with group by caused server crash
mysql-test/r/select.result:
Test case for bug#13855 select distinct with group by caused server crash
mysql-test/t/select.test:
Test case for bug#13855 select distinct with group by caused server crash
to assign a potential existing mysql user to the correct user group (BUG#12823)
support-files/mysql.spec.sh:
- added a usermod call to assign a potential existing mysql user to the
correct user group (BUG#12823)
1. it's wrong to use memcpy() for overlapped areas;
2. we use it only once.
During merge to 4.1 will remove a memcpy_overlap() call
from strings/ctype-tis620.c as well in order to fix
bug #10836: ctype_tis620 test failure with ICC-compiled binaries on IA64.
myisam/mi_search.c:
use memmove() instead, as memcpy_overlap() is removed.
scripts/make_win_src_distribution.sh:
- added Docs/manual.chm to the windows source distribution (BUG#13899). The file
is placed in there by the Bootstrap script, which pulls it from the mysqldoc
repository
When fixing Item_func_plus in ORDER BY clause field c is searched in all
opened tables, but because c is an alias it wasn't found there.
This patch adds a flag to select_lex which allows Item_field::fix_fields()
to look up in select's item_list to find aliased fields.
sql/item.cc:
Fix bug#7672 Unknown column error in order clause
When fixing fields in ORDER BY clause allow Item_field::fix_fields() to look up items in select's item list to find aliased fields.
sql/sql_lex.cc:
Fix bug#7672 Unknown column error in order clause
sql/sql_lex.h:
Fix bug#7672 Unknown column error in order clause
Added flag to select_lex allowing Item_field::fix_fields to look up items in select's item list.
sql/sql_select.cc:
Fix bug#7672 Unknown column error in order clause
mysql-test/t/select.test:
Test case for bug#7672 Unknown column error in order clause
mysql-test/r/select.result:
Test case for bug#7672 Unknown column error in order clause
in SHOW CREATE TABLE if a temporary file cannot be created.
(Bug #13002)
sql/ha_innodb.cc:
ha_innobase::get_foreign_key_create_info(): Display an error
message to the user if a temporary file cannot be created.