summaryrefslogtreecommitdiff
path: root/sql/sql_class.h
diff options
context:
space:
mode:
authorunknown <lars@mysql.com>2006-06-16 01:15:19 +0200
committerunknown <lars@mysql.com>2006-06-16 01:15:19 +0200
commit9933c3bd3a21f8b7dfbe80068ae455be325d8d3f (patch)
tree3d62694dfc5e3c919e109127dafeb40e4a665a75 /sql/sql_class.h
parented849efcc176b4d7b500ca69cf0ee7b1ec39f8ab (diff)
parent684bda9a06a3967d83d25907a3077aa3849468ad (diff)
downloadmariadb-git-9933c3bd3a21f8b7dfbe80068ae455be325d8d3f.tar.gz
Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new-rpl
into mysql.com:/users/lthalmann/bk/MERGE/mysql-5.1-merge mysql-test/r/binlog_row_mix_innodb_myisam.result: Auto merged mysql-test/r/federated.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/extra/rpl_tests/rpl_ddl.test: Auto merged mysql-test/r/rpl_ddl.result: Auto merged mysql-test/r/sp-error.result: Auto merged mysql-test/r/sp.result: Auto merged mysql-test/r/rpl_ndb_charset.result: Auto merged mysql-test/r/type_ranges.result: Auto merged mysql-test/r/view.result: Auto merged mysql-test/r/trigger-grant.result: Auto merged mysql-test/t/archive.test: Auto merged mysql-test/t/create.test: Auto merged mysql-test/t/disabled.def: Auto merged mysql-test/t/federated.test: Auto merged mysql-test/t/innodb.test: Auto merged mysql-test/t/innodb_mysql.test: Auto merged mysql-test/t/sp.test: Auto merged mysql-test/t/trigger-grant.test: Auto merged mysql-test/t/view.test: Auto merged sql/ha_innodb.cc: Auto merged sql/log.cc: Auto merged sql/log_event.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_parse.cc: Auto merged mysql-test/r/create.result: Manual merge mysql-test/r/innodb_mysql.result: Manual merge sql/handler.cc: Manual merge sql/share/errmsg.txt: Manual merge sql/sql_class.h: Manual merge sql/sql_delete.cc: Manual merge sql/sql_insert.cc: Manual merge sql/sql_table.cc: Manual merge
Diffstat (limited to 'sql/sql_class.h')
-rw-r--r--sql/sql_class.h39
1 files changed, 28 insertions, 11 deletions
diff --git a/sql/sql_class.h b/sql/sql_class.h
index 450a8d041c9..702c8fee671 100644
--- a/sql/sql_class.h
+++ b/sql/sql_class.h
@@ -907,8 +907,10 @@ public:
/* container for handler's private per-connection data */
void *ha_data[MAX_HA];
-#ifdef HAVE_ROW_BASED_REPLICATION
#ifndef MYSQL_CLIENT
+ int binlog_setup_trx_data();
+
+#ifdef HAVE_ROW_BASED_REPLICATION
/*
Public interface to write RBR events to the binlog
@@ -938,7 +940,6 @@ public:
RowsEventT* hint);
Rows_log_event* binlog_get_pending_rows_event() const;
void binlog_set_pending_rows_event(Rows_log_event* ev);
- int binlog_setup_trx_data();
my_size_t max_row_length_blob(TABLE* table, const byte *data) const;
my_size_t max_row_length(TABLE* table, const byte *data) const
@@ -959,12 +960,15 @@ public:
private:
uint binlog_table_maps; // Number of table maps currently in the binlog
-
public:
-
-#endif
+ uint get_binlog_table_maps() const {
+ return binlog_table_maps;
+ }
#endif /* HAVE_ROW_BASED_REPLICATION */
+#endif /* MYSQL_CLIENT */
+
#ifndef MYSQL_CLIENT
+public:
enum enum_binlog_query_type {
/*
The query can be logged row-based or statement-based
@@ -1402,18 +1406,26 @@ public:
inline void set_current_stmt_binlog_row_based_if_mixed()
{
if (variables.binlog_format == BINLOG_FORMAT_MIXED)
- current_stmt_binlog_row_based= 1;
+ current_stmt_binlog_row_based= TRUE;
}
inline void set_current_stmt_binlog_row_based()
{
- current_stmt_binlog_row_based= 1;
+ current_stmt_binlog_row_based= TRUE;
+ }
+ inline void clear_current_stmt_binlog_row_based()
+ {
+ current_stmt_binlog_row_based= FALSE;
}
+#endif
inline void reset_current_stmt_binlog_row_based()
{
- current_stmt_binlog_row_based= test(variables.binlog_format ==
- BINLOG_FORMAT_ROW);
+#ifdef HAVE_ROW_BASED_REPLICATION
+ current_stmt_binlog_row_based=
+ test(variables.binlog_format == BINLOG_FORMAT_ROW);
+#else
+ current_stmt_binlog_row_based= FALSE;
+#endif
}
-#endif /*HAVE_ROW_BASED_REPLICATION*/
};
@@ -1578,6 +1590,9 @@ class select_insert :public select_result_interceptor {
bool send_eof();
/* not implemented: select_insert is never re-used in prepared statements */
void cleanup();
+
+protected:
+ MYSQL_LOCK *lock;
};
@@ -1587,7 +1602,6 @@ class select_create: public select_insert {
List<create_field> *extra_fields;
List<Key> *keys;
HA_CREATE_INFO *create_info;
- MYSQL_LOCK *lock;
Field **field;
public:
select_create (TABLE_LIST *table,
@@ -1601,7 +1615,10 @@ public:
lock(0)
{}
int prepare(List<Item> &list, SELECT_LEX_UNIT *u);
+
+#ifdef HAVE_ROW_BASED_REPLICATION
void binlog_show_create_table(TABLE **tables, uint count);
+#endif
void store_values(List<Item> &values);
void send_error(uint errcode,const char *err);
bool send_eof();