Re: [HACKERS] Everything leaks; How it mm suppose to work?

From: dg(at)illustra(dot)com (David Gould)
To: maillist(at)candle(dot)pha(dot)pa(dot)us (Bruce Momjian)
Cc: mgittens(at)gits(dot)nl, hackers(at)postgreSQL(dot)org
Subject: Re: [HACKERS] Everything leaks; How it mm suppose to work?
Date: 1998-04-09 07:48:17
Message-ID: 9804090748.AA03441@hawk.illustra.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Bruce:
> Maurice:
> > >Running postgresql in interactive mode shows that for each query I
> > >type there is memory lost. The exact amount of memory lost depends on
> > >the query I use. The amount of memory not freed is also a function
> > >of the number of tuples returned.
> > >
> >
> > Oops, it seems some palloced memory is not freed by pfree but
> > using some other function(s).
> > My mistake, sorry.
> >
>
> One thing I have found is that:
>
> select * from test where 1=0;
>
> do not leak memory while
>
> select * from test where x=-999;
>
> does leak memory, even though neither returns any rows. Strange. Would
> seem to point to the optimizer or executor.

In the first case, the where clause is constant and evaluates false, so
not much is done. In the second case, the table is scanned and presumably
some memory is allocated for each row, probably to evaluate the expression.
Since this memory is allocated into a per statement duration, it will not
be freed until the end of the statement when the context is destroyed.

-dg

David Gould dg(at)illustra(dot)com 510.628.3783 or 510.305.9468
Informix Software (No, really) 300 Lakeside Drive Oakland, CA 94612
- Linux. Not because it is free. Because it is better.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David Gould 1998-04-09 08:03:56 Re: [HACKERS] On improving OO support in posgresql and relaxing oid bottleneck at the same time
Previous Message David Gould 1998-04-09 07:41:38 Re: [HACKERS] On improving OO support in posgresql and relaxing oid bottleneck at the same time