dbTalk Databases Forums  

TechTips: On BLOBs (graphics, memos) and how they are stored

comp.databases.paradox comp.databases.paradox


Discuss TechTips: On BLOBs (graphics, memos) and how they are stored in the comp.databases.paradox forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
Sundial Services
 
Posts: n/a

Default TechTips: On BLOBs (graphics, memos) and how they are stored - 03-09-2006 , 11:34 AM






Here's a little information about how Paradox/Delphi store "BLOB" (Binary
Large OBject) information, such as graphics or large chunks of text, in a
Paradox table.

(1) BLOB FIELD-TYPES: The BLOB field-types include Memo, Graphic, Binary,
and Formatted Memo, and perhaps others. Each of these field-types store
all of the actual information for the field in a ".MB" file that is
associated with the table. If a table (".DB") does not have BLOB fields,
this second file does not exist. For certain field-types a "preview" of
the information may also be stored in a few bytes of the DB-file record.

(2) BLOB STORAGE AND LIMITATIONS: The MB-file has an architectural limit of
2 gigabytes, because the storage pointer is a 32-bit unsigned offset.
Large binary values are stored contiguously in the file, in some increment
of a block-size. Small binary values are stored, also contiguously, in
subdivided blocks. Blank (NULL) values are not stored.

(3) WEAKNESSES OF THE FORMAT: In many parts of the Paradox file-format,
there's considerable redundancy ... a value is stored in two or more places
and they must agree. Unfortunately, MB-files are NOT like that! Memo
field values CAN become "disconnected" from their records, and although
ChimneySweep(R) can frequently "reconnect" them there is, nonetheless, some
ambiguity (and therefore, uncertainty) in that process.

(4) SPACE-RECLAMATION ISSUES: Unlike the DB-file format, which "recycles"
space fairly aggressively, we have found that space in the MB-file is not
always recycled as efficiently as it should be. The file "grows and
grows."

----
ChimneySweep(R): F-A-A-ST table repair at a click of the mouse!
http://www.sundialservices.com/products/chimneysweep

Reply With Quote
  #2  
Old   
Eric Frohmann
 
Posts: n/a

Default Re: TechTips: On BLOBs (graphics, memos) and how they are stored - 03-09-2006 , 12:24 PM






Thanks for the info.

Does the pack actually assist with MB files at all?

--
--EricF



Reply With Quote
  #3  
Old   
Sundial Services
 
Posts: n/a

Default Re: TechTips: On BLOBs (graphics, memos) and how they are stored - 03-09-2006 , 06:51 PM



Eric Frohmann wrote:
Quote:
Thanks for the info.
Does the pack actually assist with MB files at all?
What "pack" actually does is to create a new table ("resttemp.db"), copy all
of the records from old to new, then rename them. The same process is used
for restructuring. (The reason why it's done this way is that, if
something happens in the middle of the operation, it's likely that the
original table will not be damaged.)

So, yes, "pack" will affect the MB-file also. It's a real slow-boat
sometimes but it does work.

----
ChimneySweep(R): F-A-A-ST table repair at a click of the mouse!
http://www.sundialservices.com/products/chimneysweep


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.