diff options
author | unknown <tomas@poseidon.ndb.mysql.com> | 2006-01-12 19:51:02 +0100 |
---|---|---|
committer | unknown <tomas@poseidon.ndb.mysql.com> | 2006-01-12 19:51:02 +0100 |
commit | 4c798b42d37d0df05c49bb6be3e105fae891dd23 (patch) | |
tree | 5f26130f48df39314474782dafb7b845ebffb2ff /sql/handler.h | |
parent | 5872e5aeb9424ae9c0472885bfd22fad53febd84 (diff) | |
download | mariadb-git-4c798b42d37d0df05c49bb6be3e105fae891dd23.tar.gz |
wl2325 wl2324
mysql-test/include/have_ndb_extra.inc:
New BitKeeper file ``mysql-test/include/have_ndb_extra.inc''
mysql-test/include/not_ndb.inc:
New BitKeeper file ``mysql-test/include/not_ndb.inc''
mysql-test/r/have_ndb_extra.require:
New BitKeeper file ``mysql-test/r/have_ndb_extra.require''
mysql-test/r/ndb_alter_table_row.result:
New BitKeeper file ``mysql-test/r/ndb_alter_table_row.result''
mysql-test/r/ndb_alter_table_stm.result:
New BitKeeper file ``mysql-test/r/ndb_alter_table_stm.result''
mysql-test/r/ndb_binlog_basic.result:
New BitKeeper file ``mysql-test/r/ndb_binlog_basic.result''
mysql-test/r/ndb_binlog_multi.result:
New BitKeeper file ``mysql-test/r/ndb_binlog_multi.result''
mysql-test/r/ndb_multi_row.result:
New BitKeeper file ``mysql-test/r/ndb_multi_row.result''
mysql-test/r/not_ndb.require:
New BitKeeper file ``mysql-test/r/not_ndb.require''
mysql-test/r/rpl_ndb_bank.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_bank.result''
mysql-test/r/rpl_ndb_basic.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_basic.result''
mysql-test/r/rpl_ndb_disk.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_disk.result''
mysql-test/r/rpl_ndb_idempotent.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_idempotent.result''
mysql-test/r/rpl_ndb_load.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_load.result''
mysql-test/r/rpl_ndb_multi.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_multi.result''
mysql-test/r/rpl_ndb_sync.result:
New BitKeeper file ``mysql-test/r/rpl_ndb_sync.result''
mysql-test/r/rpl_row_basic_7ndb.result:
New BitKeeper file ``mysql-test/r/rpl_row_basic_7ndb.result''
mysql-test/t/ndb_alter_table_row.test:
New BitKeeper file ``mysql-test/t/ndb_alter_table_row.test''
mysql-test/t/ndb_alter_table_stm.test:
New BitKeeper file ``mysql-test/t/ndb_alter_table_stm.test''
mysql-test/t/ndb_binlog_basic.test:
New BitKeeper file ``mysql-test/t/ndb_binlog_basic.test''
mysql-test/t/ndb_binlog_multi.test:
New BitKeeper file ``mysql-test/t/ndb_binlog_multi.test''
mysql-test/t/ndb_multi_row.test:
New BitKeeper file ``mysql-test/t/ndb_multi_row.test''
mysql-test/t/rpl_ndb_bank.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_bank.test''
mysql-test/t/rpl_ndb_basic.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_basic.test''
mysql-test/t/rpl_ndb_disk.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_disk.test''
mysql-test/t/rpl_ndb_idempotent.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_idempotent.test''
mysql-test/t/rpl_ndb_load.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_load.test''
mysql-test/t/rpl_ndb_multi.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_multi.test''
mysql-test/t/rpl_ndb_sync.test:
New BitKeeper file ``mysql-test/t/rpl_ndb_sync.test''
mysql-test/t/rpl_row_basic_7ndb.test:
New BitKeeper file ``mysql-test/t/rpl_row_basic_7ndb.test''
sql/ha_ndbcluster_binlog.cc:
New BitKeeper file ``sql/ha_ndbcluster_binlog.cc''
sql/ha_ndbcluster_binlog.h:
New BitKeeper file ``sql/ha_ndbcluster_binlog.h''
sql/ha_ndbcluster_tables.h:
New BitKeeper file ``sql/ha_ndbcluster_tables.h''
sql/rpl_injector.cc:
New BitKeeper file ``sql/rpl_injector.cc''
sql/rpl_injector.h:
New BitKeeper file ``sql/rpl_injector.h''
storage/ndb/include/kernel/signaldata/DihFragCount.hpp:
New BitKeeper file ``storage/ndb/include/kernel/signaldata/DihFragCount.hpp''
Diffstat (limited to 'sql/handler.h')
-rw-r--r-- | sql/handler.h | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/sql/handler.h b/sql/handler.h index f6680679a35..1ed19b72331 100644 --- a/sql/handler.h +++ b/sql/handler.h @@ -205,6 +205,24 @@ enum row_type { ROW_TYPE_NOT_USED=-1, ROW_TYPE_DEFAULT, ROW_TYPE_FIXED, ROW_TYPE_DYNAMIC, ROW_TYPE_COMPRESSED, ROW_TYPE_REDUNDANT, ROW_TYPE_COMPACT }; +enum enum_binlog_func { + BFN_RESET_LOGS= 1, + BFN_RESET_SLAVE= 2, + BFN_BINLOG_WAIT= 3, + BFN_BINLOG_END= 4, + BFN_BINLOG_PURGE_FILE= 5 +}; + +enum enum_binlog_command { + LOGCOM_CREATE_TABLE, + LOGCOM_ALTER_TABLE, + LOGCOM_RENAME_TABLE, + LOGCOM_DROP_TABLE, + LOGCOM_CREATE_DB, + LOGCOM_ALTER_DB, + LOGCOM_DROP_DB +}; + /* struct to hold information about the table that should be created */ /* Bits in used_fields */ @@ -420,7 +438,8 @@ typedef struct handlerton structure version */ const int interface_version; -#define MYSQL_HANDLERTON_INTERFACE_VERSION 0x0000 +/* last version change: 0x0001 in 5.1.6 */ +#define MYSQL_HANDLERTON_INTERFACE_VERSION 0x0001 /* @@ -512,6 +531,15 @@ typedef struct bool (*show_status)(THD *thd, stat_print_fn *print, enum ha_stat_type stat); int (*alter_tablespace)(THD *thd, st_alter_tablespace *ts_info); uint32 flags; /* global handler flags */ + /* + Handlerton functions are not set in the different storage + engines static initialization. They are initialized at handler init. + Thus, leave them last in the struct. + */ + int (*binlog_func)(THD *thd, enum_binlog_func fn, void *arg); + void (*binlog_log_query)(THD *thd, enum_binlog_command binlog_command, + const char *query, uint query_length, + const char *db, const char *table_name); } handlerton; extern const handlerton default_hton; @@ -1195,6 +1223,12 @@ public: virtual int ha_update_row(const byte * old_data, byte * new_data); virtual int ha_delete_row(const byte * buf); /* + If the handler does it's own injection of the rows, this member function + should return 'true'. + */ + virtual bool is_injective() const { return false; } + + /* SYNOPSIS start_bulk_update() RETURN @@ -1705,3 +1739,21 @@ void trans_register_ha(THD *thd, bool all, handlerton *ht); int ha_repl_report_sent_binlog(THD *thd, char *log_file_name, my_off_t end_offset); int ha_repl_report_replication_stop(THD *thd); + +#ifdef HAVE_NDB_BINLOG +int ha_reset_logs(THD *thd); +int ha_binlog_index_purge_file(THD *thd, const char *file); +void ha_reset_slave(THD *thd); +void ha_binlog_log_query(THD *thd, enum_binlog_command binlog_command, + const char *query, uint query_length, + const char *db, const char *table_name); +void ha_binlog_wait(THD *thd); +int ha_binlog_end(THD *thd); +#else +#define ha_reset_logs(a) 0 +#define ha_binlog_index_purge_file(a,b) 0 +#define ha_reset_slave(a) +#define ha_binlog_log_query(a,b,c,d,e,f); +#define ha_binlog_wait(a) +#define ha_binlog_end(a) 0 +#endif |