Re: invalid memory alloc request size error with commit 4b93f579

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: Rushabh Lathia <rushabh.lathia@gmail.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2018-02-27T03:10:06Z
Lists: pgsql-hackers
Daniel Gustafsson <daniel@yesql.se> writes:
>> On 27 Feb 2018, at 05:25, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> BTW, I noticed while doing this that the adjacent "funny_dup17"
>> trigger is dead code, and has been since commit 1547ee01 of
>> 1999-09-29.  I'm inclined to rip it out, because anyone looking
>> at regress.c would naturally assume that anything in there is
>> being exercised.

> +1, yes please.  regress_dist_ptpath() and regress_path_dist() in regress.c
> also seem to be dead, and have been so for..  quite some time.

Yeah.  Looking at
https://coverage.postgresql.org/src/test/regress/regress.c.gcov.html
it's evident that none of these functions are actually exercised
in the regression tests:

regress_dist_ptpath	unreferenced anywhere
regress_path_dist	unreferenced anywhere
poly2path		unreferenced anywhere
widget_in		used in type definition, but no input ever happens
widget_out		used in type definition, but no output ever happens
pt_in_widget		used for operator that evidently isn't called
boxarea			SQL function is created, but used nowhere
funny_dup17		SQL function is created, but used nowhere
int44in			used in type definition, but no input ever happens
int44out		used in type definition, but no output ever happens
test_fdw_handler	used by dummy FDW tests

I'm inclined to just remove regress_dist_ptpath, regress_path_dist,
poly2path, boxarea, and funny_dup17.  The others might better be dealt
with by making some actual use of them, since those type and operator
creation commands seem to have some test value of their own.

I notice BTW that int44in and int44out are not inverses, ie int44out
produces a string that int44in can't read :-(.  We'd definitely have to
fix that if we wanted to make any real use of the type.

			regards, tom lane


Commits

  1. Prevent dangling-pointer access when update trigger returns old tuple.

  2. Improve regression test coverage of regress.c.

  3. Remove unused functions in regress.c.

  4. Make plpgsql use its DTYPE_REC code paths for composite-type variables.

  5. This is part #1 for of the DEFERRED CONSTRAINT TRIGGER support.