Andres Freund wrote:
> On 2015-08-06 12:29:15 -0300, Alvaro Herrera wrote:
> > Ah, but that's because you cheated and didn't remove the include from
> > namespace.h ...
>
> Well, it's not included from frontend code, so I didn't see the need?
> Going through all the backend code and replacing lock.h by lockdefs.h
> and some other includes doesn't seem particularly beneficial to me.
>
> FWIW, removing it from namespace.h is relatively easy. It starts to get
> a lot more noisy when you want to touch heapam.h.
Ah, heapam.h is the granddaddy of all header messes, isn't it. (Actually
it's execnodes.h or something like that.)
> > > diff --git a/src/include/storage/lockdefs.h b/src/include/storage/lockdefs.h
> > > new file mode 100644
> > > index 0000000..bfbcdba
> > > --- /dev/null
> > > +++ b/src/include/storage/lockdefs.h
> > > @@ -0,0 +1,56 @@
> > > +/*-------------------------------------------------------------------------
> > > + *
> > > + * lockdefs.h
> > > + * Frontend exposed parts of postgres' low level lock mechanism
> > > + *
> > > + * The split between lockdefs.h and lock.h is not very principled.
> >
> > No kidding!
>
> Do you have a good suggestion about the split? I wanted to expose the
> minimal amount necessary, and those were the ones.
Nope, nothing useful, sorry.
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services