From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Hans-Jürgen Schönig <postgres(at)cybertec(dot)at> |
Cc: | eg(at)cybertec(dot)at, PostgreSQL-patches <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: Implementing RESET CONNECTION ... |
Date: | 2006-04-25 14:09:50 |
Message-ID: | 200604251409.k3PE9oj14737@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Attached patch applied, with slight modifications. Thanks.
---------------------------------------------------------------------------
Hans-Jrgen Schnig wrote:
> We have implemented a patch which can be used by connection pools for
> instance.
> RESECT CONNECTION cleans up a backend so that it can be reused.
> Temp tables, LISTEN / NOTIFY stuff, WITH HOLD cursors, open
> transactions, prepared statements and GUCs are cleaned up.
> I hope we have not missed important per-backend information.
>
> test=# BEGIN;
> BEGIN
> test=# RESET CONNECTION;
> RESET
> test=# COMMIT;
> WARNING: there is no transaction in progress
> COMMIT
> test=# PREPARE myplan(int, int) AS SELECT $1 + $2;
> PREPARE
> test=# RESET CONNECTION;
> RESET
> test=# EXECUTE myplan(1, 2);
> ERROR: prepared statement "myplan" does not exist
> test=#
> test=# DECLARE mycur CURSOR WITH HOLD FOR SELECT relname FROM pg_class;
> DECLARE CURSOR
> test=# FETCH NEXT FROM mycur;
> relname
> ---------
> views
> (1 row)
>
> test=# RESET CONNECTION;
> RESET
> test=# FETCH NEXT FROM mycur;
> ERROR: cursor "mycur" does not exist
> test=# CREATE TEMP TABLE mytmp (id int4);
> CREATE TABLE
> test=# RESET CONNECTION;
> RESET
> test=# INSERT INTO mytmp VALUES (10);
> ERROR: relation "mytmp" does not exist
>
>
> All regression tests passed.
> It would be nice if we had this in 8.1.
>
> Best regards,
>
> Hans
>
>
> --
> Cybertec Geschwinde u Schoenig
> Schoengrabern 134, A-2020 Hollabrunn, Austria
> Tel: +43/660/816 40 77
> www.cybertec.at, www.postgresql.at
>
--
Bruce Momjian http://candle.pha.pa.us
EnterpriseDB http://www.enterprisedb.com
+ If your life is a hard drive, Christ can be your backup. +
Attachment | Content-Type | Size |
---|---|---|
unknown_filename | text/plain | 13.2 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2006-04-25 14:12:21 | Re: Implementing RESET CONNECTION ... |
Previous Message | Wes | 2006-04-25 13:32:34 | Re: [GENERAL] Concurrency problem building indexes |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2006-04-25 14:12:21 | Re: Implementing RESET CONNECTION ... |
Previous Message | Magnus Hagander | 2006-04-25 13:41:43 | Re: Building with Visual C++ |