1<?xml version="1.0" encoding="UTF-8" standalone="no"?> 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 3<html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 6 <title>Aborting a Transaction</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.62.4" /> 9 <link rel="home" href="index.html" title="Getting Started with Berkeley DB Transaction Processing" /> 10 <link rel="up" href="usingtxns.html" title="Chapter 3. Transaction Basics" /> 11 <link rel="previous" href="usingtxns.html" title="Chapter 3. Transaction Basics" /> 12 <link rel="next" href="autocommit.html" title="Auto Commit" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Aborting a Transaction</th> 19 </tr> 20 <tr> 21 <td width="20%" align="left"><a accesskey="p" href="usingtxns.html">Prev</a> </td> 22 <th width="60%" align="center">Chapter 3. Transaction Basics</th> 23 <td width="20%" align="right"> <a accesskey="n" href="autocommit.html">Next</a></td> 24 </tr> 25 </table> 26 <hr /> 27 </div> 28 <div class="sect1" lang="en" xml:lang="en"> 29 <div class="titlepage"> 30 <div> 31 <div> 32 <h2 class="title" style="clear: both"><a id="abortresults"></a>Aborting a Transaction</h2> 33 </div> 34 </div> 35 <div></div> 36 </div> 37 <p> 38 When you abort a transaction, all database 39 40 modifications performed 41 under the protection of the transaction are discarded, and all 42 locks currently held by the transaction are released. In this event, 43 your data is simply left in the 44 state that it was in before the transaction began performing data 45 modifications. 46 </p> 47 <p> 48 Note that aborting a transaction may result in disk 49 <span> 50 I/O if your logs are backed by the filesystem. 51 </span> 52 53 It is possible that during the course of your transaction, 54 logging data and/or database 55 <span>pages</span> 56 57 were written to backing files on disk. For this reason, DB 58 notes that the abort occurred in its log files so that at a 59 minimum the database can be brought into a consistent state at 60 recovery time. 61 </p> 62 <p> 63 Also, once you have aborted a transaction, the transaction 64 handle that you used for the transaction is no longer valid. To 65 perform database activities under the control of a new 66 transaction, you must obtain a fresh transactional handle. 67 </p> 68 <p> 69 To abort a transaction, call 70 <span><tt class="methodname">DB_TXN->abort()</tt>.</span> 71 72 73 74 75 </p> 76 </div> 77 <div class="navfooter"> 78 <hr /> 79 <table width="100%" summary="Navigation footer"> 80 <tr> 81 <td width="40%" align="left"><a accesskey="p" href="usingtxns.html">Prev</a> </td> 82 <td width="20%" align="center"> 83 <a accesskey="u" href="usingtxns.html">Up</a> 84 </td> 85 <td width="40%" align="right"> <a accesskey="n" href="autocommit.html">Next</a></td> 86 </tr> 87 <tr> 88 <td width="40%" align="left" valign="top">Chapter 3. Transaction Basics </td> 89 <td width="20%" align="center"> 90 <a accesskey="h" href="index.html">Home</a> 91 </td> 92 <td width="40%" align="right" valign="top"> Auto Commit</td> 93 </tr> 94 </table> 95 </div> 96 </body> 97</html> 98