[Date Prev][Date Next] [Chronological] [Thread] [Top]

global overlays

I have a BIG change almost ready for commit: global overlays.
- I separated operation code in ber decoding and essential sanity check
  plus database selection and database specific checks and more.
- the first part remains in the do_* functions; the others go in
  separate functions hooked into a global BackendInfo structure.
- there's a global BackendDB structure that contain global data
  an points to the global BackendInfo structure.
- ovelays are allowed also in the global scope; they get stacked
  in the BackendInfo of the global BackendDB struct.
- one caveat is that currently the data that is usually passed to
  databases (and to overlays, if defined) in some cases is in an
  incomplete state; I'll try to clean this up a bit, but in any case
  there might be need to specialize overlays to the global or the
  database scope; this could be useful in any case. I'd add a flags
  field to the overlay stucture, with a SLAP_OVERLAY_GLOBAL flag
  that, if set, allows to use that overlay in the global scope.

The rationale for this is streamline the overlay mechanism to make
it available also BEFORE database selection occurs.  It currently
passes all the test suite also with harmless overlays inserted (e.g.
a (modified) lastmod overlay rooted to the global scope, i.e. to "").

I'm a bit scaredof committing this, because it's likely to break
many things (about everything you have in your build tree and you
didn't commit yet ;).  If there's interest, I'd like to commit it
as soon as possible (not elarlier than tonight, anyway).


Pierangelo Masarati