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.
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.
Tests cleanup (put drop database first in tests)
client/mysql.cc:
Cleanup of code in last pull
include/config-win.h:
Remove HAVE_CHSIZE on windows as it's not 64 bit clean
include/my_global.h:
Portability fix
mysql-test/r/drop.result:
Clean up results
mysql-test/r/flush.result:
Clean up results
mysql-test/r/grant_cache.result:
Clean up results
mysql-test/r/innodb.result:
Clean up results
mysql-test/r/insert_select.result:
Clean up results
mysql-test/r/merge.result:
Clean up results
mysql-test/r/query_cache.result:
Clean up results
mysql-test/t/drop.test:
Clean up tests
mysql-test/t/flush.test:
Clean up tests
mysql-test/t/grant_cache.test:
Clean up tests
mysql-test/t/innodb.test:
Clean up tests
mysql-test/t/insert_select.test:
Added more tests
mysql-test/t/merge.test:
Test of bug 515
mysql-test/t/query_cache.test:
Clean up tests
mysql-test/t/symlink.test:
Clean up tests
sql/mysql_priv.h:
Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_lex.h:
Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_list.h:
Indentation cleanup
sql/sql_parse.cc:
Cleaner implementation if INSERT ... SELECT with same tables
sql/sql_yacc.yy:
Cleaner implementation if INSERT ... SELECT with same tables
BitKeeper/deleted/.del-compile-pentium-valgrind-max:
Delete: BUILD/compile-pentium-valgrind-max
Build-tools/Do-compile:
Auto merged
sql/field.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/stacktrace.c:
Auto merged
merge.test - it was missed in the previous commit :(
manual.texi:
fixed bad auto-merge of OLAP manual
Docs/Makefile.am:
removed ../MIRROR target (mirror list is no longer in the manual)
Docs/Makefile.am:
removed ../MIRROR target (mirror list is no longer in the manual)
Docs/manual.texi:
fixed bad auto-merge of OLAP manual
mysql-test/t/merge.test:
merge.test - it was missed in the previous commit :(
Move MAX_BLOB_WIDTH to be global
Added full support for unsigned BIGINT
Fixed spelling errors
BUILD/compile-pentium-debug-max:
Don't use openssl by default
Docs/manual.texi:
Cleanup of MERGE tables, Access usage and UDF functions
acinclude.m4:
Cleanup ssl usage
configure.in:
Added message when using --with-tools
include/mysql_com.h:
Move MAX_BLOB_WIDTH to be global
myisammrg/myrg_create.c:
Fix problem with MERGE TABLES and INSERT
myisammrg/myrg_static.c:
Fix problem with MERGE TABLES and INSERT
mysql-test/r/bigint.result:
Added test of unsigned BIGINT
mysql-test/r/merge.result:
Tests for INSERT
mysql-test/r/type_ranges.result:
Fixed tests for unsigned bigint
mysql-test/t/bigint.test:
Added test of unsigned BIGINT
mysql-test/t/merge.test:
Tests for INSERT
mysys/typelib.c:
Cleanup
sql/field.h:
Fixed unsigned BIGINT
sql/ha_berkeley.cc:
Cleanup
sql/ha_gemini.cc:
Cleanup
sql/ha_myisam.cc:
Cleanup
sql/ha_myisammrg.cc:
Fixed INSERT into MERGE tables
sql/item.cc:
Fixed unsigned BIGINT
sql/item.h:
Fixed unsigned BIGINT
sql/item_func.cc:
Fixed unsigned BIGINT
sql/item_strfunc.cc:
Fixed spelling errors
sql/item_sum.cc:
Fixed unsigned BIGINT
sql/item_sum.h:
Fixed unsigned BIGINT
sql/mf_iocache.cc:
Fixed spelling errors
sql/mysql_priv.h:
Moved MAX_BLOB_WIDTH to be global
sql/mysqld.cc:
Fixed spelling errors
sql/opt_range.cc:
Fixed spelling errors
sql/sql_base.cc:
Fixed bug in SHOW OPEN TABLES
sql/sql_insert.cc:
Fixed spelling errors
sql/sql_lex.h:
Fixed spelling errors
sql/sql_parse.cc:
Fixed spelling errors
sql/sql_select.cc:
Fix for unsigned BIGINT
sql/structs.h:
Fixed spelling errors
sql/time.cc:
Fixed spelling errors
sql/unireg.cc:
Fixed spelling errors
configure.in:
Auto merged
BitKeeper/deleted/.del-violite.c~d7b85be615595ace:
Auto merged
BitKeeper/deleted/.del-violite.c~984c09cffe14a11b:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
client/mysqlbinlog.cc:
Auto merged
heap/hp_test2.c:
Auto merged
include/global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/myisam.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysql/net.c:
Auto merged
myisam/sort.c:
Auto merged
sql-bench/test-create.sh:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/lock.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mini_client.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
mysql-test/t/merge.test:
Auto merged
sql/ha_innobase.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
mysql-test/t/bdb.test:
Auto merged
Docs/manual.texi:
merge
myisam/myisampack.c:
merge
configure.in:
Only allow --with-pstack on Linux x86
mysql-test/t/merge.test:
Add test of using db.tablename in UNION()
mysys/mf_qsort.c:
Fix when using purify
mysys/my_dup.c:
Cleanup
mysys/raid.cc:
Cleanup
sql/gen_lex_hash.cc:
Smaller array
sql/ha_innobase.cc:
Remove warnings
sql/mysqld.cc:
Remove not used option from --help
sql/sql_class.h:
Cleanup
Docs/manual.texi:
Changelog and more documentation about ALTER TABLE
include/mysqld_error.h:
New error message
mysql-test/t/merge.test:
Test of error conditions
sql/gen_lex_hash.cc:
Smaller array
sql/ha_myisammrg.cc:
Cleanup
sql/share/czech/errmsg.txt:
New message
sql/share/danish/errmsg.txt:
New message
sql/share/dutch/errmsg.txt:
New message
sql/share/english/errmsg.txt:
New message
sql/share/estonian/errmsg.txt:
New message
sql/share/french/errmsg.txt:
New message
sql/share/german/errmsg.txt:
New message
sql/share/greek/errmsg.txt:
New message
sql/share/hungarian/errmsg.txt:
New message
sql/share/italian/errmsg.txt:
New message
sql/share/japanese/errmsg.txt:
New message
sql/share/korean/errmsg.txt:
New message
sql/share/norwegian-ny/errmsg.txt:
New message
sql/share/norwegian/errmsg.txt:
New message
sql/share/polish/errmsg.txt:
New message
sql/share/portuguese/errmsg.txt:
New message
sql/share/romanian/errmsg.txt:
New message
sql/share/russian/errmsg.txt:
New message
sql/share/slovak/errmsg.txt:
New message
sql/share/spanish/errmsg.txt:
New message
sql/share/swedish/errmsg.txt:
New message
Support option lines longer than 256 chars.
Close the slow log at shutdown.
Always allow debug options to mysqld.
Change some DBUG_PRINT tags.
Docs/manual.texi:
Small cleanups
configure.in:
Force close of sockets on HPUX 10.20
mysql-test/t/merge.test:
Remove used tables
mysys/default.c:
Support option lines longer than 256 chars.
mysys/mf_keycache.c:
Split check_keycache tags
sql/mysqld.cc:
Move things to 'cleanup'.
Close the slow log at shutdown.
Always allow debug options
sql/violite.c:
Change the error tag to vio_error
Remember UNION for ALTER TABLE
Added test for if we are supporting transactions.
Don't allow REPLACE to replace a row when we have generated an auto_increment key
Fixed bug when using BLOB keys
Fixed bug in SET @variable=user.
Docs/manual.texi:
Added some examples and moved the Error access denied section to the
error section.
client/mysqltest.c:
Changed to use the new mysql_send_query()
include/mysql.h:
Changed mysql_reap_query() to mysql_send_query().
libmysql/libmysql.c:
Changed mysql_reap_query() to mysql_send_query()
Merged some functions and removed some unused functions.
mysql-test/r/bdb.result:
New test case
mysql-test/r/distinct.result:
New test case
mysql-test/r/key.result:
New test case
mysql-test/r/merge.result:
New test case
mysql-test/r/replace.result:
New test case
mysql-test/t/bdb.test:
New test case
mysql-test/t/key.test:
New test case
mysql-test/t/merge.test:
New test case
mysql-test/t/replace.test:
New test case
mysys/my_lock.c:
Moved global lock variable to static
sql-bench/test-insert.sh:
Added test case for index-read only
sql/field.h:
Fixed that one can optimize ORDER BY with ISAM and GEMINI
sql/ha_berkeley.cc:
Added type casts needed for Windows
sql/ha_innobase.cc:
Removed reference to manual from comment.
sql/ha_myisammrg.cc:
Remember UNION for ALTER TABLE
sql/ha_myisammrg.h:
Remember UNION for ALTER TABLE
sql/handler.cc:
Added test for if we are supporting transactions.
Don't allow REPLACE to replace a row when we have generated an auto_increment key.
sql/handler.h:
Remember UNION for ALTER TABLE
sql/key.cc:
Fixed bug when using BLOB keys
sql/mysql_priv.h:
Added new variables
sql/mysqld.cc:
Added new variables
sql/opt_range.cc:
Fixed problem with BLOB keys
sql/opt_sum.cc:
Fix for BLOB keys
sql/sql_class.cc:
Added test if we need to init/clean transaction variables
sql/sql_insert.cc:
Fix for REPLACE and auto_increment keys
sql/sql_parse.cc:
Fixed bug in max_user_connections
sql/sql_select.cc:
Fixed problem with key on BLOB
sql/sql_yacc.yy:
Fixed bug in SET @variable=user.
sql/table.cc:
Fixed problem with keys on BLOB
Docs/manual.texi:
Added Innobase documentation
configure.in:
Incremented version
include/my_base.h:
Added option for Innobase
myisam/mi_check.c:
cleanup
mysql-test/t/bdb.test:
cleanup
mysql-test/t/innobase.test:
Extended with new tests from bdb.test
mysql-test/t/merge.test:
Added test of SHOW create
mysys/my_init.c:
Fix for UNIXWARE 7
scripts/mysql_install_db.sh:
Always write how to start mysqld
scripts/safe_mysqld.sh:
Fixed type
sql/ha_innobase.cc:
Update to new version
sql/ha_innobase.h:
Update to new version
sql/handler.h:
Added 'update_table_comment()' and 'append_create_info()'
sql/sql_delete.cc:
Fixes for Innobase
sql/sql_select.cc:
Fixes for Innobase
sql/sql_show.cc:
Append create information (for MERGE tables)
sql/sql_update.cc:
Fixes for Innobase
Fixed bug in DISTINCT
Docs/manual.texi:
Updated Changelog
Cleaned up adding character sets
merge/open.c:
skip comments
myisam/mi_check.c:
Fixed bug when sorting index on Windows
myisammrg/myrg_info.c:
Use only portable printf arguments
myisammrg/myrg_rrnd.c:
Use only portable printf arguments
mysql-test/r/distinct.result:
Added test case for bug in distinct
mysql-test/r/merge.result:
Added test for ALTER TABLE
mysql-test/t/distinct.test:
Added test case for bug in distinct
mysql-test/t/merge.test:
Added test for ALTER TABLE
sql-bench/crash-me.sh:
Fixed portability issues
sql/ha_myisammrg.cc:
Fixed for ALTER TABLE on MERGE tables
sql/item_sum.cc:
Fixed bug in DISTINCT
sql/sql_db.cc:
Added test of namelen in check_db_name
sql/sql_select.cc:
Fixed bug in DISTINCT
sql/sql_select.h:
Fixed bug in DISTINCT
sql/sql_table.cc:
Fixed ALTER TABLE on MERGE tables
sql/table.cc:
Added test of namelen in check_db_name
sql/table.h:
Fixed ALTER TABLE on MERGE tables
Fixed mutex bug in logging (crash on windows when doing SET PASSWORD=)
Changed MERGE tables to not use FILE
BitKeeper/deleted/.del-m.MRG~3f5632c37af00f18:
Delete: mysql-test/std_data/m.MRG
BitKeeper/deleted/.del-m.frm~e351dfe0b6824c0c:
Delete: mysql-test/std_data/m.frm
Docs/manual.texi:
Added DNS section
configure.in:
Update to 3.23.32
include/Makefile.am:
Added my_config.h
include/mysql_com.h:
Changes for --with-server-suffix
include/mysql_version.h.in:
cleanup
merge/open.c:
Don't use FILE
mysql-test/Makefile.am:
removed not needed data files
mysql-test/r/merge.result:
generate merge file
mysql-test/t/merge.test:
generate merge file
sql-bench/Results/ATIS-mysql-NT_4.0:
New benchmark results
sql-bench/Results/RUN-mysql-NT_4.0:
New benchmark results
sql-bench/Results/alter-table-mysql-NT_4.0:
New benchmark results
sql-bench/Results/big-tables-mysql-NT_4.0:
New benchmark results
sql-bench/Results/connect-mysql-NT_4.0:
New benchmark results
sql-bench/Results/create-mysql-NT_4.0:
New benchmark results
sql-bench/Results/insert-mysql-NT_4.0:
New benchmark results
sql-bench/Results/select-mysql-NT_4.0:
New benchmark results
sql-bench/Results/wisconsin-mysql-NT_4.0:
New benchmark results
sql/log.cc:
Ensure that mutex are initialized before used
sql/log_event.h:
Changes for --with-server-suffix
sql/mysql_priv.h:
Changes for --with-server-suffix
sql/mysqlbinlog.cc:
Changes for --with-server-suffix
sql/mysqld.cc:
changed strnmov -> strmake
sql/net_pkg.cc:
Prepare for adding char-set conversion to SHOW commands