Table E (File architecture)

From m204wiki
Revision as of 02:42, 12 March 2013 by Rob (talk | contribs)
Jump to navigation Jump to search

Holds Large Objects (BLOBs and CLOBs)


Enabled by reorganizing / CREATEing a file with ESIZE greater than 0, and then defining a field with a datatype of CLOB or BLOB (the file must have an ESIZE for the latter to occur).

Available as of Model 204 V7.1


Summary

Storage and manipulation of Large Objects (LOBs) differs greatly depending on whether FILEORG x'100' is set.

Table E without FILEORG 100
Table E with FILEORG 100



Table Illustrating Differences Before / With the x'100' Setting

Function non x'100' x'100'
General space management LOBs require contiguous space
New LOBs are always written starting at EHIGHPG; if ESIZE is reached, Table E is scanned for contiguous space (due to deletes).

Table E can 'fill' even with many available pages if the space is fragmented.
LOBs are stored as a series of chained pages, and new LOBs are written first using those in the reuse queue (due to deletes).
Table E will 'fill' only if all pages are used.
Change a LOB At the time a LOB is first stored, if you expect to subsequently need to increase its size, you will need to RESERVE the necessary space in the initial add. LOBs may be changes as needed, the RESERVE, if present, is ignored..
Storing small amounts of data in a LOB field Even a single byte of data requires a full page of Table E File level parameter MINLOBE may be set to permit small (200 bytes or less) of data to be stored directly in the record in Table B.
COMPACTE command Is used to defragment Table E to increase the amount of contiguous space. The COMPACTE command is not necessary, and attempts to execute it will generate an error.