Search Postgresql Archives

Plperl caching prepared queries and cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux