Skip to content

Commit 5b0d7f6

Browse files
Use pg_stat_get_xact* functions within xacts
Resolve build farm failures from c203d6c, diagnosed by Tom Lane. The output of pg_stat_get_xact_tuples_hot_updated() and friends is not guaranteed to show anything after the transaction completes. Data is flushed slowly to stats collector, so using them can give timing issues.
1 parent f4f5845 commit 5b0d7f6

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/test/regress/expected/func_index.out

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
begin;
12
create table keyvalue(id integer primary key, info jsonb);
23
create index nameindex on keyvalue((info->>'name')) with (recheck_on_update=false);
34
insert into keyvalue values (1, '{"name": "john", "data": "some data"}');
@@ -8,7 +9,8 @@ select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
89
0
910
(1 row)
1011

11-
drop table keyvalue;
12+
rollback;
13+
begin;
1214
create table keyvalue(id integer primary key, info jsonb);
1315
create index nameindex on keyvalue((info->>'name')) with (recheck_on_update=true);
1416
insert into keyvalue values (1, '{"name": "john", "data": "some data"}');
@@ -33,7 +35,8 @@ select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
3335
2
3436
(1 row)
3537

36-
drop table keyvalue;
38+
rollback;
39+
begin;
3740
create table keyvalue(id integer primary key, info jsonb);
3841
create index nameindex on keyvalue((info->>'name'));
3942
insert into keyvalue values (1, '{"name": "john", "data": "some data"}');
@@ -58,4 +61,4 @@ select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
5861
2
5962
(1 row)
6063

61-
drop table keyvalue;
64+
rollback;

src/test/regress/sql/func_index.sql

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
begin;
12
create table keyvalue(id integer primary key, info jsonb);
23
create index nameindex on keyvalue((info->>'name')) with (recheck_on_update=false);
34
insert into keyvalue values (1, '{"name": "john", "data": "some data"}');
45
update keyvalue set info='{"name": "john", "data": "some other data"}' where id=1;
56
select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
6-
drop table keyvalue;
7+
rollback;
78

9+
begin;
810
create table keyvalue(id integer primary key, info jsonb);
911
create index nameindex on keyvalue((info->>'name')) with (recheck_on_update=true);
1012
insert into keyvalue values (1, '{"name": "john", "data": "some data"}');
@@ -14,8 +16,9 @@ update keyvalue set info='{"name": "smith", "data": "some other data"}' where id
1416
select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
1517
update keyvalue set info='{"name": "smith", "data": "some more data"}' where id=1;
1618
select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
17-
drop table keyvalue;
19+
rollback;
1820

21+
begin;
1922
create table keyvalue(id integer primary key, info jsonb);
2023
create index nameindex on keyvalue((info->>'name'));
2124
insert into keyvalue values (1, '{"name": "john", "data": "some data"}');
@@ -25,6 +28,6 @@ update keyvalue set info='{"name": "smith", "data": "some other data"}' where id
2528
select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
2629
update keyvalue set info='{"name": "smith", "data": "some more data"}' where id=1;
2730
select pg_stat_get_xact_tuples_hot_updated('keyvalue'::regclass);
28-
drop table keyvalue;
31+
rollback;
2932

3033

0 commit comments

Comments
 (0)