lp://staging/~jaypipes/drizzle/xa-resource-manager
- Get this branch:
- bzr branch lp://staging/~jaypipes/drizzle/xa-resource-manager
Branch merges
- Brian Aker: Pending requested
- Drizzle Developers: Pending requested
-
Diff: 3339 lines (+1232/-1184)31 files modifieddrizzled/cursor.cc (+1/-29)
drizzled/cursor.h (+0/-26)
drizzled/drizzled.cc (+0/-10)
drizzled/ha_commands.cc (+0/-791)
drizzled/handler_structs.h (+5/-1)
drizzled/include.am (+3/-0)
drizzled/named_savepoint.h (+69/-0)
drizzled/plugin/storage_engine.cc (+0/-5)
drizzled/plugin/storage_engine.h (+12/-25)
drizzled/session.cc (+10/-87)
drizzled/session.h (+9/-32)
drizzled/set_var.cc (+4/-19)
drizzled/sql_delete.cc (+3/-4)
drizzled/sql_insert.cc (+3/-1)
drizzled/sql_parse.cc (+3/-2)
drizzled/sql_table.cc (+5/-3)
drizzled/statement/alter_table.cc (+8/-13)
drizzled/statement/release_savepoint.cc (+28/-18)
drizzled/statement/rollback_to_savepoint.cc (+99/-20)
drizzled/statement/savepoint.cc (+35/-31)
drizzled/table.h (+0/-7)
drizzled/transaction_services.cc (+818/-0)
drizzled/transaction_services.h (+80/-0)
drizzled/xid.cc (+0/-3)
drizzled/xid.h (+18/-3)
plugin/innobase/handler/ha_innodb.cc (+18/-24)
plugin/transaction_log/info_schema.cc (+1/-10)
tests/r/innodb.result (+0/-1)
tests/r/variables.result (+0/-15)
tests/t/innodb.test (+0/-1)
tests/t/variables.test (+0/-3)
Related bugs
Related blueprints
Recent revisions
- 1283. By Jay Pipes <jpipes@serialcoder>
-
Pull XA Resource Manager API out of plugin:
:StorageEngine and into plugin: :XaResourceMana ger and plugin: :XaStorageEngin e. - 1282. By Jay Pipes <jpipes@serialcoder>
-
Simple renames of plugin:
:StorageEngine methods for XA interaction to meet our style guidelines. - 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) RollbackToSavep
oint, Savepoint, and ReleaseSavepoint RollbackToSa
vepoint, 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://staging/~drizzle-trunk/drizzle/development