Berkeley DB Installation and Build Guide

Legal Notice

5/31/2013


Table of Contents

Preface
Conventions Used in this Book
For More Information
Contact Us
1. Introduction
Installation Overview
Supported Platforms
2. System Installation Notes
File utility /etc/magic information
Magic information
Big-endian magic information
Little-endian magic information
Building with multiple versions of Berkeley DB
3. Debugging Applications
Introduction to debugging
Compile-time configuration
Run-time error information
Reviewing Berkeley DB log files
Augmenting the Log for Debugging
Extracting Committed Transactions and Transaction Status
Extracting Transaction Histories
Extracting File Histories
Extracting Page Histories
Other log processing tools
4. Building Berkeley DB for Android
Building the Drop-In Replacement for Android
Migrating from SQLite to Berkeley DB
Building the Android JDBC Driver
Android Configuration Options
5. Building Berkeley DB for Windows
Building Berkeley DB for 32 bit Windows
Visual C++ .NET 2010
Visual C++ .NET 2008
Visual C++ .NET 2005
Build results
Building Berkeley DB for 64-bit Windows
x64 build with Visual Studio 2005 or newer
Building Berkeley DB with Cygwin
Building the C++ API
Building the C++ STL API
Building the Java API
Building the C# API
Building the SQL API
Binary Compatibility With SQLite
Setting Encryption
Changing Compile Options
Enabling Extensions
Disabling Log Checksums
Building the JDBC Driver
Using the JDBC Driver
Building the ODBC Driver
Using the ADO.NET Driver
Building the Tcl API
Distributing DLLs
Additional build options
Building a small memory footprint library
Running the test suite under Windows
Building the software needed by the tests
Running the test suite under Windows
Building the software needed by the SQL tests
Windows notes
Windows FAQ
6. Building Berkeley DB for Windows Mobile
Building for Windows Mobile
Building Berkeley DB for Windows Mobile
Changing Build Configuration Type
Building Berkeley DB for different target platforms
Windows Mobile notes
Windows Mobile FAQ
7. Building Berkeley DB for UNIX/POSIX
Building for UNIX/POSIX
Building the Berkeley DB SQL Interface
Configuring Berkeley DB
Configuring the SQL Interface
Changing Compile Options
Enabling Extensions
Building the JDBC Driver
Using the JDBC Driver
Building the ODBC Driver
Building the BFILE extension
Building a small memory footprint library
Changing compile or load options
Cross-Compiling on Unix
Installing Berkeley DB
Dynamic shared libraries
Running the test suite under UNIX
Building SQL Test Suite on Unix
Architecture independent FAQ
AIX
FreeBSD
Apple iOS (iPhone OS)
IRIX
Linux
Mac OS X
QNX
SCO
Solaris
SunOS
8. Building Berkeley DB for VxWorks
Building for VxWorks 6.x
Building With Wind River Workbench using the Makefile
VxWorks notes
Building and Running the Demo Program
Building and Running the Utility Programs
Support for Replication Manager
VxWorks FAQ
9. Upgrading Berkeley DB 11.2.5.3 applications to Berkeley DB 12.1.6.0
Introduction
Binary Large Object Support
New Functions
New Flags Accepted by Blob Streaming Interfaces
Other New Flags
New Pragma
Replication Views
New Function
New Flag
Enhanced BDB SQL Replication Options
New Pragmas
Replication Manager Automatic Takeover
New Event
New Berkeley DB SQL API Pragma
New Pragma
UNIX/POSIX SQL Encryption Default
Sequence Datatype Changes
Comparison Function Signature Change
License Change
Updated SQLite Version
Sun Workshop Compiler Optimization Level
Dropped Support
Berkeley DB Library Version 12.1.6.0 Change Log
Database or Log File On-Disk Format Changes
New Features
Database Environment Changes
Concurrent Data Store Changes
Access Method Changes
API Changes
SQL-specific API Changes
Tcl-specific API Changes
Java-specific API Changes
C#-specific API Changes
Replication Changes
Locking Subsystem Changes
Logging Subsystem Changes
Memory Pool Subsystem Changes
Mutex Subsystem Changes
Transaction Subsystem Changes
Test Suite Changes
Utility Changes
Configuration, Documentation, Sample Apps, Portability and Build Changes
Example Changes
Miscellaneous Bug Fixes
Deprecated Features
Known Bugs
10. Upgrading Berkeley DB 11.2.5.2 applications to Berkeley DB 11.2.5.3
Introduction
Changes to the build_windows Folder
Replication Connection Status in the Java API
New Function
New Class
Deprecated Function
Exclusive Database Handles
New Functions
Configure the Region Size of Heap Databases
New Functions
New Hotbackup Interface
New Functions
Flags Accepted by DB_ENV->backup()
Flags Accepted by DB_ENV->dbbackup()
Enumerations Accepted by DB_ENV->set_backup_config()
Updated JDBC Version
Configure Directory to Store Metadata Files
New Functions
Changes in the SQL API Build
New Berkeley DB SQL API PRAGMAs
New PRAGMAs
Replication for Existing Databases in the SQL API
PRAGMAs With Permanent Effects
PRAGMAs That Can Now Operate on Existing Databases
Berkeley DB X/Open Compliant XA Resource Manager and Transaction Snapshots
Berkeley DB Library Version 11.2.5.3 Change Log
Database or Log File On-Disk Format Changes
New Features
Database Environment Changes
Access Method Changes
SQL API Changes
Java-specific API changes
Replication Changes
Locking Subsystem Changes
Logging Subsystem Changes
Memory Pool Subsystem Changes
Mutex Subsystem Changes
Transaction Subsystem Changes
Utility Changes
Configuration, Documentation, Sample Apps, Portability and Build Changes
Known Bugs
11. Upgrading Berkeley DB 11.2.5.1 applications to Berkeley DB 11.2.5.2
Introduction
SQLite Interface Upgrade
32bit/64bit Compatibility on Windows
Read Only flag for DBT
New Flag
Dynamic Environment Configuration
New Functions
Deprecated Functions
Exclusive Transactions in the SQL Layer
Group Membership in Repmgr
Upgrading
New Functions
Modified Functions
New Events
Removed Functions
New Parameters
New Structure
Heap Access Method
New Functions
Modified Functions
New Definition
Enabling Transaction Snapshots in the SQL Layer
New Pragmas
2SITE_STRICT Enabled by Default in Replication
Enabling Replication in the SQL Layer
New Pragmas
Repmgr Message Channels
New Functions
Sequence Support in the SQL Layer
New Functions
Berkeley DB X/Open Compliant XA Resource Manager
Constraints
New Flag
Modified Function
Hot Backup Changes
Berkeley DB Library Version 11.2.5.2 Change Log
Database or Log File On-Disk Format Changes
New Features
Database Environment Changes
Concurrent Data Store Changes
Access Method Changes
SQL API Changes
C API Changes
Tcl-specific API Changes
C#-specific API Changes
Replication Changes
Locking Subsystem Changes
Logging Subsystem Changes
Memory Pool Subsystem Changes
Mutex Subsystem Changes
Transaction Subsystem Changes
Test Suite Changes
Utility Changes
Configuration, Documentation, Sample Apps, Portability and Build Changes
Example Changes
Miscellaneous Bug Fixes
Deprecated Features
Known Bugs
12. Upgrading Berkeley DB 11.2.5.0 applications to Berkeley DB 11.2.5.1
Introduction
DPL Applications must be recompiled
Source Tree Rearranged
SQLite Interface Upgrade
Mod_db4 Support Discontinued
Berkeley DB Library Version 11.2.5.1 Change Log
Database or Log File On-Disk Format Changes
New Features
Database Environment Changes
Concurrent Data Store Changes
Access Method Changes
API Changes
SQL-Specific API Changes
Tcl-Specific API Changes
Java-Specific API Changes
C#-Specific API Changes
Direct Persistence Layer (DPL), Bindings and Collections API
Replication Changes
Locking Subsystem Changes
Logging Subsystem Changes
Memory Pool Subsystem Changes
Mutex Subsystem Changes
Transaction Subsystem Changes
Test Suite Changes
Utility Changes
Configuration, Documentation, Sample Apps, Portability, and Build Changes
Example Changes
Miscellaneous Bug Fixes
Deprecated Features
Known Bugs
13. Upgrading Berkeley DB 4.8 applications to Berkeley DB 11.2.5.0
Introduction
db_sql Renamed to db_sql_codegen
DB_REP_CONF_NOAUTOINIT Replaced
Support for Multiple Client-to-Client Peers
Cryptography Support
DB_NOSYNC Flag to Flush Files
Dropped Support
Changing Stack Size
Berkeley DB 11g Release 2 Change Log
Changes between 11.2.5.0.26 and 11.2.5.0.32
Changes between 11.2.5.0.21 and 11.2.5.0.26
Changes between 4.8 and 11.2.5.0.21
Known Bugs
14. Upgrading Berkeley DB 4.7 applications to Berkeley DB 4.8
Introduction
Registering DPL Secondary Keys
Minor Change in Behavior of DB_MPOOLFILE->get
Dropped Support for fcntl System Calls
Upgrade Requirements
Berkeley DB 4.8.28 Change Log
Changes between 4.8.26 and 4.8.28:
Known bugs in 4.8
Changes between 4.8.24 and 4.8.26:
Changes between 4.8.21 and 4.8.24:
Changes between 4.7 and 4.8.21:
Database or Log File On-Disk Format Changes:
New Features:
Database Environment Changes:
Concurrent Data Store Changes:
General Access Method Changes:
Btree Access Method Changes:
Hash Access Method Changes:
Queue Access Method Changes:
Recno Access Method Changes:
C-specific API Changes:
C++-specific API Changes:
Java-specific API Changes:
Direct Persistence Layer (DPL), Bindings and Collections API:
Tcl-specific API Changes:
RPC-specific Client/Server Changes:
Replication Changes:
XA Resource Manager Changes:
Locking Subsystem Changes:
Logging Subsystem Changes:
Memory Pool Subsystem Changes:
Mutex Subsystem Changes:
Test Suite Changes
Transaction Subsystem Changes:
Utility Changes:
Configuration, Documentation, Sample Application, Portability and Build Changes:
15. Test Suite
Running the test suite
Running SQL Test Suite on Unix
Running SQL Test Suite on Windows
Test suite FAQ