~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to docs/transactional.rst

  • Committer: Jay Pipes
  • Date: 2009-01-30 04:01:12 UTC
  • mto: This revision was merged to the branch mainline in revision 830.
  • Revision ID: jpipes@serialcoder-20090130040112-svbn774guj98pwi4
To remain in compatibility with MySQL, added ability to interpret
decimal arguments as datetime strings for temporal functions.

Fixed YEAR(), MONTH(), DAYOFMONTH(), DAYOFYEAR(), HOUR(), MINUTE(), SECOND(), and MICROSECOND()
to accept decimal parameters and interpret them the same way as MySQL.

Fixed an issue with the TemporalFormat::matches() method which was 
incorrectly assuming all microsecond arguments were specified as 6 digits.
Added power of 10 multiplier to usecond calculation. This fixes issues with
failures in type_date and func_sapdb test cases.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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