Table of Contents
This document describes how to use transactions with your Berkeley DB applications. It is intended to describe how to transaction protect your application's data. The APIs used to perform this task are described here, as are the environment infrastructure and administrative tasks required by a transactional application. This book also describes multi-threaded and multi-process DB applications and the requirements they have for deadlock detection.
This book describes Berkeley DB 11g Release 2, which provides library version 11.2.5.2.
This book is aimed at the software engineer responsible for writing a transactional DB application.
This book assumes that you have already read and understood the concepts contained in the Getting Started with Berkeley DB guide.
The following typographical conventions are used within in this manual:
Structure names are represented in monospaced font
, as are method
names
. For example: "DB->open()
is a method
on a DB
handle."
Variable or non-literal text is presented in italics. For example: "Go to your DB_INSTALL directory."
Program examples are displayed in a monospaced font
on a shaded background.
For example:
/* File: gettingstarted_common.h */ typedef struct stock_dbs { DB *inventory_dbp; /* Database containing inventory information */ DB *vendor_dbp; /* Database containing vendor information */ char *db_home_dir; /* Directory containing the database files */ char *inventory_db_name; /* Name of the inventory database */ char *vendor_db_name; /* Name of the vendor database */ } STOCK_DBS;
In some situations, programming examples are updated from one chapter to the next. When
this occurs, the new code is presented in monospaced bold
font. For example:
typedef struct stock_dbs { DB *inventory_dbp; /* Database containing inventory information */ DB *vendor_dbp; /* Database containing vendor information */DB *itemname_sdbp; /* Index based on the item name index */
char *db_home_dir; /* Directory containing the database files */char *itemname_db_name; /* Itemname secondary database */
char *inventory_db_name; /* Name of the inventory database */ char *vendor_db_name; /* Name of the vendor database */ } STOCK_DBS;
Finally, notes of special interest are represented using a note block such as this.