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.
Removed warnings that depends on floating point comparisions in type_newdecimal.test which caused failures in some setups
[Backported from mysql-5.1-new @1.1961.1.1]
mysql-test/r/type_newdecimal.result:
Moved long running query to type_newdecimal-big.test
Removed warnings that depends on floating point comparisions
[Backported from mysql-5.1-new]
mysql-test/t/type_newdecimal.test:
Moved long running query to type_newdecimal-big.test
Removed warnings that depends on floating point comparisions
[Backported from mysql-5.1-new]
into mysql.com:/usr/home/bar/mysql-5.1-new
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
sql/item.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/table.cc:
Auto merged
into mysql.com:/usr/home/bar/mysql-5.0
mysql-test/r/ctype_recoding.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
mysql-test/r/show_check.result:
Remove authors from test result
mysql-test/t/show_check.test:
Don't put list of authors in results, just test that SHOW AUTHORS doesn't
give us any sort of error
sql/authors.h:
Add copyright notice, fix formatting of comments, update and alphabetize
list of authors, fix up formatting of entries.
into mysql.com:/usr/home/pem/mysql-5.1-new
include/my_base.h:
Auto merged
libmysqld/examples/Makefile.am:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/r/ndb_basic.result:
Auto merged
mysql-test/t/ndb_alter_table.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
sql/examples/ha_example.cc:
Auto merged
storage/myisam/ft_parser.c:
Auto merged
storage/ndb/src/common/mgmcommon/ConfigRetriever.cpp:
Auto merged
storage/ndb/src/mgmapi/mgmapi.cpp:
Auto merged
libmysqld/Makefile.am:
Manual merge.
sql/ha_ndbcluster.cc:
Manual merge.
sql/mysqld.cc:
Manual merge.
into mysql.com:/home/jimw/my/mysql-5.0-clean
mysql-test/t/create.test:
Auto merged
sql/table.cc:
Auto merged
mysql-test/r/create.result:
Resolve conflict
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
myisam/ft_parser.c:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/t/fulltext.test:
Auto merged
earlier because of various features/checks missing (these features/checks
are now implemented).
mysql-test/r/sp.result:
Enabled back bunch of tests which were previously disabled because of various
features/checks missing (since these features/checks are now implemented).
mysql-test/t/sp.test:
Enabled back bunch of tests which were previously disabled because of various
features/checks missing (since these features/checks are now implemented).
A typo bug caused loss of a predicate of the form field=const in some cases.
mysql-test/r/select.result:
Added a test case for bug #15106.
mysql-test/t/select.test:
Added a test case for bug #15106.
Post-review version. Some minor review fixes, but also changed the way
some errors are handled: Don't return specific parse errors; instead
always use the more general "table corrupt" error (amended accordingly).
mysql-test/r/sp-destruct.result:
Updated results.
mysql-test/r/sp-error.result:
Updated for fully qualified name in "no return" error message.
mysql-test/t/sp-destruct.test:
Adopted the more consistent error handling for a corrupted mysql.proc table.
(No more "parse error" et al).
sql/share/errmsg.txt:
Changed ER_SP_PROC_TABLE_CORRUPT to be more explicit.
sql/sp.cc:
Review fixes.
Changed the handling of parse errors, and added the routine name to the "table corrupt" error message.
sql/sql_base.cc:
Review changes: Change error tests and added comments.
sql/sql_parse.cc:
Mored ER_SP_NORETURN test of functions to sql_yacc.yy for more general error handling.
sql/sql_yacc.yy:
Mored ER_SP_NORETURN test of functions from sql_parse.cc for more general error handling.
CREATE TABLE and PS/SP": make sure that 'typelib' object for
ENUM values and 'Item_string' object for DEFAULT clause are
created in the statement memory root.
mysql-test/r/ps.result:
Test results has been fixed (Bug#14410)
mysql-test/t/ps.test:
A test case for Bug#14410 "Crash in Enum or Set type in CREATE
TABLE and PS/SP"
sql/mysql_priv.h:
typelib() function declaration has been changed.
sql/sql_table.cc:
Supply the statement memory root to use in typelib() and
safe_charset_converter() functions to ensure that objects
created during the first execution of CREATE TABLE statement
are allocated in persistent memory of the statement.
sql/table.cc:
Change typelib() function to require MEM_ROOT.
into zim.(none):/home/brian/mysql/mysql-5.1-new
client/mysqldump.c:
Auto merged
mysql-test/r/mysqldump.result:
REsolve
mysql-test/t/mysqldump.test:
Resolve conflict
So, use --replace and instead of getting INSERT INTO you will INSTEAD get REPLACE INTO. Buyer beward, REPLACE is a MySQL SQL, so you will not end up with a dump that can be used for other databases.
Though I hear you could just use a sed line to modify it back :)
client/client_priv.h:
New option for --replace
client/mysqldump.c:
Added option for REPLACE INTO instead of INSERT INTO
mysql-test/r/mysqldump.result:
Updated REsultes for replace into
mysql-test/t/mysqldump.test:
Added new test for --replace
Loose index scan using only second part of multipart index was choosen, which
results in creating wrong keys and endless loop.
get_best_group_min_max() now allows loose index scan for distinct only if used
keyparts forms a prefix of the index.
mysql-test/t/group_min_max.test:
Test case for bug #13293 Wrongly used index results in endless loop.
mysql-test/r/group_min_max.result:
Test case for bug #13293 Wrongly used index results in endless loop.
sql/opt_range.cc:
Fix bug #13293 Wrongly used index results in endless loop.
get_best_group_min_max() now allows loose index scan for distinct only if used keyparts forms a prefix of the index.
mysql-test/r/alter_table.result:
test result
mysql-test/t/alter_table.test:
test case
sql/sql_table.cc:
we should set the flag with the ALTER requirements
crash
resolve_const_item() substitutes item which will evaluate to constant with
equvalent constant item, basing on the item's result type. In this case
subselect was resolved as constant, and resolve_const_item() was substituting
it's result's Item_caches to Item_null. Later Item_cache's function was called
for Item_null object, which caused server crash.
resolve_const_item() now substitutes constants for items with
result_type == ROW_RESULT only for Item_rows.
sql/item.cc:
Fix bug #14482 Wrongly applied optimization in resolve_const_item() caused
crash
resolve_const_item() now applies optimization for items with
result_type == ROW_RESULT only to Item_rows.
mysql-test/t/select.test:
Test case for bug #14482 Wrongly applied optimization in resolve_const_item() caused crash
mysql-test/r/select.result:
Test case for bug #14482 Wrongly applied optimization in resolve_const_item() caused crash