Re: race condition in pgplsql call handler?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: race condition in pgplsql call handler?
Дата
Msg-id 17475.1178888659@sss.pgh.pa.us
обсуждение исходный текст
Ответ на race condition in pgplsql call handler?  (Zdenek Kotala <Zdenek.Kotala@Sun.COM>)
Ответы Re: race condition in pgplsql call handler?  (Zdenek Kotala <Zdenek.Kotala@Sun.COM>)
Список pgsql-hackers
Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
> I'm looking into PG/PLSql code and following code in 
> plpgsql_call_handler looks strange:

>          /* Find or compile the function */
>          func = plpgsql_compile(fcinfo, false);

>          /* Mark the function as busy, so it can't be deleted from under 
> us */
>          func->use_count++;


> I don't have deep knowledge about this part of code. But what happen if 
> in parallel execution "func" will be deleted between these two lines?

This is not a race condition because the backend is single-threaded.

(Hint: what it actually means by "function" is "the plpgsql function
cache entry I just found or built".)
        regards, tom lane


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

Предыдущее
От: Zeugswetter Andreas ADI SD
Дата:
Сообщение: Re: Seq scans roadmap
Следующее
От: Zdenek Kotala
Дата:
Сообщение: Re: race condition in pgplsql call handler?