Re: BUG #6379: SQL Function Causes Back-end Crash - Mailing list pgsql-bugs
From | Paul Ramsey |
---|---|
Subject | Re: BUG #6379: SQL Function Causes Back-end Crash |
Date | |
Msg-id | CACowWR1_Uvzog1PAx+EoKGzLcwkN7xfZ=hgF-4cu3PWptOv10Q@mail.gmail.com Whole thread Raw |
In response to | Re: BUG #6379: SQL Function Causes Back-end Crash (hubert depesz lubaczewski <depesz@depesz.com>) |
Responses |
Re: BUG #6379: SQL Function Causes Back-end Crash
(Pavel Stehule <pavel.stehule@gmail.com>)
Re: BUG #6379: SQL Function Causes Back-end Crash (Paul Ramsey <pramsey@cleverelephant.ca>) |
List | pgsql-bugs |
One extra detail, my PostgreSQL is compiled with --enable-cassert. This seems to be what sets off the killer function. On Wed, Jan 4, 2012 at 11:25 AM, hubert depesz lubaczewski <depesz@depesz.com> wrote: > On Wed, Jan 04, 2012 at 07:17:17PM +0000, pramsey@cleverelephant.ca wrote: >> The following bug has been logged on the website: >> >> Bug reference: =A0 =A0 =A06379 >> Logged by: =A0 =A0 =A0 =A0 =A0Paul Ramsey >> Email address: =A0 =A0 =A0pramsey@cleverelephant.ca >> PostgreSQL version: 9.1.2 >> Operating system: =A0 OSX 10.6.8 >> Description: >> >> CREATE OR REPLACE FUNCTION kill_backend() >> RETURNS VOID >> AS $$ >> =A0 DROP TABLE if EXISTS foo; >> =A0 CREATE TABLE foo AS SELECT * FROM pg_class LIMIT 1; >> $$ LANGUAGE 'SQL'; > > Cannot replicate: > > (depesz@localhost:5910) 20:23:43 [depesz] > $ CREATE OR REPLACE FUNCTION kill_backend() >>> RETURNS VOID >>> AS $$ >>> =A0 DROP TABLE if EXISTS foo; >>> =A0 CREATE TABLE foo AS SELECT * FROM pg_class LIMIT 1; >>> $$ LANGUAGE 'SQL'; > CREATE FUNCTION > (depesz@localhost:5910) 20:23:49 [depesz] > $ select kill_backend(); > NOTICE: =A0table "foo" does not exist, skipping > CONTEXT: =A0SQL function "kill_backend" statement 1 > =A0kill_backend > -------------- > =A0[null] > (1 row) > > (depesz@localhost:5910) 20:23:55 [depesz] > $ select kill_backend(); > =A0kill_backend > -------------- > =A0[null] > (1 row) > > (depesz@localhost:5910) 20:23:56 [depesz] > $ select kill_backend(); > =A0kill_backend > -------------- > =A0[null] > (1 row) > > (depesz@localhost:5910) 20:23:58 [depesz] > $ select version(); > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0version > -------------------------------------------------------------------------= ------------------------------ > =A0PostgreSQL 9.1.2 on x86_64-unknown-linux-gnu, compiled by gcc-4.6.real= (Debian 4.6.2-5) 4.6.2, 64-bit > (1 row) > > Side note - definition as is, doesn't work on 9.2: > $ CREATE OR REPLACE FUNCTION kill_backend() >>> RETURNS VOID >>> AS $$ >>> =A0 DROP TABLE if EXISTS foo; >>> =A0 CREATE TABLE foo AS SELECT * FROM pg_class LIMIT 1; >>> $$ LANGUAGE 'SQL'; > ERROR: =A0language "SQL" does not exist > > changing it to proper sql (not uppercase) fixed this problem. > > Best regards, > > depesz > > -- > The best thing about modern society is how easy it is to avoid contact wi= th it. > =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 = =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 http://depesz.com/
pgsql-bugs by date: