Commit fc121dc1 authored by Zardosht Kasheff's avatar Zardosht Kasheff Committed by Yoni Fogel

[t:2219], small changes to help understanding of code

git-svn-id: file:///svn/mysql/tokudb-engine/src@16241 c7de825b-a66e-492c-adef-691d508d4ae1
parent 4cb22624
...@@ -248,7 +248,7 @@ class ha_tokudb : public handler { ...@@ -248,7 +248,7 @@ class ha_tokudb : public handler {
u_int32_t place_key_into_mysql_buff(KEY* key_info, uchar * record, uchar* data); 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); 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); 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_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* 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); 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) { ...@@ -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 // Creates a descriptor for a DB. That contains all information necessary
// to do both key comparisons and data comparisons (for dup-sort databases). // 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) // 1) Primary key, (in a no-dup database)
// 2) secondary key, followed by primary key (for secondary indexes that are // 2) secondary keys, which are a secondary key followed by a primary key,
// dup-sort databases).
// 3) clustering keys, which are a secondary key followed by a primary key,
// but in a no-dup database. // but in a no-dup database.
// //
// I realize this may be confusing, but here is how it works. // 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 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 // 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 // used for data comparisons. So, if in the future we want to append something
// exists, this offset is equal to the entire length of the descriptor. // to the descriptor, we can.
// //
// //
int create_toku_key_descriptor( int create_toku_key_descriptor(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment