summaryrefslogtreecommitdiff
path: root/src/pl/plperl/sql/plperl_plperlu.sql
blob: 5b57a8276ae02fa51f31fd54da25abf3240ddda1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
-- test plperl/plperlu interaction

CREATE OR REPLACE FUNCTION bar() RETURNS integer AS $$
    #die 'BANG!'; # causes server process to exit(2)
    # alternative - causes server process to exit(255)
    spi_exec_query("invalid sql statement");
$$ language plperl; -- plperl or plperlu
   
CREATE OR REPLACE FUNCTION foo() RETURNS integer AS $$
    spi_exec_query("SELECT * FROM bar()");
    return 1;
$$ LANGUAGE plperlu; -- must be opposite to language of bar
   
SELECT * FROM bar(); -- throws exception normally
SELECT * FROM foo(); -- used to cause backend crash