Plperl caching prepared queries and cleanup

Поиск
Список
Период
Сортировка
От Anupama
Тема Plperl caching prepared queries and cleanup
Дата
Msg-id 4D09D46B.4090300@gmail.com
обсуждение исходный текст
Ответы Re: Plperl caching prepared queries and cleanup  (Alex Hunsaker <badalex@gmail.com>)
Список pgsql-general
Hi,

I am trying to use plperl for one of my triggers. The trigger executes a
query.
So I am preparing the query and caching it as below:

        if (!defined $_SHARED{'base_table_query'}) {

            my $base_columns_query = "select column_name from
                                    information_schema.columns where
table_schema = '$_TD->{table_schema}'
                                    and table_name = \$1";
            $_SHARED{'base_table_query'} =
spi_prepare($base_columns_query, 'text');
        }

        $result = spi_exec_prepared($_SHARED{'base_table_query'},
$base_table_name);

Now, in a batch update (involving 1000s of records), the trigger itself
fires for each update.
I will get maximum performance benefit, if I can keep the prepared query
in the global cache across trigger invocation.

In effect, there is no logical point to call spi_freeplan()

Will the plan be freed when the db session / connection closes OR
Will it lead to any memory leaks ?

Thanks
Anupama.



В списке pgsql-general по дате отправления:

Предыдущее
От: Sarang Dave
Дата:
Сообщение: Postgresql: Remove last char in text-field if the column ends with minus sign
Следующее
От: Vincent Veyron
Дата:
Сообщение: Re: Searing array fields - or should I redesign?