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

Re: cache code (Was: test002: TLS required?)

> Okay, I tracked it down to the new cache code.  In particular,
> in bdb/add.c, a BackendDB pointer was passed in instead of Cache
> pointer.  I also cleaned up some DN handling in dn2id code,
> but this more work.
> Also, I note that dnParent really should act on struct berval's,
> not char *'s...

I think dnParent should still be considered a "migration" function;
it acts on chars because the callers don't need the length of the 
value but expect it to work in-place, that is (parent-string) should
yield the length of the rdn plus the rdn separator (',').

I will isolate all the calls and replace them with the two different 
operations: 1) create a berval that holds the dn of the parent
(possibly with flag for in-place/copy), and 2) find the starting
point of the parent inside a berval-contained dn