Subject: Re: Big issues with the T5
From: Ben Combee <[EMAIL PROTECTED]>
Date: Sat, 13 Nov 2004 11:10:01 -0600

At 08:08 AM 11/12/2004, you wrote:
>I presume the OS only writes 'dirty' records back from the cache, which
>means that we need to make sure the 'dirty' flag needs to be set so the OS
>knows the record has changed.
>
>Could you confirm this?   If so, people who are modifying records without
>setting the 'dirty' bit could see their data silently disappear.

That is true, as far as I know.  I brought up this issue when I first wrote
about NAND flash at
http://palmos.combee.net/blog/UnderstandingthePerforman.html

I read that article several times and didn't see a reference to the "dirty" bit, only the relevant advice is that you MUST use DmGetRecord() instead of DmQueryRecord() if you are going to change record contents. The "dirty" bit is set by a parameter to DmReleaseRecord().


Is there anyway to flush to the cache except by closing the file ?
And if you close a file can you RELY that cache will be flushed ???
Is there anyway to force a copy of a record to be always flushed out of cache when you release it?


And what about the Application and Sort blocks? How can we make sure these get flushed out of cache when they are changed?

Having jumped through hoops on DOS -based handheld computers to make sure data didn't get lost in the OS buffers on reset or dead batteries, I'm now concerned about the T5 and 650 caches and the opportunity to have a file survive a dead battery (a good thing!!) but have unknown sets of data missing. Further complicated by related files, and that one file may survive complete and another be incomplete and therefore have broken or obsolete links!

Read this as a potential horror of databases that appear to survive but are internally corrupted.


Roger Stringer Marietta Systems, Inc. (www.rf-tp.com)



--
For information on using the Palm Developer Forums, or to unsubscribe, please 
see http://www.palmos.com/dev/support/forums/

Reply via email to