2
2
* vim:expandtab:shiftwidth=2:tabstop=2:smarttab:
4
4
* Copyright (C) 2008 Sun Microsystems
5
* Copyright (c) Jay Pipes <jaypipes@gmail.com>
6
7
* This program is free software; you can redistribute it and/or modify
7
8
* it under the terms of the GNU General Public License as published by
91
92
void registerResourceForStatement(Session *session,
92
93
plugin::TransactionalStorageEngine *engine);
94
/* these are called by storage engines */
95
void trans_register_ha(Session *session, plugin::TransactionalStorageEngine *engine);
96
* Registers a resource manager in the "normal" transaction.
100
* This method is idempotent and must be idempotent
101
* because it can be called both by the above
102
* TransactionServices::registerResourceForStatement(),
103
* which occurs at the beginning of each SQL statement,
104
* and also manually when a BEGIN WORK/START TRANSACTION
105
* statement is executed. If the latter case (BEGIN WORK)
106
* is called, then subsequent contained statement transactions
107
* will call this method as well.
111
* This method checks to see if the supplied resource
112
* is also registered in the statement transaction, and
113
* if not, registers the resource in the statement
114
* transaction. This happens ONLY when the user has
115
* called BEGIN WORK/START TRANSACTION, which is the only
116
* time when this method is called except from the
117
* TransactionServices::registerResourceForStatement method.
119
void registerResourceForTransaction(Session *session,
120
plugin::TransactionalStorageEngine *engine);
98
123
} /* namespace drizzled */