Re: [HACKERS] md.c is feeling much better now, thank you
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] md.c is feeling much better now, thank you |
Дата | |
Msg-id | 199909280406.AAA29790@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] md.c is feeling much better now, thank you (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [HACKERS] md.c is feeling much better now, thank you
|
Список | pgsql-hackers |
Any resolution on this? > Tatsuo Ishii <t-ishii@sra.co.jp> writes: > > Ok. I will give another example that seems more serious. > > test=> aaa; > > ERROR: parser: parse error at or near "aaa" > > -- transaction is aborted and the table file t1 is unlinked. > > test=> select * from t1; > > -- but parser doesn't know t1 does not exist any more. > > -- it tries to open t1 using mdopen(). (see including backtrace) > > -- mdopen() tries to open t1 and fails. In this case mdopen() > > -- creates t1! > > NOTICE: (transaction aborted): queries ignored until END > > *ABORT STATE* > > Hmm. It seems a more straightforward solution would be to alter > pg_parse_and_plan so that the parser isn't even called if we have > already failed the current transaction; that is, the "queries ignored" > test should occur sooner. I'm rather surprised to realize that > we do run the parser in this situation... > > > I think the long range solution would be let parser obtain certain > > locks as Tom said. > > That would not solve this particular problem, since the lock manager > wouldn't know any better than the parser that the table doesn't really > exist any more. > > > Until that I propose following solution. It looks > > simple, safe and would be neccessary anyway (I don't know why that > > check had not been implemented). See included patches. > > This looks like it might be a good change, but I'm not quite as sure > as you are that it won't have any bad effects. Have you tested it? > > regards, tom lane > -- Bruce Momjian | http://www.op.net/~candle maillist@candle.pha.pa.us | (610) 853-3000+ If your life is a hard drive, | 830 Blythe Avenue + Christ can be your backup. | Drexel Hill, Pennsylvania19026
В списке pgsql-hackers по дате отправления: