Commit 9c822f5c authored by Zardosht Kasheff's avatar Zardosht Kasheff Committed by Yoni Fogel

[t:2325], move to main

git-svn-id: file:///svn/mysql/tokudb-engine/src@17179 c7de825b-a66e-492c-adef-691d508d4ae1
parent 9d0dbb18
This diff is collapsed.
...@@ -97,8 +97,15 @@ typedef enum { ...@@ -97,8 +97,15 @@ typedef enum {
} TABLE_LOCK_TYPE; } TABLE_LOCK_TYPE;
int create_tokudb_trx_data_instance(tokudb_trx_data** out_trx); int create_tokudb_trx_data_instance(tokudb_trx_data** out_trx);
int generate_keys_vals_for_put(DBT *row, uint32_t num_dbs, DB **dbs, DBT *keys, DBT *vals, void *extra); int generate_row_for_put(
int cleanup_keys_vals_for_put(DBT *row, uint32_t num_dbs, DB **dbs, DBT *keys, DBT *vals, void *extra); DB *dest_db,
DB *src_db,
DBT *dest_key,
DBT *dest_val,
const DBT *src_key,
const DBT *src_val,
void *extra
);
class ha_tokudb : public handler { class ha_tokudb : public handler {
...@@ -152,6 +159,9 @@ private: ...@@ -152,6 +159,9 @@ private:
// //
uchar* mult_key_buff[MAX_KEY]; uchar* mult_key_buff[MAX_KEY];
uchar* mult_rec_buff[MAX_KEY]; uchar* mult_rec_buff[MAX_KEY];
DBT mult_key_dbt[MAX_KEY + 1];
DBT mult_rec_dbt[MAX_KEY + 1];
ulong alloced_mult_rec_buff_length; ulong alloced_mult_rec_buff_length;
// //
...@@ -241,7 +251,6 @@ private: ...@@ -241,7 +251,6 @@ private:
ulong max_row_length(const uchar * buf); ulong max_row_length(const uchar * buf);
int pack_row( int pack_row(
DBT * row, DBT * row,
uchar* buf,
const uchar* record, const uchar* record,
uint index uint index
); );
...@@ -291,7 +300,7 @@ private: ...@@ -291,7 +300,7 @@ private:
int is_val_unique(bool* is_unique, uchar* record, KEY* key_info, uint dict_index, DB_TXN* txn); int is_val_unique(bool* is_unique, uchar* record, KEY* key_info, uint dict_index, DB_TXN* txn);
int do_uniqueness_checks(uchar* record, DB_TXN* txn, THD* thd); int do_uniqueness_checks(uchar* record, DB_TXN* txn, THD* thd);
int insert_rows_to_dictionaries(uchar* record, DBT* pk_key, DBT* pk_val, DB_TXN* txn); int insert_rows_to_dictionaries(uchar* record, DBT* pk_key, DBT* pk_val, DB_TXN* txn);
int insert_rows_to_dictionaries_mult(uchar* row, u_int32_t row_size, DB_TXN* txn, THD* thd); int insert_rows_to_dictionaries_mult(DBT* pk_key, DBT* pk_val, DB_TXN* txn, THD* thd);
int test_row_packing(uchar* record, DBT* pk_key, DBT* pk_val); int test_row_packing(uchar* record, DBT* pk_key, DBT* pk_val);
......
...@@ -2044,7 +2044,7 @@ u_int32_t pack_clustering_val_from_desc( ...@@ -2044,7 +2044,7 @@ u_int32_t pack_clustering_val_from_desc(
uchar* buf, uchar* buf,
void* row_desc, void* row_desc,
u_int32_t row_desc_size, u_int32_t row_desc_size,
DBT* pk_val const DBT* pk_val
) )
{ {
uchar* null_bytes_src_ptr = NULL; uchar* null_bytes_src_ptr = NULL;
...@@ -2521,8 +2521,8 @@ u_int32_t pack_key_from_desc( ...@@ -2521,8 +2521,8 @@ u_int32_t pack_key_from_desc(
uchar* buf, uchar* buf,
void* row_desc, void* row_desc,
u_int32_t row_desc_size, u_int32_t row_desc_size,
DBT* pk_key, const DBT* pk_key,
DBT* pk_val const DBT* pk_val
) )
{ {
MULTI_COL_PACK_INFO mcp_info; MULTI_COL_PACK_INFO mcp_info;
......
...@@ -238,7 +238,7 @@ u_int32_t pack_clustering_val_from_desc( ...@@ -238,7 +238,7 @@ u_int32_t pack_clustering_val_from_desc(
uchar* buf, uchar* buf,
void* row_desc, void* row_desc,
u_int32_t row_desc_size, u_int32_t row_desc_size,
DBT* pk_val const DBT* pk_val
); );
u_int32_t get_max_secondary_key_pack_desc_size( u_int32_t get_max_secondary_key_pack_desc_size(
...@@ -275,8 +275,8 @@ u_int32_t pack_key_from_desc( ...@@ -275,8 +275,8 @@ u_int32_t pack_key_from_desc(
uchar* buf, uchar* buf,
void* row_desc, void* row_desc,
u_int32_t row_desc_size, u_int32_t row_desc_size,
DBT* pk_key, const DBT* pk_key,
DBT* pk_val const DBT* pk_val
); );
......
...@@ -273,7 +273,7 @@ static int tokudb_init_func(void *p) { ...@@ -273,7 +273,7 @@ static int tokudb_init_func(void *p) {
if (tokudb_debug & TOKUDB_DEBUG_INIT) TOKUDB_TRACE("%s:env open:flags=%x\n", __FUNCTION__, tokudb_init_flags); if (tokudb_debug & TOKUDB_DEBUG_INIT) TOKUDB_TRACE("%s:env open:flags=%x\n", __FUNCTION__, tokudb_init_flags);
r = db_env->set_multiple_callbacks(db_env, generate_keys_vals_for_put, cleanup_keys_vals_for_put, NULL, NULL); r = db_env->set_generate_row_callback_for_put(db_env,generate_row_for_put);
assert(!r); assert(!r);
r = db_env->open(db_env, tokudb_home, tokudb_init_flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH); r = db_env->open(db_env, tokudb_home, tokudb_init_flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
......
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