Berkeley DB Reference Version 5.3.33

Berkeley DB Installation and Build Guide

Legal Notice

9/9/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 Preprocessor Flags

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

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

9. 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

Changes between 11.2.5.3.21 and 11.2.5.3.28

Changes between 11.2.5.3.15 and 11.2.5.3.21

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

10. 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

11. 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

12. 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

13. 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:

14. Test Suite

Running the test suite

Running SQL Test Suite on Unix

Running SQL Test Suite on Windows

Test suite FAQ