pld rpm 5.4.17

Jeffrey Johnson n3npq at me.com
Sat Feb 25 02:10:33 CET 2017


> 
> I’m sure your analysis is correct …
> 
> … meanwhile what was the core issue? What problem are you trying to solve?
> 
> Issues relating to whether a cursor COULD (or SHOULD) read uncommitted data
> are quite complex, including whether the flags are inherited from the database open
> and applied to the cursor open. RPM code doesn’t directly set either of those flags,
> and likely Just Works with either setting depending if/when correctly configured.
> 

As you probably know, these 3 lines are the cause of the problem:

#define FMASK   (DB_READ_UNCOMMITTED|DB_READ_COMMITTED)
        flags |= (dbi->dbi_oflags & FMASK);
#undef  FMASK

As near as I can recall, dbi_oflags on some older version of Berekely DB
was the place to set the flags. BerkeleyDB has evolved to finer
grained control of flags since then.

Dropping DB_READ_COMMITTED in FMASK prevents DB_READONLY from
propagating.

But the then the issue of whether “read_committed” and “read_uncommitted”
read from macros makes any sense at all.

I’ll try to sort the issue before rpm-5.4.18.

73 de Jeff



More information about the pld-devel-en mailing list