Re: Many Pl/PgSQL parameters -> AllocSetAlloc(128)?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Joe Conway <mail(at)joeconway(dot)com>
Cc: reuven(at)lerner(dot)co(dot)il, pgsql-general(at)postgresql(dot)org, "Hackers (PostgreSQL)" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Many Pl/PgSQL parameters -> AllocSetAlloc(128)?
Date: 2003-06-24 14:51:09
Message-ID: 19367.1056466269@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers pgsql-patches

Joe Conway <mail(at)joeconway(dot)com> writes:
> Actually, adding a "pfree(oneres);" to the end of that for loop plugs
> the memory leak and allows me to see the error message:

On second look, you can't pfree oneres at the bottom of
gen_cross_product() because it's part of the returned data structure
--- note the assignment
*iter++ = oneres;

I think the bug here is that gen_cross_product should be ignoring
argument positions that have nsupers == 0; those should always be
assigned the same type as the input, since the regular type resolution
algorithm is responsible for dealing with 'em.

It might work to get rid of the "wild card" case (line 1115), which'd
reduce the number of outputs to product(nsupers+1). I doubt we really
want any wild cards in there anymore.

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Stephan Szabo 2003-06-24 14:52:07 Re: Error with word 'desc'
Previous Message Bruce Momjian 2003-06-24 14:42:13 Re: [GENERAL] interesting PHP/MySQL thread

Browse pgsql-hackers by date

  From Date Subject
Next Message Tatsuo Ishii 2003-06-24 14:59:34 Re: lru cache replacement
Previous Message Larry Rosenman 2003-06-24 14:50:20 Re: interval's and printing...

Browse pgsql-patches by date

  From Date Subject
Next Message Kurt Roeckx 2003-06-24 17:02:14 Re: [HACKERS] ss_family in hba.c
Previous Message Bruce Momjian 2003-06-24 14:46:01 Re: ecpg compile (compatlib)