mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 19:11:46 +01:00
[t:2219], small changes to help understanding of code
git-svn-id: file:///svn/mysql/tokudb-engine/src@16241 c7de825b-a66e-492c-adef-691d508d4ae1
This commit is contained in:
parent
9671cade8b
commit
4acb099b8d
2 changed files with 6 additions and 14 deletions
|
@ -248,7 +248,7 @@ private:
|
|||
u_int32_t place_key_into_mysql_buff(KEY* key_info, uchar * record, uchar* data);
|
||||
void unpack_key(uchar * record, DBT const *key, uint index);
|
||||
u_int32_t place_key_into_dbt_buff(KEY* key_info, uchar * buff, const uchar * record, bool* has_null, int key_length);
|
||||
DBT* create_dbt_key_from_key(DBT * key, KEY* key_info, uchar * buff, const uchar * record, bool* has_null, bool pack_pk, int key_length = MAX_KEY_LENGTH);
|
||||
DBT* create_dbt_key_from_key(DBT * key, KEY* key_info, uchar * buff, const uchar * record, bool* has_null, bool dont_pack_pk, int key_length = MAX_KEY_LENGTH);
|
||||
DBT *create_dbt_key_from_table(DBT * key, uint keynr, uchar * buff, const uchar * record, bool* has_null, int key_length = MAX_KEY_LENGTH);
|
||||
DBT* create_dbt_key_for_lookup(DBT * key, KEY* key_info, uchar * buff, const uchar * record, bool* has_null, int key_length = MAX_KEY_LENGTH);
|
||||
DBT *pack_key(DBT * key, uint keynr, uchar * buff, const uchar * key_ptr, uint key_length, int8_t inf_byte);
|
||||
|
|
|
@ -829,26 +829,18 @@ int create_toku_key_descriptor_for_key(KEY* key, uchar* buf) {
|
|||
// Creates a descriptor for a DB. That contains all information necessary
|
||||
// to do both key comparisons and data comparisons (for dup-sort databases).
|
||||
//
|
||||
// There are three types of descriptors we care about:
|
||||
// There are two types of descriptors we care about:
|
||||
// 1) Primary key, (in a no-dup database)
|
||||
// 2) secondary key, followed by primary key (for secondary indexes that are
|
||||
// dup-sort databases).
|
||||
// 3) clustering keys, which are a secondary key followed by a primary key,
|
||||
// 2) secondary keys, which are a secondary key followed by a primary key,
|
||||
// but in a no-dup database.
|
||||
//
|
||||
// I realize this may be confusing, but here is how it works.
|
||||
// All DB's have a key compare, and some have a data compare.
|
||||
// All DB's have a key compare.
|
||||
// The format of the descriptor must be able to handle both.
|
||||
//
|
||||
// The descriptor handles having two pieces of information appended
|
||||
// to each other. The first piece is used for key comparisons (and used
|
||||
// in tokudb_cmp_dbt_key), and the second piece is used for data
|
||||
// comparisons (used in tokudb_cmp_dbt_data). These pieces are
|
||||
// generated by create_toku_key_descriptor_for_key
|
||||
//
|
||||
// The first four bytes store an offset into the descriptor to the second piece
|
||||
// used for data comparisons. For cases 1 and 3 above, where no data comparison
|
||||
// exists, this offset is equal to the entire length of the descriptor.
|
||||
// used for data comparisons. So, if in the future we want to append something
|
||||
// to the descriptor, we can.
|
||||
//
|
||||
//
|
||||
int create_toku_key_descriptor(
|
||||
|
|
Loading…
Add table
Reference in a new issue