27 #include <drizzled/atomics.h>
28 #include <drizzled/message/transaction.pb.h>
29 #include <drizzled/identifier.h>
30 #include <drizzled/message/schema.h>
31 #include <drizzled/message/table.h>
32 #include <drizzled/session.h>
45 static const size_t DEFAULT_RECORD_SIZE= 100;
51 static bool shouldConstructMessages();
83 static void updateRecord(
Session&,
85 const unsigned char *old_record,
86 const unsigned char *new_record);
96 static void deleteRecord(
Session&,
Table&,
bool use_update_record=
false);
116 static void dropSchema(
Session&,
129 static void alterSchema(
Session&,
152 static void dropTable(
Session&,
180 static void rawStatement(
Session&,
const std::string &query,
const std::string &schema);
182 static void rawStatement(
Session& session,
const std::string& query)
184 rawStatement(session, query,
"");
188 static int rollbackTransaction(
Session&,
bool all);
203 static int commitTransaction(
Session&,
bool all);
216 static int autocommitOrRollback(
Session&,
int error);
262 static void registerResourceForStatement(
Session&,
295 static void allocateNewTransactionId();
309 static bool sendStartupEvent(
Session&);
319 static bool sendShutdownEvent(
Session&);
404 const unsigned char *old_record,
405 const unsigned char *new_record,
406 uint32_t *next_segment_id);
420 const unsigned char *old_record,
421 const unsigned char *new_record);
449 static int commitTransactionMessage(
Session&);
457 static void rollbackTransactionMessage(
Session&);
468 static void rollbackStatementMessage(
Session&);
478 static bool isFieldUpdated(
Field *current_field,
480 const unsigned char *old_record,
481 const unsigned char *new_record);
513 static int commitPhaseOne(
Session&,
bool all);
515 static uint64_t getCurrentTransactionId(
Session&);