# Database

Database inherits from Object and defines instance variables dmOpenRef, localID. It has a subclass: ResourceDatabase.

## Methods defined in Database:

### Methods for initialization:

- dmOpenRef: pointer
- localID: newLocalID

### Methods for low-level access:

- getRecord: index
  Answer a handle to the record and mark it as busy.
- newRecordAt: index ofSize: size
  Answers the handle for the new record. The record is initially marked as busy.
- queryRecord: index
  Answer a handle to the record without setting the busy bit.
- releaseRecord: index dirty: dirty
- resizeRecord: index to: newSize

### Methods for predicates:

- isResourceDatabase

### Methods for record access:

- appendRecord: bytes
  Answers the index of the new record. The record is added to the end of the database.
- archiveRecord: index
- deleteRecord: index
- insertRecord: bytes at: index
  Answers the index of the new record.
- moveRecord: oldIndex to: newIndex
- recordAsBytes: index
- recordAsString: index
- recordCount
  Record indexes are 0..recordCount-1
- removeRecord: index
- write: bytes intoRecord: recordIndex
  bytes can be a String or ByteArray (or another byte indexable object).

### Methods for utility:

- close
- removeSecretRecords

Pocket Smalltalk Documentation