mariadb/myisam
unknown f1d5c0489b Bug#10932 - Building server with key limit of 128, makes test cases fail
This patch allows to configure MyISAM for 128 indexes per table.
The main problem is the key_map, wich is implemented as an ulonglong.
To get rid of the limit and keep the efficient and flexible
implementation, the highest bit is now used for all upper keys.
This means that the lower keys can be disabled and enabled 
individually as usual and the high keys can only be disabled and
enabled as a block. That way the existing test suite is still
applicable, while more keys work, though slightly less efficient.
To really get more than 64 keys, some defines need to be changed.
Another patch will address this.


include/my_bitmap.h:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Added the declaration for a function that extends the highest bit value
  to all upper bits of a bigger bitmap.
include/myisam.h:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed MI_MAX_POSSIBLE_KEY to what it was meant for.
  Added a bunch of macros to handle the MyISAM key_map.
myisam/mi_check.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_create.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_delete.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_extra.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_open.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
  Changed pointer types from signed char* to unsigned char*.
myisam/mi_preload.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_rsame.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_rsamepos.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_search.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_update.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/mi_write.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/myisamchk.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/myisamdef.h:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed pointer types from signed char* to unsigned char*.
myisam/myisamlog.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/myisampack.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
myisam/sort.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
mysys/my_bitmap.c:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Added a function that extends the highest bit value
  to all upper bits of a bigger bitmap.
sql/ha_myisam.cc:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Changed key_map access to use the new macros.
sql/sql_bitmap.h:
  Bug#10932 - Building server with key limit of 128, makes test cases fail
  Added a method that extends the highest bit value
  to all upper bits of a bigger bitmap.
