• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/db-4.8.30/docs/programmer_reference/
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>Berkeley DB 4.8.30 Change Log</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_4_8_toc.html" title="Chapter��45.��Upgrading Berkeley DB 4.7 applications to Berkeley DB 4.8" />
11    <link rel="prev" href="upgrade_4_8_disk.html" title="Release 4.8: Upgrade Requirements" />
12    <link rel="next" href="test.html" title="Chapter��46.�� Test Suite" />
13  </head>
14  <body>
15    <div class="navheader">
16      <table width="100%" summary="Navigation header">
17        <tr>
18          <th colspan="3" align="center">Berkeley DB 4.8.30 Change Log</th>
19        </tr>
20        <tr>
21          <td width="20%" align="left"><a accesskey="p" href="upgrade_4_8_disk.html">Prev</a>��</td>
22          <th width="60%" align="center">Chapter��45.��Upgrading Berkeley DB 4.7 applications to Berkeley DB 4.8</th>
23          <td width="20%" align="right">��<a accesskey="n" href="test.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="changelog_4_8"></a>Berkeley DB 4.8.30 Change Log</h2>
33          </div>
34        </div>
35      </div>
36      <div class="toc">
37        <dl>
38          <dt>
39            <span class="sect2">
40              <a href="changelog_4_8.html#id1655543">
41Changes between 4.8.26 and 4.8.30:</a>
42            </span>
43          </dt>
44          <dt>
45            <span class="sect2">
46              <a href="changelog_4_8.html#id1655588">
47Known bugs in 4.8 </a>
48            </span>
49          </dt>
50          <dt>
51            <span class="sect2">
52              <a href="changelog_4_8.html#id1655727">
53Changes between 4.8.24 and 4.8.26:</a>
54            </span>
55          </dt>
56          <dt>
57            <span class="sect2">
58              <a href="changelog_4_8.html#id1655844">
59Changes between 4.8.21 and 4.8.24:</a>
60            </span>
61          </dt>
62          <dt>
63            <span class="sect2">
64              <a href="changelog_4_8.html#id1655898">
65Changes between 4.7 and 4.8.21:</a>
66            </span>
67          </dt>
68          <dt>
69            <span class="sect2">
70              <a href="changelog_4_8.html#id1655904">
71Database or Log File On-Disk Format Changes:</a>
72            </span>
73          </dt>
74          <dt>
75            <span class="sect2">
76              <a href="changelog_4_8.html#id1655609">
77New Features:</a>
78            </span>
79          </dt>
80          <dt>
81            <span class="sect2">
82              <a href="changelog_4_8.html#id1655816">
83Database Environment Changes:</a>
84            </span>
85          </dt>
86          <dt>
87            <span class="sect2">
88              <a href="changelog_4_8.html#id1655970">
89Concurrent Data Store Changes:</a>
90            </span>
91          </dt>
92          <dt>
93            <span class="sect2">
94              <a href="changelog_4_8.html#id1655916">
95General Access Method Changes:</a>
96            </span>
97          </dt>
98          <dt>
99            <span class="sect2">
100              <a href="changelog_4_8.html#id1656015">
101Btree Access Method Changes:</a>
102            </span>
103          </dt>
104          <dt>
105            <span class="sect2">
106              <a href="changelog_4_8.html#id1656091">
107Hash Access Method Changes:</a>
108            </span>
109          </dt>
110          <dt>
111            <span class="sect2">
112              <a href="changelog_4_8.html#id1656163">
113Queue Access Method Changes:</a>
114            </span>
115          </dt>
116          <dt>
117            <span class="sect2">
118              <a href="changelog_4_8.html#id1656078">
119Recno Access Method Changes:</a>
120            </span>
121          </dt>
122          <dt>
123            <span class="sect2">
124              <a href="changelog_4_8.html#id1656213">
125C-specific API Changes:</a>
126            </span>
127          </dt>
128          <dt>
129            <span class="sect2">
130              <a href="changelog_4_8.html#id1656176">
131C++-specific API Changes:</a>
132            </span>
133          </dt>
134          <dt>
135            <span class="sect2">
136              <a href="changelog_4_8.html#id1656268">
137Java-specific API Changes:</a>
138            </span>
139          </dt>
140          <dt>
141            <span class="sect2">
142              <a href="changelog_4_8.html#id1656290">
143
144 Direct Persistence Layer (DPL), Bindings and Collections API:</a>
145            </span>
146          </dt>
147          <dt>
148            <span class="sect2">
149              <a href="changelog_4_8.html#id1656161">
150
151 Tcl-specific API Changes:</a>
152            </span>
153          </dt>
154          <dt>
155            <span class="sect2">
156              <a href="changelog_4_8.html#id1656376">
157RPC-specific Client/Server Changes:</a>
158            </span>
159          </dt>
160          <dt>
161            <span class="sect2">
162              <a href="changelog_4_8.html#id1656388">
163Replication Changes:</a>
164            </span>
165          </dt>
166          <dt>
167            <span class="sect2">
168              <a href="changelog_4_8.html#id1656470">
169XA Resource Manager Changes:</a>
170            </span>
171          </dt>
172          <dt>
173            <span class="sect2">
174              <a href="changelog_4_8.html#id1656534">
175Locking Subsystem Changes:</a>
176            </span>
177          </dt>
178          <dt>
179            <span class="sect2">
180              <a href="changelog_4_8.html#id1656721">
181Logging Subsystem Changes:</a>
182            </span>
183          </dt>
184          <dt>
185            <span class="sect2">
186              <a href="changelog_4_8.html#id1656706">
187Memory Pool Subsystem Changes:</a>
188            </span>
189          </dt>
190          <dt>
191            <span class="sect2">
192              <a href="changelog_4_8.html#id1656768">
193Mutex Subsystem Changes:</a>
194            </span>
195          </dt>
196          <dt>
197            <span class="sect2">
198              <a href="changelog_4_8.html#id1656859">
199Test Suite Changes</a>
200            </span>
201          </dt>
202          <dt>
203            <span class="sect2">
204              <a href="changelog_4_8.html#id1656877">
205Transaction Subsystem Changes:</a>
206            </span>
207          </dt>
208          <dt>
209            <span class="sect2">
210              <a href="changelog_4_8.html#id1656959">
211Utility Changes:</a>
212            </span>
213          </dt>
214          <dt>
215            <span class="sect2">
216              <a href="changelog_4_8.html#id1657000">
217Configuration, Documentation, Sample Application, Portability and 
218Build Changes:</a>
219            </span>
220          </dt>
221        </dl>
222      </div>
223      <div class="sect2" lang="en" xml:lang="en">
224        <div class="titlepage">
225          <div>
226            <div>
227              <h3 class="title"><a id="id1655543"></a>
228Changes between 4.8.26 and 4.8.30:</h3>
229            </div>
230          </div>
231        </div>
232        <div class="orderedlist">
233          <ol type="1">
234            <li>
235              <p>
236Limit the size of a log record generated by freeing pages from a 
237database so it fits in the log file size.  [#17313]   
238</p>
239            </li>
240            <li>
241              <p>
242Fixed a bug that could cause a file to be removed if it was both the
243 source and target of two renames within a transaction. [#18069]  
244 
245</p>
246            </li>
247            <li>
248              <p>
249Modified how we go about selecting a usable buffer in the cache.  
250Place more emphasis on single version and obsolete buffers.  [#18114] 
251  
252</p>
253            </li>
254            <li>
255              <p>
256Fixed a bug that could lead to btree structure corruption if the 
257db-&gt;compact method runs out of locks. [#18361]   
258</p>
259            </li>
260            <li>
261              <p>
262Allow any file to be truncated even if its not a db file. [#18373] 
263  
264</p>
265            </li>
266            <li>
267              <p>
268Avoid a segmentation fault error if the lock manager runs out of 
269locks. [#18428]   
270</p>
271            </li>
272            <li>
273              <p>
274Add dbreg close records for open but missing databases during 
275recovery. [#18459]   
276</p>
277            </li>
278            <li>
279              <p>
280Fixed a bug which could occur when using bulk transfer with 
281Replication Manager.  Replication Manager may send messages even though 
282its connections have already been closed, leading in rare circumstances 
283to spurious EBADF error reports, or possibly even arbitrary memory 
284corruption. [#18469]   
285</p>
286            </li>
287            <li>
288              <p>
289Fixed a bug in C# API where db.HasMultiple was throwing an incorrect
290 exception. [#18483]   
291</p>
292            </li>
293            <li>
294              <p>
295Fixed a bug where populating a SecondaryDatabase on open could lead 
296to an OutOfMemoryException.. [#18529]   
297</p>
298            </li>
299            <li>
300              <p>
301Fixed a bug where entries in the db register file did not get 
302cleared out properly after recovery takes place. This will permit a 
303process to perform a dbenv-&gt;close and then reconnect to environment 
304without needing to stop the process. [#18535]   
305</p>
306            </li>
307          </ol>
308        </div>
309      </div>
310      <div class="sect2" lang="en" xml:lang="en">
311        <div class="titlepage">
312          <div>
313            <div>
314              <h3 class="title"><a id="id1655588"></a>
315Known bugs in 4.8 </h3>
316            </div>
317          </div>
318        </div>
319        <div class="orderedlist">
320          <ol type="1">
321            <li>
322              <p>
323Sharing logs across mixed-endian systems does not work.[#18032] 
324  
325</p>
326            </li>
327          </ol>
328        </div>
329      </div>
330      <div class="sect2" lang="en" xml:lang="en">
331        <div class="titlepage">
332          <div>
333            <div>
334              <h3 class="title"><a id="id1655727"></a>
335Changes between 4.8.24 and 4.8.26:</h3>
336            </div>
337          </div>
338        </div>
339        <div class="orderedlist">
340          <ol type="1">
341            <li>
342              <p>
343Fixed a bug where the truncate log record could be too large when 
344freeing too many pages during a compact. [#17313]   
345</p>
346            </li>
347            <li>
348              <p>
349Fixed a bug where the deadlock detector might not run properly. 
350[#17555]   
351</p>
352            </li>
353            <li>
354              <p>
355Fixed three bugs related to properly detecting thread local storage 
356for DbStl. [#17609]  [#18001] [#18038]   
357</p>
358            </li>
359            <li>
360              <p>
361Fixed a bug that prevented some of our example code from running 
362correctly in a Windows environment. [#17627]   
363</p>
364            </li>
365            <li>
366              <p>
367Fixed a bug where a "unable to allocate space from buffer cache" 
368error was improperly generated. [#17630]   
369</p>
370            </li>
371            <li>
372              <p>
373Fixed a bug where DB-&gt;exists() did not accept the DB_AUTO_COMMIT 
374flag. [#17687]   
375</p>
376            </li>
377            <li>
378              <p>
379Fixed a bug where DB_TXN_SNAPSHOT was not getting ignored when 
380DB_MULTIVERSION not set. [#17706]   
381</p>
382            </li>
383            <li>
384              <p>
385Fixed a bug that prevented callback based partitioning through the 
386Java API. [#17735]   
387</p>
388            </li>
389            <li>
390              <p>
391Fixed a replication bug where log files were not automatically 
392removed from the client side. [#17899]   
393</p>
394            </li>
395            <li>
396              <p>
397Fixed a bug where code generated from db_sql stored the key in both 
398the data and key DBTs. [#17925]   
399</p>
400            </li>
401            <li>
402              <p>
403Fixed a bug that prevented a sequence from closing properly after 
404the EntityStore closed. [#17951]   
405</p>
406            </li>
407            <li>
408              <p>
409Fixed a bug where gets fail if the DB_GET_BOTH_FLAG is specified in a
410 hash, sorted duplicates database.[#17997]   
411</p>
412            </li>
413          </ol>
414        </div>
415      </div>
416      <div class="sect2" lang="en" xml:lang="en">
417        <div class="titlepage">
418          <div>
419            <div>
420              <h3 class="title"><a id="id1655844"></a>
421Changes between 4.8.21 and 4.8.24:</h3>
422            </div>
423          </div>
424        </div>
425        <div class="orderedlist">
426          <ol type="1">
427            <li>
428              <p>
429Fixed a bug in the C# API where applications in a 64-bit environment
430 could hang. [#17461]   
431</p>
432            </li>
433            <li>
434              <p>
435Fixed a bug in MVCC where an exclusive latch was not removed when we
436 couldn't obtain a buffer. [#17479]   
437</p>
438            </li>
439            <li>
440              <p>
441Fixed a bug where a lock wasn't removed on a non-transactional 
442locker. [#17509]   
443</p>
444            </li>
445            <li>
446              <p>
447Fixed a bug which could trigger an assertion when performing a 
448B-tree page split and running out of log space or with MVCC enabled. 
449[#17531]   
450</p>
451            </li>
452            <li>
453              <p>
454Fixed a bug in the repquote example that could cause the application
455 to crash. [#17547]   
456</p>
457            </li>
458            <li>
459              <p>
460Fixed a couple of bugs when using the GCC 4.4 compiler to build the 
461examples and the dbstl API. [#17504] [#17476]   
462</p>
463            </li>
464            <li>
465              <p>
466Fixed an incorrect representation of log system configuration info. 
467[#17532]   
468</p>
469            </li>
470          </ol>
471        </div>
472      </div>
473      <div class="sect2" lang="en" xml:lang="en">
474        <div class="titlepage">
475          <div>
476            <div>
477              <h3 class="title"><a id="id1655898"></a>
478Changes between 4.7 and 4.8.21:</h3>
479            </div>
480          </div>
481        </div>
482      </div>
483      <div class="sect2" lang="en" xml:lang="en">
484        <div class="titlepage">
485          <div>
486            <div>
487              <h3 class="title"><a id="id1655904"></a>
488Database or Log File On-Disk Format Changes:</h3>
489            </div>
490          </div>
491        </div>
492        <div class="orderedlist">
493          <ol type="1">
494            <li>
495              <p>
496The log file format changed in 4.8. 
497</p>
498            </li>
499          </ol>
500        </div>
501      </div>
502      <div class="sect2" lang="en" xml:lang="en">
503        <div class="titlepage">
504          <div>
505            <div>
506              <h3 class="title"><a id="id1655609"></a>
507New Features:</h3>
508            </div>
509          </div>
510        </div>
511        <div class="orderedlist">
512          <ol type="1">
513            <li>
514              <p>
515Improved scalability and throughput when using BTree databases 
516especially when running with multiple threads that equal or exceed the 
517number of available CPUs. 
518
519</p>
520            </li>
521            <li>
522              <p>
523Berkeley DB has added support for C#. In addition to the new 
524C# api, C# specific tests and sample applications were also added. 
525[#16137]
526</p>
527            </li>
528            <li>
529              <p>
530Berkeley DB has added an STL API, which is compatible with and very 
531similar to  C++ Standard Template Library (STL). Tests and 
532sample applications and documentation were also added. [#16217]
533
534</p>
535            </li>
536            <li>
537              <p>
538Berkeley DB has added database partitioning. BTree or Hash databases
539 may now be partitioned across multiple directories. Partitioned 
540databases can be used to increase concurrency and to improve performance
541 by spreading access across disk subsystems. [#15862]
542</p>
543            </li>
544            <li>
545              <p>
546Berkeley DB now supports bulk insertion and deletion of data. 
547Similar to the bulk get interface, the bulk put and bulk delete allow 
548the developer to populate a buffer of key-value pairs and then pass it 
549to the BDB library with a single API call. 
550</p>
551            </li>
552            <li>
553              <p>
554Berkeley DB now supports compression when using BTree. 
555
556</p>
557            </li>
558            <li>
559              <p>
560Berkeley DB introduces a new utility named db_sql which replaces 
561db_codegen. Similar to db_codegen, db_sql accepts an input file with DDL
562 statements and generates a Berkeley DB application using the C API that
563 creates and performs CRUD operations on the defined tables. The 
564developer can then use that code as a basis for further application 
565development. 
566</p>
567            </li>
568            <li>
569              <p>
570The Replication Manager now supports shared access to the Master 
571database environment from multiple processes. In earlier versions,
572 multiple process support on the Master required use of the Base 
573Replication API. [#15982]
574
575</p>
576            </li>
577            <li>
578              <p>
579Foreign Key Support has been added to Berkeley DB.
580</p>
581            </li>
582            <li>
583              <p>
584Several enhancements were made to DB_REGISTER &amp; 
585DB_ENV-&gt;failchk(). 
586</p>
587            </li>
588            <li>
589              <p>
590Berkeley now supports 100% in-memory replication. 
591
592</p>
593            </li>
594            <li>
595              <p>
596Berkeley DB now has the ability to compare two cursors for equality.
597 [#16811]
598
599
600</p>
601            </li>
602          </ol>
603        </div>
604      </div>
605      <div class="sect2" lang="en" xml:lang="en">
606        <div class="titlepage">
607          <div>
608            <div>
609              <h3 class="title"><a id="id1655816"></a>
610Database Environment Changes:</h3>
611            </div>
612          </div>
613        </div>
614        <div class="orderedlist">
615          <ol type="1">
616            <li>
617              <p>
618Fixed a bug that could cause an allocation error while trying to
619 allocate thread tracking information for the DB_ENV-&gt;failcheck 
620system.
621[#16300]
622</p>
623            </li>
624            <li>
625              <p>
626Fixed a bug that could cause a trap if an environment open failed 
627and failchk thread tracking was enabled.[#16770]
628</p>
629            </li>
630          </ol>
631        </div>
632      </div>
633      <div class="sect2" lang="en" xml:lang="en">
634        <div class="titlepage">
635          <div>
636            <div>
637              <h3 class="title"><a id="id1655970"></a>
638Concurrent Data Store Changes:</h3>
639            </div>
640          </div>
641        </div>
642        <p>
643None.
644</p>
645      </div>
646      <div class="sect2" lang="en" xml:lang="en">
647        <div class="titlepage">
648          <div>
649            <div>
650              <h3 class="title"><a id="id1655916"></a>
651General Access Method Changes:</h3>
652            </div>
653          </div>
654        </div>
655        <div class="orderedlist">
656          <ol type="1">
657            <li>
658              <p>
659Fixed a bug where doing an insert with secondary indices and the
660 NOOVERWRITE flag could corrupt the secondary index. [#15912]
661</p>
662            </li>
663            <li>
664              <p>
665Fixed a possible file handle leak that occurred while aborting the 
666create of a database whose metadata page was not initialized.
667[#16359]
668</p>
669            </li>
670            <li>
671              <p>
672Fixed a bug so that we now realloc the filename buffer only if we 
673need it to grow. [#16385]
674[#16219]
675
676</p>
677            </li>
678            <li>
679              <p>
680Fixed a race freeing a transaction object when using MVCC. [#16381]
681
682
683</p>
684            </li>
685            <li>
686              <p>
687Added missing get methods for the DB and DB_ENV classes where there 
688already was a corresponding set method. [#16505] 
689
690</p>
691            </li>
692            <li>
693              <p>
694 Fixed a bug to now ensure that DB_STAT_SUBSYSTEM is distinct from 
695other stat flags. [#16798]
696</p>
697            </li>
698            <li>
699              <p>
700Fixed a bug related to updating multiple secondary keys (using 
701DB_MULTIPLE). [#16885]
702 
703</p>
704            </li>
705            <li>
706              <p>
707Fixed a bug so that verify (db-&gt;verify, db_verify) will now 
708report when it cannot read a page rather than just saying the database 
709is bad. [#16916]
710</p>
711            </li>
712            <li>
713              <p>
714Fixed a bug that could cause memory corruption if a transaction
715allocating a page aborted while DB-&gt;compact was running on that
716database. [#16862]
717</p>
718            </li>
719            <li>
720              <p>
721Fixed a bug where logging was occurring during remove of an 
722in-memory database when
723the DB_TXN_NOT_DURABLE flag was set. [#16571]
724</p>
725            </li>
726            <li>
727              <p>
728Fixed a bug to remove a race condition during database/file create. 
729[#17020] 
730</p>
731            </li>
732            <li>
733              <p>
734Fixed a bug where a call to DB-&gt;verify and specifying DB_SALVAGE 
735could leak memory when the call returned. [#17161] 
736</p>
737            </li>
738            <li>
739              <p>
740Fixed a bug to avoid accessing freed memory during puts on primaries
741 with custom comparators. [#17189] 
742</p>
743            </li>
744            <li>
745              <p>
746Fixed a bug that could cause old versions of pages to be written 
747over new versions if an existing database is opened with the DB_TRUNCATE
748 flag. [#17191] 
749</p>
750            </li>
751          </ol>
752        </div>
753      </div>
754      <div class="sect2" lang="en" xml:lang="en">
755        <div class="titlepage">
756          <div>
757            <div>
758              <h3 class="title"><a id="id1656015"></a>
759Btree Access Method Changes:</h3>
760            </div>
761          </div>
762        </div>
763        <div class="orderedlist">
764          <ol type="1">
765            <li>
766              <p>
767
768
769Fixed a bug which could cause DB-&gt;compact to fail with DB_NOTFOUND or
770 DB_PAGE_NOTFOUND if the height of the tree was reduced by another
771 thread while compact was active. The bug could also cause a page 
772split to trigger splitting of internal nodes which did not need to be 
773split.
774 [#16192]
775</p>
776            </li>
777            <li>
778              <p>
779Fixed a bug that caused Db-&gt;compact to loop if run on an empty 
780RECNO database when there were pages in the free list. [#16778]
781 
782</p>
783            </li>
784            <li>
785              <p>
786Added a new flag, DB_OVERWRITE_DUP, to DB-&gt;put and DBC-&gt;put.
787This flag is equivalent to DB_KEYLAST in almost all cases: the exception
788 is
789that with sorted duplicates, if a matching key/data pair exists, we 
790overwrite
791it rather than returning DB_KEYEXIST. [#16803]
792
793</p>
794            </li>
795          </ol>
796        </div>
797      </div>
798      <div class="sect2" lang="en" xml:lang="en">
799        <div class="titlepage">
800          <div>
801            <div>
802              <h3 class="title"><a id="id1656091"></a>
803Hash Access Method Changes:</h3>
804            </div>
805          </div>
806        </div>
807        <div class="orderedlist">
808          <ol type="1">
809            <li>
810              <p>
811Fixed a bug to now force a group allocation that rolls forward 
812to reinit all the pages.
813
814Otherwise a previous aborted allocation may change the header.
815[#15414] 
816</p>
817            </li>
818            <li>
819              <p>
820Fixed a bug to now return the expected buffer size on a 
821DB_BUFFER_SMALL condition. [#16881]
822
823</p>
824            </li>
825          </ol>
826        </div>
827      </div>
828      <div class="sect2" lang="en" xml:lang="en">
829        <div class="titlepage">
830          <div>
831            <div>
832              <h3 class="title"><a id="id1656163"></a>
833Queue Access Method Changes:</h3>
834            </div>
835          </div>
836        </div>
837        <div class="orderedlist">
838          <ol type="1">
839            <li>
840              <p>
841 Fixed a bug that would cause the LSN reset functionality to not
842 process queue extents.
843[#16213]
844</p>
845            </li>
846            <li>
847              <p>
848Fixed a bug that prevented a partial put on a queue database with 
849secondaries 
850configured. [#16460]
851
852</p>
853            </li>
854            <li>
855              <p>
856Fixed a bug to now prevent an unpinned page to be returned if a 
857delete from a HASH database deadlocked.
858 [#16371]
859</p>
860            </li>
861            <li>
862              <p>
863Fixed a bug that could cause a queue extent to be recreated if an 
864application deleted a record that was already deleted in that extent. 
865[#17004]
866</p>
867            </li>
868            <li>
869              <p>
870Added the DB_CONSUME flag to DB-&gt;del and DBC-&gt;del to force 
871adjustment of the head of the queue. [#17004]
872</p>
873            </li>
874          </ol>
875        </div>
876      </div>
877      <div class="sect2" lang="en" xml:lang="en">
878        <div class="titlepage">
879          <div>
880            <div>
881              <h3 class="title"><a id="id1656078"></a>
882Recno Access Method Changes:</h3>
883            </div>
884          </div>
885        </div>
886        <div class="orderedlist">
887          <ol type="1">
888            <li>
889              <p>
890 Fixed a bug which could cause DB-&gt;compact of a RECNO 
891database to loop if the number of pages on the free list was reduced by 
892another thread while compact was active. [#16199]
893</p>
894            </li>
895            <li>
896              <p>
897Fixed a bug that occurs when deleting from a Recno database and 
898using DB_READ_UNCOMMITTED where we could try to downgrade a lock 
899twice. [#16347]
900</p>
901            </li>
902            <li>
903              <p>
904Fixed a bug to now disallow passing DB_DUP and DB_RECNUM together to
905 __db_set_flags.
906[#16585]
907</p>
908            </li>
909          </ol>
910        </div>
911      </div>
912      <div class="sect2" lang="en" xml:lang="en">
913        <div class="titlepage">
914          <div>
915            <div>
916              <h3 class="title"><a id="id1656213"></a>
917C-specific API Changes:</h3>
918            </div>
919          </div>
920        </div>
921        <div class="orderedlist">
922          <ol type="1">
923            <li>
924              <p>
925Add get functions for each set functions of DB and DB_ENV structures
926 which didn't have one.[#16505]
927</p>
928            </li>
929          </ol>
930        </div>
931      </div>
932      <div class="sect2" lang="en" xml:lang="en">
933        <div class="titlepage">
934          <div>
935            <div>
936              <h3 class="title"><a id="id1656176"></a>
937C++-specific API Changes:</h3>
938            </div>
939          </div>
940        </div>
941        <div class="orderedlist">
942          <ol type="1">
943            <li>
944              <p>
945The get and set_lk_partitions methods are now available. 
946
947</p>
948            </li>
949            <li>
950              <p>
951
952Add get functions for each set functions of Db and DbEnv classes which 
953didn't have one.[#16505]
954
955</p>
956            </li>
957            <li>
958              <p>
959Fixed a memory leak when using nested transactions.[#16956] 
960</p>
961            </li>
962          </ol>
963        </div>
964      </div>
965      <div class="sect2" lang="en" xml:lang="en">
966        <div class="titlepage">
967          <div>
968            <div>
969              <h3 class="title"><a id="id1656268"></a>
970Java-specific API Changes:</h3>
971            </div>
972          </div>
973        </div>
974        <div class="orderedlist">
975          <ol type="1">
976            <li>
977              <p>
978 Fixed a bug where the replication finer-grained verbose
979flags were not available in the Java API. [#15419]
980</p>
981            </li>
982            <li>
983              <p>
984Fixed a bug in the BTree prefix compression API when called from the
985 Java
986
987API. DBTs were not properly initialized. [#16417]
988
989</p>
990            </li>
991            <li>
992              <p>
993Fixed a bug so that LogCursor will work correctly from the Java API.
994[#16827]
995
996</p>
997            </li>
998            <li>
999              <p>
1000Fixed a bug so that position(), limit() and capacity() of 
1001ByteBuffers are obeyed by DatabaseEntry objects. [#16982]
1002
1003</p>
1004            </li>
1005          </ol>
1006        </div>
1007      </div>
1008      <div class="sect2" lang="en" xml:lang="en">
1009        <div class="titlepage">
1010          <div>
1011            <div>
1012              <h3 class="title"><a id="id1656290"></a>
1013
1014 Direct Persistence Layer (DPL), Bindings and Collections API:</h3>
1015            </div>
1016          </div>
1017        </div>
1018        <div class="orderedlist">
1019          <ol type="1">
1020            <li>
1021              <p>
1022The StoredMap class now implements the standard 
1023java.util.concurrent.ConcurrentMap interface. [#15382]
1024</p>
1025            </li>
1026            <li>
1027              <p>
1028Report a meaningful IllegalArgumentException when @Persistent is 
1029incorrectly declared on an enum class. Before, the confusing message 
1030Persistent class has non-persistent superclass: java.lang.Enum was 
1031reported. [#15623]
1032</p>
1033            </li>
1034            <li>
1035              <p>
1036Report a meaningful IllegalArgumentException when @Persistent is 
1037incorrectly declared on an interface. Before, a NullPointerException was
1038 reported. [#15841]
1039</p>
1040            </li>
1041            <li>
1042              <p>
1043Several validation checks have been added or corrected having to do 
1044with entity subclasses, which are @Persistent classes that extend an 
1045@Entity class. [#16077]
1046</p>
1047            </li>
1048            <li>
1049              <p>
1050Optimized marshaling for large numbers of embedded objects improving
1051 performance. [#16198]
1052</p>
1053            </li>
1054            <li>
1055              <p>
1056The StoredMap class now implements the Java 1.5 ConcurrentMap 
1057interface. [#16218]
1058</p>
1059            </li>
1060            <li>
1061              <p>
1062Fix a DPL bug that caused exceptions when using a class Converter 
1063for an instance containing non-simple fields. [#16233]
1064</p>
1065            </li>
1066            <li>
1067              <p>
1068Add EntityCursor.setCacheMode and getCacheMode. See the 
1069com.sleepycat.je.CacheMode class for more information. [#16239]
1070</p>
1071            </li>
1072            <li>
1073              <p>
1074Fix a bug that prevents evolution of @SecondaryKey information in an
1075 entity subclass (a class that extends an @Entity class). [#16253]
1076</p>
1077            </li>
1078            <li>
1079              <p>
1080Report a meaningful IllegalArgumentException when @Persistent or 
1081@Entity is incorrectly used on an inner class (a non-static nested 
1082class). Before, the confusing message No default constructor was 
1083reported. [#16279]
1084</p>
1085            </li>
1086            <li>
1087              <p>
1088Improved the reliability of Entity subclasses that define secondary 
1089keys by requiring that they be registered prior to storing an instance 
1090of the class. [#16399] 
1091</p>
1092            </li>
1093            <li>
1094              <p>
1095Fix a bug that under certain circumstances causes 
1096"IllegalArgumentException: Not a key class" when calling 
1097EntityStore.getSubclassIndex, EntityStore.getPrimaryConfig, 
1098EntityStore.getSecondaryConfig, or PrimaryIndex.put, and a composite key
1099 class is used. [#16407]
1100</p>
1101            </li>
1102            <li>
1103              <p>
1104Fixed a bug so that one can now compile DPL in the Java API on 
1105Windows. 
1106[#16570]
1107</p>
1108            </li>
1109            <li>
1110              <p>
1111The com.sleepycat.collections.TransactionRunner.handleException 
1112method has been added to allow overriding the default transaction retry 
1113policy. See the javadoc for this method for more information. [#16574]
1114
1115</p>
1116            </li>
1117            <li>
1118              <p>
1119Fix a bug that causes an assertion to fire or a NullPointerException
1120 (when assertions are disabled) from the EntityStore constructor. The 
1121problem occurs only when the previously created EntityStore contains an 
1122entity with a secondary key definition in which the key name has been 
1123overridden and is different than the field name. [#16819]
1124</p>
1125            </li>
1126            <li>
1127              <p>
1128Key cursors have been optimized to significantly reduce I/O when the
1129 READ_UNCOMMITTED isolation mode is used. See EntityIndex.keys for more 
1130information. [#16859]
1131</p>
1132            </li>
1133            <li>
1134              <p>
1135Report a meaningful IllegalArgumentException when NULLIFY is used 
1136with a @SecondaryKey and the field is a primitive type. Before, the 
1137confusing message Key field object may not be null was reported. 
1138[#17011]
1139</p>
1140            </li>
1141            <li>
1142              <p>
1143Enum fields may now be used as DPL keys, including primary keys, 
1144secondary keys, and fields of composite key classes. Comparators are 
1145supported for composite key classes containing enum fields. [#17140]
1146</p>
1147            </li>
1148            <li>
1149              <p>
1150Fix a bug that prevented the use of custom key comparisons 
1151(composite key classes that implement Comparable) for secondary keys 
1152defined as ONE_TO_MANY or MANY_TO_MANY.[#17207] 
1153</p>
1154            </li>
1155            <li>
1156              <p>
1157The db.jar file now contains a Premain class which enables bytecode 
1158enhancement using the JVM instrumentation commands.  The built-in proxy 
1159classes are also now enhanced in the db.jar file, which enables off-line
1160 bytecode enhancement.  For more information on DPL bytecode enhancement
1161 and how to use both instrumentation and off-line enhancement, please 
1162see the com.sleepycat.persist.model.ClassEnhancer javadoc. [#17233]
1163
1164
1165</p>
1166            </li>
1167          </ol>
1168        </div>
1169      </div>
1170      <div class="sect2" lang="en" xml:lang="en">
1171        <div class="titlepage">
1172          <div>
1173            <div>
1174              <h3 class="title"><a id="id1656161"></a>
1175
1176 Tcl-specific API Changes:</h3>
1177            </div>
1178          </div>
1179        </div>
1180        <div class="orderedlist">
1181          <ol type="1">
1182            <li>
1183              <p>
1184The mutex API is now available when using Tcl. [#16342]
1185
1186
1187</p>
1188            </li>
1189          </ol>
1190        </div>
1191      </div>
1192      <div class="sect2" lang="en" xml:lang="en">
1193        <div class="titlepage">
1194          <div>
1195            <div>
1196              <h3 class="title"><a id="id1656376"></a>
1197RPC-specific Client/Server Changes:</h3>
1198            </div>
1199          </div>
1200        </div>
1201        <div class="itemizedlist">
1202          <ul type="disc">
1203            <li>
1204              <p>
1205
1206
1207RPC support has been removed from Berkeley DB. [#16785]
1208</p>
1209            </li>
1210          </ul>
1211        </div>
1212      </div>
1213      <div class="sect2" lang="en" xml:lang="en">
1214        <div class="titlepage">
1215          <div>
1216            <div>
1217              <h3 class="title"><a id="id1656388"></a>
1218Replication Changes:</h3>
1219            </div>
1220          </div>
1221        </div>
1222        <div class="orderedlist">
1223          <ol type="1">
1224            <li>
1225              <p>
1226Improved testing of initial conditions for rep and repmgr APIs 
1227and added heartbeat timeouts to rep_get_timeout.[#14977]
1228</p>
1229            </li>
1230            <li>
1231              <p>
1232Added DB_REP_CONF_INMEM replication configuration flag to store 
1233replication information
1234exclusively in-memory without creating any files on-disk. [#15257]
1235
1236</p>
1237            </li>
1238            <li>
1239              <p>
1240Added repmgr support for multi-process shared env [#15982]
1241
1242</p>
1243            </li>
1244            <li>
1245              <p>
1246Fixed a bug where opening a cursor from a database handle failed to 
1247check whether the database handle was still fresh. If the database 
1248handle had been invalidated by a replication client synchronizing with a
1249 new master, it could point to invalid information. [#15990]
1250
1251</p>
1252            </li>
1253            <li>
1254              <p>
1255Fixed a bug so that if LOG_REQ gets an archived LSN, replication 
1256sends VERIFY_FAIL. [#16004]
1257
1258</p>
1259            </li>
1260            <li>
1261              <p>
1262Added timestamp and process/thread id to replication verbose 
1263messages. [#16098]
1264</p>
1265            </li>
1266            <li>
1267              <p>
1268Fixed a bug where, in very rare circumstances, two repmgr sites 
1269could connect to each other at the exact same time, the connection 
1270attempts "collide" and fail, and the same collision repeats in time 
1271synchronization indefinitely. [#16114]
1272
1273</p>
1274            </li>
1275            <li>
1276              <p>
1277 Fixed a bug where a missing database file (FILE_FAIL error 
1278condition) can interrupt a 
1279client synchronization without restarting it. [#16130]
1280
1281
1282</p>
1283            </li>
1284            <li>
1285              <p>
1286Fixed a bug by adding REP_F_INREPSTART flag to prevent racing 
1287threads in rep_start. [#16247]
1288
1289
1290</p>
1291            </li>
1292            <li>
1293              <p>
1294Fixed a bug to not return HOLDELECTION if we are already in the 
1295middle of an election. Updated the egen so the election thread 
1296will notice. [#16270]
1297</p>
1298            </li>
1299            <li>
1300              <p>
1301Fixed a bug in buffer space computation, which could have led to 
1302memory corruption in rare circumstances, when using bulk transfer. 
1303[#16357]
1304
1305
1306</p>
1307            </li>
1308            <li>
1309              <p>
1310Fixed a bug that prevented replication clients from opening a 
1311sequence. The sequence is opened for read operations only. 
1312[#16406]
1313</p>
1314            </li>
1315            <li>
1316              <p>
1317Fixed a bug by removing an assertion about priority in elections. 
1318It is not correct
1319because it could have changed by then. Remove unused recover_gen
1320field. [#16412]
1321
1322</p>
1323            </li>
1324            <li>
1325              <p>
1326Fixed a bug to now ignore a message from client if it is an LSN not 
1327recognized in
1328a LOG_REQ. [#16444]
1329
1330</p>
1331            </li>
1332            <li>
1333              <p>
1334Fixed a bug so that on POSIX systems, repmgr no longer restores 
1335default
1336SIGPIPE action upon env close, if it was necessary to change it during
1337start-up. This allows remaining repmgr environments within the 
1338same
1339process, if any, to continue operating after one of them is closed. 
1340[#16454]
1341
1342
1343</p>
1344            </li>
1345            <li>
1346              <p>
1347 After a replication client restarts with recovery, any named 
1348in-memory databases are now re-materialized from the rest of the 
1349replication group upon synchronization with the master. [#16495]
1350
1351</p>
1352            </li>
1353            <li>
1354              <p>
1355Fixed a bug by adding missing rep_get_config flags. [#16527]
1356
1357</p>
1358            </li>
1359            <li>
1360              <p>
1361Instead of sleeping if the bulk buffer is in transmission, return so
1362 that we can send as a singleton. [#16537]
1363
1364</p>
1365            </li>
1366            <li>
1367              <p>
1368Fixed a bug by changing __env_refresh to not hit assert on -private 
1369-rep env with an in-memory database. [#16546]
1370
1371
1372</p>
1373            </li>
1374            <li>
1375              <p>
1376Fixed a bug in the Windows implementation of repmgr where a large 
1377number of commit threads concurrently awaiting
1378acknowledgments could result in memory corruption, and leaking
1379Win32 Event Objects.
1380[#16548]
1381</p>
1382            </li>
1383            <li>
1384              <p>
1385Fixed a bug by changing repmgr to count a dropped connection when 
1386noticing a lacking
1387heartbeat; fixed hearbeat test to check for election, rather than 
1388connection
1389drop count, and more reasonable time limit; fixed test to poll until
1390desired result, rather than always sleeping max possible
1391time. [#16550]
1392
1393</p>
1394            </li>
1395            <li>
1396              <p>
1397Fixed "master changes" stat to count when local site becomes master 
1398too. [#16562]
1399
1400</p>
1401            </li>
1402            <li>
1403              <p>
1404Fixed a bug where a c2c client would send UPDATE_REQ to another 
1405client [#16592]
1406
1407</p>
1408            </li>
1409            <li>
1410              <p>
1411Removed code to proactively expire leases when we don't get 
1412acks.
1413Leases maintain their own LSNs to know. [#16494]
1414</p>
1415            </li>
1416            <li>
1417              <p>
1418Fixed a bug where a client may not sync pages during internal init. 
1419[#16671]
1420
1421</p>
1422            </li>
1423            <li>
1424              <p>
1425Fixed a bug where a client that received and skipped a log record 
1426from the master during an election, then won the election, could then 
1427try to request a copy of the skipped log record. The result was an
1428 attempt to send a request to the local site, which is invalid: this 
1429could confuse a replication Base API application, or cause the 
1430Replication Manager to crash. [#16700]
1431</p>
1432            </li>
1433            <li>
1434              <p>
1435
1436Fixed a bug which could have caused data loss or corruption (at the 
1437client only) if a replication client rolled back existing transactions 
1438in order to synchronize with a new master, and then crashed/recovered 
1439before a subsequent checkpoint operation had been replicated from the 
1440master. [#16732]
1441
1442</p>
1443            </li>
1444            <li>
1445              <p>
1446 Fixed a bug so that replication now retries on DB_LOCK_NOTGRANTED. 
1447[#16741]
1448</p>
1449            </li>
1450            <li>
1451              <p>
1452Fixed a potential deadlock in rep_verify_fail. [#16779]
1453</p>
1454            </li>
1455            <li>
1456              <p>
1457 Fixed a bug so that an application will no longer segv if nsites 
1458given was smaller than number of sites that actually exists. [#16825]
1459</p>
1460            </li>
1461          </ol>
1462        </div>
1463      </div>
1464      <div class="sect2" lang="en" xml:lang="en">
1465        <div class="titlepage">
1466          <div>
1467            <div>
1468              <h3 class="title"><a id="id1656470"></a>
1469XA Resource Manager Changes:</h3>
1470            </div>
1471          </div>
1472        </div>
1473        <div class="orderedlist">
1474          <ol type="1">
1475            <li>
1476              <p>
1477The XA Resource Manager has been removed from Berkeley DB. 
1478[#6459]
1479
1480</p>
1481            </li>
1482          </ol>
1483        </div>
1484      </div>
1485      <div class="sect2" lang="en" xml:lang="en">
1486        <div class="titlepage">
1487          <div>
1488            <div>
1489              <h3 class="title"><a id="id1656534"></a>
1490Locking Subsystem Changes:</h3>
1491            </div>
1492          </div>
1493        </div>
1494        <div class="orderedlist">
1495          <ol type="1">
1496            <li>
1497              <p>
1498 Fixed a bug to prevent unlocking a mutex twice if we ran out of
1499 transactional locks.
1500[#16285]
1501</p>
1502            </li>
1503            <li>
1504              <p>
1505 Fixed a bug to prevent a segmentation trap in __lock_open if 
1506there were an error during the opening of an environment.
1507[#16307]
1508</p>
1509            </li>
1510            <li>
1511              <p>
1512 Fixed a bug to now avoid a deadlock if user defined locks are used 
1513only one lock partition is defined.[#16415]
1514</p>
1515            </li>
1516            <li>
1517              <p>
1518Fixed concurrency problems in __dd_build, __dd_abort by adding 
1519LOCK_SYSTEM_LOCK() calls to
1520__dd_build and __dd_abort.
1521[16489]
1522</p>
1523            </li>
1524            <li>
1525              <p>
1526Fixed a bug that could cause a panic if a transaction which
1527updated a database that was supporting
1528READ_UNCOMMITED readers aborted and it hit a race
1529with a thread running the deadlock detector. [#16490]
1530</p>
1531            </li>
1532            <li>
1533              <p>
1534Fixed a race condition in deadlock detection that could overwrite 
1535heap. [#16541] 
1536
1537</p>
1538            </li>
1539            <li>
1540              <p>
1541Fixed a bug so that DB_STAT_CLEAR now restores the value of 
1542st_partitions. [#16701]
1543
1544
1545</p>
1546            </li>
1547          </ol>
1548        </div>
1549      </div>
1550      <div class="sect2" lang="en" xml:lang="en">
1551        <div class="titlepage">
1552          <div>
1553            <div>
1554              <h3 class="title"><a id="id1656721"></a>
1555Logging Subsystem Changes:</h3>
1556            </div>
1557          </div>
1558        </div>
1559        <div class="orderedlist">
1560          <ol type="1">
1561            <li>
1562              <p>
1563Fixed a bug so that the header checksum is only ignored when the
1564 log is from a previous version [#16281] 
1565</p>
1566            </li>
1567            <li>
1568              <p>
1569Fixed a bug by removing a possible race condition with 
1570logc_get(DB_FIRST) and log archiving. [#16387]
1571
1572</p>
1573            </li>
1574            <li>
1575              <p>
1576Fixed a bug that could cause a recovery failure of a create of a 
1577database that was aborted. [#16824]
1578 
1579</p>
1580            </li>
1581            <li>
1582              <p>
1583An in-memory database creation has an intermediate phase where we 
1584have a semi-open DBP. If
1585we crash in that state,  then recovery was failing because it tried to 
1586use a partically open
1587database handle.  This fix checks for that case, and avoids trying to 
1588undo page writes for
1589databases in that interim step. [#17203]
1590
1591</p>
1592            </li>
1593          </ol>
1594        </div>
1595      </div>
1596      <div class="sect2" lang="en" xml:lang="en">
1597        <div class="titlepage">
1598          <div>
1599            <div>
1600              <h3 class="title"><a id="id1656706"></a>
1601Memory Pool Subsystem Changes:</h3>
1602            </div>
1603          </div>
1604        </div>
1605        <div class="orderedlist">
1606          <ol type="1">
1607            <li>
1608              <p>
1609Fixed a bug that occurred after all open handles on a file are 
1610closed. Needed to clear the TXN_NOT_DURABLE
1611flag (if set) and mark the file as DURABLE_UNKNOWN in the memory pool. 
1612[#16091]
1613
1614</p>
1615            </li>
1616            <li>
1617              <p>
1618Fixed a possible race condition between dirtying and freeing a 
1619buffer that could result in a panic or corruption.
1620[#16530]
1621</p>
1622            </li>
1623            <li>
1624              <p>
1625 Fixed a memory leak where allocated space for temporary file names 
1626are not released. [#16956]
1627
1628</p>
1629            </li>
1630          </ol>
1631        </div>
1632      </div>
1633      <div class="sect2" lang="en" xml:lang="en">
1634        <div class="titlepage">
1635          <div>
1636            <div>
1637              <h3 class="title"><a id="id1656768"></a>
1638Mutex Subsystem Changes:</h3>
1639            </div>
1640          </div>
1641        </div>
1642        <div class="orderedlist">
1643          <ol type="1">
1644            <li>
1645              <p>
1646Fixed a bug when using mutexes for SMP MIPS/Linux systems. 
1647[#15914]
1648
1649</p>
1650            </li>
1651            <li>
1652              <p>
1653POSIX mutexes are now the default on Solaris. [#16066]
1654
1655</p>
1656            </li>
1657            <li>
1658              <p>
1659Fixed a bug in mutex allocation with multiple cache regions. 
1660[#16178]
1661</p>
1662            </li>
1663            <li>
1664              <p>
1665Fixed MIPS/Linux mutexes in 4.7. [#16209]
1666
1667</p>
1668            </li>
1669            <li>
1670              <p>
1671Fixed a bug that would cause a mutex to be unlocked a second time if
1672 we ran out of space while tracking pinned pages.
1673[#16228]
1674</p>
1675            </li>
1676            <li>
1677              <p>
1678Fixed a bug Sparc/GCC when using test-and-set mutexes. They 
1679are now aligned on an 8-byte boundary. [#16243]
1680
1681</p>
1682            </li>
1683            <li>
1684              <p>
1685 Fixed a bug to now prevent a thread calling DB_ENV-&gt;failcheck
1686to hang on a mutex held by a dead thread.
1687
1688[#16446]
1689</p>
1690            </li>
1691            <li>
1692              <p>
1693Fixed a bug so that __db_pthread_mutex_unlock() now handles the 
1694failchk case
1695of finding a busy mutex which was owned by a now-dead process. [#16557] 
1696</p>
1697            </li>
1698            <li>
1699              <p>
1700
1701Removed support for the mutex implementation based on the "fcntl" system
1702  
1703call.  Anyone configuring Berkeley DB to use this type of mutex in an  
1704earlier release will need to either switch to a different mutex type  
1705or contact Oracle for support. [#17470]
1706
1707</p>
1708            </li>
1709          </ol>
1710        </div>
1711      </div>
1712      <div class="sect2" lang="en" xml:lang="en">
1713        <div class="titlepage">
1714          <div>
1715            <div>
1716              <h3 class="title"><a id="id1656859"></a>
1717Test Suite Changes</h3>
1718            </div>
1719          </div>
1720        </div>
1721        <div class="orderedlist">
1722          <ol type="1">
1723            <li>
1724              <p>
1725Fixed a bug when using failchk(), where a mutex was not 
1726released. [#15982]
1727
1728</p>
1729            </li>
1730            <li>
1731              <p>
1732Added a set of basic repmgr tests to run_std and run_all. [#16092]
1733</p>
1734            </li>
1735            <li>
1736              <p>
1737Added control wrapper for db_reptest to test suite. [#16161] 
1738
1739</p>
1740            </li>
1741            <li>
1742              <p>
1743Fixed a bug to now skip tests if db_reptest is not configured. 
1744[#16161]
1745</p>
1746            </li>
1747            <li>
1748              <p>
1749Changed name of run_db_in_mem to run_inmem_db, and run_inmem to
1750run_inmem_log and made the arg orders consistent. [#16358]
1751
1752</p>
1753            </li>
1754            <li>
1755              <p>
1756Fixed a bug to now clean up stray handles when rep_verify doesn't 
1757work. [#16390]
1758
1759</p>
1760            </li>
1761            <li>
1762              <p>
1763Fixed a bug to avoid db_reptest passing the wrong flag to 
1764repmgr_start when there is already a master. [#16475] 
1765
1766</p>
1767            </li>
1768            <li>
1769              <p>
1770Added new tests for abbreviated internal init. Fixed test not to 
1771expect in-memory database to survive recovery. [#16495]
1772
1773
1774</p>
1775            </li>
1776            <li>
1777              <p>
1778Fix a bug, to add page size for txn014 if the default page size is 
1779too small.
1780Move files instead of renaming directory for env015 on QNX. [#16627]
1781
1782</p>
1783            </li>
1784            <li>
1785              <p>
1786Added new rep088 test for log truncation integrity. [#16732]
1787</p>
1788            </li>
1789            <li>
1790              <p>
1791Fixed a bug by adding a checkpoint in rep061 to make sure we have 
1792messages to process. Otherwise we could hang with client stuck in 
1793internal init, and no
1794incoming messages to trigger rerequest.
1795[#16781]
1796
1797</p>
1798            </li>
1799          </ol>
1800        </div>
1801      </div>
1802      <div class="sect2" lang="en" xml:lang="en">
1803        <div class="titlepage">
1804          <div>
1805            <div>
1806              <h3 class="title"><a id="id1656877"></a>
1807Transaction Subsystem Changes:</h3>
1808            </div>
1809          </div>
1810        </div>
1811        <div class="orderedlist">
1812          <ol type="1">
1813            <li>
1814              <p>
1815Fixed a bug to no longer generate an error if DB_ENV-&gt;set_flags
1816(DB_TXN_NOSYNC) was called after the environment was opened. [#16492]
1817</p>
1818            </li>
1819            <li>
1820              <p>
1821Fixed a bug to remove a potential hang condition in replication 
1822os_yield loops 
1823when DB_REGISTER used with replication by adding PANIC_CHECKS.
1824[#16502]
1825</p>
1826            </li>
1827            <li>
1828              <p>
1829Fix a bug to now release mutex obtained before special condition 
1830returns in __db_cursor_int and __txn_record_fname. [#16665]
1831</p>
1832            </li>
1833            <li>
1834              <p>
1835Fixed a leak in the transaction region when a snapshot update 
1836transaction accesses more than 4 databases.
1837[#16734]
1838</p>
1839            </li>
1840            <li>
1841              <p>
1842Enabled setting of set_thread_count via the DB_CONFIG file. [#16878]
1843</p>
1844            </li>
1845            <li>
1846              <p>
1847Fixed a mutex leak in some corner cases. [#16665] 
1848</p>
1849            </li>
1850          </ol>
1851        </div>
1852      </div>
1853      <div class="sect2" lang="en" xml:lang="en">
1854        <div class="titlepage">
1855          <div>
1856            <div>
1857              <h3 class="title"><a id="id1656959"></a>
1858Utility Changes:</h3>
1859            </div>
1860          </div>
1861        </div>
1862        <div class="orderedlist">
1863          <ol type="1">
1864            <li>
1865              <p>
1866The db_stat utility with the -RA flags will now print a list of 
1867known remote replication flags when using repmgr. [#15484]
1868
1869</p>
1870            </li>
1871            <li>
1872              <p>
1873Restructured DB salvage to walk known leaf pages prior to looping 
1874over all db pages. [#16219]
1875
1876
1877</p>
1878            </li>
1879            <li>
1880              <p>
1881Fixed a problem with upgrades to 4.7 on big endian machines. 
1882[#16411] 
1883
1884</p>
1885            </li>
1886            <li>
1887              <p>
1888Fixed a bug so that now db_load consistently returns &gt;1 on 
1889failure. [#16765]
1890
1891</p>
1892            </li>
1893            <li>
1894              <p>
1895The db_dump utility now accepts a "-m" flag to dump information
1896 from a named in-memory database. [#16896]
1897
1898</p>
1899            </li>
1900            <li>
1901              <p>
1902Fixed a bug that would cause db_hotbackup to fail if a database file
1903 was removed while it was running. [#17234]
1904</p>
1905            </li>
1906          </ol>
1907        </div>
1908      </div>
1909      <div class="sect2" lang="en" xml:lang="en">
1910        <div class="titlepage">
1911          <div>
1912            <div>
1913              <h3 class="title"><a id="id1657000"></a>
1914Configuration, Documentation, Sample Application, Portability and 
1915Build Changes:</h3>
1916            </div>
1917          </div>
1918        </div>
1919        <div class="orderedlist">
1920          <ol type="1">
1921            <li>
1922              <p>
1923Fixed a bug to now use the correct Perl include path. [#16058]
1924</p>
1925            </li>
1926            <li>
1927              <p>
1928Updated the version of the Microsoft runtime libraries shipped. 
1929[#16058]
1930</p>
1931            </li>
1932            <li>
1933              <p>
1934Upgraded the Visual Studio build files to be based on Visual Studio 8
1935 (2005+).
1936The build is now simplified. Users can still upgrade the 
1937Visual Studio 6.0 project files, if they want to
1938
1939use Visual Studio .NET (7.1)
1940[#16108]
1941</p>
1942            </li>
1943            <li>
1944              <p>
1945
1946Expanded the ex_rep example with checkpoint and log archive threads, 
1947deadlock detection, new options for acknowledgment policy and bulk 
1948transfer, and use of additional replication features and events. 
1949[#16109]
1950
1951</p>
1952            </li>
1953            <li>
1954              <p>
1955Fixed a bug so that optimizations on AIX are re-enabled, avoiding 
1956incorrect code generation. [#16141]
1957
1958</p>
1959            </li>
1960            <li>
1961              <p>
1962Removed a few compiler warnings and three type redefinitons when 
1963using vxworks and the GNU compiler. [#16341]
1964
1965</p>
1966            </li>
1967            <li>
1968              <p>
1969Fixed a bug on Sparc v9 so that MUTEX_MEMBAR() now uses 
1970membar_enter() to get a #storeload barrier rather than just stbar's 
1971#storestor. [#16468]
1972 
1973</p>
1974            </li>
1975            <li>
1976              <p>
1977Berkeley DB no longer supports Win9X and Windows Me (Millenium 
1978edition).
1979</p>
1980            </li>
1981            <li>
1982              <p>
1983Fixed lock_get and lock_vec examples from the Java (and C#) API. 
1984Updated the Java lock
1985example. [#16506]
1986</p>
1987            </li>
1988            <li>
1989              <p>
1990Fixed a bug to correctly handle the TPC-B history record on 
199164-bit systems. [#16709]
1992</p>
1993            </li>
1994            <li>
1995              <p>
1996Add STL API to Linux build. Can be enabled via the --enable-stl 
1997flag. [#16786]
1998
1999</p>
2000            </li>
2001            <li>
2002              <p>
2003Add STL API to Windows build, by building the db_stl project in the 
2004solution. There are also stl's test and examples projects in this 
2005solution. [#16786]
2006
2007</p>
2008            </li>
2009            <li>
2010              <p>
2011
2012Add support to build dll projects for WinCE, in order to enable users to
2013 build DB into a dll in addition to a static library.[#16625]
2014
2015</p>
2016            </li>
2017            <li>
2018              <p>
2019Fixed a weakness where several malloc/realloc return values are not 
2020checked before use.[#16664] 
2021</p>
2022            </li>
2023            <li>
2024              <p>
2025Enabled DB-&gt;compact for WinCE.[#15897] 
2026</p>
2027            </li>
2028            <li>
2029              <p>
2030HP-UX 10 is no longer supported. 
2031</p>
2032            </li>
2033          </ol>
2034        </div>
2035      </div>
2036    </div>
2037    <div class="navfooter">
2038      <hr />
2039      <table width="100%" summary="Navigation footer">
2040        <tr>
2041          <td width="40%" align="left"><a accesskey="p" href="upgrade_4_8_disk.html">Prev</a>��</td>
2042          <td width="20%" align="center">
2043            <a accesskey="u" href="upgrade_4_8_toc.html">Up</a>
2044          </td>
2045          <td width="40%" align="right">��<a accesskey="n" href="test.html">Next</a></td>
2046        </tr>
2047        <tr>
2048          <td width="40%" align="left" valign="top">Release 4.8: Upgrade Requirements��</td>
2049          <td width="20%" align="center">
2050            <a accesskey="h" href="index.html">Home</a>
2051          </td>
2052          <td width="40%" align="right" valign="top">��Chapter��46.��
2053		Test Suite
2054        </td>
2055        </tr>
2056      </table>
2057    </div>
2058  </body>
2059</html>
2060