Re: Should we SetQuerySnapshot() between actions of a rule?

Поиск
Список
Период
Сортировка
От Hiroshi Inoue
Тема Re: Should we SetQuerySnapshot() between actions of a rule?
Дата
Msg-id 01b801c3117e$b5f10950$0e283ddb@PbgX
обсуждение исходный текст
Ответ на Should we SetQuerySnapshot() between actions of a rule?  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
> -----Original Message-----
> From: Tom Lane
> 
> I just noticed that there is an inconsistency between the way that
> PREPARE executes multiple queries (since PREPARE itself accepts
> only one SQL statement, any such multiple queries must have been
> generated by rule expansion) and the way that it is done in
> pg_exec_query_string().  The latter will do a SetQuerySnapshot()
> between actions of the rule, the former only does
> CommandCounterIncrement().
> 
> If you're in a serializable transaction then there's no difference
> in behavior.  But in READ COMMITTED mode this means that later actions
> in the rule may be able to see the effects of other transactions that
> committed while earlier actions were running.
> 
> ISTM we had better make the behavior consistent between PREPARE and
> interactive execution.  But which one do we want?  I could see an
> argument that it'd be best for all the actions of a rule to see a
> consistent snapshot of the state of other transactions;

Is it appropriate to use the word *snapshot* for queries other than
read-only ones ? 

regards,
Hiroshi Inoue



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

Предыдущее
От: Bradley Baetz
Дата:
Сообщение: CVS psql segfault
Следующее
От: Joe Conway
Дата:
Сообщение: Re: Foreign Database Connectivity