~drizzle-trunk/drizzle/development

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.
Filename Latest Rev Last Changed Committer Comment Size
..
client 1 16 years ago brian clean slate Diff
config 1 16 years ago brian clean slate Diff
drizzled 214 16 years ago Brian Aker Rename of fields (fix issue with string and decima Diff
extra 1022.2.34 15 years ago Monty Taylor Merged Monty from lp:~mordred/drizzle/kill-malloc Diff
gnulib 815.1.1 15 years ago Monty Taylor Add timegm which is missing on Solaris. Diff
m4 202.3.14 16 years ago Monty Taylor Moved m4 macros to top-level m4 dir, per GNU stand Diff
mystrings 212.5.4 16 years ago Monty Taylor Renamed strings to mystrings, for include/lib nami Diff
plugin 1 16 years ago brian clean slate Diff
po 202.3.1 16 years ago Monty Taylor Added very initial gettextize stuff. Diff
support-files 1 16 years ago brian clean slate Diff
tests 77.1.47 16 years ago Monty Taylor Moved test to tests... Diff
.bzrignore 1265 14 years ago Brian Aker Updated Makefile.am to push client rules to includ 5.6 KB Diff Download File
ABOUT-NLS 202.3.1 16 years ago Monty Taylor Added very initial gettextize stuff. 74.7 KB Diff Download File
AUTHORS 968.2.18 15 years ago Monty Taylor Merged from Padraig. 377 bytes Diff Download File
configure.ac 1253.2.1 14 years ago Monty Taylor Moved plugin versioning out of drizzled/configmake 5.2 KB Diff Download File
COPYING 1 16 years ago brian clean slate 18.6 KB Diff Download File
Doxyfile 264.3.1 16 years ago Jay Pipes * Added Doxyfile configuration for doxygen builds 55.2 KB Diff Download File
DRIZZLE.FAQ 665.1.4 15 years ago Eric Herman Added pointer to online version of the FAQ 5.8 KB Diff Download File
EXCEPTIONS-CLIENT 1 16 years ago brian clean slate 5 KB Diff Download File
Makefile.am 1267 14 years ago Brian Aker Merge Joe 4.4 KB Diff Download File
NEWS 194 16 years ago Brian Aker Documentation cleanup 41 bytes Diff Download File
README 992.1.3 15 years ago Monty Taylor Clarified instructions in README. 821 bytes Diff Download File