Re: time stops within transaction

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: time stops within transaction
Дата
Msg-id 7673.971929378@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: time stops within transaction  (Hiroshi Inoue <Inoue@tpf.co.jp>)
Список pgsql-hackers
Hiroshi Inoue <Inoue@tpf.co.jp> writes:
>>>> Postgres doesn't have an idea of what a 'top-level' statement is? I.E.
>>>> statement as submitted by a client (libpq)?
>> 
>> There's never been any reason to make such a distinction.

> There's already a distinction.
> Snapshot is made per top-level statement and functions/subqueries
> use the same snapshot as that of top-level statement.

Not so.  SetQuerySnapshot is executed per querytree, not per top-level
statement --- for example, if a rule generates multiple queries from
a user statement, SetQuerySnapshot is called again for each query.

With the current structure of pg_exec_query_string(), an operation
executed in the outer loop, rather than the inner, would more or less
correspond to one "top level" query --- if you want to assume that
pg_exec_query_string() is only called from PostgresMain.  That's
true today but hasn't always been true --- I believe it used to be
used to parse SPI commands, and someday it may be again.
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: Postgre7.0.2 drop user bug
Следующее
От: Hiroshi Inoue
Дата:
Сообщение: Re: time stops within transaction