Commit eceae2ff authored by Rich Prohaska's avatar Rich Prohaska Committed by Yoni Fogel

dont delete an uninitialized pointer. closes #707

git-svn-id: file:///svn/mysql/tokudb-engine/src@3485 c7de825b-a66e-492c-adef-691d508d4ae1
parent d7626ccc
...@@ -1031,7 +1031,6 @@ int ha_tokudb::open(const char *name, int mode, uint test_if_locked) { ...@@ -1031,7 +1031,6 @@ int ha_tokudb::open(const char *name, int mode, uint test_if_locked) {
} }
else else
(*ptr)->set_bt_compare(*ptr, tokudb_cmp_packed_key); (*ptr)->set_bt_compare(*ptr, tokudb_cmp_packed_key);
my_free(cmp_byte_stream.data, MYF(0));
if (!(table->key_info[i].flags & HA_NOSAME)) { if (!(table->key_info[i].flags & HA_NOSAME)) {
DBUG_PRINT("info", ("Setting DB_DUP+DB_DUPSORT for key %u", i)); DBUG_PRINT("info", ("Setting DB_DUP+DB_DUPSORT for key %u", i));
(*ptr)->set_flags(*ptr, DB_DUP + DB_DUPSORT); (*ptr)->set_flags(*ptr, DB_DUP + DB_DUPSORT);
......
...@@ -23,6 +23,7 @@ typedef struct st_tokudb_share { ...@@ -23,6 +23,7 @@ typedef struct st_tokudb_share {
} TOKUDB_SHARE; } TOKUDB_SHARE;
class ha_tokudb : public handler { class ha_tokudb : public handler {
private:
THR_LOCK_DATA lock; ///< MySQL lock THR_LOCK_DATA lock; ///< MySQL lock
TOKUDB_SHARE *share; ///< Shared lock info TOKUDB_SHARE *share; ///< Shared lock info
...@@ -57,29 +58,36 @@ class ha_tokudb : public handler { ...@@ -57,29 +58,36 @@ class ha_tokudb : public handler {
int read_row(int error, uchar * buf, uint keynr, DBT * row, DBT * key, bool); int read_row(int error, uchar * buf, uint keynr, DBT * row, DBT * key, bool);
DBT *get_pos(DBT * to, uchar * pos); DBT *get_pos(DBT * to, uchar * pos);
public: public:
ha_tokudb(handlerton * hton, TABLE_SHARE * table_arg); ha_tokudb(handlerton * hton, TABLE_SHARE * table_arg);
~ha_tokudb() { ~ha_tokudb() {
} const char *table_type() const { }
const char *table_type() const {
return "TOKUDB"; return "TOKUDB";
} const char *index_type(uint inx) { }
const char *index_type(uint inx) {
return "BTREE"; return "BTREE";
} }
const char **bas_ext() const; const char **bas_ext() const;
ulonglong table_flags(void) const { ulonglong table_flags(void) const {
return int_table_flags; return int_table_flags;
} ulong index_flags(uint inx, uint part, bool all_parts) const; }
ulong index_flags(uint inx, uint part, bool all_parts) const;
uint max_supported_keys() const { uint max_supported_keys() const {
return MAX_KEY - 1; return MAX_KEY - 1;
} uint extra_rec_buf_length() const { }
uint extra_rec_buf_length() const {
return TOKUDB_HIDDEN_PRIMARY_KEY_LENGTH; return TOKUDB_HIDDEN_PRIMARY_KEY_LENGTH;
} ha_rows estimate_rows_upper_bound(); }
ha_rows estimate_rows_upper_bound();
uint max_supported_key_length() const { uint max_supported_key_length() const {
return UINT_MAX32; return UINT_MAX32;
} uint max_supported_key_part_length() const { }
uint max_supported_key_part_length() const {
return UINT_MAX32; return UINT_MAX32;
} const key_map *keys_to_use_for_scanning() { }
const key_map *keys_to_use_for_scanning() {
return &key_map_full; return &key_map_full;
} }
...@@ -146,7 +154,7 @@ class ha_tokudb : public handler { ...@@ -146,7 +154,7 @@ class ha_tokudb : public handler {
int cmp_ref(const uchar * ref1, const uchar * ref2); int cmp_ref(const uchar * ref1, const uchar * ref2);
bool check_if_incompatible_data(HA_CREATE_INFO * info, uint table_changes); bool check_if_incompatible_data(HA_CREATE_INFO * info, uint table_changes);
private: private:
int __close(int mutex_is_locked); int __close(int mutex_is_locked);
int read_last(); int read_last();
ulong field_offset(Field *); ulong field_offset(Field *);
......
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