Browse Prior Art Database

Updating Free-Space Allocation Records in OS/2 Dbm Table Data Files

IP.com Disclosure Number: IPCOM000102238D
Original Publication Date: 1990-Nov-01
Included in the Prior Art Database: 2005-Mar-17
Document File: 2 page(s) / 71K

Publishing Venue

IBM

Related People

Lindsay, BG: AUTHOR [+3]

Abstract

Disclosed is an efficient method for updating free-space allocation records in OS/2* Database Manager Table Data Files. (Image Omitted).

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Updating Free-Space Allocation Records in OS/2 Dbm Table Data Files

       Disclosed is an efficient method for updating free-space
allocation records in OS/2* Database Manager Table Data Files.

                            (Image Omitted)

.

      The table data file record allocation/deallocation algorithm
must keep track of the amount of free-space on each page of the data
file in order to determine where to place a record.  An algorithm
which reduces the number of updates to the free-space information,
yet which retains enough information to accurately predict free-space
availability is described.

      OS/2 Database Manager Table Data Files store all the data
contained in base tables, except long fields.  Each record in the
table data file contains one row of a table. The records in the data
file are blocked into 4K-byte pages. Records cannot span more than
one page, so the record size is limited to 4K minus some page-header
and record-header overhead.

      The records in the data file are unordered.  When a record is
added, it is placed on the first page in the file with enough space
to hold it. To determine the amount of space on each page, the data
file contains special records, called free-space control records.
Each free space control record describes available space on some
number (for instance, m) pages.  There is one free space control
record on the first page of the file (page 0), describing pages 0
through m-1.  If the file grows big enough, there will be other ones
on page m, page 2m and so forth.

      Each entry in a free space control record is a two-byte integer
which contains a byte count of the amount of free space on a page.
Each time file space is allocated, the f...