> I note that I posted the back-bdb patch to this list, rather than
> committing it to the OpenLDAP CVS, precisely because we cannot impose
> such a requirement. It's here for informational purposes until we see
> what our friends at Sleepycat have to say.
Ah, I see. I reviewed your e-mail and I don't
think you said that anywhere. I apologize
for not being up to speed on the conventions
of this list wrt proposed changes.
> The BDB patch doesn't disable logging for a DB or DB environment. There
> are already APIs for that but that's too coarse-grained for our purpose.
Indeed. The fact that no access exists to disable
logging on a per-transaction basis suggests that
either a) Sleepycat didn't think it was useful or
b) they knew that it wouldn't work or c) they
didn't want to spend the time determining if it
would work or not. For example, what happens if
you perform a write under one of these no-logging
transactions ? I think bad stuff upon recovery
is possible because the on-disk pages can become
out of sync with the state required to successfully
apply log records. Now, I know that you are not proposing
to perform writes, but if Sleepycat were to implement
your patch I think they'd need to do something extra
to ensure that writes can not be done. Otherwise
there is too much potentential for someone else
using the same feature to shoot their feet off.
I suspect that this and other possible pitfalls may explain
the current lack of the feature that you have added to DB.