> It would usually make more sense to do the following:
>
> BEGIN TRANSACTION;
> ... inserts,updates,deletes
> COMMIT;
>
> You get pretty much the same affect, but it is safe. Setting

yes, I am aware of this, of course. what I am saying is : since there *is* a
cache,
and since we *can* modify its paging behavior, we should also have an
explicit
way to flush it.

actually, I have been doing some tests, and "flushing" the cache is not
accurate. it seems that sqlite *does* write to "disk", even if the OS does
not do so immediatelly. it is the actual OS call to flush the *OS* cache
that does not happen in sync=off mode. so, what I am talking about is for an
explicit command to do this. it is a single OS call, but it requires a file
handle, which should *not* be exposed from the sqlite DLL. I can cheat and
get it from the opaque database state pointer, but this would be
version-dependent, hence I am asking for an "official" method to do it.

Reply via email to