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.h30
1 files changed, 21 insertions, 9 deletions
diff --git a/sql/ha_innodb.h b/sql/ha_innodb.h
index 58051624f89..b9e399509de 100644
--- a/sql/ha_innodb.h
+++ b/sql/ha_innodb.h
@@ -81,7 +81,7 @@ class ha_innobase: public handler
/* Init values for the class: */
public:
- ha_innobase(TABLE *table_arg);
+ ha_innobase(TABLE_SHARE *table_arg);
~ha_innobase() {}
/*
Get the row type from the storage engine. If this method returns
@@ -122,9 +122,11 @@ class ha_innobase: public handler
int write_row(byte * buf);
int update_row(const byte * old_data, byte * new_data);
int delete_row(const byte * buf);
+ bool was_semi_consistent_read();
+ void try_semi_consistent_read(bool yes);
void unlock_row();
- int index_init(uint index);
+ int index_init(uint index, bool sorted);
int index_end();
int index_read(byte * buf, const byte * key,
uint key_len, enum ha_rkey_function find_flag);
@@ -152,6 +154,16 @@ class ha_innobase: public handler
int transactional_table_lock(THD *thd, int lock_type);
int start_stmt(THD *thd, thr_lock_type lock_type);
+ int ha_retrieve_all_cols()
+ {
+ ha_set_all_bits_in_read_set();
+ return extra(HA_EXTRA_RETRIEVE_ALL_COLS);
+ }
+ int ha_retrieve_all_pk()
+ {
+ ha_set_primary_key_in_read_set();
+ return extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY);
+ }
void position(byte *record);
ha_rows records_in_range(uint inx, key_range *min_key, key_range
*max_key);
@@ -196,9 +208,11 @@ class ha_innobase: public handler
static ulonglong get_mysql_bin_log_pos();
bool primary_key_is_clustered() { return true; }
int cmp_ref(const byte *ref1, const byte *ref2);
+ bool check_if_incompatible_data(HA_CREATE_INFO *info,
+ uint table_changes);
};
-extern struct show_var_st innodb_status_variables[];
+extern SHOW_VAR innodb_status_variables[];
extern uint innobase_init_flags, innobase_lock_type;
extern uint innobase_flush_log_at_trx_commit;
extern ulong innobase_cache_size, innobase_fast_shutdown;
@@ -243,7 +257,7 @@ extern ulong srv_commit_concurrency;
extern TYPELIB innobase_lock_typelib;
bool innobase_init(void);
-bool innobase_end(void);
+int innobase_end(ha_panic_function type);
bool innobase_flush_logs(void);
uint innobase_get_free_space(void);
@@ -261,12 +275,10 @@ int innobase_commit_complete(void* trx_handle);
void innobase_store_binlog_offset_and_flush_log(char *binlog_name,longlong offset);
#endif
-int innobase_drop_database(char *path);
-bool innodb_show_status(THD* thd);
-bool innodb_mutex_show_status(THD* thd);
-void innodb_export_status(void);
+void innobase_drop_database(char *path);
+bool innobase_show_status(THD* thd, stat_print_fn*, enum ha_stat_type);
-void innobase_release_temporary_latches(THD *thd);
+int innobase_release_temporary_latches(THD *thd);
void innobase_store_binlog_offset_and_flush_log(char *binlog_name,longlong offset);