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>Release 3.2: Logically renumbering records</title> 7 <link rel="stylesheet" href="gettingStarted.css" type="text/css" /> 8 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /> 9 <link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" /> 10 <link rel="up" href="upgrade_3_2_toc.html" title="Chapter��35.��Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2" /> 11 <link rel="prev" href="upgrade_3_2_callback.html" title="Release 3.2: DB callback functions, app_private field" /> 12 <link rel="next" href="upgrade_3_2_incomplete.html" title="Release 3.2: DB_INCOMPLETE" /> 13 </head> 14 <body> 15 <div class="navheader"> 16 <table width="100%" summary="Navigation header"> 17 <tr> 18 <th colspan="3" align="center">Release 3.2: Logically renumbering records</th> 19 </tr> 20 <tr> 21 <td width="20%" align="left"><a accesskey="p" href="upgrade_3_2_callback.html">Prev</a>��</td> 22 <th width="60%" align="center">Chapter��35.��Upgrading Berkeley DB 3.1 applications to Berkeley DB 3.2</th> 23 <td width="20%" align="right">��<a accesskey="n" href="upgrade_3_2_incomplete.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="upgrade_3_2_renumber"></a>Release 3.2: Logically renumbering records</h2> 33 </div> 34 </div> 35 </div> 36 <p>In the Berkeley DB 3.2 release, cursor adjustment semantics changed for Recno 37databases with mutable record numbers. Before the 3.2 release, cursors 38were adjusted to point to the previous or next record at the time the 39record to which the cursor referred was deleted. This could lead to 40unexpected behaviors. For example, two cursors referring to sequential 41records that were both deleted would lose their relationship to each 42other and would refer to the same position in the database instead of 43their original sequential relationship. There were also command 44sequences that would have unexpected results. For example, DB_AFTER 45and DB_BEFORE cursor put operations, using a cursor previously used to 46delete an item, would perform the put relative to the cursor's adjusted 47position and not its original position.</p> 48 <p>In the Berkeley DB 3.2 release, cursors maintain their position in the tree 49regardless of deletion operations using the cursor. Applications that 50perform database operations, using cursors previously used to delete 51entries in Recno databases with mutable record numbers, should be 52evaluated to ensure that the new semantics do not cause application 53failure.</p> 54 </div> 55 <div class="navfooter"> 56 <hr /> 57 <table width="100%" summary="Navigation footer"> 58 <tr> 59 <td width="40%" align="left"><a accesskey="p" href="upgrade_3_2_callback.html">Prev</a>��</td> 60 <td width="20%" align="center"> 61 <a accesskey="u" href="upgrade_3_2_toc.html">Up</a> 62 </td> 63 <td width="40%" align="right">��<a accesskey="n" href="upgrade_3_2_incomplete.html">Next</a></td> 64 </tr> 65 <tr> 66 <td width="40%" align="left" valign="top">Release 3.2: DB callback functions, app_private field��</td> 67 <td width="20%" align="center"> 68 <a accesskey="h" href="index.html">Home</a> 69 </td> 70 <td width="40%" align="right" valign="top">��Release 3.2: DB_INCOMPLETE</td> 71 </tr> 72 </table> 73 </div> 74 </body> 75</html> 76