Subject Re: [firebird-support] Re: How changes are written to disk
Author Helen Borrie
At 03:20 PM 1/06/2004 +0000, you wrote:
>Thanks guys for so quick replies!
>
>Yes, I'm on Windows, I forgot to tell this before.
>
>Is ForcedWrites Off by default? I couldn't find the answer from
>firebird.conf.
>
>I haven't modified firebird.conf, is it correct to assume it's good
>enough for most uses like this?

If you created the database in Firebird and didn't alter the ForcedWrites
setting, then it's on. However, if you created the database in InterBase,
FW is off by default.

btw, don't get a false sense of alarm from some of these replies. The
server controls the disk space inside the database file totally - your
writes to disk aren't even known to the filesystem.

Windows never updates the timestamps on open files. The database is an
open file as long as any client is connected to it: on Superserver, the
first client connection causes the server to open the database file with an
exclusive lock. Windows couldn't update the timestamp even if it wanted to.

Don't have fits about the file cache - that's for filesystem stuff and
hasn't anything to do with the server's control of its blocks. With MGA
you don't have the fragility of isolated data being stuck in caches or
temporary files - writes to disk are done by the server at Post. Once the
server has the new data, it's safe. Commit causes the latest posted version
of a row to become the current version but the pending new version isn't
rewritten when it supplants the old version.

Of course, if you pull out the network cable or the power plug, those
uncommitted record versions will disappear eventually when the lost
transactions are cleaned up and the flotsam and jetsam are flagged for
garbage collection.

/heLen