lp:~jaypipes/drizzle/xa-resource-manager

Created by Jay Pipes and last modified
Get this branch:
bzr branch lp:~jaypipes/drizzle/xa-resource-manager
Only Jay Pipes can upload to this branch. If you are Jay Pipes please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Jay Pipes
Project:
Drizzle
Status:
Development

Recent revisions

1284. By Jay Pipes <jpipes@serialcoder>

pushing test work for new undo log.

1283. By Jay Pipes <jpipes@serialcoder>

Pull XA Resource Manager API out of plugin::StorageEngine and into plugin::XaResourceManager and plugin::XaStorageEngine.

1282. By Jay Pipes <jpipes@serialcoder>

Simple renames of plugin::StorageEngine methods for XA interaction to meet our style guidelines.

1281. By Jay Pipes <jpipes@serialcoder>

Merge trunk

1280. By Jay Pipes <jpipes@serialcoder>

Another lint cleanup.

1279. By Jay Pipes <jpipes@serialcoder>

Correct cpplint issue with header guard on drizzled/named_savepoint.h

1278. By Jay Pipes <jpipes@serialcoder>

Remove last vestiges of savepoint_alloc_size, savepoint_offset, and SAVEPOINT struct.

1277. By Jay Pipes <jpipes@serialcoder>

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.

1276. By Jay Pipes <jpipes@serialcoder>

Removes pointless ha_enable_transaction call. This wasn't used anywhere to any effect.

1275. By Jay Pipes <jpipes@serialcoder>

This patch does not change any algorithms or code paths,
it just moves the transaction-related methods in the
drizzled/ha_commands.cc file into a file named
drizzled/transaction_services.cc and creates a singleton
Service class called TransactionServices containing all
the previous ha_xxx methods related specifically to the
XA distributed transaction processing model.

This is a quick stopgap patch in the move towards separating
out the XA Resource Manager API from the Storage Engine API.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~drizzle-trunk/drizzle/development
This branch contains Public information 
Everyone can see this information.

Subscribers