~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/transactional.rst

  • Committer: Brian Aker
  • Date: 2010-10-28 19:50:55 UTC
  • mto: (1888.1.1 merge)
  • mto: This revision was merged to the branch mainline in revision 1889.
  • Revision ID: brian@tangent.org-20101028195055-h3yj5pva47vale5n
Extended documentation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
TRANSACTIONAL
2
 
============
3
 
 
4
 
COMMIT
5
 
 
6
 
BEGIN
7
 
 
8
 
ROLLBACK
9
 
 
10
 
SAVEPOINT
11
 
 
12
 
RELEASE
 
1
Using transactions
 
2
=================
 
3
 
 
4
.. toctree::
 
5
   :maxdepth: 2
 
6
 
 
7
   start_transaction
 
8
   commit
 
9
   rollback 
 
10
   savepoints
 
11
 
 
12
Drizzle is a transactional database by default and by design. It collects operations that form tasks and stores them as a single operation, or if that operation is not possible it removes all changes attempted. Transactions are controlled via START TRANSACTION, ROLLBACK, and COMMIT. Savepoints are implemented to allow for a low leverl of granulairty.
 
13
 
 
14
A COMMIT statement ends a transaction within Drizzle and makes all changes visible to other users.  The order of events is typically to issue a START TRANSACTION statement, execute one or more SQL statements, and then issue a COMMIT statement. Alternatively, a ROLLBACK statement can be issued, which undoes all the work performed since START TRANSACTION was issued. A COMMIT statement will also release any existing savepoints that may be in use.
 
15
 
 
16
Drizzle can operate in an autocommit mode, where each statement is committed, via:
 
17
 
 
18
SET AUTOCOMMIT= 1
 
19
 
 
20
Currently DDL operations are performed as a single transaction, this limitation will be lifted in the future.
 
21
 
 
22