Patent ID: 7885919

Claim:
An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a database residing in the memory, the database comprising a plurality of records; and a journaling mechanism residing in the memory and executed by the at least one processor, the journaling mechanism storing an entry in a journal when a record in the database changes, the entry including all data from all fields in the record that changed, the entry including all data from any selected fields that are always to be journaled, wherein the selected fields are selected by a user specifying a type, wherein all fields of the specified type are included in the selected fields, the entry excluding all data from all non-selected fields in the record that did not change, wherein the journaling mechanism determines whether a default object corresponding to the entry is already stored in the journal, wherein the default object includes default data for each field in the object, and if there is no default object corresponding to the entry already stored in the journal, storing the default object corresponding to the entry in the journal, wherein the entry includes a collected fields bitmap that indicates which fields in the entry were collected and which fields were not collected in the entry and a changed fields bitmap that indicates which fields in the entry were changed and which fields in the entry were not changed, wherein the entry is output by the journaling mechanism in human-readable form by the journaling mechanism reading the default object, reading the entry, overlaying the data from the entry onto the default object, and outputting the overlaid object, wherein the human-readable form of the overlaid object is displayed to a user, wherein data for all selected fields and all fields that changed are displayed to the user, and wherein the default data is represented as data that did not change in the display of the human-readable form of the overlaid object.