XA - Split the XaResourceManager API from plugin::StorageEngine

Registered by Jay Pipes on 2010-01-25

Currently, the Resource Manager portion of the X/Open protocol is poorly defined in the plugin::StorageEngine API. All storage engines support a quasi-virtual API for commit(), rollback(), set_savepoint(), etc.

Move this API into a separate plugin::XaResourceManager API and add a plugin::XaStorageEngine shim over this to avoid the multiple plugin class inheritance problem (plugin::getName() is ambiguous)

This piece is essential, as without it all resource managers must implement the entire plugin::StorageEngine API, which is not correct. For instance, the TransactionLog would have to implement the entire StorageEngine API to participate in XA transactions. This is not correct, as the TransactionLog is not a storage engine, but IS an XA Resource Manager...

Blueprint information

Status:
Complete
Approver:
None
Priority:
Essential
Drafter:
Jay Pipes
Direction:
Approved
Assignee:
Jay Pipes
Definition:
Approved
Series goal:
Accepted for cherry
Implementation:
Implemented
Milestone target:
milestone icon 2010-03-15
Started by
Jay Pipes on 2010-02-01
Completed by
Jay Pipes on 2010-03-05

Whiteboard

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.