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 [EMAIL PROTECTED] | (610) 853-3000 + If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])