Subject Re: How to set forced writes?
Author henry FRANQUET
--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@...> wrote:
>
> At 07:13 PM 3/07/2008, you wrote:
> >--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@> wrote:
> >>
> >> At 12:22 PM 1/07/2008, Calin Pirtea wrote:
> >> >Hi Tiago,
> >> >
> >> >You can set forced writes programmatically using IBO if:
> >> >1) Set the TIB_connection.ForcedWrites to True BEFORE you connect
> >to the database.
> >> >2) Connect to the database. Now the property will become read only
> >however the database itself has forced writes turned on.
> >> >
> >> >Same applies if you want to reset the Forced Writes.
> >>
> >> Oops, Calin, it is true - and it is not meant to be.
> >>
> >> From ODS 10 onward, actions that change the header attributes of
> >databases were meant to be accessed only through a SPB (Service
> >Parameter Block), deprecating the old (and dangerous) situation that
> >allows any user to do it through "any old DPB". Some of the old
> >parameters became a bit flaky...but this one is alive and kicking. Oh
> >dear, oh dear!
> >>
> >> Worse still, Firebird 2 and higher (ODS 11 and above) were meant to
> >make this possible ONLY through a SPB, i.e. the honeymoon was meant to
> >be over.
> >>
> >> But in fact *any user* can still change the write mode through the
> >old API DPB and, hence, can still put the database into a state where
> >FW is switched on or off whilst there are active attachments. Tested
> >with both Fb 1.5.5 and 2.0.4. (Not tested with 2.1.x yet, but I have
> >that sinking feeling that it might still be slipping beneath the QA
> >radar....)
> >>
> >> But - PLEASE DON'T WRITE APPS THAT DO IT!
> >Hi
> >I wish I should !
> >I have an replication app which I wrote using IBO DataPump and I
> >populate a new database with only data belonging to the user. In some
> >case (depending of the Win2003 server's parameters) It takes a long
> >time to populate the database, and I wondered if creating the new
> >database with Forced Write OFF would be a good idea ? The database is
> >only accessed by my app and closed afterwards
>
> Common sense should prevail here. Obviously, if you have exclusive
access to a database and the network and power supply are stable, you
can do this operation with FW off (i.e., write mode -async), if it
helps to make a one-off job run faster.
>
> What is dangerous is to write applications that allow ordinary users
to flip between async and synch write mode at will, with or without
active connections to the database.
-- snip
> Jason, this will affect IBO but exactly in what way is yet unknown.
>
> Helen
>
Just another question :
With Forced Write OFF, how can I know that all pending data are
effectevily written on disk (except trying to rename database's file
until success) ?
thanks