Alvaro Herrera wrote:
> > > Per Tom's suggestion, I replaced the function cache code in fmgr.c and
> > > similar code in plperl.c, pltcl.c, plpgsql/pl_comp.c and plpython.c to
> > > use xmin+tid instead of xmin+cmin for the up-to-dateness check. I don't
> > > have any tcl, perl or python test cases handy to test them, but the
> > > change is small and essentially same for all of the above. Is there any
> > > regression tests for the PL languages?
> > >
> > > I made cmin and cmax system attributes aliases for the same physical
> > > commandid field. I support the idea of a complete overhaul of those
> > > system attributes, but let's do that in a separate patch.
> > >
> > > To measure the overhead, I ran a plpgsql test case that updates a single
> > > row 10000 times in a loop, generating a new phantom command id in each
> > > iteration. The test took ~5% longer with the patch, so I think that's
> > > acceptable. I couldn't measure a difference with pgbench (as expected).
> > >
> > > I think the patch is ready. Please remove the PHANTOMCID_DEBUG define
> > > and ifdef blocks before applying.
> >
> > Heikki, I found something odd in your patch. You had an extra
> > parentheses at the end of the line in the orginal and new version of the
> > patch (attached). I removed it before applying, but I just wanted to
> > confirm this was OK.
>
> Huh, you already applied it?
When I said "applying", I meant before applying the patch to my CVS
tree, not before commiting, because I didn't commit it.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +