summaryrefslogtreecommitdiff
path: root/include/myisam.h
diff options
context:
space:
mode:
authorMagne Mahre <magne.mahre@oracle.com>2011-03-28 10:47:30 +0200
committerMagne Mahre <magne.mahre@oracle.com>2011-03-28 10:47:30 +0200
commit9ff72a1acfffe95cd5e6d9e06c61c5ee9b0000e0 (patch)
treed9ded1526828e9a2bd239908dbd08d7d439d865d /include/myisam.h
parentd499851be03a2a20f7cb230d9b2d69e169aa81c8 (diff)
downloadmariadb-git-9ff72a1acfffe95cd5e6d9e06c61c5ee9b0000e0.tar.gz
Bug#11900714 REMOVE LGPL LICENSED FILES IN MYSQL 5.1
The LGPL license is used in some legacy code, and to adhere to current licensing polity, we remove those files that are no longer used, and reorganize the remaining LGPL code so it will be GPL licensed from now on. Note: This patch only removed LGPL licensed files in MySQL 5.1, and is the second of a set of patches to remove LGPL from all trees. (See Bug# 11840513 for details)
Diffstat (limited to 'include/myisam.h')
-rw-r--r--include/myisam.h24
1 files changed, 23 insertions, 1 deletions
diff --git a/include/myisam.h b/include/myisam.h
index e502daa2f17..09f54ef0019 100644
--- a/include/myisam.h
+++ b/include/myisam.h
@@ -30,8 +30,30 @@ extern "C" {
#ifndef _keycache_h
#include "keycache.h"
#endif
-#include "my_handler.h"
#include <mysql/plugin.h>
+#include "my_compare.h"
+
+/*
+ There is a hard limit for the maximum number of keys as there are only
+ 8 bits in the index file header for the number of keys in a table.
+ This means that 0..255 keys can exist for a table. The idea of
+ HA_MAX_POSSIBLE_KEY is to ensure that one can use myisamchk & tools on
+ a MyISAM table for which one has more keys than MyISAM is normally
+ compiled for. If you don't have this, you will get a core dump when
+ running myisamchk compiled for 128 keys on a table with 255 keys.
+*/
+
+#define HA_MAX_POSSIBLE_KEY 255 /* For myisamchk */
+/*
+ The following defines can be increased if necessary.
+ But beware the dependency of MI_MAX_POSSIBLE_KEY_BUFF and HA_MAX_KEY_LENGTH.
+*/
+
+#define HA_MAX_KEY_LENGTH 1000 /* Max length in bytes */
+#define HA_MAX_KEY_SEG 16 /* Max segments for key */
+
+#define HA_MAX_POSSIBLE_KEY_BUFF (HA_MAX_KEY_LENGTH + 24+ 6+6)
+#define HA_MAX_KEY_BUFF (HA_MAX_KEY_LENGTH+HA_MAX_KEY_SEG*6+8+8)
/*
Limit max keys according to HA_MAX_POSSIBLE_KEY