home contents changes options help subscribe edit (external edit)

Operations like pack() and undo() also affect the storage. It's not clear how hard it might be to support them. It's possible that treating them exactly the same as basic operations will be sufficient.

We will address these operations on a case-by-case basis.

  • pack: each storage can be packed individually
  • undo: only transactional undo will be supported


bwarsaw (Dec 18, 2001 11:37 am; Comment #1)
We need to deal with the situation where different backend storages support different feature sets here. I.e. Berkeley storage supports transactional undo but not regular undo. Some storages might not support packing, or versions, etc. A couple of thoughts on how to deal with this:
  • Backend storages could just throw away the requested operations that they don't support.
  • Primary could have some configuration information about the backend storage (or perhaps query it at startup) and not send unsupported operations to it.

Any approach is going to have to deal with the fact that different feature sets in the backend storages will mean that they can't be kept perfectly in sync. I don't think it's feasible to require that the backend storages be identical in feature set to the primary, and it's not reasonable to require that the backends be identical to the primary (i.e. you might want different backend storages for redundancy against s/w bugs).



subject:
  ( 11 subscribers )