On Sat, 2016-03-12 at 23:30 -0800, Jeff Janes wrote:
> On Wed, Mar 9, 2016 at 9:21 AM, Tomas Vondra
> <tomas.vondra@2ndquadrant.com> wrote:
> >
> > Hi,
> >
> > On Wed, 2016-03-09 at 08:45 -0800, Jeff Janes wrote:
> > >
> > > On Wed, Mar 9, 2016 at 7:02 AM, Tomas Vondra
> > > <tomas.vondra@2ndquadrant.com> wrote:
> > > >
> > > > Hi,
> > > >
> > > > thanks for the feedback. Attached is v14 of the patch series,
> > > > fixing
> > > > most of the points you've raised.
> > >
> > > Hi Tomas,
> > >
> > > Applied to aa09cd242fa7e3a694a31f, I still get the seg faults in
> > > make
> > > check if I configure without --enable-cassert.
> > Ah, after disabling asserts I can reproduce it too. And the reason
> > why
> > it fails is quite simple - clauselist_selectivity modifies the
> > original
> > list of clauses, which then confuses cost_qual_eval.
> >
> > Can you try if the attached patch fixes the issue? I'll need to
> > rework a
> > bit more of the code, but let's see if this fixes the issue on your
> > machine too.
> That patch on top of v14 did fix the original problem. But I got
> another segfault:
Oh, yeah. There was an extra pfree().
Attached is v15 of the patch series, fixing this and also doing quite a
few additional improvements:
* added some basic examples into the SGML documentation
* addressing the objectaddress omissions, as pointed out by Alvaro
* support for ALTER STATISTICS ... OWNER TO / RENAME / SET SCHEMA
* significant refactoring of MCV and histogram code, particularly
serialization, deserialization and building
* reworking the functional dependencies to support more complex
dependencies, with multiple columns as 'conditions'
* the reduction using functional dependencies is also significantly
simplified (I decided to get rid of computing the transitive closure
for now - it got too complex after the multi-condition dependencies,
so I'll leave that for the future
regards
--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services