fix for bug #15828 after review
doing val_str now before testing of null value secures the function for null values returned by dynamic functions - the fix before was incomplete andy covered constant null values
mysql-test/t/date_formats.test:
fix for bug #15828 after review
doing val_str now before testing of null value secures the function for null values returned by dynamic functions - the fix before was incomplete andy covered constant null values
mysql-test/r/sp.result:
Auto merged
mysql-test/t/sp.test:
Auto merged
sql/field.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/innobase/os/os0thread.c:
Auto merged
storage/myisam/myisam_ftdump.c:
Auto merged
storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
storage/ndb/src/ndbapi/NdbImpl.hpp:
Auto merged
storage/ndb/src/ndbapi/NdbRecAttr.cpp:
Auto merged
storage/ndb/src/ndbapi/ndb_cluster_connection.cpp:
Auto merged
Fixed bugs:
BUG#15991: "innodb-file-per-table + symlink database + rename = crash"
BUG#15650: "DELETE with LEFT JOIN crashes server"
BUG#15308: "Problem of Order with Enum Column in Primary Key"
BUG#14189: "VARBINARY and BINARY variables: trailing space ignored"
innobase/include/data0type.h:
Changes from the innodb-5.0-ss115 snapshot.
innobase/include/data0type.ic:
Changes from the innodb-5.0-ss115 snapshot.
Fixed bug #14189. dtype_get_pad_char(): Do not pad VARBINARY
or BINARY cloumns.
innobase/include/lock0lock.h:
Changes from the innodb-5.0-ss115 snapshot.
innobase/include/os0file.h:
Changes from the innodb-5.0-ss115 snapshot.
os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and
EISDIR to the new code OS_FILE_PATH_ERROR. Treat this code as
OS_FILE_PATH_ERROR. This fixes the crash on RENAME TABLE when
the .ibd file is a symbolic link to a different file system
(bug#15991).
innobase/include/row0mysql.h:
Changes from the innodb-5.0-ss115 snapshot.
innobase/lock/lock0lock.c:
Changes from the innodb-5.0-ss115 snapshot.
lock_rec_unlock(): Initialize local variable release_lock,
in order to avoid dereferencing an uninitialized pointer
when no lock exists on rec.
innobase/os/os0file.c:
Changes from the innodb-5.0-ss115 snapshot.
os_file_handle_error(): Map the error codes EXDEV, ENOTDIR, and
EISDIR to the new code OS_FILE_PATH_ERROR. Treat this code as
OS_FILE_PATH_ERROR. This fixes the crash on RENAME TABLE when
the .ibd file is a symbolic link to a different file system
(bug#15991).
Protect the increment and decrement operations on the statistic
variables os_n_pending_writes/reads with os_file_count_mutes.
innobase/row/row0ins.c:
Changes from the innodb-5.0-ss115 snapshot.
Fixed bug #14189. row_ins_cascade_calc_update_vec(): Refuse
ON UPDATE_CASCADE when trying to change the length of of a
VARBINARY column that refers to or is referenced by a BINARY
column. BINARY columns are no longer padded on comparison,
and thus they cannot be padded on storage either.
innobase/row/row0mysql.c:
Changes from the innodb-5.0-ss115 snapshot.
Fixed bug on unlock_row. In a unlock_row we may unlock
only the latest lock granted to this transaction to the row.
innobase/row/row0sel.c:
Changes from the innodb-5.0-ss115 snapshot.
Fixed bug #15308.
Fixed bug #14189: innobase_init(): Assert that
DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
After review fixes for unlock bug where unlock released all
locks transaction requested for a row. Only a latest requested
lock to a row should be released. Update function comments to
reflect current state. Persistent cursor should be stored
whenever select lock type != LOCK_NONE.
innobase/trx/trx0trx.c:
Changes from the innodb-5.0-ss115 snapshot.
trx_commit_off_kernel(): Do not write empty trx->mysql_log_file_name.
mysql-test/r/innodb.result:
Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb.test:
Changes from the innodb-5.0-ss115 snapshot.
sql/ha_innodb.cc:
Changes from the innodb-5.0-ss115 snapshot.
Fixed bug #15308.
Fixed bug #14189: innobase_init(): Assert that
DATA_MYSQL_BINARY_CHARSET_COLL == my_charset_bin.number.
After review fixes for unlock bug where unlock released all
locks transaction requested for a row. Only a latest requested
lock to a row should be released. Update function comments to
reflect current state. Persistent cursor should be stored
whenever select lock type != LOCK_NONE.
mysql-test/r/innodb_unsafe_binlog.result:
Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb_unsafe_binlog-master.opt:
Changes from the innodb-5.0-ss115 snapshot.
mysql-test/t/innodb_unsafe_binlog.test:
Changes from the innodb-5.0-ss115 snapshot.
Added testcases for bug #15650.
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
Also fixed bug 15991.
innobase/include/os0file.h:
Changes from innodb-4.1-ss14 snapshot
os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
link to a different file system. (Bug 15991)
innobase/os/os0file.c:
Changes from innodb-4.1-ss14 snapshot
os_file_hadle_error(): Map the error codes EXDEV, ENOTDIR, and EISDIR
to the new code OS_FILE_PATH_ERROR. Treat this code as OS_FILE_PATH_ERROR.
This fixes the crash on RENAME TABLE when the .ibd file is a symbolic
link to a different file system. (Bug 15991)
mysql-test/r/innodb.result:
Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
mysql-test/t/innodb.test:
Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
sql/ha_innodb.cc:
Changes from innodb-4.1-ss14 snapshot
Fixed BUG#14056: Column prefix index on UTF-8 primary key
causes "Can't find record.."
return incorrect result set for a select SQL request"
mysql-test/r/ps.result:
Test results fixed (Bug#12734)
mysql-test/t/ps.test:
A test case for Bug#12734
sql/item_cmpfunc.cc:
Reset canDoTurboBM in Item_func_like::cleanup()
sql/item_cmpfunc.h:
Add Item_func_like::cleanup()
'ref' accesses to all tables that are direct children of the nested join and are
not inner wrt their siblings.
mysql-test/r/join_nested.result:
Testcase for BUG#16393
mysql-test/t/join_nested.test:
Testcase for BUG#16393
Fixed that single apostrophe was considered as a word character.
mysql-test/r/fulltext.result:
A test case for BUG#14194 added.
mysql-test/t/fulltext.test:
A test case for BUG#14194 added.
storage/myisam/ftdefs.h:
Fixed that single apostrophe was considered as a word character.
Allow fulltext index on VARCHAR columns longer than max key length.
mysql-test/r/fulltext.result:
A test case for BUG#13835 added.
mysql-test/t/fulltext.test:
A test case for BUG#13835 added.
sql/sql_table.cc:
Allow fulltext index on VARCHAR columns longer than max key length.
into mysql.com:/home/alik/MySQL/devel/5.1-tree
include/config-win.h:
Auto merged
mysql-test/r/information_schema.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/rpl_ddl.result:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
Merge mysql.com:/home/alik/MySQL/devel/5.0-bug15110
into mysql.com:/home/alik/MySQL/devel/5.1-bug15110
BitKeeper/etc/ignore:
auto-union
client/mysqldump.c:
Auto merged
include/mysql_com.h:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/type_time.result:
Auto merged
sql/Makefile.am:
Auto merged
sql/sp.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_trigger.cc:
Auto merged
client/Makefile.am:
Add my_user.c
include/Makefile.am:
Add my_user.c
libmysqld/Makefile.am:
Add my_user.c
mysql-test/t/disabled.def:
Enable type_time.test
sql/sql_parse.cc:
Merge.
into mysql.com:/usr/home/bar/mysql-5.0
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Auto merged
strings/ctype-euc_kr.c:
Auto merged
strings/ctype-gb2312.c:
Auto merged
into moonbone.local:/work/15538-bug-5.0-mysql
mysql-test/r/select.result:
Auto merged
mysql-test/t/select.test:
Auto merged
sql/sql_yacc.yy:
Auto merged
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new
storage/ndb/include/util/Bitmask.hpp:
Auto merged
storage/ndb/src/mgmsrv/MgmtSrvr.cpp:
Auto merged
storage/ndb/test/ndbapi/testDataBuffers.cpp:
Auto merged
mysql-test/r/ndb_bitfield.result:
merge
mysql-test/t/ndb_bitfield.test:
merge
mysql-test/r/archive.result:
New results
mysql-test/t/archive.test:
More tests for indexes and new tests for being selective on selects.
sql/ha_archive.cc:
We now look and see if blobs are needed, and if they are not, we seek past them.
into poseidon.ndb.mysql.com:/home/tomas/v7
include/my_base.h:
Auto merged
mysql-test/t/mysqltest.test:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
mysql-test/t/disabled.def:
SCCS merged
mysql-test/t/ndb_dd_disk2memory.test:
New Disk Data test to test Cluster Disk tables working with Cluster Memory tables and the other way around
mysql-test/r/ndb_dd_disk2memory.result:
New Disk Data test to test Cluster Disk tables working with Cluster Memory tables and the other way around
mysql-test/t/disabled.def:
Disabled ndb_dd_disk2memory.test due to Bug #16466
functions".
We should ignore alias when we check if table was already marked as temporary
when we calculate set of tables to be prelocked. Otherwise we will erroneously
treat tables which are used in same routine and have same name but different
alias as non-temporary.
mysql-test/r/sp.result:
Added test for bug #12198 "Temporary table aliasing does not work inside stored
functions" and other tests which cover handling of temporary tables in prelocked
mode.
mysql-test/t/sp.test:
Added test for bug #12198 "Temporary table aliasing does not work inside stored
functions" and other tests which cover handling of temporary tables in prelocked
mode.
sql/sp_head.cc:
sp_head::merge_table_list():
We should ignore alias when we check if table was already marked as temporary
when we calculate set of tables to be prelocked. Otherwise we will erroneously
treat tables which are used in same routine and have same name but different
alias as non-temporary.
Added --use-threads option for porting to Windows.
client/mysqlslap.c:
Addinng thread option for porting to windows (second piece of code)
Also added flush call to fix one bug
mysql-test/r/mysqlslap.result:
New results
mysql-test/t/disabled.def:
Bug 16167 should not be fixed
mysql-test/t/mysqlslap.test:
Added test for new use-threads option
mysql-test/include/have_ndb_extra.inc:
New BitKeeper file ``mysql-test/include/have_ndb_extra.inc''
mysql-test/include/not_ndb.inc:
New BitKeeper file ``mysql-test/include/not_ndb.inc''
mysql-test/r/have_ndb_extra.require:
New BitKeeper file ``mysql-test/r/have_ndb_extra.require''
mysql-test/r/ndb_alter_table_row.result:
New BitKeeper file ``mysql-test/r/ndb_alter_table_row.result''
mysql-test/r/ndb_alter_table_stm.result:
New BitKeeper file ``mysql-test/r/ndb_alter_table_stm.result''
mysql-test/r/ndb_binlog_basic.result:
New BitKeeper file ``mysql-test/r/ndb_binlog_basic.result''
mysql-test/r/ndb_binlog_multi.result:
New BitKeeper file ``mysql-test/r/ndb_binlog_multi.result''
mysql-test/r/ndb_multi_row.result:
New BitKeeper file ``mysql-test/r/ndb_multi_row.result''
mysql-test/r/not_ndb.require:
New BitKeeper file ``mysql-test/r/not_ndb.require''
mysql-test/r/rpl_ndb_bank.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_bank.result''
mysql-test/r/rpl_ndb_basic.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_basic.result''
mysql-test/r/rpl_ndb_disk.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_disk.result''
mysql-test/r/rpl_ndb_idempotent.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_idempotent.result''
mysql-test/r/rpl_ndb_load.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_load.result''
mysql-test/r/rpl_ndb_multi.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_multi.result''
mysql-test/r/rpl_ndb_sync.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_sync.result''
mysql-test/r/rpl_row_basic_7ndb.result:
New BitKeeper file ``mysql-test/r/rpl_row_basic_7ndb.result''
mysql-test/t/ndb_alter_table_row.test:
New BitKeeper file ``mysql-test/t/ndb_alter_table_row.test''
mysql-test/t/ndb_alter_table_stm.test:
New BitKeeper file ``mysql-test/t/ndb_alter_table_stm.test''
mysql-test/t/ndb_binlog_basic.test:
New BitKeeper file ``mysql-test/t/ndb_binlog_basic.test''
mysql-test/t/ndb_binlog_multi.test:
New BitKeeper file ``mysql-test/t/ndb_binlog_multi.test''
mysql-test/t/ndb_multi_row.test:
New BitKeeper file ``mysql-test/t/ndb_multi_row.test''
mysql-test/t/rpl_ndb_bank.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_bank.test''
mysql-test/t/rpl_ndb_basic.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_basic.test''
mysql-test/t/rpl_ndb_disk.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_disk.test''
mysql-test/t/rpl_ndb_idempotent.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_idempotent.test''
mysql-test/t/rpl_ndb_load.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_load.test''
mysql-test/t/rpl_ndb_multi.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_multi.test''
mysql-test/t/rpl_ndb_sync.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_sync.test''
mysql-test/t/rpl_row_basic_7ndb.test:
New BitKeeper file ``mysql-test/t/rpl_row_basic_7ndb.test''
sql/ha_ndbcluster_binlog.cc:
New BitKeeper file ``sql/ha_ndbcluster_binlog.cc''
sql/ha_ndbcluster_binlog.h:
New BitKeeper file ``sql/ha_ndbcluster_binlog.h''
sql/ha_ndbcluster_tables.h:
New BitKeeper file ``sql/ha_ndbcluster_tables.h''
sql/rpl_injector.cc:
New BitKeeper file ``sql/rpl_injector.cc''
sql/rpl_injector.h:
New BitKeeper file ``sql/rpl_injector.h''
storage/ndb/include/kernel/signaldata/DihFragCount.hpp:
New BitKeeper file ``storage/ndb/include/kernel/signaldata/DihFragCount.hpp''
NDB cluster is not fully supported. This will be added with
WL 1892 (NDB Handler: Add support for CREATE/DROP INDEX).
Some preparatory code for this is already present though.
A change for the "duplicate key" error message is planned
for another changeset.
include/my_base.h:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Defined a mask of flags which must be the same for two indexes
if they should compare as compatible.
Added an error number for a new drop index error message.
mysql-test/r/key.result:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
The test result.
mysql-test/t/key.test:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
The test case.
sql/handler.cc:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Prepared for a later change in an error message:
Replace index number by index name for "duplicate key" error.
Added handling for the new drop index error message.
sql/handler.h:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Added new flags and methods.
Removed old flags and methods (from the last attempt).
sql/share/errmsg.txt:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Added a new error message for drop index.
sql/sql_table.cc:
WL#1563 - Modify MySQL to support fast CREATE/DROP INDEX
Moved definitions to the top of the file.
In mysql_prepare_table() allow an index to have the name
"PRIMARY" if it has the key type "Key::PRIMARY".
Added a parenthesis for readability.
Removed old code from the last attempt.
Some changes to compare_tables():
- Input parameter "List<Key> *key_list" is replaced by
"KEY *key_info_buffer, uint key_count".
- Output parameters added: "index_drop_buffer/index_drop_count"
and "index_add_buffer/index_add_count".
- Key comparison must now find matching keys in changed
old and new key lists.
- Key comparison of a key is easier now because both old
and new keys are of type 'KEY'.
Call mysql_prepare_table() before compare_tables(). The
translated KEY structs are needed at some places now.
Inserted a code segment for checking alter_table_flags().
Removed mysql_prepare_table() from the 'partition' branches
(it is done above now).
Removed a pair of unnecessary braces.
Inserted a code segment for executing fast add/drop index.
Made close of table dependent on whether it was opened.
Prepared for NDB cluster support.
Fixed commit to be called outside of LOCK_open.
account that "FORCE INDEX" disables full table scans, and not range/index_merge scans.
(with post-review fixes)
mysql-test/r/index_merge.result:
Testcase for BUG#16166
mysql-test/t/index_merge.test:
Testcase for BUG#16166
sql/sql_select.cc:
BUG#16166: "Can't use index_merge with FORCE INDEX": adjust the heuristics check:
if (force-index-is-used && there-is-possible-ref-access &&
+ THERE IS NO POSSIBLE RANGE/INDEX_MERGE ACCESS)
{
...
into mysql.com:/usr/home/bar/mysql-5.0
mysql-test/t/ctype_utf8.test:
Auto merged
mysql-test/r/ctype_utf8.result:
After-merge fix.
sql/field.cc:
After merge fix.
Archive uses native row format, so honestly this is just the change in a flag.
sql/ha_archive.h:
Added bit field support (and dropped the ha_not_exact_count since we always have this).
mysql-test/r/archive_bitfield.result:
New BitKeeper file ``mysql-test/r/archive_bitfield.result''
mysql-test/t/archive_bitfield.test:
New BitKeeper file ``mysql-test/t/archive_bitfield.test''
mysql-test/r/information_schema.result:
Remove extra spaces from result file.
mysql-test/r/mysqldump.result:
Remove extra spaces from result file.
mysql-test/r/rpl_ddl.result:
Remove extra spaces from result file.
mysql-test/r/trigger-compat.result:
Remove extra spaces from result file.
mysql-test/r/trigger-grant.result:
Remove extra spaces from result file.
mysql-test/r/trigger.result:
Remove extra spaces from result file.
sql/sql_yacc.yy:
Remove leading spaces.