Обсуждение: Postmaster getting veeeery big: SUBSTR bug

Поиск
Список
Период
Сортировка

Postmaster getting veeeery big: SUBSTR bug

От
Eildert Groeneveld
Дата:
Never mind my initial query, it was just used for demonstration purposes.
Herouth was right in stating: "memory used for substr function" has to be
the real cause of the problem because any substr select exhibits this
behaviour:


select substr(tets,1,2) from raw_field; 

This one starts the postmaster at around 3MB and finishes at 40.
Unfortunately, I have no idea about C, can someone identify the problem
and come up with a patch?

greetings

Eildert Groeneveld
=========================================
Institute for
Animal Science and Animal Behaviour
Mariensee 31535 Neustadt Germany
Tel   : (49)(0)5034 871155
Fax   : (49)(0)5034 92579
www   : http://www.tzv.fal.de/~eg/ 
e-mail: eg@tzv.fal.de
=========================================


Re: [INTERFACES] Postmaster getting veeeery big: SUBSTR bug

От
Tom Lane
Дата:
Eildert Groeneveld <eg@tzv.fal.de> writes:
> Herouth was right in stating: "memory used for substr function" has to be
> the real cause of the problem because any substr select exhibits this
> behaviour:
> select substr(tets,1,2) from raw_field; 
> This one starts the postmaster at around 3MB and finishes at 40.
> Unfortunately, I have no idea about C, can someone identify the problem
> and come up with a patch?

The problem is well known and is on the TO-DO list: memory consumed
while evaluating expressions is not reclaimed until end of statement.
It's by no means specific to substr().

Unfortunately, fixing it is not a small amount of work (else it'd have
been done already).  I'm hoping to see it fixed in 6.6.
        regards, tom lane