RC/21


Background
Overview
Features
Benefits
Support
C API
C++ API
Filter Expressions
Code Examples

Background

In 1986 we set out to develop a new CASE product. The CASE product had requirements typical of many commercial software systems: the ability to store massive amounts of data, quick access, an API that was easy and natural for C programmers, flexibility, extensibility, portability, minimal runtime cost, robust, relational access, a desktop multiuser client/server system with no administrative complexity. The product we were looking for did not exist (and is still rare today), so we developed it ourselves. The result was Pinnacle Relational Engine which has since been shipped with hundreds of thousands of applications. In 1990 we recognized the need to supply a C++ class library that provided programmers added flexibility like inheritance of fundamental database classes and functions and a more robust form of polymorhpism. A C++ class wrapper was added that satisfied this requirement. In 1994, the product was completely rewritten in C++ with a C wrapper that supports the original C API. The new product was dubbed RC/21 (Relational Classes for Century 21). Additional benefits of the new C++ class library are the objectification of some internal methods such as btree's and hash tables so that they can be used as base classes for user objects.

Overview

RC/21 is a complete set of C++ classes and member functions used for manipulating a database that comprises a set of tables. Each table has a number of rows and columns. Data in the tables may be of any type - including variable length strings, C or C++ objects, and even complete directly- addressable files. Data within a column may have different types in each row. All this data is organized by a data dictionary that resides within the database itself. The application programmer manipulates objects in the database by calling high-level functions. The high-level API insulates the application from the implementational details of the database - particularly, the underlying physical structure - and improves implementation productivity and system reliability. The RC/21 Server provides multiuser access with row-level locking and complete two-phase commit and rollback.

Features

Benefits

Support