summaryrefslogtreecommitdiff
path: root/sql/ha_innodb.h
diff options
context:
space:
mode:
Diffstat (limited to 'sql/ha_innodb.h')
-rw-r--r--sql/ha_innodb.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/sql/ha_innodb.h b/sql/ha_innodb.h
index 9ca8475e75e..13337f466bf 100644
--- a/sql/ha_innodb.h
+++ b/sql/ha_innodb.h
@@ -32,7 +32,6 @@ typedef struct st_innobase_share {
uint table_name_length,use_count;
} INNOBASE_SHARE;
-
/* The class defining a handle to an Innodb table */
class ha_innobase: public handler
{
@@ -52,6 +51,9 @@ class ha_innobase: public handler
byte* key_val_buff; /* buffer used in converting
search key values from MySQL format
to Innodb format */
+ ulong upd_and_key_val_buff_len;
+ /* the length of each of the previous
+ two buffers */
ulong int_table_flags;
uint primary_key;
uint last_dup_key;
@@ -73,7 +75,8 @@ class ha_innobase: public handler
longlong auto_inc_counter_for_this_stat;
ulong max_row_length(const byte *buf);
- uint store_key_val_for_row(uint keynr, char* buff, const byte* record);
+ uint store_key_val_for_row(uint keynr, char* buff, uint buff_len,
+ const byte* record);
int update_thd(THD* thd);
int change_active_index(uint keynr);
int general_fetch(byte* buf, uint direction, uint match_mode);
@@ -83,13 +86,15 @@ class ha_innobase: public handler
public:
ha_innobase(TABLE *table): handler(table),
int_table_flags(HA_REC_NOT_IN_SEQ |
- HA_KEYPOS_TO_RNDPOS | HA_LASTKEY_ORDER |
- HA_NULL_KEY | HA_CAN_SQL_HANDLER |
+ HA_KEYPOS_TO_RNDPOS |
+ HA_LASTKEY_ORDER |
+ HA_NULL_KEY |
+ HA_BLOB_KEY |
+ HA_CAN_SQL_HANDLER |
HA_NOT_EXACT_COUNT |
HA_NO_WRITE_DELAYED |
HA_PRIMARY_KEY_IN_READ_INDEX |
HA_DROP_BEFORE_CREATE |
- HA_NO_PREFIX_CHAR_KEYS |
HA_TABLE_SCAN_ON_INDEX),
last_dup_key((uint) -1),
start_of_scan(0)
@@ -153,6 +158,7 @@ class ha_innobase: public handler
void position(const byte *record);
void info(uint);
int analyze(THD* thd,HA_CHECK_OPT* check_opt);
+ int optimize(THD* thd,HA_CHECK_OPT* check_opt);
int extra(enum ha_extra_function operation);
int reset(void);
int external_lock(THD *thd, int lock_type);
@@ -219,6 +225,14 @@ int innobase_report_binlog_offset_and_commit(
int innobase_commit_complete(
void* trx_handle);
int innobase_rollback(THD *thd, void* trx_handle);
+int innobase_rollback_to_savepoint(
+ THD* thd,
+ char* savepoint_name,
+ my_off_t* binlog_cache_pos);
+int innobase_savepoint(
+ THD* thd,
+ char* savepoint_name,
+ my_off_t binlog_cache_pos);
int innobase_close_connection(THD *thd);
int innobase_drop_database(char *path);
int innodb_show_status(THD* thd);