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.
--
Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general