2005-07-19 14:13:56 +02:00
..
ftbench ftbench fixes 2003-10-23 23:33:06 +02:00
.cvsignore This ChangeSet adds RTREE support into myisam library. 2002-02-20 14:11:21 +04:00
ChangeLog New thr_alarm struct for better integration with OS2 2000-11-28 04:47:47 +02:00
ft_boolean_search.c Merge mysql.com:/home/jimw/my/mysql-4.1-clean 2005-06-20 15:02:45 -07:00
ft_eval.c Big code cleanup/review before 4.0.2 release. 2002-06-11 11:20:31 +03:00
ft_eval.h MI_KEYSEG -> HA_KEYSEG 2002-04-25 15:10:29 +05:00
ft_nlq_search.c Merge mysql.com:/home/dellis/mysqlab/bk/mysql-4.0 2005-02-15 17:30:40 -06:00
ft_parser.c merged 2005-03-09 14:09:06 +01:00
ft_static.c Merge changes 2005-02-04 11:59:02 -08:00
ft_stem.c Update copyright 2001-12-06 14:10:51 +02:00
ft_stopwords.c Fix for BUG#8351 (5.0) - Double quote in Boolean Fulltext query causes crash 2005-03-04 16:10:41 +04:00
ft_test1.c Add 0x before pointers (to help with debugging) 2004-12-18 05:19:21 +02:00
ft_test1.h Update copyright 2001-12-06 14:10:51 +02:00
ft_update.c Add 0x before pointers (to help with debugging) 2004-12-18 05:19:21 +02:00
ftdefs.h Fix for BUG#8351 (5.0) - Double quote in Boolean Fulltext query causes crash 2005-03-04 16:10:41 +04:00
fulltext.h ft1->ft2 auto-conversion on INSERT (WL#725) 2003-10-02 20:22:29 +02:00
make-ccc Import changeset 2000-07-31 21:29:14 +02:00
Makefile.am Merge 2005-07-06 00:06:11 +02:00
mi_cache.c enadling out-of-cache reads for shared IO_CACHE 2003-01-26 14:20:43 +01:00
mi_changed.c Update copyright 2001-12-06 14:10:51 +02:00
mi_check.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_checksum.c Add 0x before pointers (to help with debugging) 2004-12-18 05:19:21 +02:00
mi_close.c Merge with 4.0 for 4.1 release 2004-10-06 19:14:33 +03:00
mi_create.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_dbug.c Merge with global tree 2004-12-19 20:25:19 +02:00
mi_delete.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_delete_all.c Merge key cache structures to one 2003-11-20 22:06:25 +02:00
mi_delete_table.c Code cleanup 2004-01-19 23:51:17 +01:00
mi_dynrec.c concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file 2005-05-13 12:08:08 +03:00
mi_extra.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_info.c WL#1895 - Print message to error log in case of detected MyISAM corruption 2004-12-23 20:11:38 +01:00
mi_key.c Merge rurik.mysql.com:/home/igor/dev/mysql-4.1-0 2005-06-07 08:23:46 -07:00
mi_keycache.c After merge fixes 2004-12-31 03:47:56 +02:00
mi_locking.c concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file 2005-05-13 12:08:08 +03:00
mi_log.c Code cleanup 2004-01-19 23:51:17 +01:00
mi_open.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_packrec.c Bug#8321 - myisampack bug in compression algorithm 2005-06-24 19:34:55 +02:00
mi_page.c After merge fixes 2004-12-31 03:47:56 +02:00
mi_panic.c Merge key cache structures to one 2003-11-20 22:06:25 +02:00
mi_preload.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_range.c After merge fixes 2004-12-31 03:47:56 +02:00
mi_rename.c Code cleanup 2004-01-19 23:51:17 +01:00
mi_rfirst.c Update copyright 2001-12-06 14:10:51 +02:00
mi_rkey.c After merge fixes 2004-12-31 03:47:56 +02:00
mi_rlast.c Update copyright 2001-12-06 14:10:51 +02:00
mi_rnext.c Merging 2004-05-27 16:32:49 +05:00
mi_rnext_same.c Revert Bar's fix as this causes changes in the key tree that could cause incompatibilites 2005-06-07 15:09:49 +03:00
mi_rprev.c Fixed many compiler warnings 2004-04-05 13:56:05 +03:00
mi_rrnd.c just tried to find all 'skipp' and replace it with 'skip'. 2004-02-02 20:25:39 +04:00
mi_rsame.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_rsamepos.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_scan.c Update copyright 2001-12-06 14:10:51 +02:00
mi_search.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_static.c concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file 2005-05-13 12:08:08 +03:00
mi_statrec.c concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file 2005-05-13 12:08:08 +03:00
mi_test1.c Bug#8610: The ucs2_turkish_ci collation fails with upper('i') 2005-06-06 16:54:15 +05:00
mi_test2.c Support for character set conversion in binary protocol: another go 2004-05-25 02:03:49 +04:00
mi_test3.c Add 0x before pointers (to help with debugging) 2004-12-18 05:19:21 +02:00
mi_test_all.res Add 0x before pointers (to help with debugging) 2004-12-18 05:19:21 +02:00
mi_test_all.sh Add detection of in_addr_t 2003-08-28 06:08:17 +03:00
mi_unique.c Fixes during review of new code 2005-07-04 03:42:33 +03:00
mi_update.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
mi_write.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
myisam_ftdump.c myisam/myisam_ftdump.c 2005-03-09 12:59:20 +01:00
myisamchk.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
myisamdef.h Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
myisamlog.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
myisampack.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
NEWS Import changeset 2000-07-31 21:29:14 +02:00
rt_index.c fixes/cleanups according to Coverity report 2005-01-24 15:48:25 +01:00
rt_index.h Merging 2004-06-02 19:17:35 +05:00
rt_key.c Merging 2004-06-02 19:17:35 +05:00
rt_key.h Merging 2004-06-02 19:17:35 +05:00
rt_mbr.c Fix compiler warnings (detected by Intel's C++ compiler) 2004-10-22 18:44:51 +03:00
rt_mbr.h Merging 2004-06-02 19:17:35 +05:00
rt_split.c compatibility issues 2005-05-20 16:14:35 +03:00
rt_test.c Review of all code pushed since last review 2004-10-20 01:28:42 +03:00
sort.c Bug#10932 - Building server with key limit of 128, makes test cases fail 2005-07-19 14:13:56 +02:00
sp_defs.h WL#1163 To make spatial code optional 2004-03-12 18:51:03 +04:00
sp_key.c a fix (bug #10757: gis-rtree.test fails) 2005-05-20 18:48:18 +05:00
sp_test.c Merging 2004-05-27 16:32:49 +05:00
test_pack Import changeset 2000-07-31 21:29:14 +02:00
TODO Import changeset 2000-07-31 21:29:14 +02:00