mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
pgstat: Hide instability in stats.spec with -DCATCACHE_FORCE_RELEASE.
With -DCATCACHE_FORCE_RELEASE a few tests failed. Those were trying to test behavior in the absence of invalidation processing and -DCATCACHE_FORCE_RELEASE obviously adds a lot of invalidation processing. The test already tried to handle debug_discard_caches > 0, by disabling it for individual tests. Instead hide potentially problematic function calls in a wrapper function that catches the does-not-exist error. The error isn't the actually interesting bit, it's whether the stats entry still exist afterwards. I confirmed that the tests still catches leaked function stats if I nuke the protections against that in pgstat_function.c. Per buildfarm animal prion. Discussion: https://postgr.es/m/20220407165709.jgdkrzqlkcwue6ko@alap3.anarazel.de
This commit is contained in:
@ -33,7 +33,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -257,7 +257,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -360,7 +360,7 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_commit: COMMIT;
|
step s1_commit: COMMIT;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -472,7 +472,7 @@ test_stat_func| 2|t |t
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_commit: COMMIT;
|
step s1_commit: COMMIT;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -584,7 +584,7 @@ test_stat_func| 2|t |t
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_rollback: ROLLBACK;
|
step s1_rollback: ROLLBACK;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -619,7 +619,7 @@ test_stat_func| 3|t |t
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_func_call s2_ff s2_begin s2_func_call s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_func_call s2_ff s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -640,10 +640,10 @@ pg_stat_force_next_flush
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_func_drop: DROP FUNCTION test_stat_func();
|
step s1_func_drop: DROP FUNCTION test_stat_func();
|
||||||
@ -697,7 +697,7 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_begin s2_func_call s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -706,10 +706,10 @@ pg_stat_force_next_flush
|
|||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_all: SET track_functions = 'all';
|
step s2_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_func_drop: DROP FUNCTION test_stat_func();
|
step s1_func_drop: DROP FUNCTION test_stat_func();
|
||||||
@ -763,14 +763,12 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_disable_debug_discard s2_disable_debug_discard s1_track_funcs_all s2_track_funcs_all s1_func_call s2_begin s2_func_call s1_func_drop s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_call s2_begin s2_func_call_ifexists s1_func_drop s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s2_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_all: SET track_functions = 'all';
|
step s2_track_funcs_all: SET track_functions = 'all';
|
||||||
step s1_func_call: SELECT test_stat_func();
|
step s1_func_call: SELECT test_stat_func();
|
||||||
@ -780,17 +778,17 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_func_drop: DROP FUNCTION test_stat_func();
|
step s1_func_drop: DROP FUNCTION test_stat_func();
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_commit: COMMIT;
|
step s2_commit: COMMIT;
|
||||||
@ -829,14 +827,12 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_disable_debug_discard s2_disable_debug_discard s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call s1_ff s1_func_stats s1_func_drop s2_track_funcs_none s1_func_stats s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_none s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s2_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_none: SET track_functions = 'none';
|
step s2_track_funcs_none: SET track_functions = 'none';
|
||||||
step s1_func_call: SELECT test_stat_func();
|
step s1_func_call: SELECT test_stat_func();
|
||||||
@ -846,13 +842,13 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -888,10 +884,10 @@ name |pg_stat_get_function_calls|total_above_zero|self_above_zero
|
|||||||
test_stat_func| | |
|
test_stat_func| | |
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_commit: COMMIT;
|
step s2_commit: COMMIT;
|
||||||
@ -930,14 +926,12 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_disable_debug_discard s2_disable_debug_discard s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call s1_ff s1_func_stats s1_func_drop s2_track_funcs_all s1_func_stats s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_all s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s2_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_none: SET track_functions = 'none';
|
step s2_track_funcs_none: SET track_functions = 'none';
|
||||||
step s1_func_call: SELECT test_stat_func();
|
step s1_func_call: SELECT test_stat_func();
|
||||||
@ -947,13 +941,13 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -989,8 +983,12 @@ name |pg_stat_get_function_calls|total_above_zero|self_above_zero
|
|||||||
test_stat_func| | |
|
test_stat_func| | |
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
ERROR: function call to dropped function
|
test_stat_func_ifexists
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
(1 row)
|
||||||
|
|
||||||
step s2_commit: COMMIT;
|
step s2_commit: COMMIT;
|
||||||
step s2_ff: SELECT pg_stat_force_next_flush();
|
step s2_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
@ -1053,7 +1051,7 @@ test_stat_func2
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1243,7 +1241,7 @@ test_stat_func2
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1360,7 +1358,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1395,7 +1393,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1430,7 +1428,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1826,7 +1824,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1915,7 +1913,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2004,7 +2002,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2093,7 +2091,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2152,7 +2150,7 @@ k3 | 1
|
|||||||
(4 rows)
|
(4 rows)
|
||||||
|
|
||||||
step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2269,7 +2267,7 @@ k0 | 1
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_track_counts_off: SET track_counts = off;
|
step s1_track_counts_off: SET track_counts = off;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2307,7 +2305,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2357,7 +2355,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_track_counts_on: SET track_counts = on;
|
step s1_track_counts_on: SET track_counts = on;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2395,7 +2393,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2451,7 +2449,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_track_counts_on: SET track_counts = on;
|
step s1_track_counts_on: SET track_counts = on;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2489,7 +2487,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2552,7 +2550,7 @@ k2 | 4
|
|||||||
k3 | 1
|
k3 | 1
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2615,7 +2613,7 @@ k2 | 4
|
|||||||
k3 | 1
|
k3 | 1
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2682,7 +2680,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2743,7 +2741,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2789,7 +2787,7 @@ step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1);
|
|||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
||||||
step s1_commit_prepared_a: COMMIT PREPARED 'a';
|
step s1_commit_prepared_a: COMMIT PREPARED 'a';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2829,7 +2827,7 @@ step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1);
|
|||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
||||||
step s2_commit_prepared_a: COMMIT PREPARED 'a';
|
step s2_commit_prepared_a: COMMIT PREPARED 'a';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2875,7 +2873,7 @@ step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1);
|
|||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
||||||
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2915,7 +2913,7 @@ step s1_table_insert_k1: INSERT INTO test_stat_tab(key, value) VALUES('k1', 1);
|
|||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
||||||
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2962,7 +2960,7 @@ step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key =
|
|||||||
step s1_table_drop: DROP TABLE test_stat_tab;
|
step s1_table_drop: DROP TABLE test_stat_tab;
|
||||||
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
||||||
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -3003,7 +3001,7 @@ step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key =
|
|||||||
step s1_table_drop: DROP TABLE test_stat_tab;
|
step s1_table_drop: DROP TABLE test_stat_tab;
|
||||||
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
step s1_prepare_a: PREPARE TRANSACTION 'a';
|
||||||
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -3056,7 +3054,7 @@ pg_notify
|
|||||||
|
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -174,7 +174,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -257,7 +257,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -360,7 +360,7 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_commit: COMMIT;
|
step s1_commit: COMMIT;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -472,7 +472,7 @@ test_stat_func| 2|t |t
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_commit: COMMIT;
|
step s1_commit: COMMIT;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -584,7 +584,7 @@ test_stat_func| 2|t |t
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_rollback: ROLLBACK;
|
step s1_rollback: ROLLBACK;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -619,7 +619,7 @@ test_stat_func| 3|t |t
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_func_call s2_ff s2_begin s2_func_call s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_func_call s2_ff s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -640,10 +640,10 @@ pg_stat_force_next_flush
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_func_drop: DROP FUNCTION test_stat_func();
|
step s1_func_drop: DROP FUNCTION test_stat_func();
|
||||||
@ -697,7 +697,7 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_begin s2_func_call s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_all s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -706,10 +706,10 @@ pg_stat_force_next_flush
|
|||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_all: SET track_functions = 'all';
|
step s2_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_func_drop: DROP FUNCTION test_stat_func();
|
step s1_func_drop: DROP FUNCTION test_stat_func();
|
||||||
@ -763,14 +763,12 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_disable_debug_discard s2_disable_debug_discard s1_track_funcs_all s2_track_funcs_all s1_func_call s2_begin s2_func_call s1_func_drop s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_all s1_func_call s2_begin s2_func_call_ifexists s1_func_drop s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s2_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_all: SET track_functions = 'all';
|
step s2_track_funcs_all: SET track_functions = 'all';
|
||||||
step s1_func_call: SELECT test_stat_func();
|
step s1_func_call: SELECT test_stat_func();
|
||||||
@ -780,17 +778,17 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_func_drop: DROP FUNCTION test_stat_func();
|
step s1_func_drop: DROP FUNCTION test_stat_func();
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_commit: COMMIT;
|
step s2_commit: COMMIT;
|
||||||
@ -829,14 +827,12 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_disable_debug_discard s2_disable_debug_discard s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call s1_ff s1_func_stats s1_func_drop s2_track_funcs_none s1_func_stats s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_none s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s2_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_none: SET track_functions = 'none';
|
step s2_track_funcs_none: SET track_functions = 'none';
|
||||||
step s1_func_call: SELECT test_stat_func();
|
step s1_func_call: SELECT test_stat_func();
|
||||||
@ -846,13 +842,13 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -888,10 +884,10 @@ name |pg_stat_get_function_calls|total_above_zero|self_above_zero
|
|||||||
test_stat_func| | |
|
test_stat_func| | |
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_commit: COMMIT;
|
step s2_commit: COMMIT;
|
||||||
@ -930,14 +926,12 @@ test_stat_func| | |
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
|
|
||||||
starting permutation: s1_disable_debug_discard s2_disable_debug_discard s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call s1_ff s1_func_stats s1_func_drop s2_track_funcs_all s1_func_stats s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
starting permutation: s1_track_funcs_all s2_track_funcs_none s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_all s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s2_disable_debug_discard: SET debug_discard_caches = 0;
|
|
||||||
step s1_track_funcs_all: SET track_functions = 'all';
|
step s1_track_funcs_all: SET track_functions = 'all';
|
||||||
step s2_track_funcs_none: SET track_functions = 'none';
|
step s2_track_funcs_none: SET track_functions = 'none';
|
||||||
step s1_func_call: SELECT test_stat_func();
|
step s1_func_call: SELECT test_stat_func();
|
||||||
@ -947,13 +941,13 @@ test_stat_func
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_begin: BEGIN;
|
step s2_begin: BEGIN;
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
test_stat_func
|
test_stat_func_ifexists
|
||||||
--------------
|
-----------------------
|
||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -989,8 +983,12 @@ name |pg_stat_get_function_calls|total_above_zero|self_above_zero
|
|||||||
test_stat_func| | |
|
test_stat_func| | |
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s2_func_call: SELECT test_stat_func()
|
step s2_func_call_ifexists: SELECT test_stat_func_ifexists();
|
||||||
ERROR: function call to dropped function
|
test_stat_func_ifexists
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
(1 row)
|
||||||
|
|
||||||
step s2_commit: COMMIT;
|
step s2_commit: COMMIT;
|
||||||
step s2_ff: SELECT pg_stat_force_next_flush();
|
step s2_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
@ -1053,7 +1051,7 @@ test_stat_func2
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1243,7 +1241,7 @@ test_stat_func2
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1360,7 +1358,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1395,7 +1393,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1430,7 +1428,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1827,7 +1825,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -1918,7 +1916,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2009,7 +2007,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2100,7 +2098,7 @@ test_stat_func
|
|||||||
|
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2160,7 +2158,7 @@ k3 | 1
|
|||||||
(4 rows)
|
(4 rows)
|
||||||
|
|
||||||
step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s2_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2277,7 +2275,7 @@ k0 | 1
|
|||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_track_counts_off: SET track_counts = off;
|
step s1_track_counts_off: SET track_counts = off;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2315,7 +2313,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2365,7 +2363,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_track_counts_on: SET track_counts = on;
|
step s1_track_counts_on: SET track_counts = on;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2403,7 +2401,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2459,7 +2457,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_track_counts_on: SET track_counts = on;
|
step s1_track_counts_on: SET track_counts = on;
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2497,7 +2495,7 @@ k1 | 2
|
|||||||
(2 rows)
|
(2 rows)
|
||||||
|
|
||||||
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
step s1_table_update_k1: UPDATE test_stat_tab SET value = value + 1 WHERE key = 'k1';
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2560,7 +2558,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2623,7 +2621,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2692,7 +2690,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2755,7 +2753,7 @@ key|value
|
|||||||
k0 | 1
|
k0 | 1
|
||||||
(1 row)
|
(1 row)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2803,7 +2801,7 @@ step s1_prepare_a: PREPARE TRANSACTION 'a';
|
|||||||
ERROR: prepared transactions are disabled
|
ERROR: prepared transactions are disabled
|
||||||
step s1_commit_prepared_a: COMMIT PREPARED 'a';
|
step s1_commit_prepared_a: COMMIT PREPARED 'a';
|
||||||
ERROR: prepared transaction with identifier "a" does not exist
|
ERROR: prepared transaction with identifier "a" does not exist
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2845,7 +2843,7 @@ step s1_prepare_a: PREPARE TRANSACTION 'a';
|
|||||||
ERROR: prepared transactions are disabled
|
ERROR: prepared transactions are disabled
|
||||||
step s2_commit_prepared_a: COMMIT PREPARED 'a';
|
step s2_commit_prepared_a: COMMIT PREPARED 'a';
|
||||||
ERROR: prepared transaction with identifier "a" does not exist
|
ERROR: prepared transaction with identifier "a" does not exist
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2893,7 +2891,7 @@ step s1_prepare_a: PREPARE TRANSACTION 'a';
|
|||||||
ERROR: prepared transactions are disabled
|
ERROR: prepared transactions are disabled
|
||||||
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
ERROR: prepared transaction with identifier "a" does not exist
|
ERROR: prepared transaction with identifier "a" does not exist
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2935,7 +2933,7 @@ step s1_prepare_a: PREPARE TRANSACTION 'a';
|
|||||||
ERROR: prepared transactions are disabled
|
ERROR: prepared transactions are disabled
|
||||||
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
ERROR: prepared transaction with identifier "a" does not exist
|
ERROR: prepared transaction with identifier "a" does not exist
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -2984,7 +2982,7 @@ step s1_prepare_a: PREPARE TRANSACTION 'a';
|
|||||||
ERROR: prepared transactions are disabled
|
ERROR: prepared transactions are disabled
|
||||||
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s1_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
ERROR: prepared transaction with identifier "a" does not exist
|
ERROR: prepared transaction with identifier "a" does not exist
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -3027,7 +3025,7 @@ step s1_prepare_a: PREPARE TRANSACTION 'a';
|
|||||||
ERROR: prepared transactions are disabled
|
ERROR: prepared transactions are disabled
|
||||||
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
step s2_rollback_prepared_a: ROLLBACK PREPARED 'a';
|
||||||
ERROR: prepared transaction with identifier "a" does not exist
|
ERROR: prepared transaction with identifier "a" does not exist
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
@ -3080,7 +3078,7 @@ pg_notify
|
|||||||
|
|
||||||
(3 rows)
|
(3 rows)
|
||||||
|
|
||||||
step s1_ff: SELECT pg_stat_force_next_flush(); RESET debug_discard_caches;
|
step s1_ff: SELECT pg_stat_force_next_flush();
|
||||||
pg_stat_force_next_flush
|
pg_stat_force_next_flush
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
|
@ -14,6 +14,13 @@ setup
|
|||||||
|
|
||||||
CREATE TABLE test_slru_stats(slru TEXT, stat TEXT, value INT);
|
CREATE TABLE test_slru_stats(slru TEXT, stat TEXT, value INT);
|
||||||
|
|
||||||
|
-- calls test_stat_func, but hides error if it doesn't exist
|
||||||
|
CREATE FUNCTION test_stat_func_ifexists() RETURNS VOID LANGUAGE plpgsql AS $$
|
||||||
|
BEGIN
|
||||||
|
PERFORM test_stat_func();
|
||||||
|
EXCEPTION WHEN undefined_function THEN
|
||||||
|
END;$$;
|
||||||
|
|
||||||
SELECT pg_stat_force_next_flush();
|
SELECT pg_stat_force_next_flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -25,6 +32,7 @@ teardown
|
|||||||
DROP TABLE IF EXISTS test_stat_tab;
|
DROP TABLE IF EXISTS test_stat_tab;
|
||||||
DROP FUNCTION IF EXISTS test_stat_func();
|
DROP FUNCTION IF EXISTS test_stat_func();
|
||||||
DROP FUNCTION IF EXISTS test_stat_func2();
|
DROP FUNCTION IF EXISTS test_stat_func2();
|
||||||
|
DROP FUNCTION test_stat_func_ifexists();
|
||||||
}
|
}
|
||||||
|
|
||||||
session s1
|
session s1
|
||||||
@ -32,7 +40,6 @@ setup { SET stats_fetch_consistency = 'none'; }
|
|||||||
step s1_fetch_consistency_none { SET stats_fetch_consistency = 'none'; }
|
step s1_fetch_consistency_none { SET stats_fetch_consistency = 'none'; }
|
||||||
step s1_fetch_consistency_cache { SET stats_fetch_consistency = 'cache'; }
|
step s1_fetch_consistency_cache { SET stats_fetch_consistency = 'cache'; }
|
||||||
step s1_fetch_consistency_snapshot { SET stats_fetch_consistency = 'snapshot'; }
|
step s1_fetch_consistency_snapshot { SET stats_fetch_consistency = 'snapshot'; }
|
||||||
step s1_disable_debug_discard { SET debug_discard_caches = 0; }
|
|
||||||
step s1_clear_snapshot { SELECT pg_stat_clear_snapshot(); }
|
step s1_clear_snapshot { SELECT pg_stat_clear_snapshot(); }
|
||||||
step s1_begin { BEGIN; }
|
step s1_begin { BEGIN; }
|
||||||
step s1_commit { COMMIT; }
|
step s1_commit { COMMIT; }
|
||||||
@ -42,7 +49,7 @@ step s1_commit_prepared_a { COMMIT PREPARED 'a'; }
|
|||||||
step s1_rollback_prepared_a { ROLLBACK PREPARED 'a'; }
|
step s1_rollback_prepared_a { ROLLBACK PREPARED 'a'; }
|
||||||
|
|
||||||
# Function stats steps
|
# Function stats steps
|
||||||
step s1_ff { SELECT pg_stat_force_next_flush(); RESET debug_discard_caches; }
|
step s1_ff { SELECT pg_stat_force_next_flush(); }
|
||||||
step s1_track_funcs_all { SET track_functions = 'all'; }
|
step s1_track_funcs_all { SET track_functions = 'all'; }
|
||||||
step s1_track_funcs_none { SET track_functions = 'none'; }
|
step s1_track_funcs_none { SET track_functions = 'none'; }
|
||||||
step s1_func_call { SELECT test_stat_func(); }
|
step s1_func_call { SELECT test_stat_func(); }
|
||||||
@ -118,9 +125,8 @@ step s1_slru_check_stats {
|
|||||||
|
|
||||||
|
|
||||||
session s2
|
session s2
|
||||||
setup { SET stats_fetch_consistency = 'none'; RESET debug_discard_caches; }
|
setup { SET stats_fetch_consistency = 'none'; }
|
||||||
step s2_begin { BEGIN; }
|
step s2_begin { BEGIN; }
|
||||||
step s2_disable_debug_discard { SET debug_discard_caches = 0; }
|
|
||||||
step s2_commit { COMMIT; }
|
step s2_commit { COMMIT; }
|
||||||
step s2_commit_prepared_a { COMMIT PREPARED 'a'; }
|
step s2_commit_prepared_a { COMMIT PREPARED 'a'; }
|
||||||
step s2_rollback_prepared_a { ROLLBACK PREPARED 'a'; }
|
step s2_rollback_prepared_a { ROLLBACK PREPARED 'a'; }
|
||||||
@ -130,6 +136,7 @@ step s2_ff { SELECT pg_stat_force_next_flush(); }
|
|||||||
step s2_track_funcs_all { SET track_functions = 'all'; }
|
step s2_track_funcs_all { SET track_functions = 'all'; }
|
||||||
step s2_track_funcs_none { SET track_functions = 'none'; }
|
step s2_track_funcs_none { SET track_functions = 'none'; }
|
||||||
step s2_func_call { SELECT test_stat_func() }
|
step s2_func_call { SELECT test_stat_func() }
|
||||||
|
step s2_func_call_ifexists { SELECT test_stat_func_ifexists(); }
|
||||||
step s2_func_call2 { SELECT test_stat_func2() }
|
step s2_func_call2 { SELECT test_stat_func2() }
|
||||||
step s2_func_stats {
|
step s2_func_stats {
|
||||||
SELECT
|
SELECT
|
||||||
@ -175,10 +182,12 @@ permutation
|
|||||||
|
|
||||||
### Check interaction between dropping and stats reporting
|
### Check interaction between dropping and stats reporting
|
||||||
|
|
||||||
# Disable debug_discard_caches for a few of these tests - we precisely are
|
# Some of these tests try to test behavior in cases where no invalidation
|
||||||
# testing the behavior of no invalidations arriving. "Real" invalidations
|
# processing is triggered. To prevent output changes when
|
||||||
# shouldn't trigger behavioral difference, because we are testing paths
|
# debug_discard_caches, CATCACHE_FORCE_RELEASE or RELCACHE_FORCE_RELEASE are
|
||||||
# precisely because they do not have AcceptInvalidationMessages calls.()
|
# used (which trigger invalidation processing in paths that normally don't),
|
||||||
|
# test_stat_func_ifexists() can be used, which tries to call test_stat_func(),
|
||||||
|
# but doesn't raise an error if the function doesn't exist.
|
||||||
|
|
||||||
# dropping a table remove stats iff committed
|
# dropping a table remove stats iff committed
|
||||||
permutation
|
permutation
|
||||||
@ -193,14 +202,13 @@ permutation
|
|||||||
permutation
|
permutation
|
||||||
s1_track_funcs_all s2_track_funcs_all
|
s1_track_funcs_all s2_track_funcs_all
|
||||||
s2_func_call s2_ff # this access increments refcount, preventing the shared entry from being dropped
|
s2_func_call s2_ff # this access increments refcount, preventing the shared entry from being dropped
|
||||||
s2_begin s2_func_call s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
permutation
|
permutation
|
||||||
s1_track_funcs_all s2_track_funcs_all
|
s1_track_funcs_all s2_track_funcs_all
|
||||||
s2_begin s2_func_call s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
s2_begin s2_func_call_ifexists s1_func_drop s1_func_stats s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
permutation
|
permutation
|
||||||
s1_disable_debug_discard s2_disable_debug_discard
|
|
||||||
s1_track_funcs_all s2_track_funcs_all
|
s1_track_funcs_all s2_track_funcs_all
|
||||||
s1_func_call s2_begin s2_func_call s1_func_drop s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
s1_func_call s2_begin s2_func_call_ifexists s1_func_drop s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
|
|
||||||
# Function calls don't necessarily trigger cache invalidation processing. The
|
# Function calls don't necessarily trigger cache invalidation processing. The
|
||||||
# default handling of dropped stats could therefore end up with stats getting
|
# default handling of dropped stats could therefore end up with stats getting
|
||||||
@ -209,13 +217,11 @@ permutation
|
|||||||
# on. Verify that the stats are indeed dropped, and document the behavioral
|
# on. Verify that the stats are indeed dropped, and document the behavioral
|
||||||
# difference between track_functions settings.
|
# difference between track_functions settings.
|
||||||
permutation
|
permutation
|
||||||
s1_disable_debug_discard s2_disable_debug_discard
|
|
||||||
s1_track_funcs_all s2_track_funcs_none
|
s1_track_funcs_all s2_track_funcs_none
|
||||||
s1_func_call s2_begin s2_func_call s1_ff s1_func_stats s1_func_drop s2_track_funcs_none s1_func_stats s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_none s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
permutation
|
permutation
|
||||||
s1_disable_debug_discard s2_disable_debug_discard
|
|
||||||
s1_track_funcs_all s2_track_funcs_none
|
s1_track_funcs_all s2_track_funcs_none
|
||||||
s1_func_call s2_begin s2_func_call s1_ff s1_func_stats s1_func_drop s2_track_funcs_all s1_func_stats s2_func_call s2_commit s2_ff s1_func_stats s2_func_stats
|
s1_func_call s2_begin s2_func_call_ifexists s1_ff s1_func_stats s1_func_drop s2_track_funcs_all s1_func_stats s2_func_call_ifexists s2_commit s2_ff s1_func_stats s2_func_stats
|
||||||
|
|
||||||
# test pg_stat_reset_single_function_counters
|
# test pg_stat_reset_single_function_counters
|
||||||
permutation
|
permutation
|
||||||
|
Reference in New Issue
Block a user