mariadb/storage/myisam
Michael Widenius 53d44ad18b Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records
- If one specifies --force twice to myisamchk and aria_chk, then we will try to finnish the repair even if sort_buffer would be too small.
  This was done by dynamically allocate buffer handler objects as long as memory lasts.
- New option for myisamchk and aria_chk: create-missing-keys
- Changed default size of myisam_sort_buffer_size from 8M to 128M.
- Changed default size of sort_buffer_size in aria_chk from 128M to 256M.
- Increased information in error message about 'sort_buffer_size' beeing to small.
- Print also to 'show warnings' if repair was retried.
- Increased size of internal sort-buffer-readers from 16K to 128K
- Changed printing of 'number of records' to use %ll instead of casting to long
- Changed buffer sizes for myisam and aria to use MY_ALIGN_DOWN() to get same number of bytes allocated on different machines.





include/my_global.h:
  Added MY_ALIGN_DOWN() to get previous alignment (for big memory areas)
include/myisam.h:
  Increased size of types to be able to handle more records
include/myisamchk.h:
  Increased size of types to be able to handle more records
  Added T_FORCE_SORT_MEMORY to force repair to work even if sort_buffer would not be big enough
mysql-test/r/myisam.result:
  Updated result
mysql-test/r/mysqld--help.result:
  Updated result
mysql-test/r/repair.result:
  Updated result
mysql-test/suite/maria/maria.result:
  Added test cases for some fixed bugs in MyISAM to verify that Aria doesn't have them too.
mysql-test/suite/maria/maria.test:
  Added test cases for some fixed bugs in MyISAM to verify that Aria doesn't have them too.
mysql-test/suite/maria/maria3.result:
  Updated result after sort buffer size increase
mysql-test/suite/sys_vars/r/aria_sort_buffer_size_basic.result:
  Updated result after sort buffer size increase
mysql-test/suite/sys_vars/r/myisam_sort_buffer_size_basic.result:
  Updated result after sort buffer size increase
mysql-test/suite/sys_vars/t/myisam_sort_buffer_size_basic.test:
  Updated result after sort buffer size increase
mysql-test/t/myisam.test:
  Fixed error messages to not print system specific data
mysql-test/t/repair.test:
  Fixed error messages to not print system specific data
storage/maria/ha_maria.cc:
  Print also to 'show warnings' if repair was retried
  Changed default size of sort_buffer_size from 128M to 256M (same as in mysqld)
storage/maria/ma_check.c:
  Renamed USE_BUFFER_INIT -> PAGE_BUFFER_INIT
storage/maria/ma_sort.c:
  Increased size of internal sort-buffer-readers from 16K to 128K
  Increased size of types to be able to handle more records
  Added support for T_FORCE_SORT_MEMORY
  Don't allocate too many extra BUFFPEK at a time (they are probably not needed)
  Improved error message for "sort_buffer_size is too small"
  Changed printing of 'number of records' to use %ll instead of casting to long
  Fixed bug where maria_update_key_parts() was called too early.
  Fixed bug in detecting result from read_to_buffer().
  Added 'out of memory' checking when calling 'alloc_dynamic()'.
storage/maria/maria_chk.c:
  Added --create-missing-keys
  If one specifies --force twice then we will try to finnish the repair even if sort_buffer would be too small.
  check_param.sort_buffer_length varialble was used with wrong type.
storage/maria/maria_def.h:
  Increased size of types to be able to handle more records
  Use MY_ALIGN_DOWN() to get same number of bytes allocated on different machines
  Renamed USE_BUFFER_INIT -> PAGE_BUFFER_INIT
storage/maria/maria_ftdump.c:
  Renamed USE_BUFFER_INIT -> PAGE_BUFFER_INIT
storage/maria/maria_read_log.c:
  Use PAGE_BUFFER_INIT for page cache
storage/myisam/ha_myisam.cc:
  Changed default size of myisam_sort_buffer_size from 8M to 128M
storage/myisam/mi_check.c:
  Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT
storage/myisam/myisam_ftdump.c:
  Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT
storage/myisam/myisamchk.c:
  Added --create-missing-keys
  If one specifies --force twice then we will try to finnish the repair even if sort_buffer would be too small.
  check_param.sort_buffer_length varialble was used with wrong type.
  Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT
storage/myisam/myisamdef.h:
  Increased SORT_BUFFER_INIT to 64M
  (speeds up repair a lot and most machines have nowadays a lot of memory)
  Use MY_ALIGN_DOWN() to get same number of bytes allocated on different machines
  Renamed USE_BUFFER_INIT -> KEY_BUFFER_INIT
storage/myisam/sort.c:
  Increased size of internal sort-buffer-readers from 16K to 128K
  Increased size of types to be able to handle more records
  Added support for T_FORCE_SORT_MEMORY
  Don't allocate too many extra BUFFPEK at a time (they are probably not needed)
  Improved error message for "sort_buffer_size is too small"
  Changed printing of 'number of records' to use %ll instead of casting to long
  Fixed bug in detecting result from read_to_buffer().
  Added 'out of memory' checking when calling 'alloc_dynamic()'.
2013-05-10 12:32:34 +03:00
..
ftbench
mysql-test
ChangeLog
CMakeLists.txt
ft_boolean_search.c
ft_myisam.c
ft_nlq_search.c
ft_parser.c
ft_static.c
ft_stopwords.c
ft_update.c
ftdefs.h
fulltext.h
ha_myisam.cc Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records 2013-05-10 12:32:34 +03:00
ha_myisam.h * move bas_ext from the handler to the handlerton 2013-04-07 17:08:49 +02:00
mi_cache.c
mi_changed.c
mi_check.c Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records 2013-05-10 12:32:34 +03:00
mi_checksum.c
mi_close.c
mi_create.c remove ULL() and LL(), because they're totally unnecessary 2013-04-07 14:00:16 +02:00
mi_dbug.c
mi_delete.c
mi_delete_all.c
mi_delete_table.c
mi_dynrec.c
mi_extra.c
mi_extrafunc.h
mi_info.c
mi_key.c
mi_keycache.c
mi_locking.c
mi_log.c
mi_open.c
mi_packrec.c
mi_page.c
mi_panic.c
mi_preload.c
mi_range.c
mi_rename.c
mi_rfirst.c
mi_rkey.c
mi_rlast.c
mi_rnext.c
mi_rnext_same.c
mi_rprev.c
mi_rrnd.c
mi_rsame.c
mi_rsamepos.c
mi_scan.c
mi_search.c
mi_static.c
mi_statrec.c
mi_test1.c
mi_test2.c
mi_test3.c
mi_test_all.res
mi_test_all.sh
mi_unique.c
mi_update.c
mi_write.c
myisam_ftdump.c Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records 2013-05-10 12:32:34 +03:00
myisamchk.c Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records 2013-05-10 12:32:34 +03:00
myisamdef.h Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records 2013-05-10 12:32:34 +03:00
myisamlog.c
myisampack.c remove ULL() and LL(), because they're totally unnecessary 2013-04-07 14:00:16 +02:00
NEWS
rt_index.c
rt_index.h
rt_key.c
rt_key.h
rt_mbr.c
rt_mbr.h
rt_split.c
rt_test.c
sort.c Added some fixes that should make MyISAM & Aria REPAIR work with more than 4G records 2013-05-10 12:32:34 +03:00
sp_defs.h
sp_key.c
sp_test.c
test_pack
TODO