diff options
author | gkodinov/kgeorge@magare.gmz <> | 2007-05-22 17:05:33 +0300 |
---|---|---|
committer | gkodinov/kgeorge@magare.gmz <> | 2007-05-22 17:05:33 +0300 |
commit | 6d1fab661bc5a813513fead7a3aa3a7c282492f8 (patch) | |
tree | 19138ce69e7e986972bf93713c059e58f974f0c6 /sql/table.h | |
parent | b50d17a9b5594a85431f29932252ef0a37678357 (diff) | |
parent | 604ef46327cf0bb57f1fc4e7160783acd1707d54 (diff) | |
download | mariadb-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.h | 23 |
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 */ |