Re: Vote on SET in aborted transaction
Bruce Momjian <pgman@candle.pha.pa.us>
From: Bruce Momjian <pgman@candle.pha.pa.us>
To: Hiroshi Inoue <Inoue@tpf.co.jp>
Cc: Michael Loftis <mloftis@wgops.com>, Jan Wieck <janwieck@yahoo.com>, Tom Lane <tgl@sss.pgh.pa.us>, Thomas Lockhart <lockhart@fourpalms.org>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2002-04-25T03:03:08Z
Lists: pgsql-hackers
Hiroshi Inoue wrote: > Bruce Momjian wrote: > > > > Hiroshi Inoue wrote: > > > > > > What are you expecting for psql e.g. the following > > > wrong(?) example ? > > > > > > [The curren schema is schema1] > > > begin; > > > create schema foo; > > > set search_path = foo; > > > create table t1 (....); [error occurs] > > > commit; > > > insert into t1 select * from schema1.t1; > > > > I am expecting the INSERT will use the search_path value that existed > > before the error transaction began. > > > > So you see foo.t1 which is a copy of schema1.t1 > if all were successful and you may be able to see > the doubled schema1.t1 in case of errors. Yes, I think that is how it would behave. If you don't roll back 'set search_path', you are pointing to a non-existant schema. Probably the proper thing here would be to have the INSERT in the transaction too. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026