mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
Fixing test to use different positions depending on binlog format.
mysql-test/suite/binlog/r/binlog_row_mix_innodb_myisam.result:
Result change.
mysql-test/suite/binlog/r/binlog_stm_mix_innodb_myisam.result:
Result change.
mysql-test/suite/binlog/t/binlog_row_mix_innodb_myisam.test:
Removing part of test that does not work any more.
mysql-test/suite/binlog/t/binlog_stm_mix_innodb_myisam.test:
Removing part of test that does not work any more.
columns (default datatype value is assigned).
The mysql_update function has been modified to generate
an error when trying to set a NOT NULL field to NULL rather than a warning
in the set_field_to_null_with_conversions function.
mysql-test/extra/rpl_tests/rpl_extraMaster_Col.test:
Updated test case (for bug#33699).
mysql-test/include/ps_modify.inc:
Updated test case (for bug#33699).
mysql-test/r/auto_increment.result:
Updated test case (for bug#33699).
mysql-test/r/null.result:
Updated test case (for bug#33699).
mysql-test/r/ps_2myisam.result:
Updated test case (for bug#33699).
mysql-test/r/ps_3innodb.result:
Updated test case (for bug#33699).
mysql-test/r/ps_4heap.result:
Updated test case (for bug#33699).
mysql-test/r/ps_5merge.result:
Updated test case (for bug#33699).
mysql-test/r/warnings.result:
Updated test case (for bug#33699).
mysql-test/suite/ndb/r/ps_7ndb.result:
Updated test case (for bug#33699).
mysql-test/suite/rpl/r/rpl_extraColmaster_innodb.result:
Updated test case (for bug#33699).
mysql-test/suite/rpl/r/rpl_extraColmaster_myisam.result:
Updated test case (for bug#33699).
mysql-test/suite/rpl/t/rpl_err_ignoredtable.test:
Updated test case (for bug#33699).
mysql-test/t/auto_increment.test:
Updated test case (for bug#33699).
mysql-test/t/null.test:
Updated test case (for bug#33699).
mysql-test/t/warnings.test:
Updated test case (for bug#33699).
sql/sql_update.cc:
Bug#33699: The mysql_update function has been modified to generate
an error when trying to set a NOT NULL field to NULL rather than
a warning in the set_field_to_null_with_conversions function.
tests/mysql_client_test.c:
Updated test case (for bug#33699).
Allow one to run bootstrap even if --skip-maria is used (needed for bootstrap.test)
Fixed lots of compiler warnings
NOTE:
maria-big and maria-recover tests failes becasue of bugs in transaction log handling.
Sanja knows about this and is working on it!
mysql-test/mysql-test-run.pl:
Added --loose-skip-maria to MYSQLD_BOOTSTRAP_CMD to get bootstrap.test to work
mysql-test/r/maria-recovery.result:
Updated results
mysql-test/t/bootstrap.test:
Removed not needed empty line
mysql-test/t/change_user.test:
Fixed results for 32 bit systems
mysql-test/t/maria-big.test:
Only run this when you use --big
mysql-test/t/maria-recovery.test:
Added test case for recovery with big blobs
mysys/my_uuid.c:
Fixed compiler warning
sql/mysqld.cc:
Allow one to run bootstrap even if --skip-maria is used (needed for bootstrap.test)
sql/set_var.cc:
Compare max_join_size with ULONG_MAX instead of HA_POS_ERROR as we set max_join_size to ULONG_MAX by default
storage/maria/ma_bitmap.c:
Added __attribute((unused)) to fix compiler warning
storage/maria/ma_blockrec.c:
Added casts to remove compiler warnings
Change variable types to avoid compiler warnings
storage/maria/ma_check.c:
Added casts to remove compiler warnings
storage/maria/ma_checkpoint.c:
Change variable types to avoid compiler warnings
storage/maria/ma_create.c:
Change variable types to avoid compiler warnings
storage/maria/ma_delete.c:
Added casts to remove compiler warnings
storage/maria/ma_key_recover.c:
Added casts to remove compiler warnings
storage/maria/ma_loghandler.c:
Moved initiazation of prev_buffer first as this could otherwise not be set in case of errors
storage/maria/ma_page.c:
Added casts to remove compiler warnings
storage/maria/ma_pagecache.c:
Added __attribute((unused)) to fix compiler warning
storage/maria/ma_pagecrc.c:
Added #ifndef DBUG_OFF to remove compiler warning
storage/maria/ma_recovery.c:
Added casts to remove compiler warnings
storage/maria/ma_write.c:
Added casts to remove compiler warnings
storage/maria/maria_chk.c:
Split long string into two to avoid compiler warnings
storage/myisam/ft_boolean_search.c:
Added LINT_INIT() to remove compiler warning
support-files/compiler_warnings.supp:
Suppress wrong compiler warning
unittest/mytap/tap.c:
Fixed declaration to match prototypes to remove compiler warnings
Abort mysqld if Maria engine didn't start and we are using Maria for temporary tables
Fixed bug that caused update of big blobs to crash
Use pagecache_page_no_t as type for pages (to get rid of compiler warnings)
Added cast to get rid of compiler warning
Fixed wrong types of variables and arguments that caused lost information
Fixed wrong DBUG_ASSERT() that caused REDO of big blobs to fail
Removed some historical ifdefs that caused problem with windows compilations
BUILD/SETUP.sh:
Added --with-maria-tmp-tables
include/maria.h:
Use pagecache_page_no_t as type for pages
Use my_bool as parameter for 'rep_quick' option
include/my_base.h:
Added comment
mysql-test/r/maria-big.result:
Added test that uses big blobs
mysql-test/t/maria-big.test:
Added test that uses big blobs
sql/mysqld.cc:
Abort mysqld if Maria engine didn't start and we are using Maria for temporary tables
sql/sql_class.h:
Don't use Maria for temporary tables if --with-maria-tmp-tables is not defined
sql/sql_select.cc:
Don't use Maria for temporary tables if --with-maria-tmp-tables is not defined
storage/maria/ha_maria.cc:
Fixed compiler warnings reported by MCC
- Fixed usage of wrong types that caused data loss
- Changed parameter for rep_quick to my_bool
- Added safe casts
Fixed indentation
storage/maria/ma_bitmap.c:
Use pagecache_page_no_t as type for pages
Fixed compiler warnings
Fixed bug that caused update of big blobs to crash
storage/maria/ma_blockrec.c:
Use pagecache_page_no_t as type for pages
Use my_bool as parameter for 'rep_quick' option
Fixed compiler warnings
Fixed wrong DBUG_ASSERT()
storage/maria/ma_blockrec.h:
Use pagecache_page_no_t as type for pages
storage/maria/ma_check.c:
Fixed some wrong parameters where we didn't get all bits for test_flag
Changed rep_quick to be of type my_bool
Use pagecache_page_no_t as type for pages
Added cast's to get rid of compiler warnings
Changed type of record_pos to get rid of compiler warning
storage/maria/ma_create.c:
Added safe cast's to get rid of compiler warnings
storage/maria/ma_dynrec.c:
Fixed usage of wrong type
storage/maria/ma_key.c:
Fixed compiler warning
storage/maria/ma_key_recover.c:
Use pagecache_page_no_t as type for pages
storage/maria/ma_loghandler_lsn.h:
Added cast's to get rid of compiler warnings
storage/maria/ma_page.c:
Changed variable name from 'page' to 'pos' as it was an offset and not a page address
Moved page_size inside block to get rid of compiler warning
storage/maria/ma_pagecache.c:
Fixed compiler warnings
Replaced compile time assert with TODO
storage/maria/ma_pagecache.h:
Use pagecache_page_no_t as type for pages
storage/maria/ma_pagecrc.c:
Allow bitmap pages that is all zero
storage/maria/ma_preload.c:
Added cast to get rid of compiler warning
storage/maria/ma_recovery.c:
Changed types to get rid of compiler warnings
Use bool for quick_repair to get rid of compiler warning
Fixed some variables that was wrongly declared (not enough precission)
Added cast to get rid of compiler warning
storage/maria/ma_test2.c:
Remove historical undefs
storage/maria/maria_chk.c:
Changed rep_quick to bool
Fixed wrong parameter to maria_chk_data_link()
storage/maria/maria_def.h:
Use pagecache_page_no_t as type for pages
storage/maria/maria_pack.c:
Renamed isam -> maria
storage/maria/plug.in:
Added option --with-maria-tmp-tables
storage/maria/trnman.c:
Added cast to get rid of compiler warning
storage/myisam/mi_test2.c:
Remove historical undefs
into kaamos.(none):/data/src/opt/mysql-5.1-opt
client/mysql.cc:
Auto merged
client/mysqltest.c:
Auto merged
sql/log.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
Problem: Replication fails when master is mysql-5.1-wl2325-5.0-drop6 and
slave is mysql-5.1-new-rpl. The reason is that, in
mysql-5.1-wl2325-5.0-drop6, the event type id's were different than in
mysql-5.1-new-rpl.
Fix (in mysql-5.1-new-rpl):
(1) detect that the server that generated the events uses the old
format, by checking the server version of the format_description_log_event
This patch recognizes mysql-5.1-wl2325-5.0-drop6p13-alpha,
mysql-5.1-wl2325-5.0-drop6, mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
(2) if the generating server is old, map old event types to new event
types using a permutation array.
I've also added a test case which reads binlogs for four different
versions.
mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001:
BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-telco.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001:
BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_row.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001:
BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1-wl2325_stm.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001:
BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_17.000001
mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001:
BitKeeper file /home/sven/bk/b27779-old_row_events/5.1-new-rpl/mysql-test/suite/binlog/std_data/binlog_old_version_5_1_23.000001
sql/log_event.cc:
Added code to read events generated by
mysql-5.1-wl2325-5.0-drop6p13-alpha, mysql-5.1-wl2325-5.0-drop6,
mysql-5.1-wl2325-5.0, mysql-5.1-wl2325-no-dd.
More precisely, the event type id's had different numbers in
those versions. To fix, we add a permutation array which maps old_id to
new_id when the format_description_log_event indicates that the
originating server is of the old type. We also need to permute the
post_header_len array accordingly.
sql/log_event.h:
sql/log_event.h@1.169, 2008-01-09 11:34:37+01:00, sven@riska.(none) +5 -1
Added declaration needed in log_event.cc. Also, the destructor of
Format_description_log_event is sometimes called when post_header_len is
null, so we must pass the MY_ALLOW_ZERO_PTR flag to my_free.
mysql-test/suite/binlog/r/binlog_old_versions.result:
Result file for new test.
mysql-test/suite/binlog/t/binlog_old_versions.test:
New test case that loads binlogs from several old versions.
into dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/mysql-5.1-new-ndb-bj
storage/ndb/src/kernel/blocks/backup/Backup.cpp:
Auto merged
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
storage/ndb/src/kernel/blocks/lgman.cpp:
Auto merged
storage/ndb/src/kernel/blocks/tsman.cpp:
Auto merged
storage/ndb/test/ndbapi/testDict.cpp:
Auto merged
storage/ndb/src/kernel/blocks/ERROR_codes.txt:
SCCS merged
storage/ndb/src/ndbapi/ndberror.c:
SCCS merged
into kaamos.(none):/data/src/opt/mysql-5.1-opt
sql/field.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
mysql-test/r/subselect.result:
Manual merge.
mysql-test/t/subselect.test:
Manual merge.
sql/filesort.cc:
Manual merge.
into kaamos.(none):/data/src/opt/mysql-5.1-opt
mysql-test/r/union.result:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/sql_select.cc:
Auto merged
into kaamos.(none):/data/src/opt/bug33305/my51-bug33305
mysql-test/r/cast.result:
Auto merged
mysql-test/r/type_date.result:
Auto merged
mysql-test/r/union.result:
Auto merged
mysql-test/t/cast.test:
Auto merged
mysql-test/t/skip_grants.test:
Auto merged
mysql-test/t/type_date.test:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/item.cc:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
sql/sql_select.cc:
Auto merged
mysql-test/r/skip_grants.result:
Manual merge.
mysql-test/suite/ndb/r/ndb_autoinc.result:
Temperory table name shouldn't output in result file for its name is non-deterministic
mysql-test/suite/ndb/t/ndb_autoinc.test:
don't output temperary file name
into macbook.gmz:/Users/kgeorge/mysql/work/B33133-5.1-opt
mysql-test/r/func_group.result:
Auto merged
mysql-test/t/func_group.test:
Auto merged
sql/sql_base.cc:
Auto merged
When resolving references we need to take into consideration
the view "fields" and allow qualified access to them.
Fixed by extending the reference resolution to process view
fields correctly.
mysql-test/r/func_group.result:
Bug #33133: test case
mysql-test/t/func_group.test:
Bug #33133: test case
sql/sql_base.cc:
Bug #33133: allow qualified alias refs to view fields
Problem was that the mix of handlers was not consistent between
CREATE and ALTER
changed so that it works like:
- All partitions must use the same engine
AND it must be the same as the table.
- if one does NOT specify an engine on the table level
then one must either NOT specify any engine on any
partition/subpartition OR for ALL partitions/subpartitions
Note: that after a table have been created, the storage engine
is specified for all parts of the table (table/partition/subpartition)
and so when using alter, one does not need to specify it (unless one
wants to change the storage engine, then one have to specify it on the
table level)
mysql-test/r/partition.result:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test result updated
mysql-test/r/partition_innodb.result:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test result updated
mysql-test/suite/ndb/r/ndb_partition_key.result:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test result updated
mysql-test/suite/ndb/t/ndb_partition_key.test:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test case update
mysql-test/suite/parts/inc/partition_engine.inc:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test case updated
mysql-test/suite/parts/r/ndb_partition_key.result:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test result updated
mysql-test/suite/parts/r/partition_engine_innodb.result:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test result updated
mysql-test/suite/parts/r/partition_engine_myisam.result:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test result updated
mysql-test/suite/parts/t/ndb_partition_key.test:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test case updated
mysql-test/t/partition.test:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test case updated
mysql-test/t/partition_innodb.test:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
test case updated
sql/partition_info.cc:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
moved the check_engine_condition here from sql_partition.cc
created a new check_engine_mix from check_native_partitioned in
sql_partition.cc
sql/partition_info.h:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
non static function check_engine_mix (now used in sql_partition.cc)
sql/sql_partition.cc:
Bug#31931 Partitions: unjustified 'mix of handlers' error message
moved check_engine_condition to partition_info.cc and moved out some
common code in check_native_partitioned to check_engine_mix in
partition_info.cc
mysql-test/r/binlog_start_comment.result:
Result change.
mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
Result change.
mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
Result change.
mysql-test/suite/rpl/r/rpl_timezone.result:
Result change.
mysql-test/suite/rpl_ndb/r/rpl_ndb_transaction.result:
Result change.
mysql-test/suite/rpl_ndb/t/rpl_ndb_transaction.test:
Masking out columns with binlog positions from slave status.
mysql-test/t/binlog_start_comment.test:
Added missing drop table causing subsequent tests to fail.
sql/log_event.cc:
Changing last_err* fields to client_last_err*
sql/log_event_old.cc:
Changing last_err* fields to client_last_err*
the result should be added by 1 by the year(now()) function.
mysql-test/r/view.result:
SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75;
the above statement in test file has a year(now()) function,
the result should increase by 1 from 2007 year to 2008 year.
server crash.
The filesort implementation has an optimization for subquery execution which
consists of reusing previously allocated buffers. In particular the call to
the read_buffpek_from_file function might be skipped when a big enough buffer
for buffer descriptors (buffpeks) is already allocated. Beside allocating
memory for buffpeks this function fills allocated buffer with data read from
disk. Skipping it might led to using an arbitrary memory as fields' data and
finally to a crash.
Now the read_buffpek_from_file function is always called. It allocates
new buffer only when necessary, but always fill it with correct data.
sql/filesort.cc:
Bug#33675: Usage of an uninitialized memory by filesort in a subquery caused
server crash.Now the read_buffpek_from_file function is always called. It allocates
new buffer only when necessary, but always fill it with correct data.
mysql-test/r/subselect.result:
Added a test case for the bug#33675: Usage of an uninitialized memory by
filesort in a subquery caused server crash.
mysql-test/t/subselect.test:
Added a test case for the bug#33675: Usage of an uninitialized memory by
filesort in a subquery caused server crash.
mysql-test/r/blackhole.result:
Result change.
mysql-test/r/mysqlbinlog2.result:
Result change.
mysql-test/t/blackhole.test:
Fixing test to ignore file_id for exec_load_file events.
mysql-test/r/query_cache.result:
Moved test which requires debug binaries to a new file.
mysql-test/t/query_cache.test:
Moved test which requires debug binaries to a new file.
mysql-test/r/query_cache_debug.result:
Moved test which requires debug binaries to a new file.
mysql-test/t/query_cache_debug.test:
Moved test which requires debug binaries to a new file.
into magare.gmz:/home/kgeorge/mysql/autopush/B33256-5.0-opt
sql/field.h:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/item_timefunc.h:
Auto merged
- If not in autocommit mode, delete rows one by one so that we can roll back if necessary
- bitmap->used_size was not correctly set, which caused bitmap pages to be overwritten
- Fixed bug in bitmap handling when allocation tail pages
- Ensure we reserve place for directory entry when calculation place for head and tail pages
- Fixed wrong value in bitmap->size[0]
- Fixed wrong assert in flush_log_for_bitmap
- Fixed bug in _ma_bitmap_release_unused() where tail blocks could be wrongly reset
- Mark new pages as changed (Required to get repair() to work)
- Fixed problem with advancing log horizon pointer within one page bounds
- Fixed DBUG_ASSERT() when enable_indexes failes for end_bulk_insert()
- Fixed bug in logging of rows with more than one big blob
- Fixed DBUG_ASSERTS() in pagecache to allow change of WRITE_LOCK to READ_LOCK in unlock() calls
- Flush pagecache when we change from logging to not logging (if not, pagecache code breaks)
- Ensure my_errno is set on return from write/delete/update
- Fixed bug when using FIELD_SKIP_PRESPACE
New features:
- mysql_fix_privilege_tables now first uses binaries and scripts from source distribution, then in installed distribution
- Fix that optimize works for Maria tables
- maria_check --zerofill now also clear freed blob pages
- maria_check -di now prints more information about record page utilization
Optimizations:
- Use pagecache_unlock_by_link() instead of pagecache_write() if possible. (Avoids a memory copy and a find_block)
- Simplify code to abort when we found optimal bit pattern
- Skip also full head page bit patterns when searching for tail
- Increase default repair buffer to 128M for maria_chk and maria_read_log
- Increase default sort buffer for maria_chk to 64M
- Increase size of sortbuffer and pagecache for mysqld to 64M
- VARCHAR/CHAR fields are stored in increasing length order for BLOCK_RECORD tables
Better reporting:
- Fixed test of error condition for flush (for better error code)
- More error messages to mysqld if Maria recovery fails
- Always print warning if rows are deleted in repair
- Added global function _db_force_flush() that is usable when doing debugging in gdb
- Added call to my_debug_put_break_here() in case of some errors (for debugging)
- Remove used testfiles in unittest as these was written in different directories depending on from where the test was started
This should fix the bugs found when importing a big table with many varchars and one/many blobs to Maria
dbug/dbug.c:
Added global function _db_force_flush() that is usable when doing debugging in gdbine
extra/replace.c:
Fixed memory leak
include/my_dbug.h:
Prototype for _db_force_flush()
include/my_global.h:
Added stdarg.h as my_sys.h now depends on it.
include/my_sys.h:
Make my_dbug_put_break_here() a NOP if not DBUG build
Added my_printv_error()
include/myisamchk.h:
Added entry 'lost' to be able to count space that is lost forever
mysql-test/r/maria.result:
Updated results
mysql-test/t/maria.test:
Reset autocommit after test
New test to check if delete_all_rows is used (verified with --debug)
mysys/my_error.c:
Added my_printv_error()
scripts/mysql_fix_privilege_tables.sh:
First use binaries and scripts from source distribution, then in installed distribution
This ensures that a development branch doesn't pick up wrong scripts)
sql/mysqld.cc:
Fix that one can break maria recovery with ^C when debugging
sql/sql_class.cc:
Removed #ifdef that has no effect
(The preceeding DBUG_ASSERT() ensures that the following code will not be exectued)
storage/maria/ha_maria.cc:
Increase size of sortbuffer and pagecache to 64M
Fix that optimize works for Maria tables
Fixed DBUG_ASSERT() when enable_indexes failes for end_bulk_insert()
If not in autocommit mode, delete rows one by one so that we can roll back if necessary
Fixed variable comments
storage/maria/ma_bitmap.c:
More ASSERTS to detect overwrite of bitmap pages
bitmap->used_size was not correctly set, which caused bitmap pages to be overwritten
Ensure we reserve place for directory entry when calculation place for head and tail pages
bitmap->size[0] should not include space for directory entry
Simplify code to abort when we found optimal bit pattern
Skip also full head page bit patterns when searching for tail (should speed up some common cases)
Fixed bug in allocate_tail() when block->used was not aligned on 6 bytes
Fixed wrong assert in flush_log_for_bitmap
Fixed bug in _ma_bitmap_release_unused() where tail blocks could be wrongly reset
storage/maria/ma_blockrec.c:
Ensure my_errno is set on return
Fixed not optimal setting of row->min_length if we don't have variable length fields
Use pagecache_unlock_by_link() instead of pagecache_write() if possible. (Avoids a memory copy and a find_block)
Added DBUG_ASSERT() if we read or write wrong VARCHAR data
Added DBUG_ASSERT() to find out if row sizes are calculated wrong
Fixed bug in logging of rows with more than one big blob
storage/maria/ma_check.c:
Disable logging while normal repair is done to avoid logging of index changes
Fixed bug that caused CHECKSUM part of key page to be used
Fixed that deleted of wrong records also works for BLOCK_RECORD
Clear unallocated pages:
- BLOB pages are not automaticly cleared on delete, so we need to use the bitmap to know if page is used or not
Better error reporting
More information about record page utilization
Change printing of file position to printing of pages to make output more readable
Always print warning if rows are deleted
storage/maria/ma_create.c:
Calculate share.base_max_pack_length more accurately for BLOCK_RECORD pages (for future)
Fixed that FIELD_SKIP_PRESPACE is recorded as FIELD_NORMAL; Fixed bug where fields could be used in wrong order
Store FIELD_SKIP_ZERO fields before CHAR and VARCHAR fields (optimization)
Store other fields in length order (to get better utilization of head block)
storage/maria/ma_delete.c:
Ensure my_errno is set on return
storage/maria/ma_dynrec.c:
Indentation fix
storage/maria/ma_locking.c:
Set changed if open_count is counted down.
(To avoid getting error "client is using or hasn't closed the table properly" with transactional tables
storage/maria/ma_loghandler.c:
Fixed problem with advancing log horizon pointer within one page bounds (Patch from Sanja)
Added more DBUG
Indentation fixes
storage/maria/ma_open.c:
Removed wrong casts
storage/maria/ma_page.c:
Fixed usage of PAGECACHE_LOCK_WRITE_UNLOCK with _ma_new()
Mark new pages as changed (Required to get repair() to work)
storage/maria/ma_pagecache.c:
Fixed test of error condition for flush
Fixed problem when using PAGECACHE_LOCK_WRITE_TO_READ with unlock()
Added call to my_debug_put_break_here() in case of errors (for debugging)
storage/maria/ma_pagecrc.c:
Ensure we get same crc for 32 and 64 bit systems by forcing argument to maria_page_crc to uint32
storage/maria/ma_recovery.c:
Call my_printv_error() from eprint() to get critical errors to mysqld log
Removed \n from error strings to eprint() to get nicer output in mysqld
Added simple test in _ma_reenable_logging_for_table() to not do any work if not needed
storage/maria/ma_update.c:
Ensure my_errno is set on return
storage/maria/ma_write.c:
Ensure my_errno is set on return
storage/maria/maria_chk.c:
Use DEBUGGER_OFF if --debug is not use (to get slightly faster execution for debug binaries)
Added option --skip-safemalloc
Don't write exponents for rec/key
storage/maria/maria_def.h:
Increase default repair buffer to 128M for maria_chk and maria_read_log
Increase default sort buffer for maria_chk to 64M
storage/maria/unittest/Makefile.am:
Don't update files automaticly from bitkeeper
storage/maria/unittest/ma_pagecache_consist.c:
Remove testfile at end
storage/maria/unittest/ma_pagecache_single.c:
Remove testfile at end
storage/maria/unittest/ma_test_all-t:
More tests
Safer checking if test caused error
mysql-test/r/binlog_start_comment.result:
Drop tables used in the test case when done
mysql-test/r/blackhole.result:
Mask out file_id in show binlog events output
mysql-test/r/case.result:
Drop table t2 too if it exists at the start of the test
mysql-test/t/blackhole.test:
Mask out file_id in show binlog events output
mysql-test/t/case.test:
Drop table t2 too if it exists at the start of the test
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
BitKeeper/triggers/post-commit:
Auto merged
mysql-test/mysql-test-run.pl:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_table.cc:
Auto merged
Problem was that there are no support for symlinked files on Windows for
mysqld. So we fail when trying to create them.
Solution: Ignore the DATA/INDEX DIRECTORY clause for partitions and push
a warning. (Just like a MyISAM table)
mysql-test/r/partition.result:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests to partition_symlink
result file
mysql-test/r/partition_symlink.result:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests from partition.test
result file
mysql-test/r/partition_windows.result:
Bug#30459 Partitioning across disks failing on Windows
result file
mysql-test/t/partition.test:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests to partition_symlink
test file
mysql-test/t/partition_symlink.test:
Bug#30459 Partitioning across disks failing on Windows
Moved symlink specific tests from partition.test
test file
mysql-test/t/partition_windows.test:
Bug#30459 Partitioning across disks failing on Windows
test file