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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy