Re: pgsql: Allow HOT updates for some expression indexes

Поиск
Список
Период
Сортировка
От Konstantin Knizhnik
Тема Re: pgsql: Allow HOT updates for some expression indexes
Дата
Msg-id 87aff695-b6de-c873-cbc6-d104f86d9e7c@postgrespro.ru
обсуждение исходный текст
Ответ на Re: pgsql: Allow HOT updates for some expression indexes  (Simon Riggs <simon@2ndquadrant.com>)
Список pgsql-committers

On 28.03.2018 07:23, Simon Riggs wrote:
> On 27 March 2018 at 22:26, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I wrote:
>>> The test script appears to imagine that pgstats outputs update
>>> instantaneously.
>> Oh, wait, it's looking at pg_stat_xact, which is the *local*, unsent
>> stats information.  So your problem is actually the reverse of that:
>> if the test runs too slowly, it fails, because at some point the
>> unsent stats information will get flushed out to the collector and
>> disappear from the pg_stat_xact view.
>>
>> You could probably make this more reliable by wrapping each test
>> stanza in a transaction, ie instead of
>>
>> create table keyvalue ...;
>> ... do something to table ...
>> select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
>> drop table keyvalue;
>>
>> do
>>
>> begin;
>> create table keyvalue ...;
>> ... do something to table ...
>> select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
>> rollback;
>>
>> (no need for a DROP if you're rolling it all back)
> Oh wow, thanks. Fixed.
>

I am sorry, I missed the fact that local stat information can be reset.
Attached please find updated version of the patch with func_index.sql 
test fixed.
Also I have renamed rd_indexattr to rd_nprjindexattr to avoid confusions.

-- 
Konstantin Knizhnik
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


Вложения

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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: pgsql: Make fast_default regression tests locale independent
Следующее
От: Pavan Deolasee
Дата:
Сообщение: Re: pgsql: Optimize btree insertions for common case of increasing values