Merge lp://qastaging/~jaypipes/drizzle/bug534806 into lp://qastaging/~drizzle-trunk/drizzle/development

Proposed by Jay Pipes
Status: Merged
Merged at revision: not available
Proposed branch: lp://qastaging/~jaypipes/drizzle/bug534806
Merge into: lp://qastaging/~drizzle-trunk/drizzle/development
Diff against target: 195 lines (+132/-4)
4 files modified
drizzled/transaction_services.cc (+4/-1)
plugin/innobase/handler/ha_innodb.cc (+0/-3)
tests/r/savepoints.result (+46/-0)
tests/t/savepoints.test (+82/-0)
To merge this branch: bzr merge lp://qastaging/~jaypipes/drizzle/bug534806
Reviewer Review Type Date Requested Status
Drizzle Developers Pending
Review via email: mp+21101@code.qastaging.launchpad.net

Description of the change

Fixes bug #534806 (RANDGEN assert in InnobaseEngine::doSetSavepoint()

Manually issue a call to TransactionStorageEngine::startTransaction() inside
TransactionServices::registerResourceForTransaction(). An assert() in the InnoDB
handler was being hit because although startStatement() was properly being
called for an UPDATE ... LIMIT 0, startTransaction() was not called, and because
external_lock() bailed out without committing the transaction, an
assert(conc_state ! TRX_NOT_STARTED) was being hit when a SAVEPOINT A statement
expected the transaction to have been started...

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.