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.
spec file (the $RBR variable did not get expanded, thus leaving old build
roots behind)
support-files/mysql.spec.sh:
- fixed the removing of the RPM_BUILD_ROOT in the %clean section (the
$RBR variable did not get expanded, thus leaving old build roots behind)
Reduced the precision of the test numbers.
Not all platforms could reproduce the exact numbers.
mysql-test/r/merge.result:
Bug#9112 - Merge table with composite index producing invalid results with some queries
The new test result
The problem was an ab-use of last_rkey_length.
Formerly we saved the packed key length (of the search key)
in this element. But in certain cases it got replaced by
the (packed) result key length.
Now we use a new element of MI_INFO to save the packed key
length of the search key.
myisam/mi_dbug.c:
Bug#9112 - Merge table with composite index producing invalid results with some queries
Fixed the recognition of NULL values in _mi_print_key().
myisam/mi_rkey.c:
Bug#9112 - Merge table with composite index producing invalid results with some queries
Saved the packed key length in a new element of MI_INFO.
myisam/mi_search.c:
Bug#9112 - Merge table with composite index producing invalid results with some queries
Added a comment and trace prints.
myisam/myisamdef.h:
Bug#9112 - Merge table with composite index producing invalid results with some queries
Added a new element to store the packed key length
for use by the MyISAMMRG engine.
myisammrg/myrg_rkey.c:
Bug#9112 - Merge table with composite index producing invalid results with some queries
Changed to use the new element of MI_INFO to get at the
packed key length.
mysql-test/r/merge.result:
Bug#9112 - Merge table with composite index producing invalid results with some queries
The test result.
mysql-test/t/merge.test:
Bug#9112 - Merge table with composite index producing invalid results with some queries
The test case.
Ignored some generated files
mysql-test/t/analyze.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ansi-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ansi.test:
Turn off EOLN_NATIVE flag
mysql-test/t/backup-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb-alter-table-2-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb-deadlock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/bdb_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/bool.test:
Turn off EOLN_NATIVE flag
mysql-test/t/cast.test:
Turn off EOLN_NATIVE flag
mysql-test/t/constraints.test:
Turn off EOLN_NATIVE flag
mysql-test/t/convert.test:
Turn off EOLN_NATIVE flag
mysql-test/t/create_select_tmp.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_cp1251-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_cp1251.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_latin1_de-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_latin1_de.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_tis620-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_tis620.test:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_ujis-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/ctype_ujis.test:
Turn off EOLN_NATIVE flag
mysql-test/t/drop_temp_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/flush_block_commit.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_concat.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_encrypt-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/func_if.test:
Turn off EOLN_NATIVE flag
mysql-test/t/func_isnull.test:
Turn off EOLN_NATIVE flag
mysql-test/t/gcc296.test:
Turn off EOLN_NATIVE flag
mysql-test/t/grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/grant_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/grant_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/init_file-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/init_file.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb-deadlock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb-lock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_cache-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/innodb_handler.test:
Turn off EOLN_NATIVE flag
mysql-test/t/isam.test:
Turn off EOLN_NATIVE flag
mysql-test/t/loaddata.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_multi.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_tables_lost_commit-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lock_tables_lost_commit.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table3-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/lowercase_table3.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mix_innodb_myisam_binlog-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/mix_innodb_myisam_binlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/multi_update-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/myisam-blob-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/myisam-blob.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqlbinlog-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqlbinlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/mysqldump.test:
Turn off EOLN_NATIVE flag
mysql-test/t/packet.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache_merge.test:
Turn off EOLN_NATIVE flag
mysql-test/t/query_cache_notembedded.test:
Turn off EOLN_NATIVE flag
mysql-test/t/repair.test:
Turn off EOLN_NATIVE flag
mysql-test/t/repair_part2-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/repair_part2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl000016-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_EE_error.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_alter.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_chain_temp_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_change_master.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_commit_after_flush.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_do_grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_drop.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_empty_master_crash.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_error_ignored_table-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_error_ignored_table.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_failsafe.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-master.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop-slave.sh:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_flush_log_loop.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_free_items-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_free_items.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_get_lock.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_heap.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_ignore_grant-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_ignore_grant.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_insert_id.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_m-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_m.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_s-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddata_rule_s.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_loaddatalocal.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_log-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_log-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_master_pos_wait.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_max_relay_size.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete2-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_delete2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_update.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_update2-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_multi_update2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_optimize.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayspace-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_relayspace.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_reset_slave.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_server_id1.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_server_id2-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_server_id2.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_set_charset.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_skip_error-slave.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_skip_error.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_start_stop_slave.test:
Turn off EOLN_NATIVE flag
mysql-test/t/rpl_trunc_binlog.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_fix-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_fix.test:
Turn off EOLN_NATIVE flag
mysql-test/t/system_mysql_db_refs.test:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone.test:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone3-master.opt:
Turn off EOLN_NATIVE flag
mysql-test/t/timezone3.test:
Turn off EOLN_NATIVE flag
mysql-test/t/type_set.test:
Turn off EOLN_NATIVE flag
mysql-test/t/variables-master.opt:
Turn off EOLN_NATIVE flag
BitKeeper/etc/ignore:
added support-files/MacOSX/preflight
Solution for 4.0 and 4.1.
If the caller cannot re-open table(s), it gives a NULL
'refresh' argument to open_table(). We used to ignore
flushes then. Now we ignore drops too.
to be built successfully.
libmysqld/lib_vio.c:
Added a copy of vio_was_interrupted() from viosocket.c, for successful build
of libmysqld that uses own set of vio*() functions.
sql/mysql_priv.h:
initialisation moved to mysqld.cc
sql/mysqld.cc:
initialisation moved to mysqld.cc
sql/sql_cache.cc:
support of concurent query cache resizing:
- resizing made atomic
- check stack size after each quard mutex lock
sql/sql_cache.h:
initialisation moved to mysqld.cc
removed uneed parameter (now it is always under guard mutex protection or called from destruction)