double opens

Поиск
Список
Период
Сортировка
От Hiroshi Inoue
Тема double opens
Дата
Msg-id 000401bed8ba$e23fc7e0$2801007e@cadzone.tpf.co.jp
обсуждение исходный текст
Ответы Re: [HACKERS] double opens  (Bruce Momjian <maillist@candle.pha.pa.us>)
Re: [HACKERS] double opens  (Bruce Momjian <maillist@candle.pha.pa.us>)
Список pgsql-hackers
Hi all,

There is a TODO item
* Overhaul mdmgr/smgr to fix double unlinking and double opens, cleanup

In Windows-NT,we could see the following error reported by 
yutaka tanida [yutaka@marin.or.jp]. 

> version
> ------------------------------------------------------------
> PostgreSQL 6.5.1 on i686-pc-cygwin, compiled by gcc gcc-2.95
> (1 row)
>
> template1=> create table table1 ( i int,j int);
> CREATE
> template1=> create view view1 as select * from table1;
> CREATE
> template1=> drop view view1;
> DROP
> template1=> create view view1 as select * from table1;
> ERROR:  cannot create view1

"drop view" couldn't unlink the base file of target view because
it is doubly opened and so "create view" coundn't create the view. 

After applying the following patch on trial,"drop view" was able to
unlink the base file and "create view" was able to create the view
again.

I think base files should be closed at the time of cache invalidation.
RelationFlushRelation() invalidates the entry of relation cache but
doesn't close the base file of target relation.
Is there any reason ?

Or why doesn't RelationCacheDelete() close the base file of 
target relation ?

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp

*** utils/cache/relcache.c.orig    Wed May 26 16:05:38 1999
--- utils/cache/relcache.c    Wed Jul 28 13:23:49 1999
***************
*** 1282,1287 ****
--- 1282,1288 ----         oldcxt = MemoryContextSwitchTo((MemoryContext) CacheCxt);
RelationCacheDelete(relation);
+         smgrclose(DEFAULT_SMGR, relation);          FreeTupleDesc(relation->rd_att);
SystemCacheRelationFlushed(RelationGetRelid(relation));



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Selectivity of "=" (Re: [HACKERS] Index not used on simple select)
Следующее
От: Zeugswetter Andreas IZ5
Дата:
Сообщение: Re: Selectivity of "=" (Re: [HACKERS] Index not used on simple se lect)