1273.1.16
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.15
|
|
This patch completes the first step in the splitting of the XA resource manager API from the storage engine API, as outlined in the specification here:
http://drizzle.org/wiki/XaStorageEngine
* Splits plugin::StorageEngine into a base StorageEngine class and two derived classes, TransactionalStorageEngine and XaStorageEngine. XaStorageEngine derives from TransactionalStorageEngine and creates the XA Resource Manager API for storage engines.
- The methods moved from StorageEngine to TransactionalStorageEngine include releaseTemporaryLatches(), startConsistentSnapshot(), commit(), rollback(), setSavepoint(), releaseSavepoint(), rollbackToSavepoint() and hasTwoPhaseCommit() - The methods moved from StorageEngine to XaStorageEngine include recover(), commitXid(), rollbackXid(), and prepare()
* Places all static "EngineVector"s into their proper namespaces (typedefs belong in header files, not implementation files) and places all static methods corresponding to either only transactional engines or only XA engines into their respective files in /drizzled/plugin/
* Modifies the InnoDB "handler" files to extend plugin::XaStorageEngine and not plugin::StorageEngine
The next step, as outlined in the wiki spec page above, is to isolate the XA Resource Manager API into its own plugin class and modify plugin::XaStorageEngine to implement plugin::XaResourceManager via composition. This is necessary to enable building plugins which can participate in an XA transaction *without having to have that plugin implement the entire storage engine API*
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.14
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.13
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.12
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.11
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.10
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.9
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.8
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.7
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.6
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.5
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.4
|
|
This patch significantly reworks the way that savepoints are handled:
1) Memory management
Removes the trans_prealloc_size and trans_block_size variables which set up a separate mem_root for storing "savepoint data". Without the binlog, this separate memory root, which by default allocated 1M *for every single transaction regardless of whether savepoints were used*, was not useful any more.
2) No more DIY linked lists of SAVEPOINT pointers
The Session::transaction struct used to contain a member "savepoints" which was of type pointer to SAVEPOINT. This has been replaced with an STL std::deque<drizzled::NamedSavepoint> and the pointeri and linked-list fiddling is gone, replaced with STL conventions.
3) SAVEPOINT struct is now drizzled::NamedSavepoint
The SAVEPOINT struct has been converted to an STL container- safe class called drizzled::NamedSavepoint.
4) RollbackToSavepoint, Savepoint, and ReleaseSavepoint
RollbackToSavepoint, Savepoint, and ReleaseSavepoint classes have had their logic revamped and documented.
5) The innodb.test case had (has?) an error in it
The innodb.test case was testing a wrong assertion that a ROLLBACK TO SAVEPOINT x; should result in an error if called twice in a row. This is incorrect behaviour. If a ROLLBACK TO SAVEPOINT x; is executed, the savepoint x should stay on the top of the savepoint stack.
6) XID and XID_STATE classes made STL-container-safe
Places proper initializer lists and constructors for the XID and XID_STATE classes and removes use of the horrible memset(this, 0, sizeof(*this)); usage.
7) The various savepoint-handling routines use references
A switch was made to the various savepoint-handling routines of TransactionServices to ensure only references to a drizzled::NamedSavepoint were being passed, and not void pointers.
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.3
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.2
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273.1.1
|
|
|
Jay Pipes |
15 years ago
|
 |
|
1273
|
|
|
Brian Aker |
15 years ago
|
 |
|
1272
|
|
|
Brian Aker |
15 years ago
|
 |
|
1271
|
|
|
Brian Aker |
15 years ago
|
 |
|
1270
|
|
|
Brian Aker |
15 years ago
|
 |
|