summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorgkodinov/kgeorge@magare.gmz <>2007-05-22 17:05:33 +0300
committergkodinov/kgeorge@magare.gmz <>2007-05-22 17:05:33 +0300
commit6d1fab661bc5a813513fead7a3aa3a7c282492f8 (patch)
tree19138ce69e7e986972bf93713c059e58f974f0c6 /sql/table.h
parentb50d17a9b5594a85431f29932252ef0a37678357 (diff)
parent604ef46327cf0bb57f1fc4e7160783acd1707d54 (diff)
downloadmariadb-git-6d1fab661bc5a813513fead7a3aa3a7c282492f8.tar.gz
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into magare.gmz:/home/kgeorge/mysql/autopush/B28476-5.0-opt
Diffstat (limited to 'sql/table.h')
-rw-r--r--sql/table.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/sql/table.h b/sql/table.h
index da2c90ab212..952b575c00e 100644
--- a/sql/table.h
+++ b/sql/table.h
@@ -137,7 +137,12 @@ typedef struct st_table_share
const char *table_name; /* Table name (for open) */
const char *path; /* Path to .frm file (from datadir) */
LEX_STRING connect_string;
- key_map keys_in_use; /* Keys in use for table */
+
+ /*
+ Set of keys in use, implemented as a Bitmap.
+ Excludes keys disabled by ALTER TABLE ... DISABLE KEYS.
+ */
+ key_map keys_in_use;
key_map keys_for_keyread;
ulong avg_row_length; /* create information */
ulong raid_chunksize;
@@ -208,7 +213,21 @@ struct st_table {
byte *record[2]; /* Pointer to records */
byte *insert_values; /* used by INSERT ... UPDATE */
- key_map quick_keys, used_keys, keys_in_use_for_query;
+ key_map quick_keys, used_keys;
+
+ /*
+ A set of keys that can be used in the query that references this
+ table
+
+ All indexes disabled on the table's TABLE_SHARE (see TABLE::s) will be
+ subtracted from this set upon instantiation. Thus for any TABLE t it holds
+ that t.keys_in_use_for_query is a subset of t.s.keys_in_use. Generally we
+ must not introduce any new keys here (see setup_tables).
+
+ The set is implemented as a bitmap.
+ */
+ key_map keys_in_use_for_query;
+ key_map merge_keys;
KEY *key_info; /* data of keys in database */
Field *next_number_field, /* Set if next_number is activated */