Added new test cases, fixed bugs in relation to those
mysql-test/r/partition_charset.result:
New test case
mysql-test/r/partition_list.result:
New test case
mysql-test/t/partition_list.test:
New test case
sql/partition_info.cc:
Missing initialisation
sql/sql_partition.cc:
key_restore made use of field->ptr in VARCHAR fields and
when used with REPLACE it caused the key_restore to
become against table->record[0] when buf pointed to
table->record[1]
mysql-test/t/sp_trans_log.test:
Quoting hf from IRC: Binlog-related tests should be disabled in the embedded server.
This test fails, when run in embedded.
into gshchepa.loc:/home/uchum/work/bk-trees/mysql-5.0-opt-27704
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/row.test:
Auto merged
mysql-test/r/row.result:
Test case updated for Bug#27704 (incorrect comparison
of rows with NULL components).
sql/item_cmpfunc.cc:
Bug#27704: incorrect comparison of rows with NULL components.
sql/item_cmpfunc.h:
Bug#27704: incorrect comparison of rows with NULL components.
Cosmetic fix.
Support for NULL components was incomplete for row comparison,
fixed. Added support for abort_on_null at compare_row() like
in 5.x
sql/item_cmpfunc.h:
Bug#27704: incorrect comparison of rows with NULL components
Added support for abort_on_null at Item_bool_func2
like in 5.x
sql/item_cmpfunc.cc:
Bug#27704: incorrect comparison of rows with NULL components
Support for NULL components was incomplete for row comparison,
fixed. Added support for abort_on_null at compare_row() like
in 5.x
mysql-test/t/row.test:
Test case updated for Bug#27704 (incorrect comparison
of rows with NULL components)
mysql-test/r/row.result:
Test case updated for Bug#27704 (incorrect comparison
of rows with NULL components)
mysql-test/r/subselect.result:
Test case updated for Bug#27704 (incorrect comparison
of rows with NULL components)
into debian.(none):/M51/push-5.1
sql/ha_ndbcluster.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/mysqld.cc:
Merge conflict - main tree has precedence.
This bug was intruduced by the fix for bug#17212 (in 4.1). It is not
ok to call test_if_skip_sort_order since this function will
alter the execution plan. By contract it is not ok to call
test_if_skip_sort_order in this context.
This bug appears only in the case when the optimizer has chosen
an index for accessing a particular table but finds a covering
index that enables it to skip ORDER BY. This happens in
test_if_skip_sort_order.
mysql-test/r/key.result:
Bug#24778
test case.
The bug causes the result to be the empty set.
mysql-test/t/key.test:
Bug#24778
The minimal test case that reveals the bug. The reason for such a
complicated schema is that we have to convince the optimizer to
pick one index, then discard it in order to be able to skip
ORDER BY.
sql/sql_select.cc:
bug#24778
Removed the call to test_if_skip_sort_order that constituted the
bug.
into romeo.(none):/home/bk/merge-mysql-5.1
client/mysql.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
configure.in:
Merging 5.0 into 5.1
sql/slave.cc:
Merging 5.0 into 5.1
into romeo.(none):/home/bk/merge-mysql-5.1
BitKeeper/etc/ignore:
auto-union
client/mysql.cc:
Auto merged
client/mysqlbinlog.cc:
Auto merged
configure.in:
Auto merged
client/mysqltest.c:
Auto merged
mysql-test/r/rpl_ndb_basic.result:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/CMakeLists.txt:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/ha_ndbcluster_binlog.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_repl.cc:
Auto merged
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.1-new-maint
BitKeeper/deleted/.del-configure.in.rej:
Auto merged
configure.in:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
into romeo.(none):/home/bk/merge-mysql-5.0
client/mysql.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_class.cc:
Auto merged
When merging views into the enclosing statement
the ORDER BY clause of the view is merged to the
parent's ORDER BY clause.
However when the VIEW is merged into an UNION
branch the ORDER BY should be ignored.
Use of ORDER BY for individual SELECT statements
implies nothing about the order in which the rows
appear in the final result because UNION by default
produces unordered set of rows.
Fixed by ignoring the ORDER BY clause from the merge
view when expanded in an UNION branch.
mysql-test/r/view.result:
Bug #27786: test case
mysql-test/t/view.test:
Bug #27786: test case
sql/sql_lex.h:
Bug #27786: add a is_union() inlined function
Returns true if the unit represents an UNION.
sql/sql_view.cc:
Bug #27786: ignore ORDER BY in mergeable views when in UNION context
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
mysql-test/r/innodb_mysql.result:
Auto merged
mysql-test/include/mix1.inc:
Auto merged
Fix test case: add drop table
mysql-test/t/innodb_mysql.test:
Fix test case: add drop table
mysql-test/r/innodb_mysql.result:
Fix test case: add drop table
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
client/mysql.cc:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/t/strict.test:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
mysql-test/include/mix1.inc:
Manual merge
mysql-test/r/innodb_mysql.result:
Manual merge
Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
mysql-test/r/innodb_mysql.result:
Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
mysql-test/t/innodb_mysql.test:
Add test case for Bug #27210: INNODB ON DUPLICATE KEY UPDATE
into pilot.blaudden:/home/msvensson/mysql/mysql-5.1-maint
client/mysql_upgrade.c:
Auto merged
mysql-test/r/mysql_upgrade.result:
Auto merged
mysql-test/t/mysql_upgrade.test:
Auto merged
client/mysql_upgrade.c:
Add defines for WEXITSTATUS
Pass arguments on command line instead of --defaults-file=<temp file>
mysql-test/r/mysql_upgrade.result:
When testing that mysql_upgrade detect if mysqlcheck fails, use an option that
is used on all platforms.
mysql-test/t/mysql_upgrade.test:
When testing that mysql_upgrade detect if mysqlcheck fails, use an option that
is used on all platforms.
scripts/comp_sql.c:
Some compilers have a max string length, insert a newline at
every 512th char in long strings
record in table)
key_restore function didn't work as intended in the case of
VARCHAR or BLOB fields, stored the restored key in field->ptr instead
of to_record.
That produced the wrong key so search returned wrong result
mysql-test/r/partition.result:
result added
mysql-test/t/partition.test:
testcase
sql/field.cc:
Field_blob::store_length made static
sql/field.h:
Field_blob::store_length and set_ptr functions implemented in slightly
different way
sql/ha_ndbcluster.cc:
set_ptr_offset used
sql/key.cc:
set key_part->field->ptr to the proper place inside the to_record
so the restored key will be placed there as key_restore
is supposed to behave
Short overview:
Changed a lot of variable, functions, defines and struct elements to use more readable names
More comments (mostly function and structure slot comments)
Other things:
Changed 'USE_WHOLE_KEY' to a big number to not interfer with long keys
Ensure that tail block are at least of size 'MIN_TAIL_SIZE'
Allow longer keys and key parts than before (don't limit Maria interface by HA_MAX_KEY_LENGTH)
Use ma_chsize() to write initial bitmap page
Added checking if using file with wrong block_size
Added issing types to type_names[] (for maria_chk -d)
Added maria_max_key_length()
include/maria.h:
Changed maria_portable_size_char_ptr to portable_size_char_ptr and moved it to my_handler.h
Removed not used variable maria_delay_rec_write.
More comments
include/my_handler.h:
Added portable_sizeof_char_ptr
include/myisam.h:
Changed mi_portable_size_char_ptr to portable_size_char_ptr and moved it to my_handler.h
mysql-test/r/maria.result:
Fix results when we now have a longer key length
mysql-test/t/maria.test:
More tests
mysys/my_pread.c:
Code cleanup
sql/net_serv.cc:
Changed warning to note (as in main 5.1 tree) to avoid not critical failing tests
sql/sql_select.cc:
Use portable_sizeof_char_ptr
storage/maria/ha_maria.cc:
Added max_supported_key_length(), as this is not a trival function anymore
storage/maria/ha_maria.h:
Moved max_supported_key_length(), as this is not a trival function anymore
storage/maria/ma_bitmap.c:
Lots of new comments
Added maria_bitmap_marker[] to mark 2 last bytes of each bitmap (for corruption detection)
Trivial code changes (based on review comments)
storage/maria/ma_blockrec.c:
More code comments
Renamed _block_row() functions to _block_record()
Trivial code changes, based on review comments
Moved Code from maria_close() to _ma_end_block_record()
Some function renames to make things more understandable
DIR_ENTRY_OFFSET -> DIR_COUNT_OFFSET
keybuff_used -> keyread_buff_used
ma_recordpos_to_offset -> ma_recordpos_to_dir_entry
Changed some 'rec' named variables to 'column'.
Ensure that tail block are at least of size 'MIN_TAIL_SIZE'
storage/maria/ma_blockrec.h:
More comments
DIRCOUNT_SIZE -> DIR_COUNT_SIZE
Added define for maira_bitmap_marker[]
ma_recordpos_to_offset -> ma_recordpos_to_dir_entry
xxx_block_row() -> xxx_block_record()
Made _ma_read_bitmap_page() static
storage/maria/ma_check.c:
More comments
ma_recordpos_to_offset() -> ma_recordpos_to_dir_entry()
DIR_ENTRY_OFFSET -> DIR_COUNT_OFFSET
rec variables -> column variables
recdef -> columndef
storage/maria/ma_checksum.c:
rec -> column
Avoid an 'if' in _ma_checksum() for the common case
storage/maria/ma_close.c:
Moved resetting of info->dfile to ma_end_once_block_record()
storage/maria/ma_create.c:
Some variable changes to make things more readable:
recinfo -> columndef
rec -> column
rec_end -> end_column
record_type -> datafile_type
ma_recinfo_write() -> ma_columndef_write()
Fixed wrong setting of 'data_file_length'; Now max_rows should be calculated correctly
New check if too long key.
Use ma_chsize() to write bitmap page.
storage/maria/ma_delete.c:
keybuff_used -> keyread_buff_used
storage/maria/ma_dynrec.c:
rec -> columndef
rec_length -> column_length
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
Better comment for _ma_read_rnd_dynamic_record()
storage/maria/ma_ft_eval.c:
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/maria/ma_ft_test1.c:
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/maria/ma_ft_update.c:
keybuff_used -> keyread_buff_used
storage/maria/ma_info.c:
More comments
storage/maria/ma_open.c:
Added checking if using file with wrong block_size
New checking of max_key_length
rec -> columndef
_ma_recinfo_write -> _ma_columndef_write
Don't change block_size (as this is checked in ma_create())
More comments
storage/maria/ma_packrec.c:
Trivial code changes
rec -> columndef
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/maria/ma_page.c:
keybuff_used -> keyread_buff_used
storage/maria/ma_rkey.c:
Removed not needded empty line
storage/maria/ma_rrnd.c:
Removed not used variable
storage/maria/ma_rt_index.c:
keybuff_used -> keyread_buff_used
storage/maria/ma_search.c:
keybuff_used -> keyread_buff_used
Trivial code changes
storage/maria/ma_sp_test.c:
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/maria/ma_test1.c:
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/maria/ma_test2.c:
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/maria/ma_update.c:
Updated comment
storage/maria/ma_write.c:
keybuff_used -> keyread_buff_used
storage/maria/maria_chk.c:
Added missing types to type_names[]
Removed not used variable
rec -> columndef
Replaced some numbers with define flags
storage/maria/maria_def.h:
More comments
Added 'MARIA_INDEX_MIN_OVERHEAD_SIZE'
rec -> columndef
keybuff_used -> keyread_buff_used
_ma_recinfo_write -> _ma_culumndef_write
_ma_recinfo_read -> _ma_columndef_read
Changed 'USE_WHOLE_KEY' to a big number to not interfer with long keys
Added maria_max_key_length()
storage/maria/maria_pack.c:
Updated message strings
rec -> columndef
maria_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
More comments
storage/myisam/ft_eval.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/ft_test1.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/mi_checksum.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/mi_create.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/mi_dynrec.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/mi_open.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/mi_packrec.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/mi_rkey.c:
Unlock mutex also in case of error
storage/myisam/mi_test1.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/mi_test2.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/myisampack.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
storage/myisam/sp_test.c:
mi_portable_sizeof_char_ptr -> portable_sizeof_char_ptr
support-files/magic:
Fixed typo
fixed the test
sql/ha_ndbcluster.cc
LOCK_plugin is used in ha_ndbcluster.cc
sql/sql_plugin.cc
LOCK_plugin is used in ha_ndbcluster.cc
mysql-test/t/ndb_dd_basic.test:
fixed the test
sql/ha_ndbcluster.cc:
LOCK_plugin is used in ha_ndbcluster.cc
sql/sql_plugin.cc:
LOCK_plugin is used in ha_ndbcluster.cc
into mysql.com:/home/ram/work/b22824/my50-b22824
sql/item_cmpfunc.cc:
Auto merged
mysql-test/r/strict.result:
merging
mysql-test/t/strict.test:
merging
into mysql.com:/home/ram/work/b26851/b26851.5.1
client/mysql.cc:
Auto merged
mysql-test/r/mysql.result:
Auto merged
mysql-test/t/mysql.test:
Auto merged
mysql-test/r/ndb_binlog_ddl_multi.result:
corrrection of test case
(this was actually a bug that had not been spotted, that was fixed by previous patch)
Fixes:
- Bug #26662: mysqld assertion when creating temporary (InnoDB) table on a tmpfs filesystem
Fix by not open(2)ing with O_DIRECT but rather calling fcntl(2) to set
this flag immediately after open(2)ing. This way an error caused by
O_DIRECT not being supported can easily be ignored.
- Bug #23313: AUTO_INCREMENT=# not reported back for InnoDB tables
- Bug #21404: AUTO_INCREMENT value reset when Adding FKEY (or ALTER?)
Report the current value of the AUTO_INCREMENT counter to MySQL.
mysql-test/r/innodb.result:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
mysql-test/t/innodb.test:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
storage/innobase/handler/ha_innodb.cc:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
storage/innobase/handler/ha_innodb.h:
Applied innodb-5.1-ss1404 snapshot
Revision r1404:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
storage/innobase/os/os0file.c:
Applied innodb-5.1-ss1404 snapshot
Revision r1395:
* Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
to set this flag immediately after open(2)ing. This way an error caused by
O_DIRECT not being supported can easily be ignored.
* Add support for skipping the OS caching on Solaris by calling directio()
instead of fcntl().
Approved by: Heikki
Revision r1391:
Merge the bodies of os_file_handle_error() and os_file_handle_error_no_exit()
into a generic function which is called from both os_file_handle_error() and
os_file_handle_error_no_exit()
Approved by: Marko
storage/innobase/plug.in:
Applied innodb-5.1-ss1404 snapshot
Revision r1395:
* Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
to set this flag immediately after open(2)ing. This way an error caused by
O_DIRECT not being supported can easily be ignored.
* Add support for skipping the OS caching on Solaris by calling directio()
instead of fcntl().
Approved by: Heikki
NULL MERGE: this ChangeSet will be null merged into mysql-5.1
Fixes:
- Bug #26662: mysqld assertion when creating temporary (InnoDB) table on a tmpfs filesystem
Fix by not open(2)ing with O_DIRECT but rather calling fcntl(2) to set
this flag immediately after open(2)ing. This way an error caused by
O_DIRECT not being supported can easily be ignored.
- Bug #23313: AUTO_INCREMENT=# not reported back for InnoDB tables
- Bug #21404: AUTO_INCREMENT value reset when Adding FKEY (or ALTER?)
Report the current value of the AUTO_INCREMENT counter to MySQL.
innobase/configure.in:
Apply innodb-5.0-ss1405 snapshot
Revision r1396:
branches/5.0: Merge r1395 from trunk:
* Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
to set this flag immediately after open(2)ing. This way an error caused by
O_DIRECT not being supported can easily be ignored.
* Add support for skipping the OS caching on Solaris by calling directio()
instead of fcntl().
innobase/os/os0file.c:
Apply innodb-5.0-ss1405 snapshot
Revision r1394:
branches/5.0: Merge r1391 from trunk:
Merge the bodies of os_file_handle_error() and os_file_handle_error_no_exit()
into a generic function which is called from both os_file_handle_error() and
os_file_handle_error_no_exit()
Revision r1396:
branches/5.0: Merge r1395 from trunk:
* Fix Bug#26662 by not open(2)ing with O_DIRECT but rather calling fcntl(2)
to set this flag immediately after open(2)ing. This way an error caused by
O_DIRECT not being supported can easily be ignored.
* Add support for skipping the OS caching on Solaris by calling directio()
instead of fcntl().
mysql-test/r/innodb.result:
Apply innodb-5.0-ss1405 snapshot
Revision r1405:
branches/5.0: Merge r1404 from trunk:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
mysql-test/t/innodb.test:
Apply innodb-5.0-ss1405 snapshot
Revision r1405:
branches/5.0: Merge r1404 from trunk:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
sql/ha_innodb.cc:
Apply innodb-5.0-ss1405 snapshot
Revision r1405:
branches/5.0: Merge r1404 from trunk:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
sql/ha_innodb.h:
Apply innodb-5.0-ss1405 snapshot
Revision r1405:
branches/5.0: Merge r1404 from trunk:
Report the current value of the AUTO_INCREMENT counter to MySQL.
(Bug #23313, Bug #21404)
ha_innobase::update_create_info(): New function, to report
the auto_increment_value.
BitKeeper/etc/ignore:
Added client/log_event_old.cc client/log_event_old.h client/rpl_record_old.cc client/rpl_record_old.h libmysqld/log_event_old.cc libmysqld/rpl_record.cc libmysqld/rpl_record_old.cc to the ignore list
mysql-test/include/show_binlog_events2.inc:
New BitKeeper file ``mysql-test/include/show_binlog_events2.inc''