WIP: Avoid creation of the free space map for small tables
Hi all,
A while back, Robert Haas noticed that the space taken up by very
small tables is dominated by the FSM [1]/messages/by-id/CA+Tgmoac+6qTNp2U+wedY8-PU6kK_b6hbdhR5xYGBG3GtdFcww@mail.gmail.com. Tom suggested that we could
prevent creation of the FSM until the heap has reached a certain
threshold size [2]/messages/by-id/11360.1345502641@sss.pgh.pa.us. Attached is a WIP patch to implement that. I've
also attached a SQL script to demonstrate the change in behavior for
various scenarios.
The behavior that allows the simplest implementation I thought of is as follows:
-The FSM isn't created if the heap has fewer than 10 blocks (or
whatever). If the last known good block has insufficient space, try
every block before extending the heap.
-If a heap with a FSM is truncated back to below the threshold, the
FSM stays around and can be used as usual.
-If the heap tuples are all deleted, the FSM stays but has no leaf
blocks (same as on master). Although it exists, it won't be
re-extended until the heap re-passes the threshold.
--
Some notes:
-For normal mode, I taught fsm_set_and_search() to switch to a
non-extending buffer call, but the biggest missing piece is WAL
replay. I couldn't find a non-extending equivalent of
XLogReadBufferExtended(), so I might have to create one.
-There'll need to be some performance testing to make sure there's no
regression, and to choose a good value for the threshold. I'll look
into that, but if anyone has any ideas for tests, that'll help this
effort along.
-A possible TODO item is to teach pg_upgrade not to link FSMs for
small heaps. I haven't look into the feasibility of that, however.
-RelationGetBufferForTuple() now has two boolean variables that mean
"don't use the FSM", but with different behaviors. To avoid confusion,
I've renamed use_fsm to always_extend and revised the commentary
accordingly.
-I've only implemented this for heaps, because indexes (at least
B-tree) don't seem to be as eager to create a FSM. I haven't looked at
the code, however.
--
[1]: /messages/by-id/CA+Tgmoac+6qTNp2U+wedY8-PU6kK_b6hbdhR5xYGBG3GtdFcww@mail.gmail.com
[2]: /messages/by-id/11360.1345502641@sss.pgh.pa.us
--
I'll add this to the November commitfest.
-John Naylor
Attachments:
v1-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v1-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From 77c85f633f915bd247c554b691a134fac1f32316 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Sat, 6 Oct 2018 00:35:33 +0700
Subject: [PATCH v1] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has fewer than 10 blocks. If the last
known good block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
If the heap tuples are all deleted, the FSM stays but has no leaf blocks
(same as before). Although it exists, it won't be re-extended until
the heap re-passes the threshold.
---
src/backend/access/heap/hio.c | 60 +++++++++++++++++------
src/backend/storage/freespace/freespace.c | 32 +++++++++++-
src/include/storage/freespace.h | 4 ++
3 files changed, 79 insertions(+), 17 deletions(-)
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..aadb75ee8c 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -315,7 +315,8 @@ RelationGetBufferForTuple(Relation relation, Size len,
BulkInsertState bistate,
Buffer *vmbuffer, Buffer *vmbuffer_other)
{
- bool use_fsm = !(options & HEAP_INSERT_SKIP_FSM);
+ bool always_extend = (options & HEAP_INSERT_SKIP_FSM),
+ visit_every_page;
Buffer buffer = InvalidBuffer;
Page page;
Size pageFreeSpace = 0,
@@ -357,21 +358,24 @@ RelationGetBufferForTuple(Relation relation, Size len,
* each page that proves not to be suitable.) If the FSM has no record of
* a page with enough free space, we give up and extend the relation.
*
- * When use_fsm is false, we either put the tuple onto the existing target
- * page or extend the relation.
+ * Special cases for when the existing target page fails:
+ * 1. When always_extend is true, we don't bother with consulting the FSM
+ * and just extend the relation.
+ * 2. When visit_every_page is true and the FSM doesn't provide any
+ * information, we try every page before extending the relation.
*/
if (len + saveFreeSpace > MaxHeapTupleSize)
{
/* can't fit, don't bother asking FSM */
targetBlock = InvalidBlockNumber;
- use_fsm = false;
+ always_extend = true;
}
else if (bistate && bistate->current_buf != InvalidBuffer)
targetBlock = BufferGetBlockNumber(bistate->current_buf);
else
targetBlock = RelationGetTargetBlock(relation);
- if (targetBlock == InvalidBlockNumber && use_fsm)
+ if (targetBlock == InvalidBlockNumber && !always_extend)
{
/*
* We have no cached target page, so ask the FSM for an initial
@@ -389,7 +393,20 @@ RelationGetBufferForTuple(Relation relation, Size len,
BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
if (nblocks > 0)
+ {
targetBlock = nblocks - 1;
+
+ /*
+ * If the heap is small enough, it likely has no FSM.
+ * However, if at some point the heap passed the threshold,
+ * acquired a FSM, and was subsequently truncated to below
+ * the threshold, the FSM remains. Since there are so few
+ * pages in either case, just try every page, starting with
+ * the last page.
+ */
+ if (nblocks <= HEAP_FSM_EXTENSION_THRESHOLD)
+ visit_every_page = true;
+ }
}
}
@@ -502,18 +519,29 @@ loop:
ReleaseBuffer(buffer);
}
- /* Without FSM, always fall out of the loop and extend */
- if (!use_fsm)
+ if (always_extend)
break;
- /*
- * Update FSM as to condition of this page, and ask for another page
- * to try.
- */
- targetBlock = RecordAndGetPageWithFreeSpace(relation,
- targetBlock,
- pageFreeSpace,
- len + saveFreeSpace);
+ if (visit_every_page)
+ {
+ /* No pages have enough free space; extend. */
+ if (targetBlock == 0)
+ break;
+
+ /* Try the next lower page. */
+ targetBlock--;
+ }
+ else
+ {
+ /*
+ * Update FSM as to condition of this page, and ask for another
+ * page to try.
+ */
+ targetBlock = RecordAndGetPageWithFreeSpace(relation,
+ targetBlock,
+ pageFreeSpace,
+ len + saveFreeSpace);
+ }
}
/*
@@ -534,7 +562,7 @@ loop:
*/
if (needLock)
{
- if (!use_fsm)
+ if (always_extend || visit_every_page)
LockRelationForExtension(relation, ExclusiveLock);
else if (!ConditionalLockRelationForExtension(relation, ExclusiveLock))
{
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..abb03874b9 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -193,6 +193,7 @@ RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
+ * TODO: Avoid creating a FSM here, also.
*/
void
XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
@@ -675,7 +676,36 @@ fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
Page page;
int newslot = -1;
- buf = fsm_readbuf(rel, addr, true);
+ /*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_EXTENSION_THRESHOLD. For tables that don't already
+ * have a FSM, this will save an inode and a few kB of space.
+ * For sane threshold values, the FSM address will be zero, so we
+ * don't bother dealing with anything else.
+ */
+ if (rel->rd_rel->relkind == RELKIND_RELATION
+ && addr.logpageno == 0)
+ {
+ FSMAddress threshold_addr;
+ uint16 threshold_slot;
+
+ /* Get the location in the FSM of the threshold. */
+ threshold_addr = fsm_get_location(HEAP_FSM_EXTENSION_THRESHOLD,
+ &threshold_slot);
+ Assert(threshold_addr.logpageno == 0);
+
+ if (slot <= threshold_slot)
+ {
+ buf = fsm_readbuf(rel, addr, false);
+ if (buf == InvalidBuffer)
+ return newslot;
+ }
+ else
+ buf = fsm_readbuf(rel, addr, true);
+ }
+ else
+ buf = fsm_readbuf(rel, addr, true);
+
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
page = BufferGetPage(buf);
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..68e4d27818 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,10 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+/* TODO: Performance-test different values. */
+#define HEAP_FSM_EXTENSION_THRESHOLD 10
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
--
2.17.1
On Sat, Oct 6, 2018 at 7:47 AM John Naylor <jcnaylor@gmail.com> wrote:
A while back, Robert Haas noticed that the space taken up by very
small tables is dominated by the FSM [1]. Tom suggested that we could
prevent creation of the FSM until the heap has reached a certain
threshold size [2]. Attached is a WIP patch to implement that. I've
also attached a SQL script to demonstrate the change in behavior for
various scenarios.
Hi John,
You'll need to tweak the test in contrib/pageinspect/sql/page.sql,
because it's currently asserting that there is an FSM on a small table
so make check-world fails.
--
Thomas Munro
http://www.enterprisedb.com
On 10/6/18, Thomas Munro <thomas.munro@enterprisedb.com> wrote:
On Sat, Oct 6, 2018 at 7:47 AM John Naylor <jcnaylor@gmail.com> wrote:
A while back, Robert Haas noticed that the space taken up by very
small tables is dominated by the FSM [1]. Tom suggested that we could
prevent creation of the FSM until the heap has reached a certain
threshold size [2]. Attached is a WIP patch to implement that. I've
also attached a SQL script to demonstrate the change in behavior for
various scenarios.Hi John,
You'll need to tweak the test in contrib/pageinspect/sql/page.sql,
because it's currently asserting that there is an FSM on a small table
so make check-world fails.
Whoops, sorry about that; the attached patch passes make check-world.
While looking into that, I also found a regression: If the cached
target block is the last block in the relation and there is no free
space, that block will be tried twice. That's been fixed as well.
Thanks,
-John Naylor
Attachments:
v2-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v2-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From 49c80647737edfaae82014f2c94a84114f3688f6 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Sun, 7 Oct 2018 21:34:23 +0700
Subject: [PATCH v2] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has fewer than 10 blocks. If the last
known good block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
If the heap tuples are all deleted, the FSM stays but has no leaf blocks
(same as before). Although it exists, it won't be re-extended until
the heap passes the threshold again.
---
contrib/pageinspect/expected/page.out | 77 +++++++++---------
contrib/pageinspect/sql/page.sql | 33 +++++---
src/backend/access/heap/hio.c | 96 +++++++++++++++++------
src/backend/storage/freespace/freespace.c | 35 ++++++++-
src/include/storage/freespace.h | 4 +
5 files changed, 169 insertions(+), 76 deletions(-)
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..c40bc80a6e 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -315,13 +315,15 @@ RelationGetBufferForTuple(Relation relation, Size len,
BulkInsertState bistate,
Buffer *vmbuffer, Buffer *vmbuffer_other)
{
- bool use_fsm = !(options & HEAP_INSERT_SKIP_FSM);
+ bool always_extend = (options & HEAP_INSERT_SKIP_FSM),
+ try_every_page = false;
Buffer buffer = InvalidBuffer;
Page page;
Size pageFreeSpace = 0,
saveFreeSpace = 0;
BlockNumber targetBlock,
- otherBlock;
+ otherBlock,
+ prevBlockAttempted = InvalidBlockNumber;
bool needLock;
len = MAXALIGN(len); /* be conservative */
@@ -357,21 +359,24 @@ RelationGetBufferForTuple(Relation relation, Size len,
* each page that proves not to be suitable.) If the FSM has no record of
* a page with enough free space, we give up and extend the relation.
*
- * When use_fsm is false, we either put the tuple onto the existing target
- * page or extend the relation.
+ * Special cases for when the existing target page fails:
+ * 1. When always_extend is true, we don't bother with consulting the FSM
+ * and just extend the relation.
+ * 2. When try_every_page is true and the FSM doesn't provide any
+ * information, we try every page before extending the relation.
*/
if (len + saveFreeSpace > MaxHeapTupleSize)
{
/* can't fit, don't bother asking FSM */
targetBlock = InvalidBlockNumber;
- use_fsm = false;
+ always_extend = true;
}
else if (bistate && bistate->current_buf != InvalidBuffer)
targetBlock = BufferGetBlockNumber(bistate->current_buf);
else
targetBlock = RelationGetTargetBlock(relation);
- if (targetBlock == InvalidBlockNumber && use_fsm)
+ if (targetBlock == InvalidBlockNumber && !always_extend)
{
/*
* We have no cached target page, so ask the FSM for an initial
@@ -380,22 +385,50 @@ RelationGetBufferForTuple(Relation relation, Size len,
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
/*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
+ * If the FSM has no information, try the last page in the
+ * relation if we haven't already. This avoids one-tuple-per-page
+ * syndrome during bootstrapping or in a recently-started system.
*/
+check_fsm:
if (targetBlock == InvalidBlockNumber)
{
BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
if (nblocks > 0)
+ {
targetBlock = nblocks - 1;
+
+ /*
+ * If the heap is small enough, it likely has no FSM (or a
+ * truncated one), but even if it does, just try every page.
+ */
+ if (nblocks <= HEAP_FSM_EXTENSION_THRESHOLD)
+ {
+ try_every_page = true;
+
+ /* If we already tried the last page, skip it. */
+ if (targetBlock == prevBlockAttempted)
+ {
+ if (nblocks > 1)
+ targetBlock--;
+ else
+ targetBlock = InvalidBlockNumber;
+ }
+ }
+ else
+ {
+ /* If we already tried the last page, extend. */
+ if (targetBlock == prevBlockAttempted)
+ targetBlock = InvalidBlockNumber;
+ }
+ }
}
}
-loop:
+check_buffer:
while (targetBlock != InvalidBlockNumber)
{
+ prevBlockAttempted = targetBlock;
/*
* Read and exclusive-lock the target block, as well as the other
* block if one was given, taking suitable care with lock ordering and
@@ -502,18 +535,30 @@ loop:
ReleaseBuffer(buffer);
}
- /* Without FSM, always fall out of the loop and extend */
- if (!use_fsm)
+ if (always_extend)
break;
- /*
- * Update FSM as to condition of this page, and ask for another page
- * to try.
- */
- targetBlock = RecordAndGetPageWithFreeSpace(relation,
- targetBlock,
- pageFreeSpace,
- len + saveFreeSpace);
+ if (try_every_page)
+ {
+ /* We've tried every page; extend. */
+ if (targetBlock == 0)
+ break;
+
+ /* Try the next lower page. */
+ targetBlock--;
+ }
+ else
+ {
+ /*
+ * Update FSM as to condition of this page, and ask for another
+ * page to try.
+ */
+ targetBlock = RecordAndGetPageWithFreeSpace(relation,
+ targetBlock,
+ pageFreeSpace,
+ len + saveFreeSpace);
+ goto check_fsm;
+ }
}
/*
@@ -534,7 +579,7 @@ loop:
*/
if (needLock)
{
- if (!use_fsm)
+ if (always_extend || try_every_page)
LockRelationForExtension(relation, ExclusiveLock);
else if (!ConditionalLockRelationForExtension(relation, ExclusiveLock))
{
@@ -554,7 +599,14 @@ loop:
if (targetBlock != InvalidBlockNumber)
{
UnlockRelationForExtension(relation, ExclusiveLock);
- goto loop;
+
+ /*
+ * This shouldn't be true, but it doesn't hurt to be paranoid
+ * about excessive looping.
+ */
+ try_every_page = false;
+
+ goto check_buffer;
}
/* Time to bulk-extend. */
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..0fceca57f9 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -125,8 +125,7 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
* will turn out to have too little space available by the time the caller
* gets a lock on it. In that case, the caller should report the actual
* amount of free space available on that page and then try again (see
- * RecordAndGetPageWithFreeSpace). If InvalidBlockNumber is returned,
- * extend the relation.
+ * RecordAndGetPageWithFreeSpace).
*/
BlockNumber
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
@@ -193,6 +192,7 @@ RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
+ * TODO: Avoid creating a FSM here, also.
*/
void
XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
@@ -675,7 +675,36 @@ fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
Page page;
int newslot = -1;
- buf = fsm_readbuf(rel, addr, true);
+ /*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_EXTENSION_THRESHOLD. For tables that don't already
+ * have a FSM, this will save an inode and a few kB of space.
+ * For sane threshold values, the FSM address will be zero, so we
+ * don't bother dealing with anything else.
+ */
+ if (rel->rd_rel->relkind == RELKIND_RELATION
+ && addr.logpageno == 0)
+ {
+ FSMAddress threshold_addr;
+ uint16 threshold_slot;
+
+ /* Get the location in the FSM of the threshold. */
+ threshold_addr = fsm_get_location(HEAP_FSM_EXTENSION_THRESHOLD,
+ &threshold_slot);
+ Assert(threshold_addr.logpageno == 0);
+
+ if (slot <= threshold_slot)
+ {
+ buf = fsm_readbuf(rel, addr, false);
+ if (buf == InvalidBuffer)
+ return newslot;
+ }
+ else
+ buf = fsm_readbuf(rel, addr, true);
+ }
+ else
+ buf = fsm_readbuf(rel, addr, true);
+
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
page = BufferGetPage(buf);
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..68e4d27818 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,10 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+/* TODO: Performance-test different values. */
+#define HEAP_FSM_EXTENSION_THRESHOLD 10
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
--
2.17.1
John Naylor <jcnaylor@gmail.com> writes:
On 10/6/18, Thomas Munro <thomas.munro@enterprisedb.com> wrote:
On Sat, Oct 6, 2018 at 7:47 AM John Naylor <jcnaylor@gmail.com> wrote:
A while back, Robert Haas noticed that the space taken up by very
small tables is dominated by the FSM [1]. Tom suggested that we could
prevent creation of the FSM until the heap has reached a certain
threshold size [2]. Attached is a WIP patch to implement that.
BTW, don't we need a similar hack for visibility maps?
regards, tom lane
On 10/7/18, Tom Lane <tgl@sss.pgh.pa.us> wrote:
John Naylor <jcnaylor@gmail.com> writes:
On 10/6/18, Thomas Munro <thomas.munro@enterprisedb.com> wrote:
On Sat, Oct 6, 2018 at 7:47 AM John Naylor <jcnaylor@gmail.com> wrote:
A while back, Robert Haas noticed that the space taken up by very
small tables is dominated by the FSM [1]. Tom suggested that we could
prevent creation of the FSM until the heap has reached a certain
threshold size [2]. Attached is a WIP patch to implement that.BTW, don't we need a similar hack for visibility maps?
The FSM is the bigger bang for the buck, and fairly simple to do, but
it would be nice to do something about VMs as well. I'm not sure if
simply lacking a VM would be as simple (or as free of downsides) as
for the FSM. I haven't studied the VM code in detail, however.
-John Naylor
On Sat, Oct 6, 2018 at 12:17 AM John Naylor <jcnaylor@gmail.com> wrote:
-There'll need to be some performance testing to make sure there's no
regression, and to choose a good value for the threshold. I'll look
into that, but if anyone has any ideas for tests, that'll help this
effort along.
Can you try with a Copy command which copies just enough tuples to
fill the pages equivalent to HEAP_FSM_EXTENSION_THRESHOLD? It seems
to me in such a case patch will try each of the blocks multiple times.
It looks quite lame that we have to try again and again the blocks
which we have just filled by ourselves but may be that doesn't matter
much as the threshold value is small.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Sat, Oct 6, 2018 at 12:17 AM John Naylor <jcnaylor@gmail.com> wrote:
Hi all,
A while back, Robert Haas noticed that the space taken up by very
small tables is dominated by the FSM [1]. Tom suggested that we could
prevent creation of the FSM until the heap has reached a certain
threshold size [2]. Attached is a WIP patch to implement that. I've
also attached a SQL script to demonstrate the change in behavior for
various scenarios.The behavior that allows the simplest implementation I thought of is as follows:
-The FSM isn't created if the heap has fewer than 10 blocks (or
whatever). If the last known good block has insufficient space, try
every block before extending the heap.-If a heap with a FSM is truncated back to below the threshold, the
FSM stays around and can be used as usual.-If the heap tuples are all deleted, the FSM stays but has no leaf
blocks (same as on master). Although it exists, it won't be
re-extended until the heap re-passes the threshold.--
Some notes:-For normal mode, I taught fsm_set_and_search() to switch to a
non-extending buffer call, but the biggest missing piece is WAL
replay.
fsm_set_and_search()
{
..
+ /*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds
HEAP_FSM_EXTENSION_THRESHOLD. For tables that don't already
+ * have a FSM, this will save an inode and a few kB
of space.
+ * For sane threshold values, the FSM address will be zero, so we
+ * don't bother dealing with
anything else.
+ */
+ if (rel->rd_rel->relkind == RELKIND_RELATION
+ && addr.logpageno == 0)
I am not sure if this is a solid way to avoid creating FSM. What if
fsm_set_and_search gets called for the level other than 0? Also,
when the relation has blocks more than HEAP_FSM_EXTENSION_THRESHOLD,
then first time when vacuum will try to record the free space in the
page, won't it skip recording free space for first
HEAP_FSM_EXTENSION_THRESHOLD pages?
I think you have found a good way to avoid creating FSM, but can't we
use some simpler technique like if the FSM fork for a relation doesn't
exist, then check the heapblk number for which we try to update the
FSM and if it is lesser than HEAP_FSM_EXTENSION_THRESHOLD, then avoid
creating the FSM.
I couldn't find a non-extending equivalent of
XLogReadBufferExtended(), so I might have to create one.
I think it would be better if we can find a common way to avoid
creating FSM both during DO and REDO time. It might be possible if
somethin like what I have said above is feasible.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 10/13/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Sat, Oct 6, 2018 at 12:17 AM John Naylor <jcnaylor@gmail.com> wrote:
-For normal mode, I taught fsm_set_and_search() to switch to a
non-extending buffer call, but the biggest missing piece is WAL
replay.fsm_set_and_search() { .. + /* + * For heaps we prevent extension of the FSM unless the number of pages + * exceeds HEAP_FSM_EXTENSION_THRESHOLD. For tables that don't already + * have a FSM, this will save an inode and a few kB of space. + * For sane threshold values, the FSM address will be zero, so we + * don't bother dealing with anything else. + */ + if (rel->rd_rel->relkind == RELKIND_RELATION + && addr.logpageno == 0)I am not sure if this is a solid way to avoid creating FSM. What if
fsm_set_and_search gets called for the level other than 0?
Thanks for taking a look. As for levels other than 0, I think that
only happens when fsm_set_and_search() is called by fsm_search(),
which will not cause extension.
Also,
when the relation has blocks more than HEAP_FSM_EXTENSION_THRESHOLD,
then first time when vacuum will try to record the free space in the
page, won't it skip recording free space for first
HEAP_FSM_EXTENSION_THRESHOLD pages?
Hmm, that's a good point.
I think you have found a good way to avoid creating FSM, but can't we
use some simpler technique like if the FSM fork for a relation doesn't
exist, then check the heapblk number for which we try to update the
FSM and if it is lesser than HEAP_FSM_EXTENSION_THRESHOLD, then avoid
creating the FSM.
I think I see what you mean, but to avoid the vacuum problem you just
mentioned, we'd need to check the relation size, too. I've attached an
unpolished revision to do this. It seems to work, but I haven't tested
the vacuum issue yet. I'll do that and some COPY performance testing
in the next day or so. There's a bit more repetition than I would
like, so I'm not sure it's simpler - perhaps RecordPageWithFreeSpace()
could be turned into a wrapper around RecordAndGetPageWithFreeSpace().
Also new in this version, some non-functional improvements to hio.c:
-debugging calls that are #ifdef'd out.
-move some code out into a function instead of adding another goto.
I couldn't find a non-extending equivalent of
XLogReadBufferExtended(), so I might have to create one.I think it would be better if we can find a common way to avoid
creating FSM both during DO and REDO time. It might be possible if
somethin like what I have said above is feasible.
That would be ideal.
-John Naylor
Attachments:
v3-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v3-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From e40e94071f998d0b8a04a1116de5d22aa8cd355c Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Sun, 14 Oct 2018 02:25:34 +0700
Subject: [PATCH v3] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has fewer than 10 blocks. If the last
known good block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 ++++++------
contrib/pageinspect/sql/page.sql | 33 ++++--
src/backend/access/heap/hio.c | 137 +++++++++++++++++-----
src/backend/storage/freespace/freespace.c | 95 +++++++++++----
src/include/storage/freespace.h | 4 +
5 files changed, 244 insertions(+), 102 deletions(-)
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..dd221b8f5d 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -24,6 +24,12 @@
#include "storage/lmgr.h"
#include "storage/smgr.h"
+/*#define TRACE_TARGETBLOCK */
+
+static BlockNumber get_page_no_fsm(Relation relation,
+ BlockNumber prevBlockAttempted,
+ bool *try_every_page);
+
/*
* RelationPutHeapTuple - place tuple at specified page
@@ -315,13 +321,15 @@ RelationGetBufferForTuple(Relation relation, Size len,
BulkInsertState bistate,
Buffer *vmbuffer, Buffer *vmbuffer_other)
{
- bool use_fsm = !(options & HEAP_INSERT_SKIP_FSM);
+ bool always_extend = (options & HEAP_INSERT_SKIP_FSM),
+ try_every_page = false;
Buffer buffer = InvalidBuffer;
Page page;
Size pageFreeSpace = 0,
saveFreeSpace = 0;
BlockNumber targetBlock,
- otherBlock;
+ otherBlock,
+ prevBlockAttempted;
bool needLock;
len = MAXALIGN(len); /* be conservative */
@@ -355,47 +363,41 @@ RelationGetBufferForTuple(Relation relation, Size len,
* loop around and retry multiple times. (To insure this isn't an infinite
* loop, we must update the FSM with the correct amount of free space on
* each page that proves not to be suitable.) If the FSM has no record of
- * a page with enough free space, we give up and extend the relation.
+ * a page with enough free space, we try every page if the heap is small,
+ * or give up and extend the relation.
*
- * When use_fsm is false, we either put the tuple onto the existing target
- * page or extend the relation.
+ * When always_extend is true, we either put the tuple onto the existing
+ * target page or extend the relation.
*/
if (len + saveFreeSpace > MaxHeapTupleSize)
{
/* can't fit, don't bother asking FSM */
targetBlock = InvalidBlockNumber;
- use_fsm = false;
+ always_extend = true;
}
else if (bistate && bistate->current_buf != InvalidBuffer)
targetBlock = BufferGetBlockNumber(bistate->current_buf);
else
targetBlock = RelationGetTargetBlock(relation);
- if (targetBlock == InvalidBlockNumber && use_fsm)
+ if (targetBlock == InvalidBlockNumber && !always_extend)
{
/*
* We have no cached target page, so ask the FSM for an initial
* target.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
+ targetBlock = get_page_no_fsm(relation, InvalidBlockNumber,
+ &try_every_page);
}
loop:
while (targetBlock != InvalidBlockNumber)
{
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Attempting block %d", targetBlock);
+#endif
/*
* Read and exclusive-lock the target block, as well as the other
* block if one was given, taking suitable care with lock ordering and
@@ -482,6 +484,9 @@ loop:
pageFreeSpace = PageGetHeapFreeSpace(page);
if (len + saveFreeSpace <= pageFreeSpace)
{
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Returning buffer for block %d", targetBlock);
+#endif
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
return buffer;
@@ -502,18 +507,36 @@ loop:
ReleaseBuffer(buffer);
}
- /* Without FSM, always fall out of the loop and extend */
- if (!use_fsm)
+ if (always_extend)
break;
- /*
- * Update FSM as to condition of this page, and ask for another page
- * to try.
- */
- targetBlock = RecordAndGetPageWithFreeSpace(relation,
- targetBlock,
- pageFreeSpace,
- len + saveFreeSpace);
+ if (try_every_page)
+ {
+ /* We've tried every page; extend. */
+ if (targetBlock == 0)
+ break;
+
+ /* Try the next lower block number. */
+ targetBlock--;
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Trying next lower block number");
+#endif
+ }
+ else
+ {
+ /*
+ * Update FSM as to condition of this page, and ask for another
+ * page to try.
+ */
+ prevBlockAttempted = targetBlock;
+ targetBlock = RecordAndGetPageWithFreeSpace(relation,
+ targetBlock,
+ pageFreeSpace,
+ len + saveFreeSpace);
+ if (targetBlock == InvalidBlockNumber)
+ targetBlock = get_page_no_fsm(relation, prevBlockAttempted,
+ &try_every_page);
+ }
}
/*
@@ -534,7 +557,7 @@ loop:
*/
if (needLock)
{
- if (!use_fsm)
+ if (always_extend || try_every_page)
LockRelationForExtension(relation, ExclusiveLock);
else if (!ConditionalLockRelationForExtension(relation, ExclusiveLock))
{
@@ -554,6 +577,10 @@ loop:
if (targetBlock != InvalidBlockNumber)
{
UnlockRelationForExtension(relation, ExclusiveLock);
+
+ /* This shouldn't be true, but let's make sure it isn't. */
+ try_every_page = false;
+
goto loop;
}
@@ -627,3 +654,53 @@ loop:
return buffer;
}
+
+/*
+ * If the FSM has no information, first try the last page in the relation
+ * if we haven't already. This avoids one-tuple-per-page syndrome during
+ * bootstrapping or in a recently-started system.
+ *
+ * If the heap is small enough, it likely has no FSM (or a truncated one),
+ * but even if it does, just try every page.
+ *
+ * If InvalidBlockNumber is returned, extend the relation.
+ */
+static BlockNumber
+get_page_no_fsm(Relation relation,
+ BlockNumber prevBlockAttempted,
+ bool *try_every_page)
+{
+ BlockNumber nblocks = RelationGetNumberOfBlocks(relation),
+ targetBlock = InvalidBlockNumber;
+
+ if (nblocks > 0)
+ {
+ targetBlock = nblocks - 1;
+
+ if (nblocks <= HEAP_FSM_EXTENSION_THRESHOLD)
+ {
+ *try_every_page = true;
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Setting try_every_page");
+#endif
+ /* If we already tried the last page, skip it or extend. */
+ if (targetBlock == prevBlockAttempted)
+ {
+ if (nblocks > 1)
+ {
+ Assert(targetBlock != InvalidBlockNumber);
+ targetBlock--;
+ }
+ else
+ targetBlock = InvalidBlockNumber;
+ }
+ }
+ else
+ {
+ /* If we already tried the last page, extend. */
+ if (targetBlock == prevBlockAttempted)
+ targetBlock = InvalidBlockNumber;
+ }
+ }
+ return targetBlock;
+}
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..b62456c59f 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -111,6 +111,7 @@ static BlockNumber fsm_search(Relation rel, uint8 min_cat);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static void check_fsm_size(Relation rel, BlockNumber blkno, bool *fsm_exists);
/******** Public API ********/
@@ -125,8 +126,7 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
* will turn out to have too little space available by the time the caller
* gets a lock on it. In that case, the caller should report the actual
* amount of free space available on that page and then try again (see
- * RecordAndGetPageWithFreeSpace). If InvalidBlockNumber is returned,
- * extend the relation.
+ * RecordAndGetPageWithFreeSpace).
*/
BlockNumber
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
@@ -153,12 +153,28 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
int search_cat = fsm_space_needed_to_cat(spaceNeeded);
FSMAddress addr;
uint16 slot;
- int search_slot;
+ int search_slot = -1;
+ bool fsm_exists;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
- search_slot = fsm_set_and_search(rel, addr, slot, old_cat, search_cat);
+ RelationOpenSmgr(rel);
+ check_fsm_size(rel, oldPage, &fsm_exists);
+
+ if (!fsm_exists && rel->rd_rel->relkind == RELKIND_RELATION
+ && oldPage <= HEAP_FSM_EXTENSION_THRESHOLD)
+ {
+ /* See explanation in RecordPageWithFreeSpace */
+ /* TODO: use a cached value and/or cache this value? */
+ BlockNumber heap_nblocks = RelationGetNumberOfBlocks(rel);
+ if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ search_slot = fsm_set_and_search(rel, addr, slot, old_cat, search_cat);
+ else
+ return InvalidBlockNumber;
+ }
+ else
+ search_slot = fsm_set_and_search(rel, addr, slot, old_cat, search_cat);
/*
* If fsm_set_and_search found a suitable new block, return that.
@@ -183,16 +199,36 @@ RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
int new_cat = fsm_space_avail_to_cat(spaceAvail);
FSMAddress addr;
uint16 slot;
+ bool fsm_exists;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
- fsm_set_and_search(rel, addr, slot, new_cat, 0);
+ RelationOpenSmgr(rel);
+ check_fsm_size(rel, heapBlk, &fsm_exists);
+
+ if (!fsm_exists && rel->rd_rel->relkind == RELKIND_RELATION
+ && heapBlk <= HEAP_FSM_EXTENSION_THRESHOLD)
+ {
+ /*
+ * For heaps we prevent extension of the FSM unless the number
+ * of pages exceeds HEAP_FSM_EXTENSION_THRESHOLD. For tables
+ * that don't already have a FSM, this will save an inode
+ * and a few kB of space.
+ */
+ /* TODO: use a cached value and/or cache this value? */
+ BlockNumber heap_nblocks = RelationGetNumberOfBlocks(rel);
+ if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ fsm_set_and_search(rel, addr, slot, new_cat, 0);
+ }
+ else
+ fsm_set_and_search(rel, addr, slot, new_cat, 0);
}
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
+ * TODO: Avoid creating a FSM here, also.
*/
void
XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
@@ -546,24 +582,10 @@ fsm_readbuf(Relation rel, FSMAddress addr, bool extend)
{
BlockNumber blkno = fsm_logical_to_physical(addr);
Buffer buf;
+ bool dummy;
RelationOpenSmgr(rel);
-
- /*
- * If we haven't cached the size of the FSM yet, check it first. Also
- * recheck if the requested block seems to be past end, since our cached
- * value might be stale. (We send smgr inval messages on truncation, but
- * not on extension.)
- */
- if (rel->rd_smgr->smgr_fsm_nblocks == InvalidBlockNumber ||
- blkno >= rel->rd_smgr->smgr_fsm_nblocks)
- {
- if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
- rel->rd_smgr->smgr_fsm_nblocks = smgrnblocks(rel->rd_smgr,
- FSM_FORKNUM);
- else
- rel->rd_smgr->smgr_fsm_nblocks = 0;
- }
+ check_fsm_size(rel, blkno, &dummy);
/* Handle requests beyond EOF */
if (blkno >= rel->rd_smgr->smgr_fsm_nblocks)
@@ -676,6 +698,9 @@ fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
int newslot = -1;
buf = fsm_readbuf(rel, addr, true);
+ if (buf == InvalidBuffer)
+ return newslot;
+
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
page = BufferGetPage(buf);
@@ -904,3 +929,31 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * If we haven't cached the size of the FSM yet, check it first. Also
+ * recheck if the requested block seems to be past end, since our cached
+ * value might be stale. (We send smgr inval messages on truncation, but
+ * not on extension.)
+ */
+static void
+check_fsm_size(Relation rel, BlockNumber blkno, bool *fsm_exists)
+{
+ if (rel->rd_smgr->smgr_fsm_nblocks == InvalidBlockNumber ||
+ blkno >= rel->rd_smgr->smgr_fsm_nblocks)
+ {
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ {
+ *fsm_exists = true;
+ rel->rd_smgr->smgr_fsm_nblocks = smgrnblocks(rel->rd_smgr,
+ FSM_FORKNUM);
+ }
+ else
+ {
+ *fsm_exists = false;
+ rel->rd_smgr->smgr_fsm_nblocks = 0;
+ }
+ }
+ else
+ *fsm_exists = true;
+}
\ No newline at end of file
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..68e4d27818 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,10 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+/* TODO: Performance-test different values. */
+#define HEAP_FSM_EXTENSION_THRESHOLD 10
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
--
2.17.1
On 10/13/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
I think you have found a good way to avoid creating FSM, but can't we
use some simpler technique like if the FSM fork for a relation doesn't
exist, then check the heapblk number for which we try to update the
FSM and if it is lesser than HEAP_FSM_EXTENSION_THRESHOLD, then avoid
creating the FSM.
I think it would be better if we can find a common way to avoid
creating FSM both during DO and REDO time. It might be possible if
somethin like what I have said above is feasible.
I've attached v4, which implements the REDO case, and as closely as
possible to the DO case. I've created a new function to guard against
creation of the FSM, which is called by RecordPageWithFreeSpace() and
RecordAndGetPageWithFreeSpace(). Since XLogRecordPageWithFreeSpace()
takes a relfilenode and not a relation, I had to reimplement that
separately, but the logic is basically the same. It works under
streaming replication.
I've also attached a couple SQL scripts which, when the aforementioned
DEBUG1 calls are enabled, show what the heap insert code is doing for
different scenarios. Make check-world passes.
-John Naylor
Attachments:
v4-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v4-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From f3abe9fc003430530db71ddd40c4e9bed8a38513 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Sun, 14 Oct 2018 22:35:12 +0700
Subject: [PATCH v4] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has fewer than 10 blocks. If the last
known good block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 ++++++------
contrib/pageinspect/sql/page.sql | 33 ++++--
src/backend/access/heap/hio.c | 137 +++++++++++++++++-----
src/backend/storage/freespace/freespace.c | 61 +++++++++-
src/include/storage/freespace.h | 4 +
5 files changed, 229 insertions(+), 83 deletions(-)
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..9b079e2618 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -24,6 +24,12 @@
#include "storage/lmgr.h"
#include "storage/smgr.h"
+/*#define TRACE_TARGETBLOCK */
+
+static BlockNumber get_page_no_fsm(Relation relation,
+ BlockNumber prevBlockAttempted,
+ bool *try_every_page);
+
/*
* RelationPutHeapTuple - place tuple at specified page
@@ -315,13 +321,15 @@ RelationGetBufferForTuple(Relation relation, Size len,
BulkInsertState bistate,
Buffer *vmbuffer, Buffer *vmbuffer_other)
{
- bool use_fsm = !(options & HEAP_INSERT_SKIP_FSM);
+ bool always_extend = (options & HEAP_INSERT_SKIP_FSM),
+ try_every_page = false;
Buffer buffer = InvalidBuffer;
Page page;
Size pageFreeSpace = 0,
saveFreeSpace = 0;
BlockNumber targetBlock,
- otherBlock;
+ otherBlock,
+ prevBlockAttempted;
bool needLock;
len = MAXALIGN(len); /* be conservative */
@@ -355,47 +363,41 @@ RelationGetBufferForTuple(Relation relation, Size len,
* loop around and retry multiple times. (To insure this isn't an infinite
* loop, we must update the FSM with the correct amount of free space on
* each page that proves not to be suitable.) If the FSM has no record of
- * a page with enough free space, we give up and extend the relation.
+ * a page with enough free space, we try every page if the heap is small,
+ * or give up and extend the relation.
*
- * When use_fsm is false, we either put the tuple onto the existing target
- * page or extend the relation.
+ * When always_extend is true, we either put the tuple onto the existing
+ * target page or extend the relation.
*/
if (len + saveFreeSpace > MaxHeapTupleSize)
{
/* can't fit, don't bother asking FSM */
targetBlock = InvalidBlockNumber;
- use_fsm = false;
+ always_extend = true;
}
else if (bistate && bistate->current_buf != InvalidBuffer)
targetBlock = BufferGetBlockNumber(bistate->current_buf);
else
targetBlock = RelationGetTargetBlock(relation);
- if (targetBlock == InvalidBlockNumber && use_fsm)
+ if (targetBlock == InvalidBlockNumber && !always_extend)
{
/*
* We have no cached target page, so ask the FSM for an initial
* target.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
+ targetBlock = get_page_no_fsm(relation, InvalidBlockNumber,
+ &try_every_page);
}
loop:
while (targetBlock != InvalidBlockNumber)
{
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Attempting block %u", targetBlock);
+#endif
/*
* Read and exclusive-lock the target block, as well as the other
* block if one was given, taking suitable care with lock ordering and
@@ -482,6 +484,9 @@ loop:
pageFreeSpace = PageGetHeapFreeSpace(page);
if (len + saveFreeSpace <= pageFreeSpace)
{
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Returning buffer for block %u", targetBlock);
+#endif
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
return buffer;
@@ -502,18 +507,36 @@ loop:
ReleaseBuffer(buffer);
}
- /* Without FSM, always fall out of the loop and extend */
- if (!use_fsm)
+ if (always_extend)
break;
- /*
- * Update FSM as to condition of this page, and ask for another page
- * to try.
- */
- targetBlock = RecordAndGetPageWithFreeSpace(relation,
- targetBlock,
- pageFreeSpace,
- len + saveFreeSpace);
+ if (try_every_page)
+ {
+ /* We've tried every page; extend. */
+ if (targetBlock == 0)
+ break;
+
+ /* Try the next lower block number. */
+ targetBlock--;
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Trying next lower block number");
+#endif
+ }
+ else
+ {
+ /*
+ * Update FSM as to condition of this page, and ask for another
+ * page to try.
+ */
+ prevBlockAttempted = targetBlock;
+ targetBlock = RecordAndGetPageWithFreeSpace(relation,
+ targetBlock,
+ pageFreeSpace,
+ len + saveFreeSpace);
+ if (targetBlock == InvalidBlockNumber)
+ targetBlock = get_page_no_fsm(relation, prevBlockAttempted,
+ &try_every_page);
+ }
}
/*
@@ -534,7 +557,7 @@ loop:
*/
if (needLock)
{
- if (!use_fsm)
+ if (always_extend || try_every_page)
LockRelationForExtension(relation, ExclusiveLock);
else if (!ConditionalLockRelationForExtension(relation, ExclusiveLock))
{
@@ -554,6 +577,10 @@ loop:
if (targetBlock != InvalidBlockNumber)
{
UnlockRelationForExtension(relation, ExclusiveLock);
+
+ /* This shouldn't be true, but let's make sure it isn't. */
+ try_every_page = false;
+
goto loop;
}
@@ -627,3 +654,53 @@ loop:
return buffer;
}
+
+/*
+ * If the FSM has no information, first try the last page in the relation
+ * if we haven't already. This avoids one-tuple-per-page syndrome during
+ * bootstrapping or in a recently-started system.
+ *
+ * If the heap is small enough, it likely has no FSM (or a truncated one),
+ * but even if it does, just try every page.
+ *
+ * If InvalidBlockNumber is returned, extend the relation.
+ */
+static BlockNumber
+get_page_no_fsm(Relation relation,
+ BlockNumber prevBlockAttempted,
+ bool *try_every_page)
+{
+ BlockNumber nblocks = RelationGetNumberOfBlocks(relation),
+ targetBlock = InvalidBlockNumber;
+
+ if (nblocks > 0)
+ {
+ targetBlock = nblocks - 1;
+
+ if (nblocks <= HEAP_FSM_EXTENSION_THRESHOLD)
+ {
+ *try_every_page = true;
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Setting try_every_page");
+#endif
+ /* If we already tried the last page, skip it or extend. */
+ if (targetBlock == prevBlockAttempted)
+ {
+ if (nblocks > 1)
+ {
+ Assert(targetBlock != InvalidBlockNumber);
+ targetBlock--;
+ }
+ else
+ targetBlock = InvalidBlockNumber;
+ }
+ }
+ else
+ {
+ /* If we already tried the last page, extend. */
+ if (targetBlock == prevBlockAttempted)
+ targetBlock = InvalidBlockNumber;
+ }
+ }
+ return targetBlock;
+}
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..ec7a8af4e3 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -111,6 +111,7 @@ static BlockNumber fsm_search(Relation rel, uint8 min_cat);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool allow_write_to_fsm(Relation rel, BlockNumber heapBlk);
/******** Public API ********/
@@ -125,8 +126,7 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
* will turn out to have too little space available by the time the caller
* gets a lock on it. In that case, the caller should report the actual
* amount of free space available on that page and then try again (see
- * RecordAndGetPageWithFreeSpace). If InvalidBlockNumber is returned,
- * extend the relation.
+ * RecordAndGetPageWithFreeSpace).
*/
BlockNumber
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
@@ -155,6 +155,9 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
uint16 slot;
int search_slot;
+ if (!allow_write_to_fsm(rel, oldPage))
+ return InvalidBlockNumber;
+
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -184,6 +187,9 @@ RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
FSMAddress addr;
uint16 slot;
+ if (!allow_write_to_fsm(rel, heapBlk))
+ return;
+
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -204,11 +210,35 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
blkno = fsm_logical_to_physical(addr);
+ /* This is meant to mirror the logic in allow_write_to_fsm() */
+ if (heapBlk > HEAP_FSM_EXTENSION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
+
/* If the page doesn't exist already, extend */
buf = XLogReadBufferExtended(rnode, FSM_FORKNUM, blkno, RBM_ZERO_ON_ERROR);
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
@@ -904,3 +934,30 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number
+ * of pages exceeds HEAP_FSM_EXTENSION_THRESHOLD. For tables
+ * that don't already have a FSM, this will save an inode
+ * and a few kB of space.
+ */
+static bool
+allow_write_to_fsm(Relation rel, BlockNumber heapBlk)
+{
+ BlockNumber heap_nblocks;
+
+ if (heapBlk > HEAP_FSM_EXTENSION_THRESHOLD ||
+ rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /* XXX is this value cached? */
+ heap_nblocks = RelationGetNumberOfBlocks(rel);
+
+ if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ return true;
+ else
+ {
+ RelationOpenSmgr(rel);
+ return smgrexists(rel->rd_smgr, FSM_FORKNUM);
+ }
+}
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..68e4d27818 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,10 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+/* TODO: Performance-test different values. */
+#define HEAP_FSM_EXTENSION_THRESHOLD 10
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
--
2.17.1
On Sun, Oct 14, 2018 at 1:09 AM John Naylor <jcnaylor@gmail.com> wrote:
On 10/13/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
I think you have found a good way to avoid creating FSM, but can't we
use some simpler technique like if the FSM fork for a relation doesn't
exist, then check the heapblk number for which we try to update the
FSM and if it is lesser than HEAP_FSM_EXTENSION_THRESHOLD, then avoid
creating the FSM.I think I see what you mean, but to avoid the vacuum problem you just
mentioned, we'd need to check the relation size, too.
Sure, but vacuum already has relation size. In general, I think we
should try to avoid adding more system calls in the common code path.
It can impact the performance.
Few comments on your latest patch:
-
+static bool
+allow_write_to_fsm(Relation rel, BlockNumber heapBlk)
+{
+ BlockNumber heap_nblocks;
+
+ if (heapBlk > HEAP_FSM_EXTENSION_THRESHOLD ||
+ rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /* XXX is this value cached? */
+ heap_nblocks = RelationGetNumberOfBlocks(rel);
+
+ if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ return true;
+ else
+ {
+ RelationOpenSmgr(rel);
+ return smgrexists(rel->rd_smgr, FSM_FORKNUM);
+ }
+}
I think you can avoid calling RelationGetNumberOfBlocks, if you call
smgrexists before and for the purpose of vacuum, we can get that as an
input parameter. I think one can argue for not changing the interface
functions like RecordPageWithFreeSpace to avoid calling
RelationGetNumberOfBlocks, but to me, it appears worth to save the
additional system call.
-
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
+ targetBlock = get_page_no_fsm(relation, InvalidBlockNumber,
+ &try_every_page);
Is it possible to hide the magic of trying each block within
GetPageWithFreeSpace? It will simplify the code and in future, if
another storage API has a different function for
RelationGetBufferForTuple, it will work seamlessly, provided they are
using same FSM. One such user is zheap.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 10/15/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
Few comments on your latest patch: - +static bool +allow_write_to_fsm(Relation rel, BlockNumber heapBlk) +{ + BlockNumber heap_nblocks; + + if (heapBlk > HEAP_FSM_EXTENSION_THRESHOLD || + rel->rd_rel->relkind != RELKIND_RELATION) + return true; + + /* XXX is this value cached? */ + heap_nblocks = RelationGetNumberOfBlocks(rel); + + if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD) + return true; + else + { + RelationOpenSmgr(rel); + return smgrexists(rel->rd_smgr, FSM_FORKNUM); + } +}I think you can avoid calling RelationGetNumberOfBlocks, if you call
smgrexists before
Okay, I didn't know which was cheaper, but I'll check smgrexists
first. Thanks for the info.
and for the purpose of vacuum, we can get that as an
input parameter. I think one can argue for not changing the interface
functions like RecordPageWithFreeSpace to avoid calling
RelationGetNumberOfBlocks, but to me, it appears worth to save the
additional system call.
I agree, and that should be fairly straightforward. I'll include that
in the next patch.
- targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace); - - /* - * If the FSM knows nothing of the rel, try the last page before we - * give up and extend. This avoids one-tuple-per-page syndrome during - * bootstrapping or in a recently-started system. - */ if (targetBlock == InvalidBlockNumber) - { - BlockNumber nblocks = RelationGetNumberOfBlocks(relation); - - if (nblocks > 0) - targetBlock = nblocks - 1; - } + targetBlock = get_page_no_fsm(relation, InvalidBlockNumber, + &try_every_page);Is it possible to hide the magic of trying each block within
GetPageWithFreeSpace? It will simplify the code and in future, if
another storage API has a different function for
RelationGetBufferForTuple, it will work seamlessly, provided they are
using same FSM. One such user is zheap.
Hmm, here I'm a bit more skeptical about the trade offs. That would
mean, in effect, to put a function called get_page_no_fsm() in the FSM
code. ;-) I'm willing to be convinced otherwise, of course, but
here's my reasoning:
For one, we'd have to pass prevBlockNumber and &try_every_block to
GetPageWithFreeSpace() (and RecordAndGetPageWithFreeSpace() by
extension), which are irrelevant to some callers. In addition, in
hio.c, there is a call where we don't want to try any blocks that we
have already, much less all of them:
/*
* Check if some other backend has extended a block for us while
* we were waiting on the lock.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
By the time we get to this call, we likely wouldn't trigger the logic
to try every block, but I don't think we can guarantee that. We could
add a boolean parameter that means "consider trying every block", but
I don't think the FSM code should have so much state passed to it.
Thanks for reviewing,
-John Naylor
On Mon, Oct 15, 2018 at 4:09 PM John Naylor <jcnaylor@gmail.com> wrote:
On 10/15/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
Few comments on your latest patch: - targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace); - - /* - * If the FSM knows nothing of the rel, try the last page before we - * give up and extend. This avoids one-tuple-per-page syndrome during - * bootstrapping or in a recently-started system. - */ if (targetBlock == InvalidBlockNumber) - { - BlockNumber nblocks = RelationGetNumberOfBlocks(relation); - - if (nblocks > 0) - targetBlock = nblocks - 1; - } + targetBlock = get_page_no_fsm(relation, InvalidBlockNumber, + &try_every_page);Is it possible to hide the magic of trying each block within
GetPageWithFreeSpace? It will simplify the code and in future, if
another storage API has a different function for
RelationGetBufferForTuple, it will work seamlessly, provided they are
using same FSM. One such user is zheap.Hmm, here I'm a bit more skeptical about the trade offs. That would
mean, in effect, to put a function called get_page_no_fsm() in the FSM
code. ;-) I'm willing to be convinced otherwise, of course, but
here's my reasoning:For one, we'd have to pass prevBlockNumber and &try_every_block to
GetPageWithFreeSpace() (and RecordAndGetPageWithFreeSpace() by
extension), which are irrelevant to some callers.
I think we can avoid using prevBlockNumber and try_every_block, if we
maintain a small cache which tells whether the particular block is
tried or not. What I am envisioning is that while finding the block
with free space, if we came to know that the relation in question is
small enough that it doesn't have FSM, we can perform a local_search.
In local_seach, we can enquire the cache for any block that we can try
and if we find any block, we can try inserting in that block,
otherwise, we need to extend the relation. One simple way to imagine
such a cache would be an array of structure and structure has blkno
and status fields. After we get the usable block, we need to clear
the cache, if exists.
In addition, in
hio.c, there is a call where we don't want to try any blocks that we
have already, much less all of them:/*
* Check if some other backend has extended a block for us while
* we were waiting on the lock.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);By the time we get to this call, we likely wouldn't trigger the logic
to try every block, but I don't think we can guarantee that.
I think the current code as proposed has that limitation, but if we
have a cache, then we can check if the relation has actually extended
after taking the lock and if so we can try only newly added block/'s.
I am not completely sure if the idea described above is certainly
better, but it seems that it will be clean and can handle some of the
cases with ease.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 10/15/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
I think you can avoid calling RelationGetNumberOfBlocks, if you call
smgrexists before
This is done in the attached v5, 0001.
and for the purpose of vacuum, we can get that as an
input parameter. I think one can argue for not changing the interface
functions like RecordPageWithFreeSpace to avoid calling
RelationGetNumberOfBlocks, but to me, it appears worth to save the
additional system call.
This is done in 0002. I also added a check for the cached value of
pg_class.relpages, since it's cheap and may help non-VACUUM callers.
[proposal for a cache of blocks to try]
That's interesting. I'll have to do some reading elsewhere in the
codebase, and then I'll follow up.
Thanks,
-John Naylor
Attachments:
v5-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v5-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From 0dafd220e437ed1cf9ed77e41cf3090365a63798 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Tue, 16 Oct 2018 17:10:14 +0700
Subject: [PATCH v5 1/2] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has fewer than 10 blocks. If the last
known good block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 ++++++------
contrib/pageinspect/sql/page.sql | 33 +++--
src/backend/access/heap/hio.c | 141 +++++++++++++++++-----
src/backend/storage/freespace/freespace.c | 64 +++++++++-
src/include/storage/freespace.h | 4 +
5 files changed, 236 insertions(+), 83 deletions(-)
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..dd38c45845 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -24,6 +24,12 @@
#include "storage/lmgr.h"
#include "storage/smgr.h"
+/*#define TRACE_TARGETBLOCK */
+
+static BlockNumber get_page_no_fsm(Relation relation,
+ BlockNumber prevBlockAttempted,
+ bool *try_every_page);
+
/*
* RelationPutHeapTuple - place tuple at specified page
@@ -315,13 +321,15 @@ RelationGetBufferForTuple(Relation relation, Size len,
BulkInsertState bistate,
Buffer *vmbuffer, Buffer *vmbuffer_other)
{
- bool use_fsm = !(options & HEAP_INSERT_SKIP_FSM);
+ bool always_extend = (options & HEAP_INSERT_SKIP_FSM),
+ try_every_page = false;
Buffer buffer = InvalidBuffer;
Page page;
Size pageFreeSpace = 0,
saveFreeSpace = 0;
BlockNumber targetBlock,
- otherBlock;
+ otherBlock,
+ prevBlockAttempted;
bool needLock;
len = MAXALIGN(len); /* be conservative */
@@ -355,47 +363,42 @@ RelationGetBufferForTuple(Relation relation, Size len,
* loop around and retry multiple times. (To insure this isn't an infinite
* loop, we must update the FSM with the correct amount of free space on
* each page that proves not to be suitable.) If the FSM has no record of
- * a page with enough free space, we give up and extend the relation.
+ * a page with enough free space, we try every page if the heap is small,
+ * or give up and extend the relation.
*
- * When use_fsm is false, we either put the tuple onto the existing target
- * page or extend the relation.
+ * When always_extend is true, we either put the tuple onto the existing
+ * target page or extend the relation.
*/
if (len + saveFreeSpace > MaxHeapTupleSize)
{
/* can't fit, don't bother asking FSM */
targetBlock = InvalidBlockNumber;
- use_fsm = false;
+ always_extend = true;
}
else if (bistate && bistate->current_buf != InvalidBuffer)
targetBlock = BufferGetBlockNumber(bistate->current_buf);
else
targetBlock = RelationGetTargetBlock(relation);
- if (targetBlock == InvalidBlockNumber && use_fsm)
+ if (targetBlock == InvalidBlockNumber && !always_extend)
{
/*
* We have no cached target page, so ask the FSM for an initial
* target.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
+ targetBlock = get_page_no_fsm(relation, InvalidBlockNumber,
+ &try_every_page);
}
loop:
while (targetBlock != InvalidBlockNumber)
{
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Attempting block %u", targetBlock);
+#endif
/*
* Read and exclusive-lock the target block, as well as the other
* block if one was given, taking suitable care with lock ordering and
@@ -482,6 +485,10 @@ loop:
pageFreeSpace = PageGetHeapFreeSpace(page);
if (len + saveFreeSpace <= pageFreeSpace)
{
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Returning buffer for block %u", targetBlock);
+#endif
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
return buffer;
@@ -502,18 +509,37 @@ loop:
ReleaseBuffer(buffer);
}
- /* Without FSM, always fall out of the loop and extend */
- if (!use_fsm)
+ if (always_extend)
break;
- /*
- * Update FSM as to condition of this page, and ask for another page
- * to try.
- */
- targetBlock = RecordAndGetPageWithFreeSpace(relation,
- targetBlock,
- pageFreeSpace,
- len + saveFreeSpace);
+ if (try_every_page)
+ {
+ /* We've tried every page; extend. */
+ if (targetBlock == 0)
+ break;
+
+ /* Try the next lower block number. */
+ targetBlock--;
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Trying next lower block number");
+#endif
+ }
+ else
+ {
+ /*
+ * Update FSM as to condition of this page, and ask for another
+ * page to try.
+ */
+ prevBlockAttempted = targetBlock;
+ targetBlock = RecordAndGetPageWithFreeSpace(relation,
+ targetBlock,
+ pageFreeSpace,
+ len + saveFreeSpace);
+ if (targetBlock == InvalidBlockNumber)
+ targetBlock = get_page_no_fsm(relation, prevBlockAttempted,
+ &try_every_page);
+ }
}
/*
@@ -534,7 +560,7 @@ loop:
*/
if (needLock)
{
- if (!use_fsm)
+ if (always_extend || try_every_page)
LockRelationForExtension(relation, ExclusiveLock);
else if (!ConditionalLockRelationForExtension(relation, ExclusiveLock))
{
@@ -554,6 +580,10 @@ loop:
if (targetBlock != InvalidBlockNumber)
{
UnlockRelationForExtension(relation, ExclusiveLock);
+
+ /* This shouldn't be true, but let's make sure it isn't. */
+ try_every_page = false;
+
goto loop;
}
@@ -627,3 +657,54 @@ loop:
return buffer;
}
+
+/*
+ * If the FSM has no information, first try the last page in the relation
+ * if we haven't already. This avoids one-tuple-per-page syndrome during
+ * bootstrapping or in a recently-started system.
+ *
+ * If the heap is small enough, it likely has no FSM (or a truncated one),
+ * but even if it does, just try every page.
+ *
+ * If InvalidBlockNumber is returned, extend the relation.
+ */
+static BlockNumber
+get_page_no_fsm(Relation relation,
+ BlockNumber prevBlockAttempted,
+ bool *try_every_page)
+{
+ BlockNumber nblocks = RelationGetNumberOfBlocks(relation),
+ targetBlock = InvalidBlockNumber;
+
+ if (nblocks > 0)
+ {
+ targetBlock = nblocks - 1;
+
+ if (nblocks <= HEAP_FSM_EXTENSION_THRESHOLD)
+ {
+ *try_every_page = true;
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Setting try_every_page");
+#endif
+ /* If we already tried the last page, skip it or extend. */
+ if (targetBlock == prevBlockAttempted)
+ {
+ if (nblocks > 1)
+ {
+ Assert(targetBlock != InvalidBlockNumber);
+ targetBlock--;
+ }
+ else
+ targetBlock = InvalidBlockNumber;
+ }
+ }
+ else
+ {
+ /* If we already tried the last page, extend. */
+ if (targetBlock == prevBlockAttempted)
+ targetBlock = InvalidBlockNumber;
+ }
+ }
+ return targetBlock;
+}
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..8414e33aed 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -111,6 +111,7 @@ static BlockNumber fsm_search(Relation rel, uint8 min_cat);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool allow_write_to_fsm(Relation rel, BlockNumber heapblk);
/******** Public API ********/
@@ -125,8 +126,7 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
* will turn out to have too little space available by the time the caller
* gets a lock on it. In that case, the caller should report the actual
* amount of free space available on that page and then try again (see
- * RecordAndGetPageWithFreeSpace). If InvalidBlockNumber is returned,
- * extend the relation.
+ * RecordAndGetPageWithFreeSpace).
*/
BlockNumber
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
@@ -155,6 +155,9 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
uint16 slot;
int search_slot;
+ if (!allow_write_to_fsm(rel, oldPage))
+ return InvalidBlockNumber;
+
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -184,6 +187,9 @@ RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
FSMAddress addr;
uint16 slot;
+ if (!allow_write_to_fsm(rel, heapBlk))
+ return;
+
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -204,11 +210,35 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
blkno = fsm_logical_to_physical(addr);
+ /* This is meant to mirror the logic in allow_write_to_fsm() */
+ if (heapBlk > HEAP_FSM_EXTENSION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ {
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
+
/* If the page doesn't exist already, extend */
buf = XLogReadBufferExtended(rnode, FSM_FORKNUM, blkno, RBM_ZERO_ON_ERROR);
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
@@ -904,3 +934,33 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number
+ * of pages exceeds HEAP_FSM_EXTENSION_THRESHOLD. For tables
+ * that don't already have a FSM, this will save an inode
+ * and a few kB of space.
+ */
+static bool
+allow_write_to_fsm(Relation rel, BlockNumber heapblk)
+{
+ BlockNumber heap_nblocks;
+
+ if (heapblk > HEAP_FSM_EXTENSION_THRESHOLD)
+ return true;
+
+ /* Index rels can always create an FSM. */
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ RelationOpenSmgr(rel);
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ return true;
+
+ /* last resort */
+ heap_nblocks = RelationGetNumberOfBlocks(rel);
+ if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ return true;
+ else
+ return false;
+}
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..68e4d27818 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,10 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+/* TODO: Performance-test different values. */
+#define HEAP_FSM_EXTENSION_THRESHOLD 10
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
--
2.17.1
v5-0002-Add-parameter-nblocks-to-RecordPageWithFreeSpace.patchtext/x-patch; charset=US-ASCII; name=v5-0002-Add-parameter-nblocks-to-RecordPageWithFreeSpace.patchDownload
From b928d4fd814aefaa90bde5388ad81a1a68e363a5 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Tue, 16 Oct 2018 17:12:19 +0700
Subject: [PATCH v5 2/2] Add parameter nblocks to RecordPageWithFreeSpace().
Now, VACUUM won't be penalized by too many system calls to get number of
blocks in the relation when it calls RecordPageWithFreeSpace().
---
src/backend/access/brin/brin.c | 2 +-
src/backend/access/brin/brin_pageops.c | 8 +++---
src/backend/access/heap/hio.c | 2 +-
src/backend/commands/vacuumlazy.c | 17 +++++++------
src/backend/storage/freespace/freespace.c | 31 +++++++++++++++++++----
src/backend/storage/freespace/indexfsm.c | 4 +--
src/include/storage/freespace.h | 2 +-
7 files changed, 44 insertions(+), 22 deletions(-)
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index e95fbbcea7..7c5b1af764 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1148,7 +1148,7 @@ terminate_brin_buildstate(BrinBuildState *state)
freespace = PageGetFreeSpace(page);
blk = BufferGetBlockNumber(state->bs_currentInsertBuf);
ReleaseBuffer(state->bs_currentInsertBuf);
- RecordPageWithFreeSpace(state->bs_irel, blk, freespace);
+ RecordPageWithFreeSpace(state->bs_irel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(state->bs_irel, blk, blk + 1);
}
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c
index 040cb62e55..70d93878ba 100644
--- a/src/backend/access/brin/brin_pageops.c
+++ b/src/backend/access/brin/brin_pageops.c
@@ -310,7 +310,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, newblk, freespace);
+ RecordPageWithFreeSpace(idxrel, newblk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, newblk, newblk + 1);
}
@@ -461,7 +461,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, blk, freespace);
+ RecordPageWithFreeSpace(idxrel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, blk, blk + 1);
}
@@ -654,7 +654,7 @@ brin_page_cleanup(Relation idxrel, Buffer buf)
/* Measure free space and record it */
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buf),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
/*
@@ -895,7 +895,7 @@ brin_initialize_empty_new_buffer(Relation idxrel, Buffer buffer)
* pages whose FSM records were forgotten in a crash.
*/
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buffer),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index dd38c45845..47ca168465 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -246,7 +246,7 @@ RelationAddExtraBlocks(Relation relation, BulkInsertState bistate)
* chance of making this page visible to other concurrently inserting
* backends, and we want that to happen without delay.
*/
- RecordPageWithFreeSpace(relation, blockNum, freespace);
+ RecordPageWithFreeSpace(relation, blockNum, freespace, InvalidBlockNumber);
}
while (--extraBlocks > 0);
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 8996d366e9..9f4d8adcdb 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -154,7 +154,7 @@ static BufferAccessStrategy vac_strategy;
static void lazy_scan_heap(Relation onerel, int options,
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
bool aggressive);
-static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
+static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
static void lazy_vacuum_index(Relation indrel,
IndexBulkDeleteResult **stats,
@@ -759,7 +759,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
/* Remove tuples from heap */
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
/*
* Forget the now-vacuumed tuples, and press on, but be careful
@@ -897,7 +897,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
MarkBufferDirty(buf);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -936,7 +936,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
}
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -1339,7 +1339,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* taken if there are no indexes.)
*/
if (vacrelstats->num_dead_tuples == prev_dead_count)
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
}
/* report that everything is scanned and vacuumed */
@@ -1401,7 +1401,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
/* Remove tuples from heap */
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
vacrelstats->num_index_scans++;
}
@@ -1472,9 +1472,10 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* Note: the reason for doing this as a second pass is we cannot remove
* the tuples until we've removed their index entries, and we want to
* process index entry removal in batches as large as possible.
+ * Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
*/
static void
-lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
+lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
{
int tupindex;
int npages;
@@ -1511,7 +1512,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, tblk, freespace);
+ RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
npages++;
}
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 8414e33aed..7592e17279 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -111,7 +111,7 @@ static BlockNumber fsm_search(Relation rel, uint8 min_cat);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
-static bool allow_write_to_fsm(Relation rel, BlockNumber heapblk);
+static bool allow_write_to_fsm(Relation rel, BlockNumber heapblk, BlockNumber cached_nblocks);
/******** Public API ********/
@@ -155,7 +155,7 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
uint16 slot;
int search_slot;
- if (!allow_write_to_fsm(rel, oldPage))
+ if (!allow_write_to_fsm(rel, oldPage, InvalidBlockNumber))
return InvalidBlockNumber;
/* Get the location of the FSM byte representing the heap block */
@@ -181,13 +181,13 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
* FreeSpaceMapVacuum call, which updates the upper level pages.
*/
void
-RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
+RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail, BlockNumber nblocks)
{
int new_cat = fsm_space_avail_to_cat(spaceAvail);
FSMAddress addr;
uint16 slot;
- if (!allow_write_to_fsm(rel, heapBlk))
+ if (!allow_write_to_fsm(rel, heapBlk, nblocks))
return;
/* Get the location of the FSM byte representing the heap block */
@@ -942,9 +942,10 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
* and a few kB of space.
*/
static bool
-allow_write_to_fsm(Relation rel, BlockNumber heapblk)
+allow_write_to_fsm(Relation rel, BlockNumber heapblk, BlockNumber cached_nblocks)
{
BlockNumber heap_nblocks;
+ bool skip_get_nblocks = false;
if (heapblk > HEAP_FSM_EXTENSION_THRESHOLD)
return true;
@@ -953,10 +954,30 @@ allow_write_to_fsm(Relation rel, BlockNumber heapblk)
if (rel->rd_rel->relkind != RELKIND_RELATION)
return true;
+ /*
+ * If the caller knows nblocks, we can avoid a system call later.
+ * If it doesn't, maybe we have relpages from a previous VACUUM.
+ * Since the table may have extended since then, we still have to
+ * count the pages later if we can't return now.
+ */
+ if (cached_nblocks != InvalidBlockNumber)
+ {
+ if (cached_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = true;
+ }
+ else if (rel->rd_rel->relpages != InvalidBlockNumber &&
+ rel->rd_rel->relpages > HEAP_FSM_EXTENSION_THRESHOLD)
+ return true;
+
RelationOpenSmgr(rel);
if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
return true;
+ if (skip_get_nblocks)
+ return false;
+
/* last resort */
heap_nblocks = RelationGetNumberOfBlocks(rel);
if (heap_nblocks > HEAP_FSM_EXTENSION_THRESHOLD)
diff --git a/src/backend/storage/freespace/indexfsm.c b/src/backend/storage/freespace/indexfsm.c
index e21047b96f..d8fd29a7eb 100644
--- a/src/backend/storage/freespace/indexfsm.c
+++ b/src/backend/storage/freespace/indexfsm.c
@@ -51,7 +51,7 @@ GetFreeIndexPage(Relation rel)
void
RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
{
- RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
+ RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1, InvalidBlockNumber);
}
@@ -61,7 +61,7 @@ RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
void
RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
{
- RecordPageWithFreeSpace(rel, usedBlock, 0);
+ RecordPageWithFreeSpace(rel, usedBlock, 0, InvalidBlockNumber);
}
/*
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 68e4d27818..e86ad9d77e 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -30,7 +30,7 @@ extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
Size oldSpaceAvail,
Size spaceNeeded);
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
- Size spaceAvail);
+ Size spaceAvail, BlockNumber nblocks);
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
Size spaceAvail);
--
2.17.1
On Tue, Oct 16, 2018 at 4:27 PM John Naylor <jcnaylor@gmail.com> wrote:
[proposal for a cache of blocks to try]
That's interesting. I'll have to do some reading elsewhere in the
codebase, and then I'll follow up.
Thanks, I have changed the status of this patch as "Waiting on
Author". Feel free to change it once you have a new patch.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 10/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
I think we can avoid using prevBlockNumber and try_every_block, if we
maintain a small cache which tells whether the particular block is
tried or not. What I am envisioning is that while finding the block
with free space, if we came to know that the relation in question is
small enough that it doesn't have FSM, we can perform a local_search.
In local_seach, we can enquire the cache for any block that we can try
and if we find any block, we can try inserting in that block,
otherwise, we need to extend the relation. One simple way to imagine
such a cache would be an array of structure and structure has blkno
and status fields. After we get the usable block, we need to clear
the cache, if exists.
Here is the design I've implemented in the attached v6. There is more
code than v5, but there's a cleaner separation between freespace.c and
hio.c, as you preferred. I also think it's more robust. I've expended
some effort to avoid doing unnecessary system calls to get the number
of blocks.
--
For the local, in-memory map, maintain a static array of status
markers, of fixed-length HEAP_FSM_CREATION_THRESHOLD, indexed by block
number. This is populated every time we call GetPageWithFreeSpace() on
small tables with no FSM. The statuses are
'zero' (beyond the relation)
'available to try'
'tried already'
Example for a 4-page heap:
01234567
AAAA0000
If we try block 3 and there is no space, we set it to 'tried' and next
time through the loop we'll try 2, etc:
01234567
AAAT0000
If we try all available blocks, we will extend the relation. As in the
master branch, first we call GetPageWithFreeSpace() again to see if
another backend extended the relation to 5 blocks while we were
waiting for the lock. If we find a new block, we will mark the new
block available and leave the rest alone:
01234567
TTTTA000
On the odd chance we still can't insert into the new block, we'll skip
checking any others and we'll redo the logic to extend the relation.
If we're about to successfully return a buffer, whether from an
existing block, or by extension, we clear the local map.
Once this is in shape, I'll do some performance testing.
-John Naylor
Attachments:
v6-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v6-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From 529fa1f57946d70736b2304c2883213e45f7c077 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Mon, 22 Oct 2018 13:39:25 +0700
Subject: [PATCH v6] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has fewer than 8 blocks. If the last
known good block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 ++++----
contrib/pageinspect/sql/page.sql | 33 ++--
src/backend/access/brin/brin.c | 2 +-
src/backend/access/brin/brin_pageops.c | 8 +-
src/backend/access/heap/hio.c | 57 ++++--
src/backend/commands/vacuumlazy.c | 17 +-
src/backend/storage/freespace/freespace.c | 224 +++++++++++++++++++++-
src/backend/storage/freespace/indexfsm.c | 4 +-
src/include/storage/freespace.h | 7 +-
9 files changed, 344 insertions(+), 85 deletions(-)
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index e95fbbcea7..7c5b1af764 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1148,7 +1148,7 @@ terminate_brin_buildstate(BrinBuildState *state)
freespace = PageGetFreeSpace(page);
blk = BufferGetBlockNumber(state->bs_currentInsertBuf);
ReleaseBuffer(state->bs_currentInsertBuf);
- RecordPageWithFreeSpace(state->bs_irel, blk, freespace);
+ RecordPageWithFreeSpace(state->bs_irel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(state->bs_irel, blk, blk + 1);
}
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c
index 040cb62e55..70d93878ba 100644
--- a/src/backend/access/brin/brin_pageops.c
+++ b/src/backend/access/brin/brin_pageops.c
@@ -310,7 +310,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, newblk, freespace);
+ RecordPageWithFreeSpace(idxrel, newblk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, newblk, newblk + 1);
}
@@ -461,7 +461,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, blk, freespace);
+ RecordPageWithFreeSpace(idxrel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, blk, blk + 1);
}
@@ -654,7 +654,7 @@ brin_page_cleanup(Relation idxrel, Buffer buf)
/* Measure free space and record it */
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buf),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
/*
@@ -895,7 +895,7 @@ brin_initialize_empty_new_buffer(Relation idxrel, Buffer buffer)
* pages whose FSM records were forgotten in a crash.
*/
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buffer),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..092ca5b571 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -24,6 +24,8 @@
#include "storage/lmgr.h"
#include "storage/smgr.h"
+/*#define TRACE_TARGETBLOCK */
+
/*
* RelationPutHeapTuple - place tuple at specified page
@@ -239,8 +241,12 @@ RelationAddExtraBlocks(Relation relation, BulkInsertState bistate)
* Immediately update the bottom level of the FSM. This has a good
* chance of making this page visible to other concurrently inserting
* backends, and we want that to happen without delay.
+ *
+ * Since we know the table will end up with more than extraBlocks
+ * number of pages, we pass that number to avoid an unnecessary
+ * system call and to make sure the FSM has been created.
*/
- RecordPageWithFreeSpace(relation, blockNum, freespace);
+ RecordPageWithFreeSpace(relation, blockNum, freespace, extraBlocks);
}
while (--extraBlocks > 0);
@@ -378,24 +384,15 @@ RelationGetBufferForTuple(Relation relation, Size len,
* target.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
- if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
}
loop:
while (targetBlock != InvalidBlockNumber)
{
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Attempting block %u", targetBlock);
+#endif
/*
* Read and exclusive-lock the target block, as well as the other
* block if one was given, taking suitable care with lock ordering and
@@ -484,6 +481,16 @@ loop:
{
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ ClearLocalMap();
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Returning buffer for block %u", targetBlock);
+#endif
return buffer;
}
@@ -557,11 +564,18 @@ loop:
goto loop;
}
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Bulk-extending relation");
+#endif
/* Time to bulk-extend. */
RelationAddExtraBlocks(relation, bistate);
}
}
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Extending relation");
+#endif
+
/*
* In addition to whatever extension we performed above, we always add at
* least one block to satisfy our own request.
@@ -600,10 +614,11 @@ loop:
* risk wiping out valid data).
*/
page = BufferGetPage(buffer);
+ targetBlock = BufferGetBlockNumber(buffer);
if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
- BufferGetBlockNumber(buffer),
+ targetBlock,
RelationGetRelationName(relation));
PageInit(page, BufferGetPageSize(buffer), 0);
@@ -623,7 +638,17 @@ loop:
* current backend to make more insertions or not, which is probably a
* good bet most of the time. So for now, don't add it to FSM yet.
*/
- RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer));
+ RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ ClearLocalMap();
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Returning buffer for block %u", targetBlock);
+#endif
return buffer;
}
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 8996d366e9..9f4d8adcdb 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -154,7 +154,7 @@ static BufferAccessStrategy vac_strategy;
static void lazy_scan_heap(Relation onerel, int options,
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
bool aggressive);
-static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
+static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
static void lazy_vacuum_index(Relation indrel,
IndexBulkDeleteResult **stats,
@@ -759,7 +759,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
/* Remove tuples from heap */
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
/*
* Forget the now-vacuumed tuples, and press on, but be careful
@@ -897,7 +897,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
MarkBufferDirty(buf);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -936,7 +936,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
}
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -1339,7 +1339,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* taken if there are no indexes.)
*/
if (vacrelstats->num_dead_tuples == prev_dead_count)
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
}
/* report that everything is scanned and vacuumed */
@@ -1401,7 +1401,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
/* Remove tuples from heap */
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
vacrelstats->num_index_scans++;
}
@@ -1472,9 +1472,10 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* Note: the reason for doing this as a second pass is we cannot remove
* the tuples until we've removed their index entries, and we want to
* process index entry removal in batches as large as possible.
+ * Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
*/
static void
-lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
+lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
{
int tupindex;
int npages;
@@ -1511,7 +1512,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, tblk, freespace);
+ RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
npages++;
}
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..1005459f7c 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -76,6 +76,11 @@
#define FSM_ROOT_LEVEL (FSM_TREE_DEPTH - 1)
#define FSM_BOTTOM_LEVEL 0
+/* Status codes for local map. */
+#define FSM_LOCAL_ZERO 0x00 /* Beyond the end of the relation */
+#define FSM_LOCAL_AVAIL 0x01 /* Available to try */
+#define FSM_LOCAL_TRIED 0x02 /* Already tried, not enough space */
+
/*
* The internal FSM routines work on a logical addressing scheme. Each
* level of the tree can be thought of as a separately addressable file.
@@ -89,6 +94,9 @@ typedef struct
/* Address of the root page. */
static const FSMAddress FSM_ROOT_ADDRESS = {FSM_ROOT_LEVEL, 0};
+/* Local map of block numbers to try. */
+static char FSMLocalMap[HEAP_FSM_CREATION_THRESHOLD] = {FSM_LOCAL_ZERO};
+
/* functions to navigate the tree */
static FSMAddress fsm_get_child(FSMAddress parent, uint16 slot);
static FSMAddress fsm_get_parent(FSMAddress child, uint16 *slot);
@@ -111,6 +119,10 @@ static BlockNumber fsm_search(Relation rel, uint8 min_cat);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks);
+static void fsm_local_set(Relation rel, BlockNumber nblocks);
+static BlockNumber fsm_local_search(void);
/******** Public API ********/
@@ -132,8 +144,35 @@ BlockNumber
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
{
uint8 min_cat = fsm_space_needed_to_cat(spaceNeeded);
+ BlockNumber target_block,
+ nblocks;
+
+ /* First try the FSM, if it exists. */
+ target_block = fsm_search(rel, min_cat);
- return fsm_search(rel, min_cat);
+ if (target_block == InvalidBlockNumber &&
+ rel->rd_rel->relkind == RELKIND_RELATION)
+ {
+ nblocks = RelationGetNumberOfBlocks(rel);
+
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ {
+ /*
+ * If the FSM knows nothing of the rel, try the last page before
+ * we give up and extend. This avoids one-tuple-per-page syndrome
+ * during bootstrapping or in a recently-started system.
+ */
+ target_block = nblocks - 1;
+ }
+ else if (nblocks > 0)
+ {
+ /* Create or update local map and get first candidate block. */
+ fsm_local_set(rel, nblocks);
+ target_block = fsm_local_search();
+ }
+ }
+
+ return target_block;
}
/*
@@ -154,6 +193,32 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
FSMAddress addr;
uint16 slot;
int search_slot;
+ BlockNumber nblocks = InvalidBlockNumber;
+
+ if (oldPage < HEAP_FSM_CREATION_THRESHOLD &&
+ rel->rd_rel->relkind == RELKIND_RELATION)
+ {
+ /* First try the local map, if it exists. */
+ if (FSMLocalMap[oldPage] == FSM_LOCAL_AVAIL)
+ {
+ FSMLocalMap[oldPage] = FSM_LOCAL_TRIED;
+ return fsm_local_search();
+ }
+
+ /*
+ * If we have neither a local map nor an FSM, we probably just
+ * tried the target block in the relcache and failed, so we'll
+ * need to create the local map.
+ */
+ if (!fsm_allow_writes(rel, oldPage, InvalidBlockNumber, &nblocks))
+ {
+ /* Create local map and get first candidate block. */
+ fsm_local_set(rel, nblocks);
+ return fsm_local_search();
+ }
+ }
+
+ /* Normal FSM logic follows */
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -178,11 +243,17 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
* FreeSpaceMapVacuum call, which updates the upper level pages.
*/
void
-RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
+RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
+ Size spaceAvail, BlockNumber nblocks)
{
int new_cat = fsm_space_avail_to_cat(spaceAvail);
FSMAddress addr;
uint16 slot;
+ BlockNumber dummy;
+
+ /* Note: We do not have a local map to update. */
+ if (!fsm_allow_writes(rel, heapBlk, nblocks, &dummy))
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -190,6 +261,16 @@ RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
fsm_set_and_search(rel, addr, slot, new_cat, 0);
}
+/*
+ * Clear the local map. We must call this when we have found a block with
+ * enough free space, or when we extend the relation.
+ */
+void
+ClearLocalMap(void)
+{
+ memset(FSMLocalMap, 0, sizeof(FSMLocalMap));
+}
+
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
@@ -204,11 +285,35 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
blkno = fsm_logical_to_physical(addr);
+ /* This is meant to mirror the logic in fsm_allow_writes() */
+ if (heapBlk > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ {
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
+
/* If the page doesn't exist already, extend */
buf = XLogReadBufferExtended(rnode, FSM_FORKNUM, blkno, RBM_ZERO_ON_ERROR);
LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);
@@ -904,3 +1009,118 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_CREATION_THRESHOLD. For tables that don't already have
+ * a FSM, this will save an inode and a few kB of space.
+ *
+ * XXX The API is a little awkward -- if the caller has a valid nblocks,
+ * it can pass it as an optimization to avoid a system call. If the caller
+ * passes InvalidBlockNumber and receives a false return value, it can
+ * get an up-to-date relation size from get_nblocks.
+ */
+static bool
+fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks)
+{
+ bool skip_get_nblocks;
+
+ if (heapblk > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+
+ /* Index rels can always create an FSM. */
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /*
+ * If the caller knows nblocks, we can avoid a system call later.
+ * If it doesn't, maybe we have relpages from a previous VACUUM.
+ * Since the table may have extended since then, we still have to
+ * count the pages later if we can't return now.
+ */
+ if (nblocks != InvalidBlockNumber)
+ {
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = true;
+ }
+ else
+ {
+ if (rel->rd_rel->relpages != InvalidBlockNumber &&
+ rel->rd_rel->relpages > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = false;
+ }
+
+ RelationOpenSmgr(rel);
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ return true;
+
+ if (skip_get_nblocks)
+ return false;
+
+ /* last resort */
+ *get_nblocks = RelationGetNumberOfBlocks(rel);
+ if (*get_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ return false;
+}
+
+/*
+ * Set or update the local map of blocks to try, for when there is no FSM.
+ * It's designed specifically to be idempotent, so the heap insert code
+ * should only clear the map when it has found a free block or when it
+ * has to extend the relation. That way, if we have tried all blocks we
+ * know about, but the rel has been extended by another backend, this will
+ * set only newly added blocks to 'available'.
+ */
+static void
+fsm_local_set(Relation rel, BlockNumber nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ /*
+ * If the blkno is beyond the end of the relation, the status should
+ * be zero already, but make sure it is. If the blkno is within the
+ * relation, mark it available unless it's already been tried.
+ */
+ for (blkno = 0; blkno < HEAP_FSM_CREATION_THRESHOLD; blkno++)
+ {
+ if (blkno < nblocks)
+ FSMLocalMap[blkno] |= FSM_LOCAL_AVAIL;
+ else
+ FSMLocalMap[blkno] = FSM_LOCAL_ZERO;
+ }
+
+ /* Set the status of the cached target block to 'tried'. */
+ cached_target_block = RelationGetTargetBlock(rel);
+ if (cached_target_block != InvalidBlockNumber &&
+ cached_target_block < HEAP_FSM_CREATION_THRESHOLD)
+ FSMLocalMap[cached_target_block] = FSM_LOCAL_TRIED;
+}
+
+/*
+ * Search the local map for an available block to try, in descending order.
+ *
+ * For use when there is no FSM.
+ */
+static BlockNumber
+fsm_local_search(void)
+{
+ BlockNumber target_block = HEAP_FSM_CREATION_THRESHOLD;
+
+ do
+ {
+ target_block--;
+ if (FSMLocalMap[target_block] == FSM_LOCAL_AVAIL)
+ return target_block;
+ }
+ while (target_block > 0);
+
+ return InvalidBlockNumber;
+}
diff --git a/src/backend/storage/freespace/indexfsm.c b/src/backend/storage/freespace/indexfsm.c
index e21047b96f..d8fd29a7eb 100644
--- a/src/backend/storage/freespace/indexfsm.c
+++ b/src/backend/storage/freespace/indexfsm.c
@@ -51,7 +51,7 @@ GetFreeIndexPage(Relation rel)
void
RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
{
- RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
+ RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1, InvalidBlockNumber);
}
@@ -61,7 +61,7 @@ RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
void
RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
{
- RecordPageWithFreeSpace(rel, usedBlock, 0);
+ RecordPageWithFreeSpace(rel, usedBlock, 0, InvalidBlockNumber);
}
/*
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..0d130ddfe0 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,10 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+/* TODO: Performance-test different values. */
+#define HEAP_FSM_CREATION_THRESHOLD 8
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
@@ -26,7 +30,8 @@ extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
Size oldSpaceAvail,
Size spaceNeeded);
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
- Size spaceAvail);
+ Size spaceAvail, BlockNumber nblocks);
+extern void ClearLocalMap(void);
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
Size spaceAvail);
--
2.17.1
I wrote:
Once this is in shape, I'll do some performance testing.
On second thought, there's no point in waiting, especially if a
regression points to a design flaw.
I compiled patched postgres with HEAP_FSM_CREATION_THRESHOLD set to
32, then ran the attached script which populates 100 tables with
varying numbers of blocks. I wanted a test that created pages eagerly
and wrote to disk as little as possible. Config was stock, except for
fsync = off. I took the average of 10 runs after removing the slowest
and fastest run:
# blocks master patch
4 36.4ms 33.9ms
8 50.6ms 48.9ms
12 58.6ms 66.3ms
16 65.5ms 81.4ms
It seems under these circumstances a threshold of up to 8 performs
comparably to the master branch, with small block numbers possibly
faster than with the FSM, provided they're in shared buffers already.
I didn't bother testing higher values because it's clear there's a
regression starting around 10 or so, beyond which it helps to have the
FSM.
A case could be made for setting the threshold to 4, since not having
3 blocks of FSM in shared buffers exactly makes up for the 3 other
blocks of heap that are checked when free space runs out.
I can run additional tests if there's interest.
-John Naylor
Attachments:
Upthread I wrote:
-A possible TODO item is to teach pg_upgrade not to link FSMs for
small heaps. I haven't look into the feasibility of that, however.
This turned out to be relatively light weight (0002 attached). I had
to add relkind to the RelInfo struct and save the size of each heap as
its transferred. The attached SQL script will setup a couple test
cases to demonstrate pg_upgrade. Installations with large numbers of
small tables will be able to see space savings right away.
For 0001, I adjusted the README and docs, and also made some cosmetic
improvements to the code, mostly in the comments. I've set the
commitfest entry back to 'needs review'
One thing I noticed is that one behavior on master hasn't changed:
System catalogs created during bootstrap still have a FSM if they have
any data. Possibly related, catalogs also have a VM even if they have
no data at all. This isn't anything to get excited about, but it would
be nice to investigate, at least so it can be documented. A cursory
dig hasn't found the cause, but I'll keep doing that as time permits.
-John Naylor
Attachments:
v7-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v7-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From 428b56e12e3f5d2bd8fc81c9fb5fe7169e9da580 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Wed, 31 Oct 2018 14:26:38 +0700
Subject: [PATCH v7 1/2] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has fewer than 8 blocks. If the last
known good block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 +++----
contrib/pageinspect/sql/page.sql | 33 +--
doc/src/sgml/storage.sgml | 3 +-
src/backend/access/brin/brin.c | 2 +-
src/backend/access/brin/brin_pageops.c | 8 +-
src/backend/access/heap/hio.c | 61 ++++--
src/backend/commands/vacuumlazy.c | 17 +-
src/backend/storage/freespace/README | 11 +-
src/backend/storage/freespace/freespace.c | 234 +++++++++++++++++++++-
src/backend/storage/freespace/indexfsm.c | 4 +-
src/include/storage/freespace.h | 6 +-
11 files changed, 360 insertions(+), 96 deletions(-)
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index 8ef2ac8010..784cc22f4d 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -590,7 +590,8 @@ tuple would otherwise be too big.
<indexterm><primary>FSM</primary><see>Free Space Map</see></indexterm>
<para>
-Each heap and index relation, except for hash indexes, has a Free Space Map
+Each heap relation, unless it is very small, and each index relation,
+except for hash indexes, has a Free Space Map
(FSM) to keep track of available space in the relation. It's stored
alongside the main relation data in a separate relation fork, named after the
filenode number of the relation, plus a <literal>_fsm</literal> suffix. For example,
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index e95fbbcea7..7c5b1af764 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1148,7 +1148,7 @@ terminate_brin_buildstate(BrinBuildState *state)
freespace = PageGetFreeSpace(page);
blk = BufferGetBlockNumber(state->bs_currentInsertBuf);
ReleaseBuffer(state->bs_currentInsertBuf);
- RecordPageWithFreeSpace(state->bs_irel, blk, freespace);
+ RecordPageWithFreeSpace(state->bs_irel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(state->bs_irel, blk, blk + 1);
}
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c
index 040cb62e55..70d93878ba 100644
--- a/src/backend/access/brin/brin_pageops.c
+++ b/src/backend/access/brin/brin_pageops.c
@@ -310,7 +310,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, newblk, freespace);
+ RecordPageWithFreeSpace(idxrel, newblk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, newblk, newblk + 1);
}
@@ -461,7 +461,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, blk, freespace);
+ RecordPageWithFreeSpace(idxrel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, blk, blk + 1);
}
@@ -654,7 +654,7 @@ brin_page_cleanup(Relation idxrel, Buffer buf)
/* Measure free space and record it */
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buf),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
/*
@@ -895,7 +895,7 @@ brin_initialize_empty_new_buffer(Relation idxrel, Buffer buffer)
* pages whose FSM records were forgotten in a crash.
*/
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buffer),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..ff13c03083 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -24,6 +24,8 @@
#include "storage/lmgr.h"
#include "storage/smgr.h"
+/*#define TRACE_TARGETBLOCK */
+
/*
* RelationPutHeapTuple - place tuple at specified page
@@ -239,8 +241,14 @@ RelationAddExtraBlocks(Relation relation, BulkInsertState bistate)
* Immediately update the bottom level of the FSM. This has a good
* chance of making this page visible to other concurrently inserting
* backends, and we want that to happen without delay.
+ *
+ * Since we know the table will end up with extraBlocks additional
+ * pages, we pass the final number to avoid possible unnecessary
+ * system calls and to make sure the FSM is created when we add
+ * the first new page.
*/
- RecordPageWithFreeSpace(relation, blockNum, freespace);
+ RecordPageWithFreeSpace(relation, blockNum, freespace,
+ blockNum + extraBlocks);
}
while (--extraBlocks > 0);
@@ -378,24 +386,15 @@ RelationGetBufferForTuple(Relation relation, Size len,
* target.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
- if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
}
loop:
while (targetBlock != InvalidBlockNumber)
{
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Attempting block %u", targetBlock);
+#endif
/*
* Read and exclusive-lock the target block, as well as the other
* block if one was given, taking suitable care with lock ordering and
@@ -484,6 +483,17 @@ loop:
{
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ if (targetBlock < HEAP_FSM_CREATION_THRESHOLD)
+ ClearLocalMap();
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Returning buffer for block %u", targetBlock);
+#endif
return buffer;
}
@@ -557,11 +567,18 @@ loop:
goto loop;
}
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Bulk-extending relation");
+#endif
/* Time to bulk-extend. */
RelationAddExtraBlocks(relation, bistate);
}
}
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Extending relation");
+#endif
+
/*
* In addition to whatever extension we performed above, we always add at
* least one block to satisfy our own request.
@@ -600,10 +617,11 @@ loop:
* risk wiping out valid data).
*/
page = BufferGetPage(buffer);
+ targetBlock = BufferGetBlockNumber(buffer);
if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
- BufferGetBlockNumber(buffer),
+ targetBlock,
RelationGetRelationName(relation));
PageInit(page, BufferGetPageSize(buffer), 0);
@@ -623,7 +641,18 @@ loop:
* current backend to make more insertions or not, which is probably a
* good bet most of the time. So for now, don't add it to FSM yet.
*/
- RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer));
+ RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use. We do this unconditionally since after relation
+ * extension we can't reliably skip this based on the targetBlock.
+ */
+ ClearLocalMap();
+
+#ifdef TRACE_TARGETBLOCK
+ elog(DEBUG1, "Returning buffer for block %u", targetBlock);
+#endif
return buffer;
}
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 8996d366e9..9f4d8adcdb 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -154,7 +154,7 @@ static BufferAccessStrategy vac_strategy;
static void lazy_scan_heap(Relation onerel, int options,
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
bool aggressive);
-static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
+static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
static void lazy_vacuum_index(Relation indrel,
IndexBulkDeleteResult **stats,
@@ -759,7 +759,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
/* Remove tuples from heap */
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
/*
* Forget the now-vacuumed tuples, and press on, but be careful
@@ -897,7 +897,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
MarkBufferDirty(buf);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -936,7 +936,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
}
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -1339,7 +1339,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* taken if there are no indexes.)
*/
if (vacrelstats->num_dead_tuples == prev_dead_count)
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
}
/* report that everything is scanned and vacuumed */
@@ -1401,7 +1401,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
/* Remove tuples from heap */
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
vacrelstats->num_index_scans++;
}
@@ -1472,9 +1472,10 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* Note: the reason for doing this as a second pass is we cannot remove
* the tuples until we've removed their index entries, and we want to
* process index entry removal in batches as large as possible.
+ * Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
*/
static void
-lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
+lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
{
int tupindex;
int npages;
@@ -1511,7 +1512,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, tblk, freespace);
+ RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
npages++;
}
diff --git a/src/backend/storage/freespace/README b/src/backend/storage/freespace/README
index e7ff23b76f..abaec871a5 100644
--- a/src/backend/storage/freespace/README
+++ b/src/backend/storage/freespace/README
@@ -5,10 +5,11 @@ Free Space Map
The purpose of the free space map is to quickly locate a page with enough
free space to hold a tuple to be stored; or to determine that no such page
-exists and the relation must be extended by one page. As of PostgreSQL 8.4
-each relation has its own, extensible free space map stored in a separate
-"fork" of its relation. This eliminates the disadvantages of the former
-fixed-size FSM.
+exists and the relation must be extended by one page. For very small heap
+relations, we simply iterate through all the pages in descending order.
+Otherwise, each relation (except for hash indexes) has its own, extensible
+free space map stored in a separate "fork" of its relation. This eliminates
+the disadvantages of the fixed-size FSM used in PostgreSQL 8.3 and earlier.
It is important to keep the map small so that it can be searched rapidly.
Therefore, we don't attempt to record the exact free space on a page.
@@ -192,5 +193,3 @@ TODO
----
- fastroot to avoid traversing upper nodes with just 1 child
-- use a different system for tables that fit into one FSM page, with a
- mechanism to switch to the real thing as it grows.
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..fd37ca6a5c 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -76,6 +76,11 @@
#define FSM_ROOT_LEVEL (FSM_TREE_DEPTH - 1)
#define FSM_BOTTOM_LEVEL 0
+/* Status codes for the local map. */
+#define FSM_LOCAL_ZERO 0x00 /* Beyond the end of the relation */
+#define FSM_LOCAL_AVAIL 0x01 /* Available to try */
+#define FSM_LOCAL_TRIED 0x02 /* Already tried, not enough space */
+
/*
* The internal FSM routines work on a logical addressing scheme. Each
* level of the tree can be thought of as a separately addressable file.
@@ -89,6 +94,9 @@ typedef struct
/* Address of the root page. */
static const FSMAddress FSM_ROOT_ADDRESS = {FSM_ROOT_LEVEL, 0};
+/* Local map of block numbers for small heaps with no FSM. */
+static char FSMLocalMap[HEAP_FSM_CREATION_THRESHOLD] = {FSM_LOCAL_ZERO};
+
/* functions to navigate the tree */
static FSMAddress fsm_get_child(FSMAddress parent, uint16 slot);
static FSMAddress fsm_get_parent(FSMAddress child, uint16 *slot);
@@ -106,11 +114,15 @@ static Size fsm_space_cat_to_avail(uint8 cat);
/* workhorse functions for various operations */
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
- uint8 newValue, uint8 minValue);
+ uint8 newValue, uint8 minValue);
+static void fsm_local_set(Relation rel, BlockNumber nblocks);
static BlockNumber fsm_search(Relation rel, uint8 min_cat);
+static BlockNumber fsm_local_search(void);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks);
/******** Public API ********/
@@ -132,8 +144,35 @@ BlockNumber
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
{
uint8 min_cat = fsm_space_needed_to_cat(spaceNeeded);
+ BlockNumber target_block,
+ nblocks;
+
+ /* First try the FSM, if it exists. */
+ target_block = fsm_search(rel, min_cat);
- return fsm_search(rel, min_cat);
+ if (target_block == InvalidBlockNumber &&
+ rel->rd_rel->relkind == RELKIND_RELATION)
+ {
+ nblocks = RelationGetNumberOfBlocks(rel);
+
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ {
+ /*
+ * If the FSM knows nothing of the rel, try the last page before
+ * we give up and extend. This avoids one-tuple-per-page syndrome
+ * during bootstrapping or in a recently-started system.
+ */
+ target_block = nblocks - 1;
+ }
+ else if (nblocks > 0)
+ {
+ /* Create or update local map and get first candidate block. */
+ fsm_local_set(rel, nblocks);
+ target_block = fsm_local_search();
+ }
+ }
+
+ return target_block;
}
/*
@@ -149,11 +188,38 @@ BlockNumber
RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
Size oldSpaceAvail, Size spaceNeeded)
{
- int old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
- int search_cat = fsm_space_needed_to_cat(spaceNeeded);
+ int old_cat;
+ int search_cat;
FSMAddress addr;
uint16 slot;
int search_slot;
+ BlockNumber nblocks = InvalidBlockNumber;
+
+ /* First try the local map, if it exists. */
+ if (oldPage < HEAP_FSM_CREATION_THRESHOLD &&
+ FSMLocalMap[oldPage] == FSM_LOCAL_AVAIL)
+ {
+ Assert(rel->rd_rel->relkind == RELKIND_RELATION);
+
+ FSMLocalMap[oldPage] = FSM_LOCAL_TRIED;
+ return fsm_local_search();
+ }
+
+ if (!fsm_allow_writes(rel, oldPage, InvalidBlockNumber, &nblocks))
+ {
+ /*
+ * If we have neither a local map nor an FSM, we probably just
+ * tried the target block in the smgr relation entry and failed,
+ * so we'll need to create the local map.
+ */
+ fsm_local_set(rel, nblocks);
+ return fsm_local_search();
+ }
+
+ /* Normal FSM logic follows */
+
+ old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
+ search_cat = fsm_space_needed_to_cat(spaceNeeded);
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -178,18 +244,35 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
* FreeSpaceMapVacuum call, which updates the upper level pages.
*/
void
-RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
+RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
+ Size spaceAvail, BlockNumber nblocks)
{
- int new_cat = fsm_space_avail_to_cat(spaceAvail);
+ int new_cat;
FSMAddress addr;
uint16 slot;
+ BlockNumber dummy;
+
+ if (!fsm_allow_writes(rel, heapBlk, nblocks, &dummy))
+ /* Note: We do not have a local map to update, either. */
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
+ new_cat = fsm_space_avail_to_cat(spaceAvail);
fsm_set_and_search(rel, addr, slot, new_cat, 0);
}
+/*
+ * Clear the local map. We must call this when we have found a block with
+ * enough free space, or when we extend the relation.
+ */
+void
+ClearLocalMap(void)
+{
+ memset(FSMLocalMap, 0, sizeof(FSMLocalMap));
+}
+
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
@@ -204,6 +287,30 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
+
+ /* This is meant to mirror the logic in fsm_allow_writes() */
+ if (heapBlk > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ {
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -904,3 +1011,118 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_CREATION_THRESHOLD. For tables that don't already have
+ * a FSM, this will save an inode and a few kB of space.
+ *
+ * XXX The API is a little awkward -- if the caller has a valid nblocks,
+ * it can pass it as an optimization to avoid a system call. If the caller
+ * passes InvalidBlockNumber and receives a false return value, it can
+ * get an up-to-date relation size from get_nblocks.
+ */
+static bool
+fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks)
+{
+ bool skip_get_nblocks;
+
+ if (heapblk > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+
+ /* Index rels can always create an FSM. */
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /*
+ * If the caller knows nblocks, we can avoid a system call later.
+ * If it doesn't, maybe we have relpages from a previous VACUUM.
+ * Since the table may have extended since then, we still have to
+ * count the pages later if we can't return now.
+ */
+ if (nblocks != InvalidBlockNumber)
+ {
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = true;
+ }
+ else
+ {
+ if (rel->rd_rel->relpages != InvalidBlockNumber &&
+ rel->rd_rel->relpages > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = false;
+ }
+
+ RelationOpenSmgr(rel);
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ return true;
+
+ if (skip_get_nblocks)
+ return false;
+
+ /* last resort */
+ *get_nblocks = RelationGetNumberOfBlocks(rel);
+ if (*get_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ return false;
+}
+
+/*
+ * Set or update the local map of blocks to try, for when there is no FSM.
+ * It's designed specifically to be idempotent, so the heap insert code
+ * should only clear the map when it has found a free block or when it
+ * has to extend the relation. That way, if we have tried all blocks we
+ * know about, but the rel has been extended by another backend, this will
+ * set only newly added blocks to 'available'.
+ */
+static void
+fsm_local_set(Relation rel, BlockNumber nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ /*
+ * If the blkno is beyond the end of the relation, the status should
+ * be zero already, but make sure it is. If the blkno is within the
+ * relation, mark it available unless it's already been tried.
+ */
+ for (blkno = 0; blkno < HEAP_FSM_CREATION_THRESHOLD; blkno++)
+ {
+ if (blkno < nblocks)
+ FSMLocalMap[blkno] |= FSM_LOCAL_AVAIL;
+ else
+ FSMLocalMap[blkno] = FSM_LOCAL_ZERO;
+ }
+
+ /* Set the status of the cached target block to 'tried'. */
+ cached_target_block = RelationGetTargetBlock(rel);
+ if (cached_target_block != InvalidBlockNumber &&
+ cached_target_block < HEAP_FSM_CREATION_THRESHOLD)
+ FSMLocalMap[cached_target_block] = FSM_LOCAL_TRIED;
+}
+
+/*
+ * Search the local map for an available block to try, in descending order.
+ *
+ * For use when there is no FSM.
+ */
+static BlockNumber
+fsm_local_search(void)
+{
+ BlockNumber target_block = HEAP_FSM_CREATION_THRESHOLD;
+
+ do
+ {
+ target_block--;
+ if (FSMLocalMap[target_block] == FSM_LOCAL_AVAIL)
+ return target_block;
+ }
+ while (target_block > 0);
+
+ return InvalidBlockNumber;
+}
diff --git a/src/backend/storage/freespace/indexfsm.c b/src/backend/storage/freespace/indexfsm.c
index e21047b96f..d8fd29a7eb 100644
--- a/src/backend/storage/freespace/indexfsm.c
+++ b/src/backend/storage/freespace/indexfsm.c
@@ -51,7 +51,7 @@ GetFreeIndexPage(Relation rel)
void
RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
{
- RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
+ RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1, InvalidBlockNumber);
}
@@ -61,7 +61,7 @@ RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
void
RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
{
- RecordPageWithFreeSpace(rel, usedBlock, 0);
+ RecordPageWithFreeSpace(rel, usedBlock, 0, InvalidBlockNumber);
}
/*
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..ab7f552b70 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,9 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+#define HEAP_FSM_CREATION_THRESHOLD 8
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
@@ -26,7 +29,8 @@ extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
Size oldSpaceAvail,
Size spaceNeeded);
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
- Size spaceAvail);
+ Size spaceAvail, BlockNumber nblocks);
+extern void ClearLocalMap(void);
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
Size spaceAvail);
--
2.17.1
v7-0002-During-pg_upgrade-skip-transfer-of-FSMs-if-they-w.patchtext/x-patch; charset=US-ASCII; name=v7-0002-During-pg_upgrade-skip-transfer-of-FSMs-if-they-w.patchDownload
From 9b1a35aa768749a7c823df64c761cef60fbb22a7 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Wed, 31 Oct 2018 14:28:03 +0700
Subject: [PATCH v7 2/2] During pg_upgrade, skip transfer of FSMs if they
wouldn't have been created on the new cluster.
---
src/bin/pg_upgrade/info.c | 11 +++++--
src/bin/pg_upgrade/pg_upgrade.h | 6 +++-
src/bin/pg_upgrade/relfilenode.c | 55 +++++++++++++++++++-------------
3 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c
index fd0b44c3ce..31a24e0bec 100644
--- a/src/bin/pg_upgrade/info.c
+++ b/src/bin/pg_upgrade/info.c
@@ -200,6 +200,7 @@ create_rel_filename_map(const char *old_data, const char *new_data,
map->old_db_oid = old_db->db_oid;
map->new_db_oid = new_db->db_oid;
+ map->relkind = old_rel->relkind;
/*
* old_relfilenode might differ from pg_class.oid (and hence
@@ -418,6 +419,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
char *nspname = NULL;
char *relname = NULL;
char *tablespace = NULL;
+ char *relkind = NULL;
int i_spclocation,
i_nspname,
i_relname,
@@ -425,7 +427,8 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_indtable,
i_toastheap,
i_relfilenode,
- i_reltablespace;
+ i_reltablespace,
+ i_relkind;
char query[QUERY_ALLOC];
char *last_namespace = NULL,
*last_tablespace = NULL;
@@ -497,7 +500,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
*/
snprintf(query + strlen(query), sizeof(query) - strlen(query),
"SELECT all_rels.*, n.nspname, c.relname, "
- " c.relfilenode, c.reltablespace, %s "
+ " c.relfilenode, c.reltablespace, c.relkind, %s "
"FROM (SELECT * FROM regular_heap "
" UNION ALL "
" SELECT * FROM toast_heap "
@@ -529,6 +532,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_relfilenode = PQfnumber(res, "relfilenode");
i_reltablespace = PQfnumber(res, "reltablespace");
i_spclocation = PQfnumber(res, "spclocation");
+ i_relkind = PQfnumber(res, "relkind");
for (relnum = 0; relnum < ntups; relnum++)
{
@@ -558,6 +562,9 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
relname = PQgetvalue(res, relnum, i_relname);
curr->relname = pg_strdup(relname);
+ relkind = PQgetvalue(res, relnum, i_relkind);
+ curr->relkind = relkind[0];
+
curr->relfilenode = atooid(PQgetvalue(res, relnum, i_relfilenode));
curr->tblsp_alloc = false;
diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h
index f83a3eeb67..78df636a2a 100644
--- a/src/bin/pg_upgrade/pg_upgrade.h
+++ b/src/bin/pg_upgrade/pg_upgrade.h
@@ -147,6 +147,7 @@ typedef struct
char *tablespace; /* tablespace path; "" for cluster default */
bool nsp_alloc; /* should nspname be freed? */
bool tblsp_alloc; /* should tablespace be freed? */
+ char relkind; /* relation relkind -- see pg_class.h */
} RelInfo;
typedef struct
@@ -173,9 +174,12 @@ typedef struct
*/
Oid old_relfilenode;
Oid new_relfilenode;
- /* the rest are used only for logging and error reporting */
+
+ /* These are used only for logging and error reporting. */
char *nspname; /* namespaces */
char *relname;
+
+ char relkind; /* relation relkind -- see pg_class.h */
} FileNameMap;
/*
diff --git a/src/bin/pg_upgrade/relfilenode.c b/src/bin/pg_upgrade/relfilenode.c
index ed604f26ca..7a7f6ab244 100644
--- a/src/bin/pg_upgrade/relfilenode.c
+++ b/src/bin/pg_upgrade/relfilenode.c
@@ -14,10 +14,11 @@
#include <sys/stat.h>
#include "catalog/pg_class_d.h"
#include "access/transam.h"
+#include "storage/freespace.h"
static void transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace);
-static void transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
+static Size transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
/*
@@ -136,6 +137,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
int mapnum;
bool vm_crashsafe_match = true;
bool vm_must_add_frozenbit = false;
+ Size first_seg_size = 0;
/*
* Do the old and new cluster disagree on the crash-safetiness of the vm
@@ -157,18 +159,22 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
if (old_tablespace == NULL ||
strcmp(maps[mapnum].old_tablespace, old_tablespace) == 0)
{
- /* transfer primary file */
- transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
+ /* Transfer main fork and return size of the first segment. */
+ first_seg_size = transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
/* fsm/vm files added in PG 8.4 */
if (GET_MAJOR_VERSION(old_cluster.major_version) >= 804)
{
/*
- * Copy/link any fsm and vm files, if they exist
+ * Copy/link any fsm and vm files, if they exist and if they would
+ * be created in the new cluster.
*/
- transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
+ if (maps[mapnum].relkind != RELKIND_RELATION ||
+ first_seg_size > HEAP_FSM_CREATION_THRESHOLD * BLCKSZ ||
+ GET_MAJOR_VERSION(new_cluster.major_version) <= 1100)
+ (void) transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
if (vm_crashsafe_match)
- transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
+ (void) transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
}
}
}
@@ -182,7 +188,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
* is true, visibility map forks are converted and rewritten, even in link
* mode.
*/
-static void
+static Size
transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_frozenbit)
{
char old_file[MAXPGPATH];
@@ -190,6 +196,8 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
int segno;
char extent_suffix[65];
struct stat statbuf;
+ int sret;
+ Size first_seg_size = 0;
/*
* Now copy/link any related segments as well. Remember, PG breaks large
@@ -218,26 +226,29 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
type_suffix,
extent_suffix);
- /* Is it an extent, fsm, or vm file? */
- if (type_suffix[0] != '\0' || segno != 0)
- {
- /* Did file open fail? */
- if (stat(old_file, &statbuf) != 0)
- {
- /* File does not exist? That's OK, just return */
- if (errno == ENOENT)
- return;
- else
- pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
- map->nspname, map->relname, old_file, new_file,
- strerror(errno));
- }
+ sret = stat(old_file, &statbuf);
+ /* Save the size of the first segment of the main fork. */
+ if (type_suffix[0] == '\0' && segno == 0)
+ first_seg_size = statbuf.st_size;
+
+ /* The file must be an extent, fsm, or vm. */
+ else if (sret == 0)
+ {
/* If file is empty, just return */
if (statbuf.st_size == 0)
- return;
+ return first_seg_size;
}
+ /* Did file open fail? */
+ else if (errno == ENOENT)
+ /* File does not exist? That's OK, just return */
+ return first_seg_size;
+ else
+ pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
+ map->nspname, map->relname, old_file, new_file,
+ strerror(errno));
+
unlink(new_file);
/* Copying files might take some time, so give feedback. */
--
2.17.1
On Wed, Oct 31, 2018 at 1:42 PM John Naylor <jcnaylor@gmail.com> wrote:
Upthread I wrote:
-A possible TODO item is to teach pg_upgrade not to link FSMs for
small heaps. I haven't look into the feasibility of that, however.This turned out to be relatively light weight (0002 attached). I had
to add relkind to the RelInfo struct and save the size of each heap as
its transferred. The attached SQL script will setup a couple test
cases to demonstrate pg_upgrade. Installations with large numbers of
small tables will be able to see space savings right away.For 0001, I adjusted the README and docs, and also made some cosmetic
improvements to the code, mostly in the comments. I've set the
commitfest entry back to 'needs review'One thing I noticed is that one behavior on master hasn't changed:
System catalogs created during bootstrap still have a FSM if they have
any data. Possibly related, catalogs also have a VM even if they have
no data at all. This isn't anything to get excited about, but it would
be nice to investigate, at least so it can be documented. A cursory
dig hasn't found the cause, but I'll keep doing that as time permits.
Thanks for your work on this, I will try to review it during CF.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Tue, Oct 23, 2018 at 9:42 AM John Naylor <jcnaylor@gmail.com> wrote:
A case could be made for setting the threshold to 4, since not having
3 blocks of FSM in shared buffers exactly makes up for the 3 other
blocks of heap that are checked when free space runs out.
That doesn't seem like an unreasonable argument. I'm not sure whether
the right threshold is 4 or something a little bigger, but I bet it's
not very large. It seems important to me that before anybody thinks
about committing this, we construct some kind of destruction case
where repeated scans of the whole table are triggered as frequently as
possible, and then run that test with varying thresholds. I might be
totally wrong, but I bet with a value as large as 32 you will be able
to find cases where it regresses in a big way.
We also need to think about what happens on the standby, where the FSM
is updated in a fairly different way.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On Wed, Oct 31, 2018 at 10:29 PM Robert Haas <robertmhaas@gmail.com> wrote:
On Tue, Oct 23, 2018 at 9:42 AM John Naylor <jcnaylor@gmail.com> wrote:
A case could be made for setting the threshold to 4, since not having
3 blocks of FSM in shared buffers exactly makes up for the 3 other
blocks of heap that are checked when free space runs out.That doesn't seem like an unreasonable argument. I'm not sure whether
the right threshold is 4 or something a little bigger, but I bet it's
not very large. It seems important to me that before anybody thinks
about committing this, we construct some kind of destruction case
where repeated scans of the whole table are triggered as frequently as
possible, and then run that test with varying thresholds.
Why do you think repeated scans will be a destruction case when there
is no FSM for a small table?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Fri, Nov 2, 2018 at 7:23 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
That doesn't seem like an unreasonable argument. I'm not sure whether
the right threshold is 4 or something a little bigger, but I bet it's
not very large. It seems important to me that before anybody thinks
about committing this, we construct some kind of destruction case
where repeated scans of the whole table are triggered as frequently as
possible, and then run that test with varying thresholds.Why do you think repeated scans will be a destruction case when there
is no FSM for a small table?
That's not what I'm saying. If we don't have the FSM, we have to
check every page of the table. If there's a workload where that
happens a lot on a table that is just under the size threshold for
creating the FSM, then it's likely to be a worst case for this patch.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
Robert Haas <robertmhaas@gmail.com> writes:
That's not what I'm saying. If we don't have the FSM, we have to
check every page of the table. If there's a workload where that
happens a lot on a table that is just under the size threshold for
creating the FSM, then it's likely to be a worst case for this patch.
Hmm, you're assuming something not in evidence: why would that be the
algorithm? On a FSM-less table, I'd be inclined to just check the
last page and then grow the table if the tuple doesn't fit there.
This would, in many cases, soon result in a FSM being created, but
I think that's just fine. The point of the change is to optimize
for cases where a table *never* gets more than a few inserts. Not, IMO,
for cases where a table gets a lot of churn but never has a whole lot of
live tuples. In the latter scenario we are far better off having a FSM.
regards, tom lane
On Fri, Nov 2, 2018 at 10:07 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Robert Haas <robertmhaas@gmail.com> writes:
That's not what I'm saying. If we don't have the FSM, we have to
check every page of the table. If there's a workload where that
happens a lot on a table that is just under the size threshold for
creating the FSM, then it's likely to be a worst case for this patch.Hmm, you're assuming something not in evidence: why would that be the
algorithm?
I think it's in evidence, in the form of several messages mentioning a
flag called try_every_block.
Just checking the last page of the table doesn't sound like a good
idea to me. I think that will just lead to a lot of stupid bloat. It
seems likely that checking every page of the table is fine for npages
<= 3, and that would still be win in a very significant number of
cases, since lots of instances have many empty or tiny tables. I was
merely reacting to the suggestion that the approach should be used for
npages <= 32; that threshold sounds way too high.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
On 11/2/18, Robert Haas <robertmhaas@gmail.com> wrote:
On Fri, Nov 2, 2018 at 10:07 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Robert Haas <robertmhaas@gmail.com> writes:
That's not what I'm saying. If we don't have the FSM, we have to
check every page of the table. If there's a workload where that
happens a lot on a table that is just under the size threshold for
creating the FSM, then it's likely to be a worst case for this patch.Hmm, you're assuming something not in evidence: why would that be the
algorithm?I think it's in evidence, in the form of several messages mentioning a
flag called try_every_block.
Correct.
Just checking the last page of the table doesn't sound like a good
idea to me. I think that will just lead to a lot of stupid bloat. It
seems likely that checking every page of the table is fine for npages
<= 3, and that would still be win in a very significant number of
cases, since lots of instances have many empty or tiny tables. I was
merely reacting to the suggestion that the approach should be used for
npages <= 32; that threshold sounds way too high.
To be clear, no one suggested that. The patch has always had 8 or 10
as a starting point, and I've mentioned 4 and 8 as good possibilities
based on the COPY tests upthread. It was apparent I didn't need to
recompile a bunch of binaries with different thresholds. All I had to
do was compile with a threshold much larger than required, and then
test inserting into X number of pages, to simulate a threshold of X. I
increased X until I saw a regression. That's where the 32 came from,
sorry if that was misleading, in my head it was obvious. I'd be happy
test other scenarios. I'm not sure how to test redo -- seems more
difficult to get meaningful results than the normal case.
-John Naylor
On Fri, Nov 2, 2018 at 7:29 PM Robert Haas <robertmhaas@gmail.com> wrote:
On Fri, Nov 2, 2018 at 7:23 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
That doesn't seem like an unreasonable argument. I'm not sure whether
the right threshold is 4 or something a little bigger, but I bet it's
not very large. It seems important to me that before anybody thinks
about committing this, we construct some kind of destruction case
where repeated scans of the whole table are triggered as frequently as
possible, and then run that test with varying thresholds.Why do you think repeated scans will be a destruction case when there
is no FSM for a small table?That's not what I'm saying. If we don't have the FSM, we have to
check every page of the table. If there's a workload where that
happens a lot on a table that is just under the size threshold for
creating the FSM, then it's likely to be a worst case for this patch.
That makes sense and this is the first thing I was also worried about
after looking at the initial patch and suggested a test [1]/messages/by-id/CAA4eK1+hP-jGYWi25-1QMedxeM_0H01s==4-t74oEgL2EDVicw@mail.gmail.com which can
hit the worst case.
[1]: /messages/by-id/CAA4eK1+hP-jGYWi25-1QMedxeM_0H01s==4-t74oEgL2EDVicw@mail.gmail.com
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Fri, Nov 2, 2018 at 7:37 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Robert Haas <robertmhaas@gmail.com> writes:
That's not what I'm saying. If we don't have the FSM, we have to
check every page of the table. If there's a workload where that
happens a lot on a table that is just under the size threshold for
creating the FSM, then it's likely to be a worst case for this patch.Hmm, you're assuming something not in evidence: why would that be the
algorithm? On a FSM-less table, I'd be inclined to just check the
last page and then grow the table if the tuple doesn't fit there.
This would, in many cases, soon result in a FSM being created, but
I think that's just fine. The point of the change is to optimize
for cases where a table *never* gets more than a few inserts. Not, IMO,
for cases where a table gets a lot of churn but never has a whole lot of
live tuples. In the latter scenario we are far better off having a FSM.
In the past, you seem to have suggested an approach to try each block
[1]: /messages/by-id/11360.1345502641@sss.pgh.pa.us
are suggesting now, then we don't need to worry much about any
regression and code will be somewhat simpler, but OTOH, I don't see
much harm in trying every block if we keep the threshold as no more
than 4. That would address more cases.
[1]: /messages/by-id/11360.1345502641@sss.pgh.pa.us
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Fri, Nov 02, 2018 at 10:38:45AM -0400, Robert Haas wrote:
I think it's in evidence, in the form of several messages mentioning a
flag called try_every_block.Just checking the last page of the table doesn't sound like a good
idea to me. I think that will just lead to a lot of stupid bloat. It
seems likely that checking every page of the table is fine for npages
<= 3, and that would still be win in a very significant number of
cases, since lots of instances have many empty or tiny tables. I was
merely reacting to the suggestion that the approach should be used for
npages <= 32; that threshold sounds way too high.
It seems to me that it would be costly for schemas which have one core
table with a couple of records used in many joins with other queries.
Imagine for example a core table like that:
CREATE TABLE us_states (id serial, initials varchar(2));
INSERT INTO us_states VALUES (DEFAULT, 'CA');
If there is a workload where those initials need to be fetched a lot,
this patch could cause a loss. It looks hard to me to put a straight
number on when not having the FSM is better than having it because that
could be environment-dependent, so there is an argument for making the
default very low, still configurable?
--
Michael
On Sun, Nov 4, 2018 at 5:56 AM Michael Paquier <michael@paquier.xyz> wrote:
On Fri, Nov 02, 2018 at 10:38:45AM -0400, Robert Haas wrote:
I think it's in evidence, in the form of several messages mentioning a
flag called try_every_block.Just checking the last page of the table doesn't sound like a good
idea to me. I think that will just lead to a lot of stupid bloat. It
seems likely that checking every page of the table is fine for npages
<= 3, and that would still be win in a very significant number of
cases, since lots of instances have many empty or tiny tables. I was
merely reacting to the suggestion that the approach should be used for
npages <= 32; that threshold sounds way too high.It seems to me that it would be costly for schemas which have one core
table with a couple of records used in many joins with other queries.
Imagine for example a core table like that:
CREATE TABLE us_states (id serial, initials varchar(2));
INSERT INTO us_states VALUES (DEFAULT, 'CA');If there is a workload where those initials need to be fetched a lot,
this patch could cause a loss.
How alone fetching would cause any loss? If it gets updated, then
there is a chance that we might have some performance impact.
It looks hard to me to put a straight
number on when not having the FSM is better than having it because that
could be environment-dependent, so there is an argument for making the
default very low, still configurable?
I think 3 or 4 as threshold should work fine (though we need to
thoroughly test that) as we will anyway avoid having three additional
pages of FSM for such tables. I am not sure how easy it would be for
users to set this value if we make it configurable or on what basis
can they configure?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 10/31/18, Robert Haas <robertmhaas@gmail.com> wrote:
It seems important to me that before anybody thinks
about committing this, we construct some kind of destruction case
where repeated scans of the whole table are triggered as frequently as
possible, and then run that test with varying thresholds. I might be
totally wrong, but I bet with a value as large as 32 you will be able
to find cases where it regresses in a big way.
Here's an attempt at a destruction case: Lobotomize the heap insert
logic such that it never checks the cached target block and has to
call the free space logic for every single insertion, like this:
index ff13c03083..5d5b36af29 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -377,7 +377,7 @@ RelationGetBufferForTuple(Relation relation, Size len,
else if (bistate && bistate->current_buf != InvalidBuffer)
targetBlock = BufferGetBlockNumber(bistate->current_buf);
else
- targetBlock = RelationGetTargetBlock(relation);
+ targetBlock = InvalidBlockNumber;
if (targetBlock == InvalidBlockNumber && use_fsm)
{
(with the threshold patch I had to do additional work)
With the small tuples used in the attached v2 test, this means the
free space logic is called ~225 times per block. The test tables are
pre-filled with one tuple and vacuumed so that the FSMs are already
created when testing the master branch. The patch branch is compiled
with a threshold of 8, but testing inserts of 4 pages will effectively
simulate a threshold of 4, etc. As before, trimmed average of 10 runs,
loading to 100 tables each:
# blocks master patch
2 25.1ms 30.3ms
4 40.7ms 48.1ms
6 56.6ms 64.7ms
8 73.1ms 82.0ms
Without this artificial penalty, the 8 block case was about 50ms for
both branches. So if I calculated right, of that 50 ms, master is
spending ~0.10ms looking for free space, and the patch is spending
about ~0.15ms. So, from that perspective, the difference is trivial.
Of course, this is a single client, so not entirely realistic. I think
that shared buffer considerations are most important for deciding the
threshold.
We also need to think about what happens on the standby, where the FSM
is updated in a fairly different way.
Were you referring to performance or just functionality? Because the
threshold works on the standby, but I don't know about the performance
there.
-John Naylor
Attachments:
On 11/2/18, Tom Lane <tgl@sss.pgh.pa.us> wrote:
On a FSM-less table, I'd be inclined to just check the
last page and then grow the table if the tuple doesn't fit there.
This would, in many cases, soon result in a FSM being created, but
I think that's just fine. The point of the change is to optimize
for cases where a table *never* gets more than a few inserts. Not, IMO,
for cases where a table gets a lot of churn but never has a whole lot of
live tuples. In the latter scenario we are far better off having a FSM.
and...
On 11/2/18, Robert Haas <robertmhaas@gmail.com> wrote:
Just checking the last page of the table doesn't sound like a good
idea to me. I think that will just lead to a lot of stupid bloat. It
seems likely that checking every page of the table is fine for npages
<= 3, and that would still be win in a very significant number of
cases,
I see the merit of both of these arguments, and it occurred to me that
there is middle ground between checking only the last page and
checking every page: Check the last 3 pages and set the threshold to
6. That way, with npages <= 3, every page will be checked. In the
unlikely case that npages = 6 and the first 3 pages are all wasted
space, that's the amount of space that would have gone to the FSM
anyway, and the relation will likely grow beyond the threshold soon,
at which point the free space will become visible again.
-John Naylor
On Mon, Oct 22, 2018 at 12:14 PM John Naylor <jcnaylor@gmail.com> wrote:
On 10/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
I think we can avoid using prevBlockNumber and try_every_block, if we
maintain a small cache which tells whether the particular block is
tried or not. What I am envisioning is that while finding the block
with free space, if we came to know that the relation in question is
small enough that it doesn't have FSM, we can perform a local_search.
In local_seach, we can enquire the cache for any block that we can try
and if we find any block, we can try inserting in that block,
otherwise, we need to extend the relation. One simple way to imagine
such a cache would be an array of structure and structure has blkno
and status fields. After we get the usable block, we need to clear
the cache, if exists.Here is the design I've implemented in the attached v6. There is more
code than v5, but there's a cleaner separation between freespace.c and
hio.c, as you preferred.
This approach seems better.
I also think it's more robust. I've expended
some effort to avoid doing unnecessary system calls to get the number
of blocks.
--For the local, in-memory map, maintain a static array of status
markers, of fixed-length HEAP_FSM_CREATION_THRESHOLD, indexed by block
number. This is populated every time we call GetPageWithFreeSpace() on
small tables with no FSM. The statuses are'zero' (beyond the relation)
'available to try'
'tried already'
+/* Status codes for the local map. */
+#define FSM_LOCAL_ZERO 0x00 /* Beyond the end of the relation */
+#define FSM_LOCAL_AVAIL 0x01 /* Available to try */
+#define FSM_LOCAL_TRIED 0x02 /* Already tried, not enough space */
Instead of maintaining three states, can't we do with two states
(Available and Not Available), basically combine 0 and 2 in your case.
I think it will save some cycles in
fsm_local_set, where each time you need to initialize all the entries
in the map. I think we can argue that it is not much overhead, but I
think it is better code-wise also if we can make it happen with fewer
states.
Some assorted comments:
1.
<para>
-Each heap and index relation, except for hash indexes, has a Free Space Map
+Each heap relation, unless it is very small, and each index relation,
+except for hash indexes, has a Free Space Map
(FSM) to keep track of available space in the relation. It's stored
It appears that line has ended abruptly.
2.
page = BufferGetPage(buffer);
+ targetBlock = BufferGetBlockNumber(buffer);
if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
- BufferGetBlockNumber(buffer),
+ targetBlock,
RelationGetRelationName(relation));
PageInit(page, BufferGetPageSize(buffer), 0);
@@ -623,7 +641,18 @@ loop:
* current backend to make more insertions or not, which is probably a
* good bet most of the time. So for now, don't add it to FSM yet.
*/
- RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer));
+ RelationSetTargetBlock(relation, targetBlock);
Is this related to this patch? If not, I suggest let's do it
separately if required.
3.
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
- uint8 newValue, uint8 minValue);
+ uint8 newValue, uint8 minValue);
This appears to be a spurious change.
4.
@@ -378,24 +386,15 @@ RelationGetBufferForTuple(Relation relation, Size len,
* target.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ if (targetBlock < HEAP_FSM_CREATION_THRESHOLD)
+ ClearLocalMap();
How will you clear the local map during error? I think you need to
clear it in abort path and you can name the function as
FSMClearLocalMap or something like that.
5.
+/*#define TRACE_TARGETBLOCK */
Debugging leftover, do you want to retain this and related stuff
during the development of patch?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 11/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
+/* Status codes for the local map. */ +#define FSM_LOCAL_ZERO 0x00 /* Beyond the end of the relation */ +#define FSM_LOCAL_AVAIL 0x01 /* Available to try */ +#define FSM_LOCAL_TRIED 0x02 /* Already tried, not enough space */Instead of maintaining three states, can't we do with two states
(Available and Not Available), basically combine 0 and 2 in your case.
I think it will save some cycles in
fsm_local_set, where each time you need to initialize all the entries
in the map. I think we can argue that it is not much overhead, but I
think it is better code-wise also if we can make it happen with fewer
states.
That'd work too, but let's consider this scenario: We have a 2-block
table that has no free space. After trying each block, the local cache
looks like
0123
TT00
Let's say we have to wait to acquire a relation extension lock,
because another backend had already started extending the heap by 1
block. We call GetPageWithFreeSpace() and now the local map looks like
0123
TTA0
By using bitwise OR to set availability, the already-tried blocks
remain as they are. With only 2 states, the map would look like this
instead:
0123
AAAN
If we assume that an insert into the newly-created block 2 will almost
always succeed, we don't have to worry about wasting time re-checking
the first 2 full blocks. Does that sound right to you?
Some assorted comments: 1. <para> -Each heap and index relation, except for hash indexes, has a Free Space Map +Each heap relation, unless it is very small, and each index relation, +except for hash indexes, has a Free Space Map (FSM) to keep track of available space in the relation. It's storedIt appears that line has ended abruptly.
Not sure what you're referring to here.
2.
page = BufferGetPage(buffer);
+ targetBlock = BufferGetBlockNumber(buffer);if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
- BufferGetBlockNumber(buffer),
+ targetBlock,
RelationGetRelationName(relation));PageInit(page, BufferGetPageSize(buffer), 0); @@ -623,7 +641,18 @@ loop: * current backend to make more insertions or not, which is probably a * good bet most of the time. So for now, don't add it to FSM yet. */ - RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer)); + RelationSetTargetBlock(relation, targetBlock);Is this related to this patch? If not, I suggest let's do it
separately if required.
I will separate this out.
3. static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot, - uint8 newValue, uint8 minValue); + uint8 newValue, uint8 minValue);This appears to be a spurious change.
It was intentional, but I will include it separately as above.
4. @@ -378,24 +386,15 @@ RelationGetBufferForTuple(Relation relation, Size len, * target. */ targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace); + + /* + * In case we used an in-memory map of available blocks, reset + * it for next use. + */ + if (targetBlock < HEAP_FSM_CREATION_THRESHOLD) + ClearLocalMap();How will you clear the local map during error? I think you need to
clear it in abort path and you can name the function as
FSMClearLocalMap or something like that.
That sounds right, and I will rename the function that way. For the
abort path, were you referring to this or somewhere else?
if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
targetBlock,
RelationGetRelationName(relation));
5.
+/*#define TRACE_TARGETBLOCK */Debugging leftover, do you want to retain this and related stuff
during the development of patch?
I modeled this after TRACE_VISIBILITYMAP in visibilitymap.c. It's
useful for development, but I don't particularly care whether it's in
the final verision.
Also, I found an off-by-one error that caused an unnecessary
smgrexists() call in tables with threshold + 1 pages. This will be
fixed in the next version.
-John Naylor
On Mon, Nov 19, 2018 at 7:30 AM John Naylor <jcnaylor@gmail.com> wrote:
On 11/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
+/* Status codes for the local map. */ +#define FSM_LOCAL_ZERO 0x00 /* Beyond the end of the relation */ +#define FSM_LOCAL_AVAIL 0x01 /* Available to try */ +#define FSM_LOCAL_TRIED 0x02 /* Already tried, not enough space */Instead of maintaining three states, can't we do with two states
(Available and Not Available), basically combine 0 and 2 in your case.
I think it will save some cycles in
fsm_local_set, where each time you need to initialize all the entries
in the map. I think we can argue that it is not much overhead, but I
think it is better code-wise also if we can make it happen with fewer
states.That'd work too, but let's consider this scenario: We have a 2-block
table that has no free space. After trying each block, the local cache
looks like0123
TT00Let's say we have to wait to acquire a relation extension lock,
because another backend had already started extending the heap by 1
block. We call GetPageWithFreeSpace() and now the local map looks like0123
TTA0By using bitwise OR to set availability, the already-tried blocks
remain as they are. With only 2 states, the map would look like this
instead:0123
AAAN
I expect below part of code to go-away.
+fsm_local_set(Relation rel, BlockNumber nblocks)
{
..
+ /*
+ * If the blkno is beyond the end of the relation, the status should
+ * be zero already, but make sure it is. If the blkno is within the
+ * relation, mark it available unless it's already been tried.
+ */
+ for (blkno = 0; blkno < HEAP_FSM_CREATION_THRESHOLD; blkno++)
+ {
+ if (blkno < nblocks)
+ FSMLocalMap[blkno] |= FSM_LOCAL_AVAIL;
+ else
+ FSMLocalMap[blkno] = FSM_LOCAL_ZERO;
+ }
..
}
In my mind for such a case it should look like below:
0123
NNAN
If we assume that an insert into the newly-created block 2 will almost
always succeed, we don't have to worry about wasting time re-checking
the first 2 full blocks. Does that sound right to you?
As explained above, such a situation won't exist.
Some assorted comments: 1. <para> -Each heap and index relation, except for hash indexes, has a Free Space Map +Each heap relation, unless it is very small, and each index relation, +except for hash indexes, has a Free Space Map (FSM) to keep track of available space in the relation. It's storedIt appears that line has ended abruptly.
Not sure what you're referring to here.
There is a space after "has a Free Space Map " so you can combine next line.
2.
page = BufferGetPage(buffer);
+ targetBlock = BufferGetBlockNumber(buffer);if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
- BufferGetBlockNumber(buffer),
+ targetBlock,
RelationGetRelationName(relation));PageInit(page, BufferGetPageSize(buffer), 0); @@ -623,7 +641,18 @@ loop: * current backend to make more insertions or not, which is probably a * good bet most of the time. So for now, don't add it to FSM yet. */ - RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer)); + RelationSetTargetBlock(relation, targetBlock);Is this related to this patch? If not, I suggest let's do it
separately if required.I will separate this out.
3. static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot, - uint8 newValue, uint8 minValue); + uint8 newValue, uint8 minValue);This appears to be a spurious change.
It was intentional, but I will include it separately as above.
4. @@ -378,24 +386,15 @@ RelationGetBufferForTuple(Relation relation, Size len, * target. */ targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace); + + /* + * In case we used an in-memory map of available blocks, reset + * it for next use. + */ + if (targetBlock < HEAP_FSM_CREATION_THRESHOLD) + ClearLocalMap();How will you clear the local map during error? I think you need to
clear it in abort path and you can name the function as
FSMClearLocalMap or something like that.That sounds right, and I will rename the function that way. For the
abort path, were you referring to this or somewhere else?if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
targetBlock,
RelationGetRelationName(relation));
I think it might come from any other place between when you set it and
before it got cleared (like any intermediate buffer and pin related
API's).
5.
+/*#define TRACE_TARGETBLOCK */Debugging leftover, do you want to retain this and related stuff
during the development of patch?I modeled this after TRACE_VISIBILITYMAP in visibilitymap.c. It's
useful for development, but I don't particularly care whether it's in
the final verision.
Okay, so if you want to retain it for the period of development, then
I am fine with it. We can see at the end if it makes sense to retain
it.
Also, I found an off-by-one error that caused an unnecessary
smgrexists() call in tables with threshold + 1 pages. This will be
fixed in the next version.
Thanks.
One other thing that slightly bothers me is the call to
RelationGetNumberOfBlocks via fsm_allow_writes. It seems that call
will happen quite frequently in this code-path and can have some
performance impact. As of now, I don't have any idea to avoid it or
reduce it more than what you already have in the patch, but I think we
should try some more to avoid it. Let me know if you have any ideas
around that?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 11/19/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Mon, Nov 19, 2018 at 7:30 AM John Naylor <jcnaylor@gmail.com> wrote:
Let's say we have to wait to acquire a relation extension lock,
because another backend had already started extending the heap by 1
block. We call GetPageWithFreeSpace() and now the local map looks like0123
TTA0By using bitwise OR to set availability, the already-tried blocks
remain as they are. With only 2 states, the map would look like this
instead:0123
AAAN
In my mind for such a case it should look like below:
0123
NNAN
Okay, to retain that behavior with only 2 status codes, I have
implemented the map as a struct with 2 members: the cached number of
blocks, plus the same array I had before. This also allows a more
efficient implementation at the micro level. I just need to do some
more testing on it.
[ abortive states ]
I think it might come from any other place between when you set it and
before it got cleared (like any intermediate buffer and pin related
API's).
Okay, I will look into that.
One other thing that slightly bothers me is the call to
RelationGetNumberOfBlocks via fsm_allow_writes. It seems that call
will happen quite frequently in this code-path and can have some
performance impact. As of now, I don't have any idea to avoid it or
reduce it more than what you already have in the patch, but I think we
should try some more to avoid it. Let me know if you have any ideas
around that?
FWIW, I believe that the callers of RecordPageWithFreeSpace() will
almost always avoid that call. Otherwise, there is at least one detail
that could use attention: If rel->rd_rel->relpages shows fewer pages
than the threshold, than the code doesn't trust it to be true. Might
be worth revisiting.
Aside from that, I will have to think about it.
More generally, I have a couple ideas about performance:
1. Only mark available every other block such that visible blocks are
interleaved as the relation extends. To explain, this diagram shows a
relation extending, with 1 meaning marked available and 0 meaning
marked not-available.
A
NA
ANA
NANA
So for a 3-block table, we never check block 1. Any free space it has
acquired will become visible when it extends to 4 blocks. For a
4-block threshold, we only check 2 blocks or less. This reduces the
number of lock/pin events but still controls bloat. We could also
check both blocks of a 2-block table.
2. During manual testing I seem to remember times that the FSM code
was invoked even though I expected the smgr entry to have a cached
target block. Perhaps VACUUM or something is clearing that away
unnecessarily. It seems worthwhile to verify and investigate, but that
seems like a separate project.
-John Naylor
On Mon, Nov 19, 2018 at 4:40 PM John Naylor <jcnaylor@gmail.com> wrote:
On 11/19/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Mon, Nov 19, 2018 at 7:30 AM John Naylor <jcnaylor@gmail.com> wrote:
Let's say we have to wait to acquire a relation extension lock,
because another backend had already started extending the heap by 1
block. We call GetPageWithFreeSpace() and now the local map looks like0123
TTA0By using bitwise OR to set availability, the already-tried blocks
remain as they are. With only 2 states, the map would look like this
instead:0123
AAANIn my mind for such a case it should look like below:
0123
NNANOkay, to retain that behavior with only 2 status codes, I have
implemented the map as a struct with 2 members: the cached number of
blocks, plus the same array I had before. This also allows a more
efficient implementation at the micro level. I just need to do some
more testing on it.
Okay.
[ abortive states ]
I think it might come from any other place between when you set it and
before it got cleared (like any intermediate buffer and pin related
API's).Okay, I will look into that.
One other thing that slightly bothers me is the call to
RelationGetNumberOfBlocks via fsm_allow_writes. It seems that call
will happen quite frequently in this code-path and can have some
performance impact. As of now, I don't have any idea to avoid it or
reduce it more than what you already have in the patch, but I think we
should try some more to avoid it. Let me know if you have any ideas
around that?FWIW, I believe that the callers of RecordPageWithFreeSpace() will
almost always avoid that call. Otherwise, there is at least one detail
that could use attention: If rel->rd_rel->relpages shows fewer pages
than the threshold, than the code doesn't trust it to be true. Might
be worth revisiting.
I think it is less of a concern when called from vacuum code path.
Aside from that, I will have to think about it.
More generally, I have a couple ideas about performance:
1. Only mark available every other block such that visible blocks are
interleaved as the relation extends. To explain, this diagram shows a
relation extending, with 1 meaning marked available and 0 meaning
marked not-available.A
NA
ANA
NANASo for a 3-block table, we never check block 1. Any free space it has
acquired will become visible when it extends to 4 blocks. For a
4-block threshold, we only check 2 blocks or less. This reduces the
number of lock/pin events but still controls bloat. We could also
check both blocks of a 2-block table.
We can try something like this if we see there is any visible
performance hit in some scenario.
2. During manual testing I seem to remember times that the FSM code
was invoked even though I expected the smgr entry to have a cached
target block. Perhaps VACUUM or something is clearing that away
unnecessarily. It seems worthwhile to verify and investigate, but that
seems like a separate project.
makes sense, let's not get distracted by stuff that is not related to
this patch.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
I wrote:
On 11/19/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
[ abortive states ]I think it might come from any other place between when you set it and
before it got cleared (like any intermediate buffer and pin related
API's).Okay, I will look into that.
LockBuffer(), visibilitymap_pin(), and GetVisibilityMapPins() don't
call errors at this level. I don't immediately see any additional good
places from which to clear the local map.
-John Naylor
On Tue, Nov 20, 2018 at 1:42 PM John Naylor <jcnaylor@gmail.com> wrote:
I wrote:
On 11/19/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
[ abortive states ]I think it might come from any other place between when you set it and
before it got cleared (like any intermediate buffer and pin related
API's).Okay, I will look into that.
LockBuffer(), visibilitymap_pin(), and GetVisibilityMapPins() don't
call errors at this level. I don't immediately see any additional good
places from which to clear the local map.
LockBuffer()->LWLockAcquire() can error out. Similarly,
ReadBuffer()->ReadBufferExtended() and calls below it can error ou.
To handle them, you need to add a call to clear local map in
Abortransaction code path.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 11/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
I've attached v8, which includes the 2-state map and addresses the points below:
Some assorted comments: 1. <para> -Each heap and index relation, except for hash indexes, has a Free Space Map +Each heap relation, unless it is very small, and each index relation, +except for hash indexes, has a Free Space Map (FSM) to keep track of available space in the relation. It's storedIt appears that line has ended abruptly.
Revised.
2.
page = BufferGetPage(buffer);
+ targetBlock = BufferGetBlockNumber(buffer);if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
- BufferGetBlockNumber(buffer),
+ targetBlock,
RelationGetRelationName(relation));PageInit(page, BufferGetPageSize(buffer), 0); @@ -623,7 +641,18 @@ loop: * current backend to make more insertions or not, which is probably a * good bet most of the time. So for now, don't add it to FSM yet. */ - RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer)); + RelationSetTargetBlock(relation, targetBlock);Is this related to this patch? If not, I suggest let's do it
separately if required.3. static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot, - uint8 newValue, uint8 minValue); + uint8 newValue, uint8 minValue);This appears to be a spurious change.
2 and 3 are separated into 0001.
4. @@ -378,24 +386,15 @@ RelationGetBufferForTuple(Relation relation, Size len, * target. */ targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace); + + /* + * In case we used an in-memory map of available blocks, reset + * it for next use. + */ + if (targetBlock < HEAP_FSM_CREATION_THRESHOLD) + ClearLocalMap();How will you clear the local map during error? I think you need to
clear it in abort path and you can name the function as
FSMClearLocalMap or something like that.
Done. I've put this call last before abort processing.
5.
+/*#define TRACE_TARGETBLOCK */Debugging leftover, do you want to retain this and related stuff
during the development of patch?
I have kept it aside as a separate patch but not attached it for now.
Also, we don't quite have a consensus on the threshold value, but I
have set it to 4 pages for v8. If this is still considered too
expensive (and basic tests show it shouldn't be), I suspect it'd be
better to interleave the available block numbers as described a couple
days ago than lower the threshold further.
I have looked at zhio.c, and it seems trivial to adapt zheap to this patchset.
-John Naylor
Attachments:
v8-0001-Minor-cosmetic-adjustments-for-consistency.patchtext/x-patch; charset=US-ASCII; name=v8-0001-Minor-cosmetic-adjustments-for-consistency.patchDownload
From d1752858aaaf048fd94461dbd79fe0bb0f262b98 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Fri, 23 Nov 2018 12:55:16 +0700
Subject: [PATCH v8 1/3] Minor cosmetic adjustments for consistency.
---
src/backend/access/heap/hio.c | 5 +++--
src/backend/storage/freespace/freespace.c | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..7f7c9db635 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -600,10 +600,11 @@ loop:
* risk wiping out valid data).
*/
page = BufferGetPage(buffer);
+ targetBlock = BufferGetBlockNumber(buffer);
if (!PageIsNew(page))
elog(ERROR, "page %u of relation \"%s\" should be empty but is not",
- BufferGetBlockNumber(buffer),
+ targetBlock,
RelationGetRelationName(relation));
PageInit(page, BufferGetPageSize(buffer), 0);
@@ -623,7 +624,7 @@ loop:
* current backend to make more insertions or not, which is probably a
* good bet most of the time. So for now, don't add it to FSM yet.
*/
- RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer));
+ RelationSetTargetBlock(relation, targetBlock);
return buffer;
}
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..47a991e21d 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -106,7 +106,7 @@ static Size fsm_space_cat_to_avail(uint8 cat);
/* workhorse functions for various operations */
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
- uint8 newValue, uint8 minValue);
+ uint8 newValue, uint8 minValue);
static BlockNumber fsm_search(Relation rel, uint8 min_cat);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
--
2.17.1
v8-0002-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v8-0002-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From e6226e8ee3d51e651b3a0b7035ad6676b4cf4bc6 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Fri, 23 Nov 2018 12:58:07 +0700
Subject: [PATCH v8 2/3] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has 4 blocks or fewer. If the last
known target block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 +++----
contrib/pageinspect/sql/page.sql | 33 +--
doc/src/sgml/storage.sgml | 13 +-
src/backend/access/brin/brin.c | 2 +-
src/backend/access/brin/brin_pageops.c | 8 +-
src/backend/access/heap/hio.c | 36 ++--
src/backend/access/transam/xact.c | 7 +
src/backend/commands/vacuumlazy.c | 17 +-
src/backend/storage/freespace/README | 11 +-
src/backend/storage/freespace/freespace.c | 238 +++++++++++++++++++++-
src/backend/storage/freespace/indexfsm.c | 4 +-
src/include/storage/freespace.h | 6 +-
12 files changed, 354 insertions(+), 98 deletions(-)
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index 8ef2ac8010..cbdad0c3fb 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -590,12 +590,13 @@ tuple would otherwise be too big.
<indexterm><primary>FSM</primary><see>Free Space Map</see></indexterm>
<para>
-Each heap and index relation, except for hash indexes, has a Free Space Map
-(FSM) to keep track of available space in the relation. It's stored
-alongside the main relation data in a separate relation fork, named after the
-filenode number of the relation, plus a <literal>_fsm</literal> suffix. For example,
-if the filenode of a relation is 12345, the FSM is stored in a file called
-<filename>12345_fsm</filename>, in the same directory as the main relation file.
+Each heap relation, unless it is very small, and each index relation, except
+for hash indexes, has a Free Space Map (FSM) to keep track of available
+space in the relation. It's stored alongside the main relation data in a
+separate relation fork, named after the filenode number of the relation, plus
+a <literal>_fsm</literal> suffix. For example, if the filenode of a relation
+is 12345, the FSM is stored in a file called <filename>12345_fsm</filename>,
+in the same directory as the main relation file.
</para>
<para>
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index e95fbbcea7..7c5b1af764 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1148,7 +1148,7 @@ terminate_brin_buildstate(BrinBuildState *state)
freespace = PageGetFreeSpace(page);
blk = BufferGetBlockNumber(state->bs_currentInsertBuf);
ReleaseBuffer(state->bs_currentInsertBuf);
- RecordPageWithFreeSpace(state->bs_irel, blk, freespace);
+ RecordPageWithFreeSpace(state->bs_irel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(state->bs_irel, blk, blk + 1);
}
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c
index 040cb62e55..70d93878ba 100644
--- a/src/backend/access/brin/brin_pageops.c
+++ b/src/backend/access/brin/brin_pageops.c
@@ -310,7 +310,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, newblk, freespace);
+ RecordPageWithFreeSpace(idxrel, newblk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, newblk, newblk + 1);
}
@@ -461,7 +461,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, blk, freespace);
+ RecordPageWithFreeSpace(idxrel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, blk, blk + 1);
}
@@ -654,7 +654,7 @@ brin_page_cleanup(Relation idxrel, Buffer buf)
/* Measure free space and record it */
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buf),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
/*
@@ -895,7 +895,7 @@ brin_initialize_empty_new_buffer(Relation idxrel, Buffer buffer)
* pages whose FSM records were forgotten in a crash.
*/
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buffer),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index 7f7c9db635..891a596603 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -239,8 +239,14 @@ RelationAddExtraBlocks(Relation relation, BulkInsertState bistate)
* Immediately update the bottom level of the FSM. This has a good
* chance of making this page visible to other concurrently inserting
* backends, and we want that to happen without delay.
+ *
+ * Since we know the table will end up with extraBlocks additional
+ * pages, we pass the final number to avoid possible unnecessary
+ * system calls and to make sure the FSM is created when we add
+ * the first new page.
*/
- RecordPageWithFreeSpace(relation, blockNum, freespace);
+ RecordPageWithFreeSpace(relation, blockNum, freespace,
+ firstBlock + extraBlocks);
}
while (--extraBlocks > 0);
@@ -378,19 +384,6 @@ RelationGetBufferForTuple(Relation relation, Size len,
* target.
*/
targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
- if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
}
loop:
@@ -484,6 +477,14 @@ loop:
{
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ if (targetBlock < HEAP_FSM_CREATION_THRESHOLD)
+ FSMClearLocalMap();
+
return buffer;
}
@@ -626,5 +627,12 @@ loop:
*/
RelationSetTargetBlock(relation, targetBlock);
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use. We do this unconditionally since after relation
+ * extension we can't reliably skip this based on the targetBlock.
+ */
+ FSMClearLocalMap();
+
return buffer;
}
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index d967400384..9cf61a2314 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -48,6 +48,7 @@
#include "replication/walsender.h"
#include "storage/condition_variable.h"
#include "storage/fd.h"
+#include "storage/freespace.h"
#include "storage/lmgr.h"
#include "storage/predicate.h"
#include "storage/proc.h"
@@ -2554,6 +2555,12 @@ AbortTransaction(void)
s->parallelModeLevel = 0;
}
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
/*
* do abort processing
*/
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 8134c52253..d2818dfad4 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -154,7 +154,7 @@ static BufferAccessStrategy vac_strategy;
static void lazy_scan_heap(Relation onerel, int options,
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
bool aggressive);
-static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
+static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
static void lazy_vacuum_index(Relation indrel,
IndexBulkDeleteResult **stats,
@@ -759,7 +759,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
/* Remove tuples from heap */
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
/*
* Forget the now-vacuumed tuples, and press on, but be careful
@@ -897,7 +897,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
MarkBufferDirty(buf);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -936,7 +936,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
}
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -1333,7 +1333,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* taken if there are no indexes.)
*/
if (vacrelstats->num_dead_tuples == prev_dead_count)
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
}
/* report that everything is scanned and vacuumed */
@@ -1395,7 +1395,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
/* Remove tuples from heap */
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
vacrelstats->num_index_scans++;
}
@@ -1466,9 +1466,10 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* Note: the reason for doing this as a second pass is we cannot remove
* the tuples until we've removed their index entries, and we want to
* process index entry removal in batches as large as possible.
+ * Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
*/
static void
-lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
+lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
{
int tupindex;
int npages;
@@ -1505,7 +1506,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, tblk, freespace);
+ RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
npages++;
}
diff --git a/src/backend/storage/freespace/README b/src/backend/storage/freespace/README
index e7ff23b76f..abaec871a5 100644
--- a/src/backend/storage/freespace/README
+++ b/src/backend/storage/freespace/README
@@ -5,10 +5,11 @@ Free Space Map
The purpose of the free space map is to quickly locate a page with enough
free space to hold a tuple to be stored; or to determine that no such page
-exists and the relation must be extended by one page. As of PostgreSQL 8.4
-each relation has its own, extensible free space map stored in a separate
-"fork" of its relation. This eliminates the disadvantages of the former
-fixed-size FSM.
+exists and the relation must be extended by one page. For very small heap
+relations, we simply iterate through all the pages in descending order.
+Otherwise, each relation (except for hash indexes) has its own, extensible
+free space map stored in a separate "fork" of its relation. This eliminates
+the disadvantages of the fixed-size FSM used in PostgreSQL 8.3 and earlier.
It is important to keep the map small so that it can be searched rapidly.
Therefore, we don't attempt to record the exact free space on a page.
@@ -192,5 +193,3 @@ TODO
----
- fastroot to avoid traversing upper nodes with just 1 child
-- use a different system for tables that fit into one FSM page, with a
- mechanism to switch to the real thing as it grows.
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 47a991e21d..c321e90c28 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -76,6 +76,14 @@
#define FSM_ROOT_LEVEL (FSM_TREE_DEPTH - 1)
#define FSM_BOTTOM_LEVEL 0
+/* Status codes for the local map. */
+
+/* Either already tried, or beyond the end of the relation */
+#define FSM_LOCAL_NOT_AVAIL 0x00
+
+/* Available to try */
+#define FSM_LOCAL_AVAIL 0x01
+
/*
* The internal FSM routines work on a logical addressing scheme. Each
* level of the tree can be thought of as a separately addressable file.
@@ -89,6 +97,15 @@ typedef struct
/* Address of the root page. */
static const FSMAddress FSM_ROOT_ADDRESS = {FSM_ROOT_LEVEL, 0};
+/* Local map of block numbers for small heaps with no FSM. */
+typedef struct
+{
+ BlockNumber nblocks;
+ char map[HEAP_FSM_CREATION_THRESHOLD];
+} FSMLocalMap;
+
+static FSMLocalMap fsm_local_map = {0, {FSM_LOCAL_NOT_AVAIL}};
+
/* functions to navigate the tree */
static FSMAddress fsm_get_child(FSMAddress parent, uint16 slot);
static FSMAddress fsm_get_parent(FSMAddress child, uint16 *slot);
@@ -107,10 +124,14 @@ static Size fsm_space_cat_to_avail(uint8 cat);
/* workhorse functions for various operations */
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
uint8 newValue, uint8 minValue);
+static void fsm_local_set(Relation rel, BlockNumber new_nblocks);
static BlockNumber fsm_search(Relation rel, uint8 min_cat);
+static BlockNumber fsm_local_search(void);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks);
/******** Public API ********/
@@ -132,8 +153,35 @@ BlockNumber
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
{
uint8 min_cat = fsm_space_needed_to_cat(spaceNeeded);
+ BlockNumber target_block,
+ nblocks;
+
+ /* First try the FSM, if it exists. */
+ target_block = fsm_search(rel, min_cat);
+
+ if (target_block == InvalidBlockNumber &&
+ rel->rd_rel->relkind == RELKIND_RELATION)
+ {
+ nblocks = RelationGetNumberOfBlocks(rel);
+
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ {
+ /*
+ * If the FSM knows nothing of the rel, try the last page before
+ * we give up and extend. This avoids one-tuple-per-page syndrome
+ * during bootstrapping or in a recently-started system.
+ */
+ target_block = nblocks - 1;
+ }
+ else if (nblocks > 0)
+ {
+ /* Create or update local map and get first candidate block. */
+ fsm_local_set(rel, nblocks);
+ target_block = fsm_local_search();
+ }
+ }
- return fsm_search(rel, min_cat);
+ return target_block;
}
/*
@@ -149,11 +197,38 @@ BlockNumber
RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
Size oldSpaceAvail, Size spaceNeeded)
{
- int old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
- int search_cat = fsm_space_needed_to_cat(spaceNeeded);
+ int old_cat;
+ int search_cat;
FSMAddress addr;
uint16 slot;
int search_slot;
+ BlockNumber nblocks = InvalidBlockNumber;
+
+ /* First try the local map, if it exists. */
+ if (oldPage < HEAP_FSM_CREATION_THRESHOLD &&
+ fsm_local_map.map[oldPage] == FSM_LOCAL_AVAIL)
+ {
+ Assert(rel->rd_rel->relkind == RELKIND_RELATION);
+
+ fsm_local_map.map[oldPage] = FSM_LOCAL_NOT_AVAIL;
+ return fsm_local_search();
+ }
+
+ if (!fsm_allow_writes(rel, oldPage, InvalidBlockNumber, &nblocks))
+ {
+ /*
+ * If we have neither a local map nor an FSM, we probably just
+ * tried the target block in the smgr relation entry and failed,
+ * so we'll need to create the local map.
+ */
+ fsm_local_set(rel, nblocks);
+ return fsm_local_search();
+ }
+
+ /* Normal FSM logic follows */
+
+ old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
+ search_cat = fsm_space_needed_to_cat(spaceNeeded);
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -178,18 +253,36 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
* FreeSpaceMapVacuum call, which updates the upper level pages.
*/
void
-RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
+RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
+ Size spaceAvail, BlockNumber nblocks)
{
- int new_cat = fsm_space_avail_to_cat(spaceAvail);
+ int new_cat;
FSMAddress addr;
uint16 slot;
+ BlockNumber dummy;
+
+ if (!fsm_allow_writes(rel, heapBlk, nblocks, &dummy))
+ /* Note: We do not have a local map to update, either. */
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
+ new_cat = fsm_space_avail_to_cat(spaceAvail);
fsm_set_and_search(rel, addr, slot, new_cat, 0);
}
+/*
+ * Clear the local map. We must call this when we have found a block with
+ * enough free space, or when we extend the relation.
+ */
+void
+FSMClearLocalMap(void)
+{
+ fsm_local_map.nblocks = 0;
+ memset(&fsm_local_map.map, 0, sizeof(fsm_local_map.map));
+}
+
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
@@ -204,6 +297,30 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
+
+ /* This is meant to mirror the logic in fsm_allow_writes() */
+ if (heapBlk >= HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ {
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -904,3 +1021,114 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_CREATION_THRESHOLD. For tables that don't already have
+ * a FSM, this will save an inode and a few kB of space.
+ *
+ * XXX The API is a little awkward -- if the caller has a valid nblocks,
+ * it can pass it as an optimization to avoid a system call. If the caller
+ * passes InvalidBlockNumber and receives a false return value, it can
+ * get an up-to-date relation size from get_nblocks.
+ */
+static bool
+fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks)
+{
+ bool skip_get_nblocks;
+
+ if (heapblk >= HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+
+ /* Index rels can always create an FSM. */
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /*
+ * If the caller knows nblocks, we can avoid a system call later.
+ * If it doesn't, maybe we have relpages from a previous VACUUM.
+ * Since the table may have extended since then, we still have to
+ * count the pages later if we can't return now.
+ */
+ if (nblocks != InvalidBlockNumber)
+ {
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = true;
+ }
+ else
+ {
+ if (rel->rd_rel->relpages != InvalidBlockNumber &&
+ rel->rd_rel->relpages > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = false;
+ }
+
+ RelationOpenSmgr(rel);
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ return true;
+
+ if (skip_get_nblocks)
+ return false;
+
+ /* last resort */
+ *get_nblocks = RelationGetNumberOfBlocks(rel);
+ if (*get_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ return false;
+}
+
+/*
+ * Set or update the local map of blocks to try, for when there is no FSM.
+ */
+static void
+fsm_local_set(Relation rel, BlockNumber new_nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ /*
+ * Mark blocks available starting after the last block number we have
+ * cached, and ending at the current last block in the relation.
+ * When we first set the map, this will flag all blocks as available
+ * to try. If we reset the map while waiting for a relation
+ * extension lock, this will only flag new blocks as available,
+ * if any were created by another backend.
+ */
+ for (blkno = fsm_local_map.nblocks; blkno < new_nblocks; blkno++)
+ fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;
+
+ /* Update local cache with new number of blocks. */
+ fsm_local_map.nblocks = new_nblocks;
+
+ /* Set the status of the cached target block to 'unavailable'. */
+ cached_target_block = RelationGetTargetBlock(rel);
+ if (cached_target_block != InvalidBlockNumber &&
+ cached_target_block < HEAP_FSM_CREATION_THRESHOLD)
+ fsm_local_map.map[cached_target_block] = FSM_LOCAL_NOT_AVAIL;
+}
+
+/*
+ * Search the local map for an available block to try, in descending order.
+ *
+ * For use when there is no FSM.
+ */
+static BlockNumber
+fsm_local_search(void)
+{
+ BlockNumber target_block = fsm_local_map.nblocks;
+
+ do
+ {
+ target_block--;
+ if (fsm_local_map.map[target_block] == FSM_LOCAL_AVAIL)
+ return target_block;
+ }
+ while (target_block > 0);
+
+ return InvalidBlockNumber;
+}
diff --git a/src/backend/storage/freespace/indexfsm.c b/src/backend/storage/freespace/indexfsm.c
index e21047b96f..d8fd29a7eb 100644
--- a/src/backend/storage/freespace/indexfsm.c
+++ b/src/backend/storage/freespace/indexfsm.c
@@ -51,7 +51,7 @@ GetFreeIndexPage(Relation rel)
void
RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
{
- RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
+ RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1, InvalidBlockNumber);
}
@@ -61,7 +61,7 @@ RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
void
RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
{
- RecordPageWithFreeSpace(rel, usedBlock, 0);
+ RecordPageWithFreeSpace(rel, usedBlock, 0, InvalidBlockNumber);
}
/*
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..7235d05a0a 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,6 +18,9 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+#define HEAP_FSM_CREATION_THRESHOLD 4
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
@@ -26,7 +29,8 @@ extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
Size oldSpaceAvail,
Size spaceNeeded);
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
- Size spaceAvail);
+ Size spaceAvail, BlockNumber nblocks);
+extern void FSMClearLocalMap(void);
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
Size spaceAvail);
--
2.17.1
v8-0003-During-pg_upgrade-skip-transfer-of-FSMs-if-they.patchtext/x-patch; charset=US-ASCII; name=v8-0003-During-pg_upgrade-skip-transfer-of-FSMs-if-they.patchDownload
From 4f5eb84de614456b57605adceb6852c0201ed82b Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Fri, 23 Nov 2018 12:59:40 +0700
Subject: [PATCH v8 3/3] During pg_upgrade, skip transfer of FSMs if they
wouldn't have been created on the new cluster.
---
src/bin/pg_upgrade/info.c | 11 +++++--
src/bin/pg_upgrade/pg_upgrade.h | 6 +++-
src/bin/pg_upgrade/relfilenode.c | 55 +++++++++++++++++++-------------
3 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c
index fd0b44c3ce..31a24e0bec 100644
--- a/src/bin/pg_upgrade/info.c
+++ b/src/bin/pg_upgrade/info.c
@@ -200,6 +200,7 @@ create_rel_filename_map(const char *old_data, const char *new_data,
map->old_db_oid = old_db->db_oid;
map->new_db_oid = new_db->db_oid;
+ map->relkind = old_rel->relkind;
/*
* old_relfilenode might differ from pg_class.oid (and hence
@@ -418,6 +419,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
char *nspname = NULL;
char *relname = NULL;
char *tablespace = NULL;
+ char *relkind = NULL;
int i_spclocation,
i_nspname,
i_relname,
@@ -425,7 +427,8 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_indtable,
i_toastheap,
i_relfilenode,
- i_reltablespace;
+ i_reltablespace,
+ i_relkind;
char query[QUERY_ALLOC];
char *last_namespace = NULL,
*last_tablespace = NULL;
@@ -497,7 +500,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
*/
snprintf(query + strlen(query), sizeof(query) - strlen(query),
"SELECT all_rels.*, n.nspname, c.relname, "
- " c.relfilenode, c.reltablespace, %s "
+ " c.relfilenode, c.reltablespace, c.relkind, %s "
"FROM (SELECT * FROM regular_heap "
" UNION ALL "
" SELECT * FROM toast_heap "
@@ -529,6 +532,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_relfilenode = PQfnumber(res, "relfilenode");
i_reltablespace = PQfnumber(res, "reltablespace");
i_spclocation = PQfnumber(res, "spclocation");
+ i_relkind = PQfnumber(res, "relkind");
for (relnum = 0; relnum < ntups; relnum++)
{
@@ -558,6 +562,9 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
relname = PQgetvalue(res, relnum, i_relname);
curr->relname = pg_strdup(relname);
+ relkind = PQgetvalue(res, relnum, i_relkind);
+ curr->relkind = relkind[0];
+
curr->relfilenode = atooid(PQgetvalue(res, relnum, i_relfilenode));
curr->tblsp_alloc = false;
diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h
index 51bd211d46..8eda9c1f4a 100644
--- a/src/bin/pg_upgrade/pg_upgrade.h
+++ b/src/bin/pg_upgrade/pg_upgrade.h
@@ -147,6 +147,7 @@ typedef struct
char *tablespace; /* tablespace path; "" for cluster default */
bool nsp_alloc; /* should nspname be freed? */
bool tblsp_alloc; /* should tablespace be freed? */
+ char relkind; /* relation relkind -- see pg_class.h */
} RelInfo;
typedef struct
@@ -173,9 +174,12 @@ typedef struct
*/
Oid old_relfilenode;
Oid new_relfilenode;
- /* the rest are used only for logging and error reporting */
+
+ /* These are used only for logging and error reporting. */
char *nspname; /* namespaces */
char *relname;
+
+ char relkind; /* relation relkind -- see pg_class.h */
} FileNameMap;
/*
diff --git a/src/bin/pg_upgrade/relfilenode.c b/src/bin/pg_upgrade/relfilenode.c
index 3b16c92a02..b883d0dd4d 100644
--- a/src/bin/pg_upgrade/relfilenode.c
+++ b/src/bin/pg_upgrade/relfilenode.c
@@ -14,10 +14,11 @@
#include <sys/stat.h>
#include "catalog/pg_class_d.h"
#include "access/transam.h"
+#include "storage/freespace.h"
static void transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace);
-static void transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
+static Size transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
/*
@@ -144,6 +145,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
int mapnum;
bool vm_crashsafe_match = true;
bool vm_must_add_frozenbit = false;
+ Size first_seg_size = 0;
/*
* Do the old and new cluster disagree on the crash-safetiness of the vm
@@ -165,18 +167,22 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
if (old_tablespace == NULL ||
strcmp(maps[mapnum].old_tablespace, old_tablespace) == 0)
{
- /* transfer primary file */
- transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
+ /* Transfer main fork and return size of the first segment. */
+ first_seg_size = transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
/* fsm/vm files added in PG 8.4 */
if (GET_MAJOR_VERSION(old_cluster.major_version) >= 804)
{
/*
- * Copy/link any fsm and vm files, if they exist
+ * Copy/link any fsm and vm files, if they exist and if they would
+ * be created in the new cluster.
*/
- transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
+ if (maps[mapnum].relkind != RELKIND_RELATION ||
+ first_seg_size > HEAP_FSM_CREATION_THRESHOLD * BLCKSZ ||
+ GET_MAJOR_VERSION(new_cluster.major_version) <= 1100)
+ (void) transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
if (vm_crashsafe_match)
- transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
+ (void) transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
}
}
}
@@ -190,7 +196,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
* is true, visibility map forks are converted and rewritten, even in link
* mode.
*/
-static void
+static Size
transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_frozenbit)
{
char old_file[MAXPGPATH];
@@ -198,6 +204,8 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
int segno;
char extent_suffix[65];
struct stat statbuf;
+ int sret;
+ Size first_seg_size = 0;
/*
* Now copy/link any related segments as well. Remember, PG breaks large
@@ -226,26 +234,29 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
type_suffix,
extent_suffix);
- /* Is it an extent, fsm, or vm file? */
- if (type_suffix[0] != '\0' || segno != 0)
- {
- /* Did file open fail? */
- if (stat(old_file, &statbuf) != 0)
- {
- /* File does not exist? That's OK, just return */
- if (errno == ENOENT)
- return;
- else
- pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
- map->nspname, map->relname, old_file, new_file,
- strerror(errno));
- }
+ sret = stat(old_file, &statbuf);
+ /* Save the size of the first segment of the main fork. */
+ if (type_suffix[0] == '\0' && segno == 0)
+ first_seg_size = statbuf.st_size;
+
+ /* The file must be an extent, fsm, or vm. */
+ else if (sret == 0)
+ {
/* If file is empty, just return */
if (statbuf.st_size == 0)
- return;
+ return first_seg_size;
}
+ /* Did file open fail? */
+ else if (errno == ENOENT)
+ /* File does not exist? That's OK, just return */
+ return first_seg_size;
+ else
+ pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
+ map->nspname, map->relname, old_file, new_file,
+ strerror(errno));
+
unlink(new_file);
/* Copying files might take some time, so give feedback. */
--
2.17.1
On Fri, Nov 23, 2018 at 11:56 AM John Naylor <jcnaylor@gmail.com> wrote:
On 11/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
3. static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot, - uint8 newValue, uint8 minValue); + uint8 newValue, uint8 minValue);This appears to be a spurious change.
2 and 3 are separated into 0001.
Is the point 3 change related to pgindent? I think even if you want
these, then don't prepare other patches on top of this, keep it
entirely separate.
Also, we don't quite have a consensus on the threshold value, but I
have set it to 4 pages for v8. If this is still considered too
expensive (and basic tests show it shouldn't be), I suspect it'd be
better to interleave the available block numbers as described a couple
days ago than lower the threshold further.
Can you please repeat the copy test you have done above with
fillfactor as 20 and 30?
I have looked at zhio.c, and it seems trivial to adapt zheap to this patchset.
Cool, I also think so.
Few more comments:
-------------------------------
1. I think we can add some test(s) to test the new functionality, may
be something on the lines of what Robert has originally provided as an
example of this behavior [1]/messages/by-id/CA+Tgmoac+6qTNp2U+wedY8-PU6kK_b6hbdhR5xYGBG3GtdFcww@mail.gmail.com.
2.
@@ -2554,6 +2555,12 @@ AbortTransaction(void)
s->parallelModeLevel = 0;
}
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
The similar call is required in AbortSubTransaction function as well.
I suggest to add it after pgstat_progress_end_command in both
functions.
3.
GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
{
..
+ if (target_block == InvalidBlockNumber &&
+ rel->rd_rel->relkind == RELKIND_RELATION)
+ {
+ nblocks = RelationGetNumberOfBlocks(rel);
+
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ {
+ /*
+ * If the FSM knows nothing of the rel, try the last page before
+ * we give up and extend. This avoids one-tuple-per-page syndrome
+ * during bootstrapping or in a recently-started system.
+ */
+ target_block = nblocks - 1;
+ }
..
}
Moving this check inside GetPageWithFreeSpace has one disadvantage, we
will always consider last block which can have some inadvertent
effects. Consider when this function gets called from
RelationGetBufferForTuple just before extension, it can consider to
check for the last block even though that is already being done in the
begining when GetPageWithFreeSpace was called. I am not completely
sure how much this is a case to worry because it will help to check
last block when the same is concurrently added and FSM is not updated
for same. I am slightly worried because the unpatched code doesn't
care for such case and we have no intention to change this behaviour.
What do you think?
4. You have mentioned above that "system catalogs created during
bootstrap still have a FSM if they have any data." and I can also see
this behavior, have you investigated this point further?
5. Your logic to update FSM on standby seems okay, but can you show
some tests which proves its sanity?
[1]: /messages/by-id/CA+Tgmoac+6qTNp2U+wedY8-PU6kK_b6hbdhR5xYGBG3GtdFcww@mail.gmail.com
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 11/24/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Fri, Nov 23, 2018 at 11:56 AM John Naylor <jcnaylor@gmail.com> wrote:
On 11/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
3.
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16
slot,
- uint8 newValue, uint8 minValue);
+ uint8 newValue, uint8 minValue);This appears to be a spurious change.
2 and 3 are separated into 0001.
Is the point 3 change related to pgindent? I think even if you want
these, then don't prepare other patches on top of this, keep it
entirely separate.
There are some places in the codebase that have spaces after tabs for
no apparent reason (not to line up function parameters or pointer
declarations). pgindent hasn't been able to fix this. If you wish, you
are of course free to apply 0001 separately at any time.
Also, we don't quite have a consensus on the threshold value, but I
have set it to 4 pages for v8. If this is still considered too
expensive (and basic tests show it shouldn't be), I suspect it'd be
better to interleave the available block numbers as described a couple
days ago than lower the threshold further.Can you please repeat the copy test you have done above with
fillfactor as 20 and 30?
I did two kinds of tests. The first had a fill-factor of 10 [1]/messages/by-id/CAJVSVGWCRMyi8sSqguf6PfFcpM3hwNY5YhPZTt-8Q3ZGv0UGYw@mail.gmail.com, the
second had the default storage, but I prevented the backend from
caching the target block [2]/messages/by-id/CAJVSVGWMXzsqYpPhO3Snz4n5y8Tq-QiviuSCKyB5czCTnq9rzA@mail.gmail.com, to fully exercise the free space code.
Would you like me to repeat the first one with 20 and 30? And do you
think it is useful enough to test the copying of 4 blocks and not
smaller numbers?
Few more comments:
-------------------------------
1. I think we can add some test(s) to test the new functionality, may
be something on the lines of what Robert has originally provided as an
example of this behavior [1].
Maybe the SQL script attached to [3]/messages/by-id/CAJVSVGWvB13PzpbLEecFuGFc5V2fsO736BsdTakPiPAcdMM5tQ@mail.gmail.com (which I probably based on
Robert's report) can be cleaned up into a regression test.
3. GetPageWithFreeSpace(Relation rel, Size spaceNeeded) { .. + if (target_block == InvalidBlockNumber && + rel->rd_rel->relkind == RELKIND_RELATION) + { + nblocks = RelationGetNumberOfBlocks(rel); + + if (nblocks > HEAP_FSM_CREATION_THRESHOLD) + { + /* + * If the FSM knows nothing of the rel, try the last page before + * we give up and extend. This avoids one-tuple-per-page syndrome + * during bootstrapping or in a recently-started system. + */ + target_block = nblocks - 1; + } .. }Moving this check inside GetPageWithFreeSpace has one disadvantage, we
will always consider last block which can have some inadvertent
effects. Consider when this function gets called from
RelationGetBufferForTuple just before extension, it can consider to
check for the last block even though that is already being done in the
begining when GetPageWithFreeSpace was called. I am not completely
sure how much this is a case to worry because it will help to check
last block when the same is concurrently added and FSM is not updated
for same. I am slightly worried because the unpatched code doesn't
care for such case and we have no intention to change this behaviour.
What do you think?
I see what you mean. If the other backend extended by 1 block, the
intention is to keep it out of the FSM at first, and by extension, not
visible in other ways. The comment implies that's debatable, but I
agree we shouldn't change that without a reason to. One simple idea is
add a 3rd boolean parameter to GetPageWithFreeSpace() to control
whether it gives up if the FSM fork doesn't indicate free space, like
if (target_block == InvalidBlockNumber &&
rel->rd_rel->relkind == RELKIND_RELATION &&
!check_fsm_only)
{
nblocks = RelationGetNumberOfBlocks(rel);
4. You have mentioned above that "system catalogs created during
bootstrap still have a FSM if they have any data." and I can also see
this behavior, have you investigated this point further?
Code reading didn't uncover the cause. I might have to step through
with a debugger or something similar. I should find time for that next
month.
5. Your logic to update FSM on standby seems okay, but can you show
some tests which proves its sanity?
I believe to convince myself it was working, I used the individual
commands in the sql file in [3]/messages/by-id/CAJVSVGWvB13PzpbLEecFuGFc5V2fsO736BsdTakPiPAcdMM5tQ@mail.gmail.com, then used the size function on the
secondary. I'll redo that to verify.
--
[1]: /messages/by-id/CAJVSVGWCRMyi8sSqguf6PfFcpM3hwNY5YhPZTt-8Q3ZGv0UGYw@mail.gmail.com
[2]: /messages/by-id/CAJVSVGWMXzsqYpPhO3Snz4n5y8Tq-QiviuSCKyB5czCTnq9rzA@mail.gmail.com
[3]: /messages/by-id/CAJVSVGWvB13PzpbLEecFuGFc5V2fsO736BsdTakPiPAcdMM5tQ@mail.gmail.com
-John Naylor
On Mon, Nov 26, 2018 at 3:46 PM John Naylor <jcnaylor@gmail.com> wrote:
On 11/24/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Fri, Nov 23, 2018 at 11:56 AM John Naylor <jcnaylor@gmail.com> wrote:
On 11/16/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
3.
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16
slot,
- uint8 newValue, uint8 minValue);
+ uint8 newValue, uint8 minValue);This appears to be a spurious change.
2 and 3 are separated into 0001.
Is the point 3 change related to pgindent? I think even if you want
these, then don't prepare other patches on top of this, keep it
entirely separate.There are some places in the codebase that have spaces after tabs for
no apparent reason (not to line up function parameters or pointer
declarations). pgindent hasn't been able to fix this. If you wish, you
are of course free to apply 0001 separately at any time.
I am not sure that I am interested in generally changing the parts of
code that are not directly related to this patch, feel free to post
them separately.
Also, we don't quite have a consensus on the threshold value, but I
have set it to 4 pages for v8. If this is still considered too
expensive (and basic tests show it shouldn't be), I suspect it'd be
better to interleave the available block numbers as described a couple
days ago than lower the threshold further.Can you please repeat the copy test you have done above with
fillfactor as 20 and 30?I did two kinds of tests. The first had a fill-factor of 10 [1], the
second had the default storage, but I prevented the backend from
caching the target block [2], to fully exercise the free space code.
Would you like me to repeat the first one with 20 and 30?
Yes.
And do you
think it is useful enough to test the copying of 4 blocks and not
smaller numbers?
You can try that, but I am mainly interested with 4 as threshold or
may be higher to see where we start loosing. I think 4 should be a
reasonable default for this patch, if later anyone wants to extend, we
might want to provide a table level knob.
Few more comments:
-------------------------------
1. I think we can add some test(s) to test the new functionality, may
be something on the lines of what Robert has originally provided as an
example of this behavior [1].Maybe the SQL script attached to [3] (which I probably based on
Robert's report) can be cleaned up into a regression test.
Yeah, something on those lines works for me.
3. GetPageWithFreeSpace(Relation rel, Size spaceNeeded) { .. + if (target_block == InvalidBlockNumber && + rel->rd_rel->relkind == RELKIND_RELATION) + { + nblocks = RelationGetNumberOfBlocks(rel); + + if (nblocks > HEAP_FSM_CREATION_THRESHOLD) + { + /* + * If the FSM knows nothing of the rel, try the last page before + * we give up and extend. This avoids one-tuple-per-page syndrome + * during bootstrapping or in a recently-started system. + */ + target_block = nblocks - 1; + } .. }Moving this check inside GetPageWithFreeSpace has one disadvantage, we
will always consider last block which can have some inadvertent
effects. Consider when this function gets called from
RelationGetBufferForTuple just before extension, it can consider to
check for the last block even though that is already being done in the
begining when GetPageWithFreeSpace was called. I am not completely
sure how much this is a case to worry because it will help to check
last block when the same is concurrently added and FSM is not updated
for same. I am slightly worried because the unpatched code doesn't
care for such case and we have no intention to change this behaviour.
What do you think?I see what you mean. If the other backend extended by 1 block, the
intention is to keep it out of the FSM at first, and by extension, not
visible in other ways. The comment implies that's debatable, but I
agree we shouldn't change that without a reason to. One simple idea is
add a 3rd boolean parameter to GetPageWithFreeSpace() to control
whether it gives up if the FSM fork doesn't indicate free space, likeif (target_block == InvalidBlockNumber &&
rel->rd_rel->relkind == RELKIND_RELATION &&
!check_fsm_only)
{
nblocks = RelationGetNumberOfBlocks(rel);
I have the exact fix in my mind, so let's do it that way.
4. You have mentioned above that "system catalogs created during
bootstrap still have a FSM if they have any data." and I can also see
this behavior, have you investigated this point further?Code reading didn't uncover the cause. I might have to step through
with a debugger or something similar. I should find time for that next
month.
Okay.
5. Your logic to update FSM on standby seems okay, but can you show
some tests which proves its sanity?I believe to convince myself it was working, I used the individual
commands in the sql file in [3], then used the size function on the
secondary. I'll redo that to verify.
Okay.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
Is the point 3 change related to pgindent? I think even if you want
these, then don't prepare other patches on top of this, keep it
entirely separate.
Both removed.
Also, we don't quite have a consensus on the threshold value, but I
have set it to 4 pages for v8. If this is still considered too
expensive (and basic tests show it shouldn't be), I suspect it'd be
better to interleave the available block numbers as described a couple
days ago than lower the threshold further.Can you please repeat the copy test you have done above with
fillfactor as 20 and 30?
I will send the results in a separate email soon.
Few more comments:
-------------------------------
1. I think we can add some test(s) to test the new functionality, may
be something on the lines of what Robert has originally provided as an
example of this behavior [1].
Done. I tried adding it to several schedules, but for some reason
vacuuming an empty table failed to truncate the heap to 0 blocks.
Putting the test in its own group fixed the problem, but that doesn't
seem ideal.
2.
The similar call is required in AbortSubTransaction function as well.
I suggest to add it after pgstat_progress_end_command in both
functions.
Done.
3.
agree we shouldn't change that without a reason to. One simple idea is
add a 3rd boolean parameter to GetPageWithFreeSpace() to control
whether it gives up if the FSM fork doesn't indicate free space, likeI have the exact fix in my mind, so let's do it that way.
Done. This also reverts comments and variable names that referred to
updating the local map after relation extension.
While at it, I changed a couple conditionals to check the locally
cached nblocks rather than the threshold. No functional change, but
looks more precise. Might save a few cycles as well.
5. Your logic to update FSM on standby seems okay, but can you show
some tests which proves its sanity?I believe to convince myself it was working, I used the individual
commands in the sql file in [3], then used the size function on the
secondary. I'll redo that to verify.
I've verified the standby behaves precisely as the primary, as far as
the aforementioned script goes.
-John Naylor
Attachments:
v9-0002-During-pg_upgrade-skip-transfer-of-FSMs-if-they-w.patchtext/x-patch; charset=US-ASCII; name=v9-0002-During-pg_upgrade-skip-transfer-of-FSMs-if-they-w.patchDownload
From 5f19e5a41c40e67ef9ea7f9f883041c441999962 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Thu, 29 Nov 2018 16:32:11 +0700
Subject: [PATCH v9 2/2] During pg_upgrade, skip transfer of FSMs if they
wouldn't have been created on the new cluster.
---
src/bin/pg_upgrade/info.c | 11 +++++--
src/bin/pg_upgrade/pg_upgrade.h | 6 +++-
src/bin/pg_upgrade/relfilenode.c | 55 +++++++++++++++++++-------------
3 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c
index fd0b44c3ce..31a24e0bec 100644
--- a/src/bin/pg_upgrade/info.c
+++ b/src/bin/pg_upgrade/info.c
@@ -200,6 +200,7 @@ create_rel_filename_map(const char *old_data, const char *new_data,
map->old_db_oid = old_db->db_oid;
map->new_db_oid = new_db->db_oid;
+ map->relkind = old_rel->relkind;
/*
* old_relfilenode might differ from pg_class.oid (and hence
@@ -418,6 +419,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
char *nspname = NULL;
char *relname = NULL;
char *tablespace = NULL;
+ char *relkind = NULL;
int i_spclocation,
i_nspname,
i_relname,
@@ -425,7 +427,8 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_indtable,
i_toastheap,
i_relfilenode,
- i_reltablespace;
+ i_reltablespace,
+ i_relkind;
char query[QUERY_ALLOC];
char *last_namespace = NULL,
*last_tablespace = NULL;
@@ -497,7 +500,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
*/
snprintf(query + strlen(query), sizeof(query) - strlen(query),
"SELECT all_rels.*, n.nspname, c.relname, "
- " c.relfilenode, c.reltablespace, %s "
+ " c.relfilenode, c.reltablespace, c.relkind, %s "
"FROM (SELECT * FROM regular_heap "
" UNION ALL "
" SELECT * FROM toast_heap "
@@ -529,6 +532,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_relfilenode = PQfnumber(res, "relfilenode");
i_reltablespace = PQfnumber(res, "reltablespace");
i_spclocation = PQfnumber(res, "spclocation");
+ i_relkind = PQfnumber(res, "relkind");
for (relnum = 0; relnum < ntups; relnum++)
{
@@ -558,6 +562,9 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
relname = PQgetvalue(res, relnum, i_relname);
curr->relname = pg_strdup(relname);
+ relkind = PQgetvalue(res, relnum, i_relkind);
+ curr->relkind = relkind[0];
+
curr->relfilenode = atooid(PQgetvalue(res, relnum, i_relfilenode));
curr->tblsp_alloc = false;
diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h
index 51bd211d46..8eda9c1f4a 100644
--- a/src/bin/pg_upgrade/pg_upgrade.h
+++ b/src/bin/pg_upgrade/pg_upgrade.h
@@ -147,6 +147,7 @@ typedef struct
char *tablespace; /* tablespace path; "" for cluster default */
bool nsp_alloc; /* should nspname be freed? */
bool tblsp_alloc; /* should tablespace be freed? */
+ char relkind; /* relation relkind -- see pg_class.h */
} RelInfo;
typedef struct
@@ -173,9 +174,12 @@ typedef struct
*/
Oid old_relfilenode;
Oid new_relfilenode;
- /* the rest are used only for logging and error reporting */
+
+ /* These are used only for logging and error reporting. */
char *nspname; /* namespaces */
char *relname;
+
+ char relkind; /* relation relkind -- see pg_class.h */
} FileNameMap;
/*
diff --git a/src/bin/pg_upgrade/relfilenode.c b/src/bin/pg_upgrade/relfilenode.c
index 3b16c92a02..b883d0dd4d 100644
--- a/src/bin/pg_upgrade/relfilenode.c
+++ b/src/bin/pg_upgrade/relfilenode.c
@@ -14,10 +14,11 @@
#include <sys/stat.h>
#include "catalog/pg_class_d.h"
#include "access/transam.h"
+#include "storage/freespace.h"
static void transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace);
-static void transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
+static Size transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
/*
@@ -144,6 +145,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
int mapnum;
bool vm_crashsafe_match = true;
bool vm_must_add_frozenbit = false;
+ Size first_seg_size = 0;
/*
* Do the old and new cluster disagree on the crash-safetiness of the vm
@@ -165,18 +167,22 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
if (old_tablespace == NULL ||
strcmp(maps[mapnum].old_tablespace, old_tablespace) == 0)
{
- /* transfer primary file */
- transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
+ /* Transfer main fork and return size of the first segment. */
+ first_seg_size = transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
/* fsm/vm files added in PG 8.4 */
if (GET_MAJOR_VERSION(old_cluster.major_version) >= 804)
{
/*
- * Copy/link any fsm and vm files, if they exist
+ * Copy/link any fsm and vm files, if they exist and if they would
+ * be created in the new cluster.
*/
- transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
+ if (maps[mapnum].relkind != RELKIND_RELATION ||
+ first_seg_size > HEAP_FSM_CREATION_THRESHOLD * BLCKSZ ||
+ GET_MAJOR_VERSION(new_cluster.major_version) <= 1100)
+ (void) transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
if (vm_crashsafe_match)
- transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
+ (void) transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
}
}
}
@@ -190,7 +196,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
* is true, visibility map forks are converted and rewritten, even in link
* mode.
*/
-static void
+static Size
transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_frozenbit)
{
char old_file[MAXPGPATH];
@@ -198,6 +204,8 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
int segno;
char extent_suffix[65];
struct stat statbuf;
+ int sret;
+ Size first_seg_size = 0;
/*
* Now copy/link any related segments as well. Remember, PG breaks large
@@ -226,26 +234,29 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
type_suffix,
extent_suffix);
- /* Is it an extent, fsm, or vm file? */
- if (type_suffix[0] != '\0' || segno != 0)
- {
- /* Did file open fail? */
- if (stat(old_file, &statbuf) != 0)
- {
- /* File does not exist? That's OK, just return */
- if (errno == ENOENT)
- return;
- else
- pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
- map->nspname, map->relname, old_file, new_file,
- strerror(errno));
- }
+ sret = stat(old_file, &statbuf);
+ /* Save the size of the first segment of the main fork. */
+ if (type_suffix[0] == '\0' && segno == 0)
+ first_seg_size = statbuf.st_size;
+
+ /* The file must be an extent, fsm, or vm. */
+ else if (sret == 0)
+ {
/* If file is empty, just return */
if (statbuf.st_size == 0)
- return;
+ return first_seg_size;
}
+ /* Did file open fail? */
+ else if (errno == ENOENT)
+ /* File does not exist? That's OK, just return */
+ return first_seg_size;
+ else
+ pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
+ map->nspname, map->relname, old_file, new_file,
+ strerror(errno));
+
unlink(new_file);
/* Copying files might take some time, so give feedback. */
--
2.17.1
v9-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchtext/x-patch; charset=US-ASCII; name=v9-0001-Avoid-creation-of-the-free-space-map-for-small-ta.patchDownload
From c4bef3bf790745638d42e5eb6b303b85a9a828c4 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Thu, 29 Nov 2018 16:31:41 +0700
Subject: [PATCH v9 1/2] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has 4 blocks or fewer. If the last
known target block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 +++----
contrib/pageinspect/sql/page.sql | 33 +--
doc/src/sgml/storage.sgml | 13 +-
src/backend/access/brin/brin.c | 2 +-
src/backend/access/brin/brin_pageops.c | 10 +-
src/backend/access/heap/hio.c | 47 +++--
src/backend/access/transam/xact.c | 14 ++
src/backend/commands/vacuumlazy.c | 17 +-
src/backend/storage/freespace/README | 11 +-
src/backend/storage/freespace/freespace.c | 233 +++++++++++++++++++++-
src/backend/storage/freespace/indexfsm.c | 6 +-
src/include/storage/freespace.h | 9 +-
src/test/regress/expected/fsm.out | 55 +++++
src/test/regress/parallel_schedule | 5 +
src/test/regress/sql/fsm.sql | 37 ++++
15 files changed, 464 insertions(+), 105 deletions(-)
create mode 100644 src/test/regress/expected/fsm.out
create mode 100644 src/test/regress/sql/fsm.sql
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index 8ef2ac8010..cbdad0c3fb 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -590,12 +590,13 @@ tuple would otherwise be too big.
<indexterm><primary>FSM</primary><see>Free Space Map</see></indexterm>
<para>
-Each heap and index relation, except for hash indexes, has a Free Space Map
-(FSM) to keep track of available space in the relation. It's stored
-alongside the main relation data in a separate relation fork, named after the
-filenode number of the relation, plus a <literal>_fsm</literal> suffix. For example,
-if the filenode of a relation is 12345, the FSM is stored in a file called
-<filename>12345_fsm</filename>, in the same directory as the main relation file.
+Each heap relation, unless it is very small, and each index relation, except
+for hash indexes, has a Free Space Map (FSM) to keep track of available
+space in the relation. It's stored alongside the main relation data in a
+separate relation fork, named after the filenode number of the relation, plus
+a <literal>_fsm</literal> suffix. For example, if the filenode of a relation
+is 12345, the FSM is stored in a file called <filename>12345_fsm</filename>,
+in the same directory as the main relation file.
</para>
<para>
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index e95fbbcea7..7c5b1af764 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1148,7 +1148,7 @@ terminate_brin_buildstate(BrinBuildState *state)
freespace = PageGetFreeSpace(page);
blk = BufferGetBlockNumber(state->bs_currentInsertBuf);
ReleaseBuffer(state->bs_currentInsertBuf);
- RecordPageWithFreeSpace(state->bs_irel, blk, freespace);
+ RecordPageWithFreeSpace(state->bs_irel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(state->bs_irel, blk, blk + 1);
}
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c
index 040cb62e55..cd10458ddc 100644
--- a/src/backend/access/brin/brin_pageops.c
+++ b/src/backend/access/brin/brin_pageops.c
@@ -310,7 +310,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, newblk, freespace);
+ RecordPageWithFreeSpace(idxrel, newblk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, newblk, newblk + 1);
}
@@ -461,7 +461,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, blk, freespace);
+ RecordPageWithFreeSpace(idxrel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, blk, blk + 1);
}
@@ -654,7 +654,7 @@ brin_page_cleanup(Relation idxrel, Buffer buf)
/* Measure free space and record it */
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buf),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
/*
@@ -703,7 +703,7 @@ brin_getinsertbuffer(Relation irel, Buffer oldbuf, Size itemsz,
/* Choose initial target page, re-using existing target if known */
newblk = RelationGetTargetBlock(irel);
if (newblk == InvalidBlockNumber)
- newblk = GetPageWithFreeSpace(irel, itemsz);
+ newblk = GetPageWithFreeSpace(irel, itemsz, true);
/*
* Loop until we find a page with sufficient free space. By the time we
@@ -895,7 +895,7 @@ brin_initialize_empty_new_buffer(Relation idxrel, Buffer buffer)
* pages whose FSM records were forgotten in a crash.
*/
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buffer),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..e59568e47e 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -239,8 +239,14 @@ RelationAddExtraBlocks(Relation relation, BulkInsertState bistate)
* Immediately update the bottom level of the FSM. This has a good
* chance of making this page visible to other concurrently inserting
* backends, and we want that to happen without delay.
+ *
+ * Since we know the table will end up with extraBlocks additional
+ * pages, we pass the final number to avoid possible unnecessary
+ * system calls and to make sure the FSM is created when we add
+ * the first new page.
*/
- RecordPageWithFreeSpace(relation, blockNum, freespace);
+ RecordPageWithFreeSpace(relation, blockNum, freespace,
+ firstBlock + extraBlocks);
}
while (--extraBlocks > 0);
@@ -377,20 +383,9 @@ RelationGetBufferForTuple(Relation relation, Size len,
* We have no cached target page, so ask the FSM for an initial
* target.
*/
- targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
- if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
+ targetBlock = GetPageWithFreeSpace(relation,
+ len + saveFreeSpace,
+ false);
}
loop:
@@ -484,6 +479,14 @@ loop:
{
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ if (targetBlock < HEAP_FSM_CREATION_THRESHOLD)
+ FSMClearLocalMap();
+
return buffer;
}
@@ -543,9 +546,12 @@ loop:
/*
* Check if some other backend has extended a block for us while
- * we were waiting on the lock.
+ * we were waiting on the lock. We only check the FSM -- if there
+ * isn't one we don't recheck the number of blocks.
*/
- targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
+ targetBlock = GetPageWithFreeSpace(relation,
+ len + saveFreeSpace,
+ true);
/*
* If some other waiter has already extended the relation, we
@@ -625,5 +631,12 @@ loop:
*/
RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer));
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use. We do this unconditionally since after relation
+ * extension we can't skip this based on the targetBlock.
+ */
+ FSMClearLocalMap();
+
return buffer;
}
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index d967400384..fa0620b301 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -48,6 +48,7 @@
#include "replication/walsender.h"
#include "storage/condition_variable.h"
#include "storage/fd.h"
+#include "storage/freespace.h"
#include "storage/lmgr.h"
#include "storage/predicate.h"
#include "storage/proc.h"
@@ -2488,6 +2489,12 @@ AbortTransaction(void)
pgstat_report_wait_end();
pgstat_progress_end_command();
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
/* Clean up buffer I/O and buffer context locks, too */
AbortBufferIO();
UnlockBuffers();
@@ -4709,6 +4716,13 @@ AbortSubTransaction(void)
pgstat_report_wait_end();
pgstat_progress_end_command();
+
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
AbortBufferIO();
UnlockBuffers();
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 8134c52253..d2818dfad4 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -154,7 +154,7 @@ static BufferAccessStrategy vac_strategy;
static void lazy_scan_heap(Relation onerel, int options,
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
bool aggressive);
-static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
+static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
static void lazy_vacuum_index(Relation indrel,
IndexBulkDeleteResult **stats,
@@ -759,7 +759,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
/* Remove tuples from heap */
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
/*
* Forget the now-vacuumed tuples, and press on, but be careful
@@ -897,7 +897,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
MarkBufferDirty(buf);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -936,7 +936,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
}
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -1333,7 +1333,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* taken if there are no indexes.)
*/
if (vacrelstats->num_dead_tuples == prev_dead_count)
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
}
/* report that everything is scanned and vacuumed */
@@ -1395,7 +1395,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
/* Remove tuples from heap */
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
vacrelstats->num_index_scans++;
}
@@ -1466,9 +1466,10 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* Note: the reason for doing this as a second pass is we cannot remove
* the tuples until we've removed their index entries, and we want to
* process index entry removal in batches as large as possible.
+ * Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
*/
static void
-lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
+lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
{
int tupindex;
int npages;
@@ -1505,7 +1506,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, tblk, freespace);
+ RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
npages++;
}
diff --git a/src/backend/storage/freespace/README b/src/backend/storage/freespace/README
index e7ff23b76f..abaec871a5 100644
--- a/src/backend/storage/freespace/README
+++ b/src/backend/storage/freespace/README
@@ -5,10 +5,11 @@ Free Space Map
The purpose of the free space map is to quickly locate a page with enough
free space to hold a tuple to be stored; or to determine that no such page
-exists and the relation must be extended by one page. As of PostgreSQL 8.4
-each relation has its own, extensible free space map stored in a separate
-"fork" of its relation. This eliminates the disadvantages of the former
-fixed-size FSM.
+exists and the relation must be extended by one page. For very small heap
+relations, we simply iterate through all the pages in descending order.
+Otherwise, each relation (except for hash indexes) has its own, extensible
+free space map stored in a separate "fork" of its relation. This eliminates
+the disadvantages of the fixed-size FSM used in PostgreSQL 8.3 and earlier.
It is important to keep the map small so that it can be searched rapidly.
Therefore, we don't attempt to record the exact free space on a page.
@@ -192,5 +193,3 @@ TODO
----
- fastroot to avoid traversing upper nodes with just 1 child
-- use a different system for tables that fit into one FSM page, with a
- mechanism to switch to the real thing as it grows.
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..075092e31c 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -76,6 +76,14 @@
#define FSM_ROOT_LEVEL (FSM_TREE_DEPTH - 1)
#define FSM_BOTTOM_LEVEL 0
+/* Status codes for the local map. */
+
+/* Either already tried, or beyond the end of the relation */
+#define FSM_LOCAL_NOT_AVAIL 0x00
+
+/* Available to try */
+#define FSM_LOCAL_AVAIL 0x01
+
/*
* The internal FSM routines work on a logical addressing scheme. Each
* level of the tree can be thought of as a separately addressable file.
@@ -89,6 +97,15 @@ typedef struct
/* Address of the root page. */
static const FSMAddress FSM_ROOT_ADDRESS = {FSM_ROOT_LEVEL, 0};
+/* Local map of block numbers for small heaps with no FSM. */
+typedef struct
+{
+ BlockNumber nblocks;
+ char map[HEAP_FSM_CREATION_THRESHOLD];
+} FSMLocalMap;
+
+static FSMLocalMap fsm_local_map = {0, {FSM_LOCAL_NOT_AVAIL}};
+
/* functions to navigate the tree */
static FSMAddress fsm_get_child(FSMAddress parent, uint16 slot);
static FSMAddress fsm_get_parent(FSMAddress child, uint16 *slot);
@@ -107,10 +124,14 @@ static Size fsm_space_cat_to_avail(uint8 cat);
/* workhorse functions for various operations */
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
uint8 newValue, uint8 minValue);
+static void fsm_local_set(Relation rel, BlockNumber nblocks);
static BlockNumber fsm_search(Relation rel, uint8 min_cat);
+static BlockNumber fsm_local_search(void);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks);
/******** Public API ********/
@@ -129,11 +150,39 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
* extend the relation.
*/
BlockNumber
-GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
+GetPageWithFreeSpace(Relation rel, Size spaceNeeded, bool check_fsm_only)
{
uint8 min_cat = fsm_space_needed_to_cat(spaceNeeded);
+ BlockNumber target_block,
+ nblocks;
+
+ /* First try the FSM, if it exists. */
+ target_block = fsm_search(rel, min_cat);
+
+ if (target_block == InvalidBlockNumber &&
+ rel->rd_rel->relkind == RELKIND_RELATION &&
+ !check_fsm_only)
+ {
+ nblocks = RelationGetNumberOfBlocks(rel);
- return fsm_search(rel, min_cat);
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ {
+ /*
+ * If the FSM knows nothing of the rel, try the last page before
+ * we give up and extend. This avoids one-tuple-per-page syndrome
+ * during bootstrapping or in a recently-started system.
+ */
+ target_block = nblocks - 1;
+ }
+ else if (nblocks > 0)
+ {
+ /* Create or update local map and get first candidate block. */
+ fsm_local_set(rel, nblocks);
+ target_block = fsm_local_search();
+ }
+ }
+
+ return target_block;
}
/*
@@ -149,11 +198,38 @@ BlockNumber
RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
Size oldSpaceAvail, Size spaceNeeded)
{
- int old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
- int search_cat = fsm_space_needed_to_cat(spaceNeeded);
+ int old_cat;
+ int search_cat;
FSMAddress addr;
uint16 slot;
int search_slot;
+ BlockNumber nblocks = InvalidBlockNumber;
+
+ /* First try the local map, if it exists. */
+ if (oldPage < fsm_local_map.nblocks)
+ {
+ Assert(rel->rd_rel->relkind == RELKIND_RELATION &&
+ fsm_local_map.map[oldPage] == FSM_LOCAL_AVAIL);
+
+ fsm_local_map.map[oldPage] = FSM_LOCAL_NOT_AVAIL;
+ return fsm_local_search();
+ }
+
+ if (!fsm_allow_writes(rel, oldPage, InvalidBlockNumber, &nblocks))
+ {
+ /*
+ * If we have neither a local map nor an FSM, we probably just
+ * tried the target block in the smgr relation entry and failed,
+ * so we'll need to create the local map.
+ */
+ fsm_local_set(rel, nblocks);
+ return fsm_local_search();
+ }
+
+ /* Normal FSM logic follows */
+
+ old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
+ search_cat = fsm_space_needed_to_cat(spaceNeeded);
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -178,18 +254,36 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
* FreeSpaceMapVacuum call, which updates the upper level pages.
*/
void
-RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
+RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
+ Size spaceAvail, BlockNumber nblocks)
{
- int new_cat = fsm_space_avail_to_cat(spaceAvail);
+ int new_cat;
FSMAddress addr;
uint16 slot;
+ BlockNumber dummy;
+
+ if (!fsm_allow_writes(rel, heapBlk, nblocks, &dummy))
+ /* Note: We do not have a local map to update, either. */
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
+ new_cat = fsm_space_avail_to_cat(spaceAvail);
fsm_set_and_search(rel, addr, slot, new_cat, 0);
}
+/*
+ * Clear the local map. We must call this when we have found a block with
+ * enough free space, or when we extend the relation.
+ */
+void
+FSMClearLocalMap(void)
+{
+ fsm_local_map.nblocks = 0;
+ memset(&fsm_local_map.map, 0, sizeof(fsm_local_map.map));
+}
+
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
@@ -204,6 +298,30 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
+
+ /* This is meant to mirror the logic in fsm_allow_writes() */
+ if (heapBlk >= HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ {
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -904,3 +1022,106 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_CREATION_THRESHOLD. For tables that don't already have
+ * a FSM, this will save an inode and a few kB of space.
+ *
+ * XXX The API is a little awkward -- if the caller passes a valid nblocks
+ * value, it can avoid invoking a system call. If the caller passes
+ * InvalidBlockNumber and receives a false return value, it can get an
+ * up-to-date relation size from get_nblocks.
+ */
+static bool
+fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks)
+{
+ bool skip_get_nblocks;
+
+ if (heapblk >= HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+
+ /* Non-heap rels can always create an FSM. */
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /*
+ * If the caller knows nblocks, we can avoid a system call later.
+ * If it doesn't, maybe we have relpages from a previous VACUUM.
+ * Since the table may have extended since then, we still have to
+ * count the pages later if we can't return now.
+ */
+ if (nblocks != InvalidBlockNumber)
+ {
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = true;
+ }
+ else
+ {
+ if (rel->rd_rel->relpages != InvalidBlockNumber &&
+ rel->rd_rel->relpages > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = false;
+ }
+
+ RelationOpenSmgr(rel);
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ return true;
+
+ if (skip_get_nblocks)
+ return false;
+
+ /* last resort */
+ *get_nblocks = RelationGetNumberOfBlocks(rel);
+ if (*get_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ return false;
+}
+
+/*
+ * Initialize the local map of blocks to try, for when there is no FSM.
+ */
+static void
+fsm_local_set(Relation rel, BlockNumber nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ for (blkno = 0; blkno < nblocks; blkno++)
+ fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;
+
+ /* Cache the number of blocks. */
+ fsm_local_map.nblocks = nblocks;
+
+ /* Set the status of the cached target block to 'unavailable'. */
+ cached_target_block = RelationGetTargetBlock(rel);
+ if (cached_target_block != InvalidBlockNumber &&
+ cached_target_block < nblocks)
+ fsm_local_map.map[cached_target_block] = FSM_LOCAL_NOT_AVAIL;
+}
+
+/*
+ * Search the local map for an available block to try, in descending order.
+ *
+ * For use when there is no FSM.
+ */
+static BlockNumber
+fsm_local_search(void)
+{
+ BlockNumber target_block = fsm_local_map.nblocks;
+
+ do
+ {
+ target_block--;
+ if (fsm_local_map.map[target_block] == FSM_LOCAL_AVAIL)
+ return target_block;
+ }
+ while (target_block > 0);
+
+ return InvalidBlockNumber;
+}
diff --git a/src/backend/storage/freespace/indexfsm.c b/src/backend/storage/freespace/indexfsm.c
index e21047b96f..88a71ae548 100644
--- a/src/backend/storage/freespace/indexfsm.c
+++ b/src/backend/storage/freespace/indexfsm.c
@@ -37,7 +37,7 @@
BlockNumber
GetFreeIndexPage(Relation rel)
{
- BlockNumber blkno = GetPageWithFreeSpace(rel, BLCKSZ / 2);
+ BlockNumber blkno = GetPageWithFreeSpace(rel, BLCKSZ / 2, true);
if (blkno != InvalidBlockNumber)
RecordUsedIndexPage(rel, blkno);
@@ -51,7 +51,7 @@ GetFreeIndexPage(Relation rel)
void
RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
{
- RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
+ RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1, InvalidBlockNumber);
}
@@ -61,7 +61,7 @@ RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
void
RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
{
- RecordPageWithFreeSpace(rel, usedBlock, 0);
+ RecordPageWithFreeSpace(rel, usedBlock, 0, InvalidBlockNumber);
}
/*
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..8b2651db04 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,15 +18,20 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only extend a heap's FSM if the heap has greater than this many blocks */
+#define HEAP_FSM_CREATION_THRESHOLD 4
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
-extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
+extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded,
+ bool check_fsm_only);
extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
BlockNumber oldPage,
Size oldSpaceAvail,
Size spaceNeeded);
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
- Size spaceAvail);
+ Size spaceAvail, BlockNumber nblocks);
+extern void FSMClearLocalMap(void);
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
Size spaceAvail);
diff --git a/src/test/regress/expected/fsm.out b/src/test/regress/expected/fsm.out
new file mode 100644
index 0000000000..1368a782e3
--- /dev/null
+++ b/src/test/regress/expected/fsm.out
@@ -0,0 +1,55 @@
+--
+-- Free Space Map test
+--
+CREATE TABLE fsm_check_size (num int);
+-- 1 heap block
+-- No FSM
+INSERT INTO fsm_check_size values (0);
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 8192 | 0
+(1 row)
+
+-- Extend table with enough blocks to exceed the FSM threshold
+-- FSM is created and extended to 3 blocks
+INSERT INTO fsm_check_size SELECT g from generate_series(1,3000) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ fsm_size
+----------
+ 24576
+(1 row)
+
+-- Truncate heap to 1 block
+-- No change in FSM
+DELETE FROM fsm_check_size where num > 0;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 8192 | 24576
+(1 row)
+
+-- Truncate heap to 0 blocks
+-- FSM now truncated to 2 blocks
+DELETE FROM fsm_check_size;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 0 | 16384
+(1 row)
+
+-- Extend heap to 1 block
+-- FSM is extended to 3 blocks
+INSERT INTO fsm_check_size values (0);
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 8192 | 24576
+(1 row)
+
+DROP TABLE fsm_check_size;
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index cc0bbf5db9..bb0a151127 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -68,6 +68,11 @@ test: create_aggregate create_function_3 create_cast constraints triggers inheri
# ----------
test: sanity_check
+# ----------
+# fsm does a vacuum, and running it in parallel seems to prevent heap truncation.
+# ----------
+test: fsm
+
# ----------
# Believe it or not, select creates a table, subsequent
# tests need.
diff --git a/src/test/regress/sql/fsm.sql b/src/test/regress/sql/fsm.sql
new file mode 100644
index 0000000000..16c1e72a97
--- /dev/null
+++ b/src/test/regress/sql/fsm.sql
@@ -0,0 +1,37 @@
+--
+-- Free Space Map test
+--
+
+CREATE TABLE fsm_check_size (num int);
+
+-- 1 heap block
+-- No FSM
+INSERT INTO fsm_check_size values (0);
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Extend table with enough blocks to exceed the FSM threshold
+-- FSM is created and extended to 3 blocks
+INSERT INTO fsm_check_size SELECT g from generate_series(1,3000) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Truncate heap to 1 block
+-- No change in FSM
+DELETE FROM fsm_check_size where num > 0;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Truncate heap to 0 blocks
+-- FSM now truncated to 2 blocks
+DELETE FROM fsm_check_size;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Extend heap to 1 block
+-- FSM is extended to 3 blocks
+INSERT INTO fsm_check_size values (0);
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') as heap_size, pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+DROP TABLE fsm_check_size;
--
2.17.1
On Thu, Nov 29, 2018 at 3:07 PM John Naylor <jcnaylor@gmail.com> wrote:
Few more comments:
-------------------------------
1. I think we can add some test(s) to test the new functionality, may
be something on the lines of what Robert has originally provided as an
example of this behavior [1].Done. I tried adding it to several schedules, but for some reason
vacuuming an empty table failed to truncate the heap to 0 blocks.
Putting the test in its own group fixed the problem, but that doesn't
seem ideal.
It might be because it fails the should_attempt_truncation() check.
See below code:
if (should_attempt_truncation(vacrelstats))
lazy_truncate_heap(onerel, vacrelstats, vac_strategy);
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 11/29/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Nov 29, 2018 at 3:07 PM John Naylor <jcnaylor@gmail.com> wrote:
Done. I tried adding it to several schedules, but for some reason
vacuuming an empty table failed to truncate the heap to 0 blocks.
Putting the test in its own group fixed the problem, but that doesn't
seem ideal.It might be because it fails the should_attempt_truncation() check.
See below code:if (should_attempt_truncation(vacrelstats))
lazy_truncate_heap(onerel, vacrelstats, vac_strategy);
I see. I think truncating the FSM is not essential to show either the
old or new behavior -- I could skip that portion to enable running the
test in a parallel group.
Can you please repeat the copy test you have done above with
fillfactor as 20 and 30?I will send the results in a separate email soon.
I ran the attached scripts which populates 100 tables with either 4 or
8 blocks. The test tables were pre-filled with one tuple and vacuumed
so that the FSMs were already created when testing the master branch.
The patch branch was compiled with a threshold of 8, but testing
inserts of 4 pages effectively simulates a threshold of 4. Config was
stock, except for fsync = off. I took the average of 40 runs (2
complete tests of 20 runs each) after removing the 10% highest and
lowest:
fillfactor=20
# blocks master patch
4 19.1ms 17.5ms
8 33.4ms 30.9ms
fillfactor=30
# blocks master patch
4 20.1ms 19.7ms
8 34.7ms 34.9ms
It seems the patch might be a bit faster with fillfactor=20, but I'm
at a loss as to why that would be. Previous testing with a higher
threshold showed a significant performance penalty starting around 10
blocks [1]/messages/by-id/CAJVSVGWCRMyi8sSqguf6PfFcpM3hwNY5YhPZTt-8Q3ZGv0UGYw@mail.gmail.com, but that used truncation rather than deletion, and had a
fill-factor of 10.
--
[1]: /messages/by-id/CAJVSVGWCRMyi8sSqguf6PfFcpM3hwNY5YhPZTt-8Q3ZGv0UGYw@mail.gmail.com
-John Naylor
On Sat, Dec 1, 2018 at 12:42 PM John Naylor <jcnaylor@gmail.com> wrote:
On 11/29/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Nov 29, 2018 at 3:07 PM John Naylor <jcnaylor@gmail.com> wrote:
Done. I tried adding it to several schedules, but for some reason
vacuuming an empty table failed to truncate the heap to 0 blocks.
Putting the test in its own group fixed the problem, but that doesn't
seem ideal.It might be because it fails the should_attempt_truncation() check.
See below code:if (should_attempt_truncation(vacrelstats))
lazy_truncate_heap(onerel, vacrelstats, vac_strategy);I see. I think truncating the FSM is not essential to show either the
old or new behavior -- I could skip that portion to enable running the
test in a parallel group.Can you please repeat the copy test you have done above with
fillfactor as 20 and 30?I will send the results in a separate email soon.
I ran the attached scripts which populates 100 tables with either 4 or
8 blocks. The test tables were pre-filled with one tuple and vacuumed
so that the FSMs were already created when testing the master branch.
The patch branch was compiled with a threshold of 8, but testing
inserts of 4 pages effectively simulates a threshold of 4. Config was
stock, except for fsync = off. I took the average of 40 runs (2
complete tests of 20 runs each) after removing the 10% highest and
lowest:fillfactor=20
# blocks master patch
4 19.1ms 17.5ms
8 33.4ms 30.9msfillfactor=30
# blocks master patch
4 20.1ms 19.7ms
8 34.7ms 34.9msIt seems the patch might be a bit faster with fillfactor=20, but I'm
at a loss as to why that would be.
I see that in your previous tests also with patch, the performance was
slightly better. One probable reason could be that for small tables
the total number of pages accessed via shared buffers is more without
the patch (probably 3 FSM pages + 4 relation). With the patch, you
need to only access 4 relation pages. The other overhead of patch
(retrying each page) seems to be compensated with FSM search. I think
you can once check perf profiles to confirm the same.
Previous testing with a higher
threshold showed a significant performance penalty starting around 10
blocks [1], but that used truncation rather than deletion, and had a
fill-factor of 10.
Can you check whether the number of pages after test are the same with
and without a patch in this setup?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 12/1/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
Can you check whether the number of pages after test are the same with
and without a patch in this setup?
I did verify that the number of pages was as intended.
-John Naylor
On Thu, Nov 29, 2018 at 3:07 PM John Naylor <jcnaylor@gmail.com> wrote:
- * Copy/link any fsm and vm files, if they exist
+ *
Copy/link any fsm and vm files, if they exist and if they would
+ * be created in the
new cluster.
*/
- transfer_relfile(&maps[mapnum], "_fsm",
vm_must_add_frozenbit);
+ if (maps[mapnum].relkind != RELKIND_RELATION ||
+
first_seg_size > HEAP_FSM_CREATION_THRESHOLD * BLCKSZ ||
+
GET_MAJOR_VERSION(new_cluster.major_version) <= 1100)
+ (void) transfer_relfile
(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
During pg_upgrade, skip transfer of FSMs if they wouldn't have been created on the new cluster.
I think in some cases, it won't be consistent with HEAD's behavior.
After truncate, we leave the FSM as it is, so the case where before
upgrade the relation was truncated, we won't create the FSM in new
cluster and that will be inconsistent with the behavior of HEAD. I
think similar anomaly will be there when we delete rows from the table
such that after deletion size of relation becomes smaller than
HEAP_FSM_CREATION_THRESHOLD.
I am not sure if it is a good idea to *not* transfer FSM files during
upgrade unless we ensure that we remove FSM whenever the relation size
falls below HEAP_FSM_CREATION_THRESHOLD. What do you think? BTW,
what is your reasoning for not removing FSM on truncate?
Anybody else has an opinion on this matter?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Mon, Dec 3, 2018 at 9:46 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Nov 29, 2018 at 3:07 PM John Naylor <jcnaylor@gmail.com> wrote:
v8 code:
+fsm_local_set(Relation rel, BlockNumber new_nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ /*
+ * Mark blocks available starting after the last block number we have
+ * cached, and ending at the current last block in the relation.
+ * When we first set the map, this will flag all blocks as available
+ * to try. If we reset the map while waiting for a relation
+ * extension lock, this will only flag new blocks as available,
+ * if any were created by another backend.
+ */
+ for (blkno = fsm_local_map.nblocks; blkno < new_nblocks; blkno++)
+ fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;
v9 code:
+static void
+fsm_local_set(Relation rel, BlockNumber nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ for (blkno = 0; blkno < nblocks; blkno++)
+ fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;
What is the reason for the above code change in the latest patch version?
It would be good if you add few comments atop functions
GetPageWithFreeSpace, RecordAndGetPageWithFreeSpace and
RecordPageWithFreeSpace about their interaction with local map.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 12/3/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
During pg_upgrade, skip transfer of FSMs if they wouldn't have been
created on the new cluster.I think in some cases, it won't be consistent with HEAD's behavior.
After truncate, we leave the FSM as it is, so the case where before
upgrade the relation was truncated, we won't create the FSM in new
cluster and that will be inconsistent with the behavior of HEAD.
To be precise, with the TRUNCATE statement, the FSM (everything but
the main relation fork, I think) is deleted, but using DELETE to
remove all rows from the table will preserve the forks. In the latter
case, when VACUUM truncates the FSM, it removes all leaf pages leaving
behind the root page and one mid-level page. I haven't changed this
behavior.
I think similar anomaly will be there when we delete rows from the table
such that after deletion size of relation becomes smaller than
HEAP_FSM_CREATION_THRESHOLD.
Yes, in that case there will be inconsistency, but I'm comfortable
with it. Others may not be.
I am not sure if it is a good idea to *not* transfer FSM files during
upgrade unless we ensure that we remove FSM whenever the relation size
falls below HEAP_FSM_CREATION_THRESHOLD. What do you think? BTW,
what is your reasoning for not removing FSM on truncate?
My reasoning is that if we ever went past the threshold, it's likely
we'll do so again, so I didn't feel it was worth the extra code
complexity to remove the FSM. In the pg_upgrade case, however, it is
simple to not copy the FSM.
-John Naylor
On 12/3/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Mon, Dec 3, 2018 at 9:46 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Nov 29, 2018 at 3:07 PM John Naylor <jcnaylor@gmail.com> wrote:
v8 code: +fsm_local_set(Relation rel, BlockNumber new_nblocks) +{ + BlockNumber blkno, + cached_target_block; + + /* + * Mark blocks available starting after the last block number we have + * cached, and ending at the current last block in the relation. + * When we first set the map, this will flag all blocks as available + * to try. If we reset the map while waiting for a relation + * extension lock, this will only flag new blocks as available, + * if any were created by another backend. + */ + for (blkno = fsm_local_map.nblocks; blkno < new_nblocks; blkno++) + fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;v9 code: +static void +fsm_local_set(Relation rel, BlockNumber nblocks) +{ + BlockNumber blkno, + cached_target_block; + + for (blkno = 0; blkno < nblocks; blkno++) + fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;What is the reason for the above code change in the latest patch version?
Per your recent comment, we no longer check relation size if we waited
on a relation extension lock, so this is essentially a reversion to an
earlier version. Keeping v8 would have the advantage that it'd be
simple to change our minds about this. Do you have an opinion about
that?
It would be good if you add few comments atop functions
GetPageWithFreeSpace, RecordAndGetPageWithFreeSpace and
RecordPageWithFreeSpace about their interaction with local map.
Good idea, will do.
-John Naylor
On Mon, Dec 3, 2018 at 11:15 AM John Naylor <jcnaylor@gmail.com> wrote:
On 12/3/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Mon, Dec 3, 2018 at 9:46 AM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Nov 29, 2018 at 3:07 PM John Naylor <jcnaylor@gmail.com> wrote:
v8 code: +fsm_local_set(Relation rel, BlockNumber new_nblocks) +{ + BlockNumber blkno, + cached_target_block; + + /* + * Mark blocks available starting after the last block number we have + * cached, and ending at the current last block in the relation. + * When we first set the map, this will flag all blocks as available + * to try. If we reset the map while waiting for a relation + * extension lock, this will only flag new blocks as available, + * if any were created by another backend. + */ + for (blkno = fsm_local_map.nblocks; blkno < new_nblocks; blkno++) + fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;v9 code: +static void +fsm_local_set(Relation rel, BlockNumber nblocks) +{ + BlockNumber blkno, + cached_target_block; + + for (blkno = 0; blkno < nblocks; blkno++) + fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;What is the reason for the above code change in the latest patch version?
Per your recent comment, we no longer check relation size if we waited
on a relation extension lock, so this is essentially a reversion to an
earlier version.
fsm_local_set is being called from RecordAndGetPageWithFreeSpace and
GetPageWithFreeSpace whereas the change we have discussed was specific
to GetPageWithFreeSpace, so not sure if we need any change in
fsm_local_set.
Keeping v8 would have the advantage that it'd be
simple to change our minds about this. Do you have an opinion about
that?It would be good if you add few comments atop functions
GetPageWithFreeSpace, RecordAndGetPageWithFreeSpace and
RecordPageWithFreeSpace about their interaction with local map.Good idea, will do.
Thanks.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 12/3/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Mon, Dec 3, 2018 at 11:15 AM John Naylor <jcnaylor@gmail.com> wrote:
Per your recent comment, we no longer check relation size if we waited
on a relation extension lock, so this is essentially a reversion to an
earlier version.fsm_local_set is being called from RecordAndGetPageWithFreeSpace and
GetPageWithFreeSpace whereas the change we have discussed was specific
to GetPageWithFreeSpace, so not sure if we need any change in
fsm_local_set.
Not needed, but I assumed wrongly you'd think it unclear otherwise.
I've now restored the generality and updated the comments to be closer
to v8.
It would be good if you add few comments atop functions
GetPageWithFreeSpace, RecordAndGetPageWithFreeSpace and
RecordPageWithFreeSpace about their interaction with local map.
Done. Also additional minor comment editing.
I've added an additional regression test for finding the right block
and removed a test I thought was redundant. I've kept the test file in
its own schedule.
-John Naylor
Attachments:
v10-0001-Avoid-creation-of-the-free-space-map-for-small-t.patchtext/x-patch; charset=US-ASCII; name=v10-0001-Avoid-creation-of-the-free-space-map-for-small-t.patchDownload
From 7494ff89be7ad4e07f277f3bcc6e866c5527ce45 Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Thu, 6 Dec 2018 10:49:03 -0600
Subject: [PATCH v10 1/2] Avoid creation of the free space map for small
tables.
The FSM isn't created if the heap has 4 blocks or fewer. If the last
known target block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 +++----
contrib/pageinspect/sql/page.sql | 33 +--
doc/src/sgml/storage.sgml | 13 +-
src/backend/access/brin/brin.c | 2 +-
src/backend/access/brin/brin_pageops.c | 10 +-
src/backend/access/heap/hio.c | 47 ++--
src/backend/access/transam/xact.c | 14 ++
src/backend/commands/vacuumlazy.c | 17 +-
src/backend/storage/freespace/README | 11 +-
src/backend/storage/freespace/freespace.c | 251 +++++++++++++++++++++-
src/backend/storage/freespace/indexfsm.c | 6 +-
src/include/storage/freespace.h | 9 +-
src/test/regress/expected/fsm.out | 62 ++++++
src/test/regress/parallel_schedule | 5 +
src/test/regress/sql/fsm.sql | 46 ++++
15 files changed, 498 insertions(+), 105 deletions(-)
create mode 100644 src/test/regress/expected/fsm.out
create mode 100644 src/test/regress/sql/fsm.sql
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fbe6d..83e5910453 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991837..ee811759d5 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index 8ef2ac8010..cbdad0c3fb 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -590,12 +590,13 @@ tuple would otherwise be too big.
<indexterm><primary>FSM</primary><see>Free Space Map</see></indexterm>
<para>
-Each heap and index relation, except for hash indexes, has a Free Space Map
-(FSM) to keep track of available space in the relation. It's stored
-alongside the main relation data in a separate relation fork, named after the
-filenode number of the relation, plus a <literal>_fsm</literal> suffix. For example,
-if the filenode of a relation is 12345, the FSM is stored in a file called
-<filename>12345_fsm</filename>, in the same directory as the main relation file.
+Each heap relation, unless it is very small, and each index relation, except
+for hash indexes, has a Free Space Map (FSM) to keep track of available
+space in the relation. It's stored alongside the main relation data in a
+separate relation fork, named after the filenode number of the relation, plus
+a <literal>_fsm</literal> suffix. For example, if the filenode of a relation
+is 12345, the FSM is stored in a file called <filename>12345_fsm</filename>,
+in the same directory as the main relation file.
</para>
<para>
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index e95fbbcea7..7c5b1af764 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1148,7 +1148,7 @@ terminate_brin_buildstate(BrinBuildState *state)
freespace = PageGetFreeSpace(page);
blk = BufferGetBlockNumber(state->bs_currentInsertBuf);
ReleaseBuffer(state->bs_currentInsertBuf);
- RecordPageWithFreeSpace(state->bs_irel, blk, freespace);
+ RecordPageWithFreeSpace(state->bs_irel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(state->bs_irel, blk, blk + 1);
}
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c
index 040cb62e55..cd10458ddc 100644
--- a/src/backend/access/brin/brin_pageops.c
+++ b/src/backend/access/brin/brin_pageops.c
@@ -310,7 +310,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, newblk, freespace);
+ RecordPageWithFreeSpace(idxrel, newblk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, newblk, newblk + 1);
}
@@ -461,7 +461,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, blk, freespace);
+ RecordPageWithFreeSpace(idxrel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, blk, blk + 1);
}
@@ -654,7 +654,7 @@ brin_page_cleanup(Relation idxrel, Buffer buf)
/* Measure free space and record it */
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buf),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
/*
@@ -703,7 +703,7 @@ brin_getinsertbuffer(Relation irel, Buffer oldbuf, Size itemsz,
/* Choose initial target page, re-using existing target if known */
newblk = RelationGetTargetBlock(irel);
if (newblk == InvalidBlockNumber)
- newblk = GetPageWithFreeSpace(irel, itemsz);
+ newblk = GetPageWithFreeSpace(irel, itemsz, true);
/*
* Loop until we find a page with sufficient free space. By the time we
@@ -895,7 +895,7 @@ brin_initialize_empty_new_buffer(Relation idxrel, Buffer buffer)
* pages whose FSM records were forgotten in a crash.
*/
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buffer),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871559..e59568e47e 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -239,8 +239,14 @@ RelationAddExtraBlocks(Relation relation, BulkInsertState bistate)
* Immediately update the bottom level of the FSM. This has a good
* chance of making this page visible to other concurrently inserting
* backends, and we want that to happen without delay.
+ *
+ * Since we know the table will end up with extraBlocks additional
+ * pages, we pass the final number to avoid possible unnecessary
+ * system calls and to make sure the FSM is created when we add
+ * the first new page.
*/
- RecordPageWithFreeSpace(relation, blockNum, freespace);
+ RecordPageWithFreeSpace(relation, blockNum, freespace,
+ firstBlock + extraBlocks);
}
while (--extraBlocks > 0);
@@ -377,20 +383,9 @@ RelationGetBufferForTuple(Relation relation, Size len,
* We have no cached target page, so ask the FSM for an initial
* target.
*/
- targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
- if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
+ targetBlock = GetPageWithFreeSpace(relation,
+ len + saveFreeSpace,
+ false);
}
loop:
@@ -484,6 +479,14 @@ loop:
{
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ if (targetBlock < HEAP_FSM_CREATION_THRESHOLD)
+ FSMClearLocalMap();
+
return buffer;
}
@@ -543,9 +546,12 @@ loop:
/*
* Check if some other backend has extended a block for us while
- * we were waiting on the lock.
+ * we were waiting on the lock. We only check the FSM -- if there
+ * isn't one we don't recheck the number of blocks.
*/
- targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
+ targetBlock = GetPageWithFreeSpace(relation,
+ len + saveFreeSpace,
+ true);
/*
* If some other waiter has already extended the relation, we
@@ -625,5 +631,12 @@ loop:
*/
RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer));
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use. We do this unconditionally since after relation
+ * extension we can't skip this based on the targetBlock.
+ */
+ FSMClearLocalMap();
+
return buffer;
}
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index d967400384..fa0620b301 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -48,6 +48,7 @@
#include "replication/walsender.h"
#include "storage/condition_variable.h"
#include "storage/fd.h"
+#include "storage/freespace.h"
#include "storage/lmgr.h"
#include "storage/predicate.h"
#include "storage/proc.h"
@@ -2488,6 +2489,12 @@ AbortTransaction(void)
pgstat_report_wait_end();
pgstat_progress_end_command();
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
/* Clean up buffer I/O and buffer context locks, too */
AbortBufferIO();
UnlockBuffers();
@@ -4709,6 +4716,13 @@ AbortSubTransaction(void)
pgstat_report_wait_end();
pgstat_progress_end_command();
+
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
AbortBufferIO();
UnlockBuffers();
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 8134c52253..d2818dfad4 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -154,7 +154,7 @@ static BufferAccessStrategy vac_strategy;
static void lazy_scan_heap(Relation onerel, int options,
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
bool aggressive);
-static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
+static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
static void lazy_vacuum_index(Relation indrel,
IndexBulkDeleteResult **stats,
@@ -759,7 +759,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
/* Remove tuples from heap */
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
/*
* Forget the now-vacuumed tuples, and press on, but be careful
@@ -897,7 +897,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
MarkBufferDirty(buf);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -936,7 +936,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
}
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -1333,7 +1333,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* taken if there are no indexes.)
*/
if (vacrelstats->num_dead_tuples == prev_dead_count)
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
}
/* report that everything is scanned and vacuumed */
@@ -1395,7 +1395,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
/* Remove tuples from heap */
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
vacrelstats->num_index_scans++;
}
@@ -1466,9 +1466,10 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* Note: the reason for doing this as a second pass is we cannot remove
* the tuples until we've removed their index entries, and we want to
* process index entry removal in batches as large as possible.
+ * Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
*/
static void
-lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
+lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
{
int tupindex;
int npages;
@@ -1505,7 +1506,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, tblk, freespace);
+ RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
npages++;
}
diff --git a/src/backend/storage/freespace/README b/src/backend/storage/freespace/README
index e7ff23b76f..abaec871a5 100644
--- a/src/backend/storage/freespace/README
+++ b/src/backend/storage/freespace/README
@@ -5,10 +5,11 @@ Free Space Map
The purpose of the free space map is to quickly locate a page with enough
free space to hold a tuple to be stored; or to determine that no such page
-exists and the relation must be extended by one page. As of PostgreSQL 8.4
-each relation has its own, extensible free space map stored in a separate
-"fork" of its relation. This eliminates the disadvantages of the former
-fixed-size FSM.
+exists and the relation must be extended by one page. For very small heap
+relations, we simply iterate through all the pages in descending order.
+Otherwise, each relation (except for hash indexes) has its own, extensible
+free space map stored in a separate "fork" of its relation. This eliminates
+the disadvantages of the fixed-size FSM used in PostgreSQL 8.3 and earlier.
It is important to keep the map small so that it can be searched rapidly.
Therefore, we don't attempt to record the exact free space on a page.
@@ -192,5 +193,3 @@ TODO
----
- fastroot to avoid traversing upper nodes with just 1 child
-- use a different system for tables that fit into one FSM page, with a
- mechanism to switch to the real thing as it grows.
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c449..2ab1cb58b7 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -76,6 +76,14 @@
#define FSM_ROOT_LEVEL (FSM_TREE_DEPTH - 1)
#define FSM_BOTTOM_LEVEL 0
+/* Status codes for the local map. */
+
+/* Either already tried, or beyond the end of the relation */
+#define FSM_LOCAL_NOT_AVAIL 0x00
+
+/* Available to try */
+#define FSM_LOCAL_AVAIL 0x01
+
/*
* The internal FSM routines work on a logical addressing scheme. Each
* level of the tree can be thought of as a separately addressable file.
@@ -89,6 +97,15 @@ typedef struct
/* Address of the root page. */
static const FSMAddress FSM_ROOT_ADDRESS = {FSM_ROOT_LEVEL, 0};
+/* Local map of block numbers for small heaps with no FSM. */
+typedef struct
+{
+ BlockNumber nblocks;
+ char map[HEAP_FSM_CREATION_THRESHOLD];
+} FSMLocalMap;
+
+static FSMLocalMap fsm_local_map = {0, {FSM_LOCAL_NOT_AVAIL}};
+
/* functions to navigate the tree */
static FSMAddress fsm_get_child(FSMAddress parent, uint16 slot);
static FSMAddress fsm_get_parent(FSMAddress child, uint16 *slot);
@@ -107,10 +124,14 @@ static Size fsm_space_cat_to_avail(uint8 cat);
/* workhorse functions for various operations */
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
uint8 newValue, uint8 minValue);
+static void fsm_local_set(Relation rel, BlockNumber curr_nblocks);
static BlockNumber fsm_search(Relation rel, uint8 min_cat);
+static BlockNumber fsm_local_search(void);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks);
/******** Public API ********/
@@ -127,13 +148,45 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
* amount of free space available on that page and then try again (see
* RecordAndGetPageWithFreeSpace). If InvalidBlockNumber is returned,
* extend the relation.
+ *
+ * For very small heap relations that don't have a FSM, we try every page
+ * before extending the relation. To keep track of which pages have been
+ * tried, initialize a local in-memory map of pages.
*/
BlockNumber
-GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
+GetPageWithFreeSpace(Relation rel, Size spaceNeeded, bool check_fsm_only)
{
uint8 min_cat = fsm_space_needed_to_cat(spaceNeeded);
+ BlockNumber target_block,
+ nblocks;
+
+ /* First try the FSM, if it exists. */
+ target_block = fsm_search(rel, min_cat);
+
+ if (target_block == InvalidBlockNumber &&
+ rel->rd_rel->relkind == RELKIND_RELATION &&
+ !check_fsm_only)
+ {
+ nblocks = RelationGetNumberOfBlocks(rel);
- return fsm_search(rel, min_cat);
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ {
+ /*
+ * If the FSM knows nothing of the rel, try the last page before
+ * we give up and extend. This avoids one-tuple-per-page syndrome
+ * during bootstrapping or in a recently-started system.
+ */
+ target_block = nblocks - 1;
+ }
+ else if (nblocks > 0)
+ {
+ /* Create or update local map and get first candidate block. */
+ fsm_local_set(rel, nblocks);
+ target_block = fsm_local_search();
+ }
+ }
+
+ return target_block;
}
/*
@@ -144,16 +197,46 @@ GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
* also some effort to return a page close to the old page; if there's a
* page with enough free space on the same FSM page where the old one page
* is located, it is preferred.
+ *
+ * For very small heap relations that don't have a FSM, we update the local
+ * map to indicate we have tried a page, and return the next page to try.
*/
BlockNumber
RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
Size oldSpaceAvail, Size spaceNeeded)
{
- int old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
- int search_cat = fsm_space_needed_to_cat(spaceNeeded);
+ int old_cat;
+ int search_cat;
FSMAddress addr;
uint16 slot;
int search_slot;
+ BlockNumber nblocks = InvalidBlockNumber;
+
+ /* First try the local map, if it exists. */
+ if (oldPage < fsm_local_map.nblocks)
+ {
+ Assert(rel->rd_rel->relkind == RELKIND_RELATION &&
+ fsm_local_map.map[oldPage] == FSM_LOCAL_AVAIL);
+
+ fsm_local_map.map[oldPage] = FSM_LOCAL_NOT_AVAIL;
+ return fsm_local_search();
+ }
+
+ if (!fsm_allow_writes(rel, oldPage, InvalidBlockNumber, &nblocks))
+ {
+ /*
+ * If we have neither a local map nor a FSM, we probably just
+ * tried the target block in the smgr relation entry and failed,
+ * so we'll need to create the local map.
+ */
+ fsm_local_set(rel, nblocks);
+ return fsm_local_search();
+ }
+
+ /* Normal FSM logic follows */
+
+ old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
+ search_cat = fsm_space_needed_to_cat(spaceNeeded);
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -176,20 +259,40 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
* Note that if the new spaceAvail value is higher than the old value stored
* in the FSM, the space might not become visible to searchers until the next
* FreeSpaceMapVacuum call, which updates the upper level pages.
+ *
+ * Callers have no need for a local map.
*/
void
-RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
+RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
+ Size spaceAvail, BlockNumber nblocks)
{
- int new_cat = fsm_space_avail_to_cat(spaceAvail);
+ int new_cat;
FSMAddress addr;
uint16 slot;
+ BlockNumber dummy;
+
+ if (!fsm_allow_writes(rel, heapBlk, nblocks, &dummy))
+ /* No FSM to update and no local map either */
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
+ new_cat = fsm_space_avail_to_cat(spaceAvail);
fsm_set_and_search(rel, addr, slot, new_cat, 0);
}
+/*
+ * Clear the local map. We must call this when we have found a block with
+ * enough free space, or when we extend the relation.
+ */
+void
+FSMClearLocalMap(void)
+{
+ fsm_local_map.nblocks = 0;
+ memset(&fsm_local_map.map, 0, sizeof(fsm_local_map.map));
+}
+
/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
@@ -204,6 +307,30 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
+
+ /* This is meant to mirror the logic in fsm_allow_writes() */
+ if (heapBlk >= HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ {
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -904,3 +1031,115 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_CREATION_THRESHOLD. For tables that don't already have
+ * a FSM, this will save an inode and a few kB of space.
+ *
+ * XXX The API is a little awkward -- if the caller passes a valid nblocks
+ * value, it can avoid invoking a system call. If the caller passes
+ * InvalidBlockNumber and receives a false return value, it can get an
+ * up-to-date relation size from get_nblocks.
+ */
+static bool
+fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks)
+{
+ bool skip_get_nblocks;
+
+ if (heapblk >= HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+
+ /* Non-heap rels can always create a FSM. */
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /*
+ * If the caller knows nblocks, we can avoid a system call later.
+ * If it doesn't, maybe we have relpages from a previous VACUUM.
+ * Since the table may have extended since then, we still have to
+ * count the pages later if we can't return now.
+ */
+ if (nblocks != InvalidBlockNumber)
+ {
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = true;
+ }
+ else
+ {
+ if (rel->rd_rel->relpages != InvalidBlockNumber &&
+ rel->rd_rel->relpages > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = false;
+ }
+
+ RelationOpenSmgr(rel);
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ return true;
+
+ if (skip_get_nblocks)
+ return false;
+
+ /* last resort */
+ *get_nblocks = RelationGetNumberOfBlocks(rel);
+ if (*get_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ return false;
+}
+
+/*
+ * Initialize or update the local map of blocks to try, for when there is
+ * no FSM.
+ *
+ * When we initialize the map, flag all blocks as available to try. If a
+ * caller wants to reset the map after relation extension, only flag new
+ * blocks as available.
+ */
+static void
+fsm_local_set(Relation rel, BlockNumber curr_nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ /*
+ * Mark blocks available starting after the last block we have mapped,
+ * and ending at the current last block in the relation.
+ */
+ for (blkno = fsm_local_map.nblocks; blkno < curr_nblocks; blkno++)
+ fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;
+
+ /* Cache the number of blocks. */
+ fsm_local_map.nblocks = curr_nblocks;
+
+ /* Set the status of the cached target block to 'unavailable'. */
+ cached_target_block = RelationGetTargetBlock(rel);
+ if (cached_target_block != InvalidBlockNumber &&
+ cached_target_block < curr_nblocks)
+ fsm_local_map.map[cached_target_block] = FSM_LOCAL_NOT_AVAIL;
+}
+
+/*
+ * Search the local map for an available block to try, in descending order.
+ *
+ * For use when there is no FSM.
+ */
+static BlockNumber
+fsm_local_search(void)
+{
+ BlockNumber target_block = fsm_local_map.nblocks;
+
+ do
+ {
+ target_block--;
+ if (fsm_local_map.map[target_block] == FSM_LOCAL_AVAIL)
+ return target_block;
+ }
+ while (target_block > 0);
+
+ return InvalidBlockNumber;
+}
diff --git a/src/backend/storage/freespace/indexfsm.c b/src/backend/storage/freespace/indexfsm.c
index e21047b96f..88a71ae548 100644
--- a/src/backend/storage/freespace/indexfsm.c
+++ b/src/backend/storage/freespace/indexfsm.c
@@ -37,7 +37,7 @@
BlockNumber
GetFreeIndexPage(Relation rel)
{
- BlockNumber blkno = GetPageWithFreeSpace(rel, BLCKSZ / 2);
+ BlockNumber blkno = GetPageWithFreeSpace(rel, BLCKSZ / 2, true);
if (blkno != InvalidBlockNumber)
RecordUsedIndexPage(rel, blkno);
@@ -51,7 +51,7 @@ GetFreeIndexPage(Relation rel)
void
RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
{
- RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
+ RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1, InvalidBlockNumber);
}
@@ -61,7 +61,7 @@ RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
void
RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
{
- RecordPageWithFreeSpace(rel, usedBlock, 0);
+ RecordPageWithFreeSpace(rel, usedBlock, 0, InvalidBlockNumber);
}
/*
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30fb8..8b2651db04 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,15 +18,20 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only create the FSM if the heap has greater than this many blocks */
+#define HEAP_FSM_CREATION_THRESHOLD 4
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
-extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
+extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded,
+ bool check_fsm_only);
extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
BlockNumber oldPage,
Size oldSpaceAvail,
Size spaceNeeded);
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
- Size spaceAvail);
+ Size spaceAvail, BlockNumber nblocks);
+extern void FSMClearLocalMap(void);
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
Size spaceAvail);
diff --git a/src/test/regress/expected/fsm.out b/src/test/regress/expected/fsm.out
new file mode 100644
index 0000000000..4c44c4bd6e
--- /dev/null
+++ b/src/test/regress/expected/fsm.out
@@ -0,0 +1,62 @@
+--
+-- Free Space Map test
+--
+CREATE TABLE fsm_check_size (num int, str text);
+-- Fill 2 blocks with as many large records as will fit
+-- No FSM
+INSERT INTO fsm_check_size SELECT g, rpad('', 1024, 'a')
+FROM generate_series(1,7*2) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 16384 | 0
+(1 row)
+
+-- Clear some space on block 0
+DELETE FROM fsm_check_size where num <= 5;
+VACUUM fsm_check_size;
+-- Insert small record in block 1 to set the cached smgr targetBlock
+INSERT INTO fsm_check_size values(99, 'b');
+-- Insert large record and make sure it goes in block 0 rather than
+-- causing the relation to extend
+INSERT INTO fsm_check_size values (101, rpad('', 1024, 'a'));
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 16384 | 0
+(1 row)
+
+-- Extend table with enough blocks to exceed the FSM threshold
+-- FSM is created and extended to 3 blocks
+INSERT INTO fsm_check_size SELECT g, 'c' FROM generate_series(200,3000) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ fsm_size
+----------
+ 24576
+(1 row)
+
+-- Truncate heap to 1 block
+-- No change in FSM
+DELETE FROM fsm_check_size WHERE num > 7;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ fsm_size
+----------
+ 24576
+(1 row)
+
+-- Truncate heap to 0 blocks
+-- FSM now truncated to 2 blocks
+DELETE FROM fsm_check_size;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ fsm_size
+----------
+ 16384
+(1 row)
+
+DROP TABLE fsm_check_size;
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index cc0bbf5db9..bb0a151127 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -68,6 +68,11 @@ test: create_aggregate create_function_3 create_cast constraints triggers inheri
# ----------
test: sanity_check
+# ----------
+# fsm does a vacuum, and running it in parallel seems to prevent heap truncation.
+# ----------
+test: fsm
+
# ----------
# Believe it or not, select creates a table, subsequent
# tests need.
diff --git a/src/test/regress/sql/fsm.sql b/src/test/regress/sql/fsm.sql
new file mode 100644
index 0000000000..fad99da1c2
--- /dev/null
+++ b/src/test/regress/sql/fsm.sql
@@ -0,0 +1,46 @@
+--
+-- Free Space Map test
+--
+
+CREATE TABLE fsm_check_size (num int, str text);
+
+-- Fill 2 blocks with as many large records as will fit
+-- No FSM
+INSERT INTO fsm_check_size SELECT g, rpad('', 1024, 'a')
+FROM generate_series(1,7*2) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Clear some space on block 0
+DELETE FROM fsm_check_size where num <= 5;
+VACUUM fsm_check_size;
+
+-- Insert small record in block 1 to set the cached smgr targetBlock
+INSERT INTO fsm_check_size values(99, 'b');
+
+-- Insert large record and make sure it goes in block 0 rather than
+-- causing the relation to extend
+INSERT INTO fsm_check_size values (101, rpad('', 1024, 'a'));
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Extend table with enough blocks to exceed the FSM threshold
+-- FSM is created and extended to 3 blocks
+INSERT INTO fsm_check_size SELECT g, 'c' FROM generate_series(200,3000) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Truncate heap to 1 block
+-- No change in FSM
+DELETE FROM fsm_check_size WHERE num > 7;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Truncate heap to 0 blocks
+-- FSM now truncated to 2 blocks
+DELETE FROM fsm_check_size;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+DROP TABLE fsm_check_size;
--
2.17.1
v10-0002-During-pg_upgrade-skip-transfer-of-FSMs-if-they.patchtext/x-patch; charset=US-ASCII; name=v10-0002-During-pg_upgrade-skip-transfer-of-FSMs-if-they.patchDownload
From 2e02985513957aa0e19a3bb9e1ebf5e15adcd55c Mon Sep 17 00:00:00 2001
From: John Naylor <jcnaylor@gmail.com>
Date: Thu, 6 Dec 2018 10:49:53 -0600
Subject: [PATCH v10 2/2] During pg_upgrade, skip transfer of FSMs if they
wouldn't have been created on the new cluster.
---
src/bin/pg_upgrade/info.c | 11 +++++--
src/bin/pg_upgrade/pg_upgrade.h | 6 +++-
src/bin/pg_upgrade/relfilenode.c | 55 +++++++++++++++++++-------------
3 files changed, 47 insertions(+), 25 deletions(-)
diff --git a/src/bin/pg_upgrade/info.c b/src/bin/pg_upgrade/info.c
index fd0b44c3ce..31a24e0bec 100644
--- a/src/bin/pg_upgrade/info.c
+++ b/src/bin/pg_upgrade/info.c
@@ -200,6 +200,7 @@ create_rel_filename_map(const char *old_data, const char *new_data,
map->old_db_oid = old_db->db_oid;
map->new_db_oid = new_db->db_oid;
+ map->relkind = old_rel->relkind;
/*
* old_relfilenode might differ from pg_class.oid (and hence
@@ -418,6 +419,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
char *nspname = NULL;
char *relname = NULL;
char *tablespace = NULL;
+ char *relkind = NULL;
int i_spclocation,
i_nspname,
i_relname,
@@ -425,7 +427,8 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_indtable,
i_toastheap,
i_relfilenode,
- i_reltablespace;
+ i_reltablespace,
+ i_relkind;
char query[QUERY_ALLOC];
char *last_namespace = NULL,
*last_tablespace = NULL;
@@ -497,7 +500,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
*/
snprintf(query + strlen(query), sizeof(query) - strlen(query),
"SELECT all_rels.*, n.nspname, c.relname, "
- " c.relfilenode, c.reltablespace, %s "
+ " c.relfilenode, c.reltablespace, c.relkind, %s "
"FROM (SELECT * FROM regular_heap "
" UNION ALL "
" SELECT * FROM toast_heap "
@@ -529,6 +532,7 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
i_relfilenode = PQfnumber(res, "relfilenode");
i_reltablespace = PQfnumber(res, "reltablespace");
i_spclocation = PQfnumber(res, "spclocation");
+ i_relkind = PQfnumber(res, "relkind");
for (relnum = 0; relnum < ntups; relnum++)
{
@@ -558,6 +562,9 @@ get_rel_infos(ClusterInfo *cluster, DbInfo *dbinfo)
relname = PQgetvalue(res, relnum, i_relname);
curr->relname = pg_strdup(relname);
+ relkind = PQgetvalue(res, relnum, i_relkind);
+ curr->relkind = relkind[0];
+
curr->relfilenode = atooid(PQgetvalue(res, relnum, i_relfilenode));
curr->tblsp_alloc = false;
diff --git a/src/bin/pg_upgrade/pg_upgrade.h b/src/bin/pg_upgrade/pg_upgrade.h
index 51bd211d46..8eda9c1f4a 100644
--- a/src/bin/pg_upgrade/pg_upgrade.h
+++ b/src/bin/pg_upgrade/pg_upgrade.h
@@ -147,6 +147,7 @@ typedef struct
char *tablespace; /* tablespace path; "" for cluster default */
bool nsp_alloc; /* should nspname be freed? */
bool tblsp_alloc; /* should tablespace be freed? */
+ char relkind; /* relation relkind -- see pg_class.h */
} RelInfo;
typedef struct
@@ -173,9 +174,12 @@ typedef struct
*/
Oid old_relfilenode;
Oid new_relfilenode;
- /* the rest are used only for logging and error reporting */
+
+ /* These are used only for logging and error reporting. */
char *nspname; /* namespaces */
char *relname;
+
+ char relkind; /* relation relkind -- see pg_class.h */
} FileNameMap;
/*
diff --git a/src/bin/pg_upgrade/relfilenode.c b/src/bin/pg_upgrade/relfilenode.c
index 3b16c92a02..b883d0dd4d 100644
--- a/src/bin/pg_upgrade/relfilenode.c
+++ b/src/bin/pg_upgrade/relfilenode.c
@@ -14,10 +14,11 @@
#include <sys/stat.h>
#include "catalog/pg_class_d.h"
#include "access/transam.h"
+#include "storage/freespace.h"
static void transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace);
-static void transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
+static Size transfer_relfile(FileNameMap *map, const char *suffix, bool vm_must_add_frozenbit);
/*
@@ -144,6 +145,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
int mapnum;
bool vm_crashsafe_match = true;
bool vm_must_add_frozenbit = false;
+ Size first_seg_size = 0;
/*
* Do the old and new cluster disagree on the crash-safetiness of the vm
@@ -165,18 +167,22 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
if (old_tablespace == NULL ||
strcmp(maps[mapnum].old_tablespace, old_tablespace) == 0)
{
- /* transfer primary file */
- transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
+ /* Transfer main fork and return size of the first segment. */
+ first_seg_size = transfer_relfile(&maps[mapnum], "", vm_must_add_frozenbit);
/* fsm/vm files added in PG 8.4 */
if (GET_MAJOR_VERSION(old_cluster.major_version) >= 804)
{
/*
- * Copy/link any fsm and vm files, if they exist
+ * Copy/link any fsm and vm files, if they exist and if they would
+ * be created in the new cluster.
*/
- transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
+ if (maps[mapnum].relkind != RELKIND_RELATION ||
+ first_seg_size > HEAP_FSM_CREATION_THRESHOLD * BLCKSZ ||
+ GET_MAJOR_VERSION(new_cluster.major_version) <= 1100)
+ (void) transfer_relfile(&maps[mapnum], "_fsm", vm_must_add_frozenbit);
if (vm_crashsafe_match)
- transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
+ (void) transfer_relfile(&maps[mapnum], "_vm", vm_must_add_frozenbit);
}
}
}
@@ -190,7 +196,7 @@ transfer_single_new_db(FileNameMap *maps, int size, char *old_tablespace)
* is true, visibility map forks are converted and rewritten, even in link
* mode.
*/
-static void
+static Size
transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_frozenbit)
{
char old_file[MAXPGPATH];
@@ -198,6 +204,8 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
int segno;
char extent_suffix[65];
struct stat statbuf;
+ int sret;
+ Size first_seg_size = 0;
/*
* Now copy/link any related segments as well. Remember, PG breaks large
@@ -226,26 +234,29 @@ transfer_relfile(FileNameMap *map, const char *type_suffix, bool vm_must_add_fro
type_suffix,
extent_suffix);
- /* Is it an extent, fsm, or vm file? */
- if (type_suffix[0] != '\0' || segno != 0)
- {
- /* Did file open fail? */
- if (stat(old_file, &statbuf) != 0)
- {
- /* File does not exist? That's OK, just return */
- if (errno == ENOENT)
- return;
- else
- pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
- map->nspname, map->relname, old_file, new_file,
- strerror(errno));
- }
+ sret = stat(old_file, &statbuf);
+ /* Save the size of the first segment of the main fork. */
+ if (type_suffix[0] == '\0' && segno == 0)
+ first_seg_size = statbuf.st_size;
+
+ /* The file must be an extent, fsm, or vm. */
+ else if (sret == 0)
+ {
/* If file is empty, just return */
if (statbuf.st_size == 0)
- return;
+ return first_seg_size;
}
+ /* Did file open fail? */
+ else if (errno == ENOENT)
+ /* File does not exist? That's OK, just return */
+ return first_seg_size;
+ else
+ pg_fatal("error while checking for file existence \"%s.%s\" (\"%s\" to \"%s\"): %s\n",
+ map->nspname, map->relname, old_file, new_file,
+ strerror(errno));
+
unlink(new_file);
/* Copying files might take some time, so give feedback. */
--
2.17.1
On Thu, Dec 6, 2018 at 10:53 PM John Naylor <jcnaylor@gmail.com> wrote:
I've added an additional regression test for finding the right block
and removed a test I thought was redundant. I've kept the test file in
its own schedule.
+# ----------
+# fsm does a vacuum, and running it in parallel seems to prevent heap
truncation.
+# ----------
+test: fsm
+
It is not clear to me from the comment why running it in parallel
prevents heap truncation, can you explain what behavior are you seeing
and what makes you think that running it in parallel caused it?
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On 12/6/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Dec 6, 2018 at 10:53 PM John Naylor <jcnaylor@gmail.com> wrote:
I've added an additional regression test for finding the right block
and removed a test I thought was redundant. I've kept the test file in
its own schedule.+# ---------- +# fsm does a vacuum, and running it in parallel seems to prevent heap truncation. +# ---------- +test: fsm +It is not clear to me from the comment why running it in parallel
prevents heap truncation, can you explain what behavior are you seeing
and what makes you think that running it in parallel caused it?
One of the tests deletes all records from the relation and vacuums. In
serial schedule, the heap and FSM are truncated; in parallel they are
not. Make check fails, since since the tests measure relation size.
Taking a closer look, I'm even more alarmed to discover that vacuum
doesn't even seem to remove deleted rows in parallel schedule (that
was in the last test I added), which makes no sense and causes that
test to fail. I looked in vacuum.sql for possible clues, but didn't
see any. I'll have to investigate further.
-John Naylor
On Fri, Dec 7, 2018 at 7:25 PM John Naylor <jcnaylor@gmail.com> wrote:
On 12/6/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Dec 6, 2018 at 10:53 PM John Naylor <jcnaylor@gmail.com> wrote:
I've added an additional regression test for finding the right block
and removed a test I thought was redundant. I've kept the test file in
its own schedule.+# ---------- +# fsm does a vacuum, and running it in parallel seems to prevent heap truncation. +# ---------- +test: fsm +It is not clear to me from the comment why running it in parallel
prevents heap truncation, can you explain what behavior are you seeing
and what makes you think that running it in parallel caused it?One of the tests deletes all records from the relation and vacuums. In
serial schedule, the heap and FSM are truncated; in parallel they are
not. Make check fails, since since the tests measure relation size.
Taking a closer look, I'm even more alarmed to discover that vacuum
doesn't even seem to remove deleted rows in parallel schedule (that
was in the last test I added), which makes no sense and causes that
test to fail. I looked in vacuum.sql for possible clues, but didn't
see any.
I couldn't resist the temptation to figure out what's going on here.
The newly added tests have deletes followed by vacuum and then you
check whether the vacuum has removed the data by checking heap and or
FSM size. Now, when you run such a test in parallel, the vacuum can
sometimes skip removing the rows because there are parallel
transactions open which can see the deleted rows. You can easily
verify this phenomenon by running the newly added tests in one session
in psql when there is another parallel session which has an open
transaction. For example:
Session-1
Begin;
Insert into foo values(1);
Session-2
\i fsm.sql
Now, you should see the results similar to what you are seeing when
you ran the fsm test by adding it to one of the parallel group. Can
you test this at your end and confirm whether my analysis is correct
or not.
So, you can keep the test as you have in parallel_schedule, but
comment needs to be changed. Also, you need to add the new test in
serial_schedule. I have done both the changes in the attached patch,
kindly confirm if this looks correct to you.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
Attachments:
v11-0001-Avoid-creation-of-the-free-space-map-for-small-table.patchapplication/octet-stream; name=v11-0001-Avoid-creation-of-the-free-space-map-for-small-table.patchDownload
From ab1ced145c43b0adadd9b1219ceaeb3553885e08 Mon Sep 17 00:00:00 2001
From: Amit Kapila <akapila@postgresql.org>
Date: Sat, 8 Dec 2018 18:30:43 +0530
Subject: [PATCH] Avoid creation of the free space map for small tables.
The FSM isn't created if the heap has 4 blocks or fewer. If the last
known target block has insufficient space, try every block before extending
the heap.
If a heap with a FSM is truncated back to below the threshold, the FSM
stays around and can be used as usual.
---
contrib/pageinspect/expected/page.out | 77 ++++-----
contrib/pageinspect/sql/page.sql | 33 ++--
doc/src/sgml/storage.sgml | 13 +-
src/backend/access/brin/brin.c | 2 +-
src/backend/access/brin/brin_pageops.c | 10 +-
src/backend/access/heap/hio.c | 47 ++++--
src/backend/access/transam/xact.c | 14 ++
src/backend/commands/vacuumlazy.c | 17 +-
src/backend/storage/freespace/README | 11 +-
src/backend/storage/freespace/freespace.c | 251 +++++++++++++++++++++++++++++-
src/backend/storage/freespace/indexfsm.c | 6 +-
src/include/storage/freespace.h | 9 +-
src/test/regress/expected/fsm.out | 62 ++++++++
src/test/regress/parallel_schedule | 6 +
src/test/regress/serial_schedule | 1 +
src/test/regress/sql/fsm.sql | 46 ++++++
16 files changed, 500 insertions(+), 105 deletions(-)
create mode 100644 src/test/regress/expected/fsm.out
create mode 100644 src/test/regress/sql/fsm.sql
diff --git a/contrib/pageinspect/expected/page.out b/contrib/pageinspect/expected/page.out
index 3fcd9fb..83e5910 100644
--- a/contrib/pageinspect/expected/page.out
+++ b/contrib/pageinspect/expected/page.out
@@ -1,48 +1,69 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
-VACUUM test1; -- set up FSM
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
main_0
--------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
-ERROR: block number 1 is out of range for relation "test1"
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
+ERROR: block number 100 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
fsm_0
-------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
- fsm_1
--------
- 8192
-(1 row)
-
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
+ERROR: block number 10 is out of range for relation "test_rel_forks"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
vm_0
------
8192
(1 row)
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
-ERROR: block number 1 is out of range for relation "test1"
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
+ERROR: block number 1 is out of range for relation "test_rel_forks"
SELECT octet_length(get_raw_page('xxx', 'main', 0));
ERROR: relation "xxx" does not exist
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
ERROR: invalid fork name
HINT: Valid fork names are "main", "fsm", "vm", and "init".
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+ fsm_page_contents
+-------------------
+ 0: 192 +
+ 1: 192 +
+ 3: 192 +
+ 7: 192 +
+ 15: 192 +
+ 31: 192 +
+ 63: 192 +
+ 127: 192 +
+ 255: 192 +
+ 511: 192 +
+ 1023: 192 +
+ 2047: 192 +
+ 4095: 192 +
+ fp_next_slot: 0 +
+
+(1 row)
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
?column?
----------
t
(1 row)
+DROP TABLE test_rel_forks;
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
pagesize | version
----------+---------
@@ -62,26 +83,6 @@ SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bi
{"\\x01000001","\\x00020200"}
(1 row)
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
- fsm_page_contents
--------------------
- 0: 254 +
- 1: 254 +
- 3: 254 +
- 7: 254 +
- 15: 254 +
- 31: 254 +
- 63: 254 +
- 127: 254 +
- 255: 254 +
- 511: 254 +
- 1023: 254 +
- 2047: 254 +
- 4095: 254 +
- fp_next_slot: 0 +
-
-(1 row)
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
-- would fail
diff --git a/contrib/pageinspect/sql/page.sql b/contrib/pageinspect/sql/page.sql
index 8ac9991..ee81175 100644
--- a/contrib/pageinspect/sql/page.sql
+++ b/contrib/pageinspect/sql/page.sql
@@ -1,26 +1,35 @@
CREATE EXTENSION pageinspect;
-CREATE TABLE test1 (a int, b int);
-INSERT INTO test1 VALUES (16777217, 131584);
+CREATE TABLE test_rel_forks (a int);
+-- Make sure there are enough blocks in the heap for the FSM to be created.
+INSERT INTO test_rel_forks SELECT g from generate_series(1,10000) g;
-VACUUM test1; -- set up FSM
+-- set up FSM and VM
+VACUUM test_rel_forks;
-- The page contents can vary, so just test that it can be read
-- successfully, but don't keep the output.
-SELECT octet_length(get_raw_page('test1', 'main', 0)) AS main_0;
-SELECT octet_length(get_raw_page('test1', 'main', 1)) AS main_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 0)) AS main_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'main', 100)) AS main_100;
-SELECT octet_length(get_raw_page('test1', 'fsm', 0)) AS fsm_0;
-SELECT octet_length(get_raw_page('test1', 'fsm', 1)) AS fsm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 0)) AS fsm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'fsm', 10)) AS fsm_10;
-SELECT octet_length(get_raw_page('test1', 'vm', 0)) AS vm_0;
-SELECT octet_length(get_raw_page('test1', 'vm', 1)) AS vm_1;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 0)) AS vm_0;
+SELECT octet_length(get_raw_page('test_rel_forks', 'vm', 1)) AS vm_1;
SELECT octet_length(get_raw_page('xxx', 'main', 0));
-SELECT octet_length(get_raw_page('test1', 'xxx', 0));
+SELECT octet_length(get_raw_page('test_rel_forks', 'xxx', 0));
+
+SELECT * FROM fsm_page_contents(get_raw_page('test_rel_forks', 'fsm', 0));
+
+SELECT get_raw_page('test_rel_forks', 0) = get_raw_page('test_rel_forks', 'main', 0);
-SELECT get_raw_page('test1', 0) = get_raw_page('test1', 'main', 0);
+DROP TABLE test_rel_forks;
+
+CREATE TABLE test1 (a int, b int);
+INSERT INTO test1 VALUES (16777217, 131584);
SELECT pagesize, version FROM page_header(get_raw_page('test1', 0));
@@ -29,8 +38,6 @@ SELECT page_checksum(get_raw_page('test1', 0), 0) IS NOT NULL AS silly_checksum_
SELECT tuple_data_split('test1'::regclass, t_data, t_infomask, t_infomask2, t_bits)
FROM heap_page_items(get_raw_page('test1', 0));
-SELECT * FROM fsm_page_contents(get_raw_page('test1', 'fsm', 0));
-
DROP TABLE test1;
-- check that using any of these functions with a partitioned table or index
diff --git a/doc/src/sgml/storage.sgml b/doc/src/sgml/storage.sgml
index 8ef2ac8..cbdad0c 100644
--- a/doc/src/sgml/storage.sgml
+++ b/doc/src/sgml/storage.sgml
@@ -590,12 +590,13 @@ tuple would otherwise be too big.
<indexterm><primary>FSM</primary><see>Free Space Map</see></indexterm>
<para>
-Each heap and index relation, except for hash indexes, has a Free Space Map
-(FSM) to keep track of available space in the relation. It's stored
-alongside the main relation data in a separate relation fork, named after the
-filenode number of the relation, plus a <literal>_fsm</literal> suffix. For example,
-if the filenode of a relation is 12345, the FSM is stored in a file called
-<filename>12345_fsm</filename>, in the same directory as the main relation file.
+Each heap relation, unless it is very small, and each index relation, except
+for hash indexes, has a Free Space Map (FSM) to keep track of available
+space in the relation. It's stored alongside the main relation data in a
+separate relation fork, named after the filenode number of the relation, plus
+a <literal>_fsm</literal> suffix. For example, if the filenode of a relation
+is 12345, the FSM is stored in a file called <filename>12345_fsm</filename>,
+in the same directory as the main relation file.
</para>
<para>
diff --git a/src/backend/access/brin/brin.c b/src/backend/access/brin/brin.c
index e95fbbc..7c5b1af 100644
--- a/src/backend/access/brin/brin.c
+++ b/src/backend/access/brin/brin.c
@@ -1148,7 +1148,7 @@ terminate_brin_buildstate(BrinBuildState *state)
freespace = PageGetFreeSpace(page);
blk = BufferGetBlockNumber(state->bs_currentInsertBuf);
ReleaseBuffer(state->bs_currentInsertBuf);
- RecordPageWithFreeSpace(state->bs_irel, blk, freespace);
+ RecordPageWithFreeSpace(state->bs_irel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(state->bs_irel, blk, blk + 1);
}
diff --git a/src/backend/access/brin/brin_pageops.c b/src/backend/access/brin/brin_pageops.c
index 040cb62..cd10458 100644
--- a/src/backend/access/brin/brin_pageops.c
+++ b/src/backend/access/brin/brin_pageops.c
@@ -310,7 +310,7 @@ brin_doupdate(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, newblk, freespace);
+ RecordPageWithFreeSpace(idxrel, newblk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, newblk, newblk + 1);
}
@@ -461,7 +461,7 @@ brin_doinsert(Relation idxrel, BlockNumber pagesPerRange,
if (extended)
{
- RecordPageWithFreeSpace(idxrel, blk, freespace);
+ RecordPageWithFreeSpace(idxrel, blk, freespace, InvalidBlockNumber);
FreeSpaceMapVacuumRange(idxrel, blk, blk + 1);
}
@@ -654,7 +654,7 @@ brin_page_cleanup(Relation idxrel, Buffer buf)
/* Measure free space and record it */
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buf),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
/*
@@ -703,7 +703,7 @@ brin_getinsertbuffer(Relation irel, Buffer oldbuf, Size itemsz,
/* Choose initial target page, re-using existing target if known */
newblk = RelationGetTargetBlock(irel);
if (newblk == InvalidBlockNumber)
- newblk = GetPageWithFreeSpace(irel, itemsz);
+ newblk = GetPageWithFreeSpace(irel, itemsz, true);
/*
* Loop until we find a page with sufficient free space. By the time we
@@ -895,7 +895,7 @@ brin_initialize_empty_new_buffer(Relation idxrel, Buffer buffer)
* pages whose FSM records were forgotten in a crash.
*/
RecordPageWithFreeSpace(idxrel, BufferGetBlockNumber(buffer),
- br_page_get_freespace(page));
+ br_page_get_freespace(page), InvalidBlockNumber);
}
diff --git a/src/backend/access/heap/hio.c b/src/backend/access/heap/hio.c
index b8b5871..e59568e 100644
--- a/src/backend/access/heap/hio.c
+++ b/src/backend/access/heap/hio.c
@@ -239,8 +239,14 @@ RelationAddExtraBlocks(Relation relation, BulkInsertState bistate)
* Immediately update the bottom level of the FSM. This has a good
* chance of making this page visible to other concurrently inserting
* backends, and we want that to happen without delay.
+ *
+ * Since we know the table will end up with extraBlocks additional
+ * pages, we pass the final number to avoid possible unnecessary
+ * system calls and to make sure the FSM is created when we add
+ * the first new page.
*/
- RecordPageWithFreeSpace(relation, blockNum, freespace);
+ RecordPageWithFreeSpace(relation, blockNum, freespace,
+ firstBlock + extraBlocks);
}
while (--extraBlocks > 0);
@@ -377,20 +383,9 @@ RelationGetBufferForTuple(Relation relation, Size len,
* We have no cached target page, so ask the FSM for an initial
* target.
*/
- targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
-
- /*
- * If the FSM knows nothing of the rel, try the last page before we
- * give up and extend. This avoids one-tuple-per-page syndrome during
- * bootstrapping or in a recently-started system.
- */
- if (targetBlock == InvalidBlockNumber)
- {
- BlockNumber nblocks = RelationGetNumberOfBlocks(relation);
-
- if (nblocks > 0)
- targetBlock = nblocks - 1;
- }
+ targetBlock = GetPageWithFreeSpace(relation,
+ len + saveFreeSpace,
+ false);
}
loop:
@@ -484,6 +479,14 @@ loop:
{
/* use this page as future insert target, too */
RelationSetTargetBlock(relation, targetBlock);
+
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use.
+ */
+ if (targetBlock < HEAP_FSM_CREATION_THRESHOLD)
+ FSMClearLocalMap();
+
return buffer;
}
@@ -543,9 +546,12 @@ loop:
/*
* Check if some other backend has extended a block for us while
- * we were waiting on the lock.
+ * we were waiting on the lock. We only check the FSM -- if there
+ * isn't one we don't recheck the number of blocks.
*/
- targetBlock = GetPageWithFreeSpace(relation, len + saveFreeSpace);
+ targetBlock = GetPageWithFreeSpace(relation,
+ len + saveFreeSpace,
+ true);
/*
* If some other waiter has already extended the relation, we
@@ -625,5 +631,12 @@ loop:
*/
RelationSetTargetBlock(relation, BufferGetBlockNumber(buffer));
+ /*
+ * In case we used an in-memory map of available blocks, reset
+ * it for next use. We do this unconditionally since after relation
+ * extension we can't skip this based on the targetBlock.
+ */
+ FSMClearLocalMap();
+
return buffer;
}
diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index d967400..fa0620b 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -48,6 +48,7 @@
#include "replication/walsender.h"
#include "storage/condition_variable.h"
#include "storage/fd.h"
+#include "storage/freespace.h"
#include "storage/lmgr.h"
#include "storage/predicate.h"
#include "storage/proc.h"
@@ -2488,6 +2489,12 @@ AbortTransaction(void)
pgstat_report_wait_end();
pgstat_progress_end_command();
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
/* Clean up buffer I/O and buffer context locks, too */
AbortBufferIO();
UnlockBuffers();
@@ -4709,6 +4716,13 @@ AbortSubTransaction(void)
pgstat_report_wait_end();
pgstat_progress_end_command();
+
+ /*
+ * In case we aborted during RelationGetBufferForTuple(),
+ * clear the local map of heap pages.
+ */
+ FSMClearLocalMap();
+
AbortBufferIO();
UnlockBuffers();
diff --git a/src/backend/commands/vacuumlazy.c b/src/backend/commands/vacuumlazy.c
index 8134c52..d2818df 100644
--- a/src/backend/commands/vacuumlazy.c
+++ b/src/backend/commands/vacuumlazy.c
@@ -154,7 +154,7 @@ static BufferAccessStrategy vac_strategy;
static void lazy_scan_heap(Relation onerel, int options,
LVRelStats *vacrelstats, Relation *Irel, int nindexes,
bool aggressive);
-static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats);
+static void lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks);
static bool lazy_check_needs_freeze(Buffer buf, bool *hastup);
static void lazy_vacuum_index(Relation indrel,
IndexBulkDeleteResult **stats,
@@ -759,7 +759,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
pgstat_progress_update_multi_param(2, hvp_index, hvp_val);
/* Remove tuples from heap */
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
/*
* Forget the now-vacuumed tuples, and press on, but be careful
@@ -897,7 +897,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
MarkBufferDirty(buf);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -936,7 +936,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
}
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
continue;
}
@@ -1333,7 +1333,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* taken if there are no indexes.)
*/
if (vacrelstats->num_dead_tuples == prev_dead_count)
- RecordPageWithFreeSpace(onerel, blkno, freespace);
+ RecordPageWithFreeSpace(onerel, blkno, freespace, nblocks);
}
/* report that everything is scanned and vacuumed */
@@ -1395,7 +1395,7 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
/* Remove tuples from heap */
pgstat_progress_update_param(PROGRESS_VACUUM_PHASE,
PROGRESS_VACUUM_PHASE_VACUUM_HEAP);
- lazy_vacuum_heap(onerel, vacrelstats);
+ lazy_vacuum_heap(onerel, vacrelstats, nblocks);
vacrelstats->num_index_scans++;
}
@@ -1466,9 +1466,10 @@ lazy_scan_heap(Relation onerel, int options, LVRelStats *vacrelstats,
* Note: the reason for doing this as a second pass is we cannot remove
* the tuples until we've removed their index entries, and we want to
* process index entry removal in batches as large as possible.
+ * Note: nblocks is passed as an optimization for RecordPageWithFreeSpace().
*/
static void
-lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
+lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats, BlockNumber nblocks)
{
int tupindex;
int npages;
@@ -1505,7 +1506,7 @@ lazy_vacuum_heap(Relation onerel, LVRelStats *vacrelstats)
freespace = PageGetHeapFreeSpace(page);
UnlockReleaseBuffer(buf);
- RecordPageWithFreeSpace(onerel, tblk, freespace);
+ RecordPageWithFreeSpace(onerel, tblk, freespace, nblocks);
npages++;
}
diff --git a/src/backend/storage/freespace/README b/src/backend/storage/freespace/README
index e7ff23b..abaec87 100644
--- a/src/backend/storage/freespace/README
+++ b/src/backend/storage/freespace/README
@@ -5,10 +5,11 @@ Free Space Map
The purpose of the free space map is to quickly locate a page with enough
free space to hold a tuple to be stored; or to determine that no such page
-exists and the relation must be extended by one page. As of PostgreSQL 8.4
-each relation has its own, extensible free space map stored in a separate
-"fork" of its relation. This eliminates the disadvantages of the former
-fixed-size FSM.
+exists and the relation must be extended by one page. For very small heap
+relations, we simply iterate through all the pages in descending order.
+Otherwise, each relation (except for hash indexes) has its own, extensible
+free space map stored in a separate "fork" of its relation. This eliminates
+the disadvantages of the fixed-size FSM used in PostgreSQL 8.3 and earlier.
It is important to keep the map small so that it can be searched rapidly.
Therefore, we don't attempt to record the exact free space on a page.
@@ -192,5 +193,3 @@ TODO
----
- fastroot to avoid traversing upper nodes with just 1 child
-- use a different system for tables that fit into one FSM page, with a
- mechanism to switch to the real thing as it grows.
diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c
index 7c4ad1c..2ab1cb5 100644
--- a/src/backend/storage/freespace/freespace.c
+++ b/src/backend/storage/freespace/freespace.c
@@ -76,6 +76,14 @@
#define FSM_ROOT_LEVEL (FSM_TREE_DEPTH - 1)
#define FSM_BOTTOM_LEVEL 0
+/* Status codes for the local map. */
+
+/* Either already tried, or beyond the end of the relation */
+#define FSM_LOCAL_NOT_AVAIL 0x00
+
+/* Available to try */
+#define FSM_LOCAL_AVAIL 0x01
+
/*
* The internal FSM routines work on a logical addressing scheme. Each
* level of the tree can be thought of as a separately addressable file.
@@ -89,6 +97,15 @@ typedef struct
/* Address of the root page. */
static const FSMAddress FSM_ROOT_ADDRESS = {FSM_ROOT_LEVEL, 0};
+/* Local map of block numbers for small heaps with no FSM. */
+typedef struct
+{
+ BlockNumber nblocks;
+ char map[HEAP_FSM_CREATION_THRESHOLD];
+} FSMLocalMap;
+
+static FSMLocalMap fsm_local_map = {0, {FSM_LOCAL_NOT_AVAIL}};
+
/* functions to navigate the tree */
static FSMAddress fsm_get_child(FSMAddress parent, uint16 slot);
static FSMAddress fsm_get_parent(FSMAddress child, uint16 *slot);
@@ -107,10 +124,14 @@ static Size fsm_space_cat_to_avail(uint8 cat);
/* workhorse functions for various operations */
static int fsm_set_and_search(Relation rel, FSMAddress addr, uint16 slot,
uint8 newValue, uint8 minValue);
+static void fsm_local_set(Relation rel, BlockNumber curr_nblocks);
static BlockNumber fsm_search(Relation rel, uint8 min_cat);
+static BlockNumber fsm_local_search(void);
static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
BlockNumber start, BlockNumber end,
bool *eof);
+static bool fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks);
/******** Public API ********/
@@ -127,13 +148,45 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr,
* amount of free space available on that page and then try again (see
* RecordAndGetPageWithFreeSpace). If InvalidBlockNumber is returned,
* extend the relation.
+ *
+ * For very small heap relations that don't have a FSM, we try every page
+ * before extending the relation. To keep track of which pages have been
+ * tried, initialize a local in-memory map of pages.
*/
BlockNumber
-GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
+GetPageWithFreeSpace(Relation rel, Size spaceNeeded, bool check_fsm_only)
{
uint8 min_cat = fsm_space_needed_to_cat(spaceNeeded);
+ BlockNumber target_block,
+ nblocks;
+
+ /* First try the FSM, if it exists. */
+ target_block = fsm_search(rel, min_cat);
+
+ if (target_block == InvalidBlockNumber &&
+ rel->rd_rel->relkind == RELKIND_RELATION &&
+ !check_fsm_only)
+ {
+ nblocks = RelationGetNumberOfBlocks(rel);
- return fsm_search(rel, min_cat);
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ {
+ /*
+ * If the FSM knows nothing of the rel, try the last page before
+ * we give up and extend. This avoids one-tuple-per-page syndrome
+ * during bootstrapping or in a recently-started system.
+ */
+ target_block = nblocks - 1;
+ }
+ else if (nblocks > 0)
+ {
+ /* Create or update local map and get first candidate block. */
+ fsm_local_set(rel, nblocks);
+ target_block = fsm_local_search();
+ }
+ }
+
+ return target_block;
}
/*
@@ -144,16 +197,46 @@ GetPageWithFreeSpace(Relation rel, Size spaceNeeded)
* also some effort to return a page close to the old page; if there's a
* page with enough free space on the same FSM page where the old one page
* is located, it is preferred.
+ *
+ * For very small heap relations that don't have a FSM, we update the local
+ * map to indicate we have tried a page, and return the next page to try.
*/
BlockNumber
RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
Size oldSpaceAvail, Size spaceNeeded)
{
- int old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
- int search_cat = fsm_space_needed_to_cat(spaceNeeded);
+ int old_cat;
+ int search_cat;
FSMAddress addr;
uint16 slot;
int search_slot;
+ BlockNumber nblocks = InvalidBlockNumber;
+
+ /* First try the local map, if it exists. */
+ if (oldPage < fsm_local_map.nblocks)
+ {
+ Assert(rel->rd_rel->relkind == RELKIND_RELATION &&
+ fsm_local_map.map[oldPage] == FSM_LOCAL_AVAIL);
+
+ fsm_local_map.map[oldPage] = FSM_LOCAL_NOT_AVAIL;
+ return fsm_local_search();
+ }
+
+ if (!fsm_allow_writes(rel, oldPage, InvalidBlockNumber, &nblocks))
+ {
+ /*
+ * If we have neither a local map nor a FSM, we probably just
+ * tried the target block in the smgr relation entry and failed,
+ * so we'll need to create the local map.
+ */
+ fsm_local_set(rel, nblocks);
+ return fsm_local_search();
+ }
+
+ /* Normal FSM logic follows */
+
+ old_cat = fsm_space_avail_to_cat(oldSpaceAvail);
+ search_cat = fsm_space_needed_to_cat(spaceNeeded);
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(oldPage, &slot);
@@ -176,21 +259,41 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage,
* Note that if the new spaceAvail value is higher than the old value stored
* in the FSM, the space might not become visible to searchers until the next
* FreeSpaceMapVacuum call, which updates the upper level pages.
+ *
+ * Callers have no need for a local map.
*/
void
-RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk, Size spaceAvail)
+RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
+ Size spaceAvail, BlockNumber nblocks)
{
- int new_cat = fsm_space_avail_to_cat(spaceAvail);
+ int new_cat;
FSMAddress addr;
uint16 slot;
+ BlockNumber dummy;
+
+ if (!fsm_allow_writes(rel, heapBlk, nblocks, &dummy))
+ /* No FSM to update and no local map either */
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
+ new_cat = fsm_space_avail_to_cat(spaceAvail);
fsm_set_and_search(rel, addr, slot, new_cat, 0);
}
/*
+ * Clear the local map. We must call this when we have found a block with
+ * enough free space, or when we extend the relation.
+ */
+void
+FSMClearLocalMap(void)
+{
+ fsm_local_map.nblocks = 0;
+ memset(&fsm_local_map.map, 0, sizeof(fsm_local_map.map));
+}
+
+/*
* XLogRecordPageWithFreeSpace - like RecordPageWithFreeSpace, for use in
* WAL replay
*/
@@ -204,6 +307,30 @@ XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
BlockNumber blkno;
Buffer buf;
Page page;
+ bool write_to_fsm;
+
+ /* This is meant to mirror the logic in fsm_allow_writes() */
+ if (heapBlk >= HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ {
+ /* Open the relation at smgr level */
+ SMgrRelation smgr = smgropen(rnode, InvalidBackendId);
+
+ if (smgrexists(smgr, FSM_FORKNUM))
+ write_to_fsm = true;
+ else
+ {
+ BlockNumber heap_nblocks = smgrnblocks(smgr, MAIN_FORKNUM);
+ if (heap_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ write_to_fsm = true;
+ else
+ write_to_fsm = false;
+ }
+ }
+
+ if (!write_to_fsm)
+ return;
/* Get the location of the FSM byte representing the heap block */
addr = fsm_get_location(heapBlk, &slot);
@@ -904,3 +1031,115 @@ fsm_vacuum_page(Relation rel, FSMAddress addr,
return max_avail;
}
+
+/*
+ * For heaps we prevent extension of the FSM unless the number of pages
+ * exceeds HEAP_FSM_CREATION_THRESHOLD. For tables that don't already have
+ * a FSM, this will save an inode and a few kB of space.
+ *
+ * XXX The API is a little awkward -- if the caller passes a valid nblocks
+ * value, it can avoid invoking a system call. If the caller passes
+ * InvalidBlockNumber and receives a false return value, it can get an
+ * up-to-date relation size from get_nblocks.
+ */
+static bool
+fsm_allow_writes(Relation rel, BlockNumber heapblk,
+ BlockNumber nblocks, BlockNumber *get_nblocks)
+{
+ bool skip_get_nblocks;
+
+ if (heapblk >= HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+
+ /* Non-heap rels can always create a FSM. */
+ if (rel->rd_rel->relkind != RELKIND_RELATION)
+ return true;
+
+ /*
+ * If the caller knows nblocks, we can avoid a system call later.
+ * If it doesn't, maybe we have relpages from a previous VACUUM.
+ * Since the table may have extended since then, we still have to
+ * count the pages later if we can't return now.
+ */
+ if (nblocks != InvalidBlockNumber)
+ {
+ if (nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = true;
+ }
+ else
+ {
+ if (rel->rd_rel->relpages != InvalidBlockNumber &&
+ rel->rd_rel->relpages > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ skip_get_nblocks = false;
+ }
+
+ RelationOpenSmgr(rel);
+ if (smgrexists(rel->rd_smgr, FSM_FORKNUM))
+ return true;
+
+ if (skip_get_nblocks)
+ return false;
+
+ /* last resort */
+ *get_nblocks = RelationGetNumberOfBlocks(rel);
+ if (*get_nblocks > HEAP_FSM_CREATION_THRESHOLD)
+ return true;
+ else
+ return false;
+}
+
+/*
+ * Initialize or update the local map of blocks to try, for when there is
+ * no FSM.
+ *
+ * When we initialize the map, flag all blocks as available to try. If a
+ * caller wants to reset the map after relation extension, only flag new
+ * blocks as available.
+ */
+static void
+fsm_local_set(Relation rel, BlockNumber curr_nblocks)
+{
+ BlockNumber blkno,
+ cached_target_block;
+
+ /*
+ * Mark blocks available starting after the last block we have mapped,
+ * and ending at the current last block in the relation.
+ */
+ for (blkno = fsm_local_map.nblocks; blkno < curr_nblocks; blkno++)
+ fsm_local_map.map[blkno] = FSM_LOCAL_AVAIL;
+
+ /* Cache the number of blocks. */
+ fsm_local_map.nblocks = curr_nblocks;
+
+ /* Set the status of the cached target block to 'unavailable'. */
+ cached_target_block = RelationGetTargetBlock(rel);
+ if (cached_target_block != InvalidBlockNumber &&
+ cached_target_block < curr_nblocks)
+ fsm_local_map.map[cached_target_block] = FSM_LOCAL_NOT_AVAIL;
+}
+
+/*
+ * Search the local map for an available block to try, in descending order.
+ *
+ * For use when there is no FSM.
+ */
+static BlockNumber
+fsm_local_search(void)
+{
+ BlockNumber target_block = fsm_local_map.nblocks;
+
+ do
+ {
+ target_block--;
+ if (fsm_local_map.map[target_block] == FSM_LOCAL_AVAIL)
+ return target_block;
+ }
+ while (target_block > 0);
+
+ return InvalidBlockNumber;
+}
diff --git a/src/backend/storage/freespace/indexfsm.c b/src/backend/storage/freespace/indexfsm.c
index e21047b..88a71ae 100644
--- a/src/backend/storage/freespace/indexfsm.c
+++ b/src/backend/storage/freespace/indexfsm.c
@@ -37,7 +37,7 @@
BlockNumber
GetFreeIndexPage(Relation rel)
{
- BlockNumber blkno = GetPageWithFreeSpace(rel, BLCKSZ / 2);
+ BlockNumber blkno = GetPageWithFreeSpace(rel, BLCKSZ / 2, true);
if (blkno != InvalidBlockNumber)
RecordUsedIndexPage(rel, blkno);
@@ -51,7 +51,7 @@ GetFreeIndexPage(Relation rel)
void
RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
{
- RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1);
+ RecordPageWithFreeSpace(rel, freeBlock, BLCKSZ - 1, InvalidBlockNumber);
}
@@ -61,7 +61,7 @@ RecordFreeIndexPage(Relation rel, BlockNumber freeBlock)
void
RecordUsedIndexPage(Relation rel, BlockNumber usedBlock)
{
- RecordPageWithFreeSpace(rel, usedBlock, 0);
+ RecordPageWithFreeSpace(rel, usedBlock, 0, InvalidBlockNumber);
}
/*
diff --git a/src/include/storage/freespace.h b/src/include/storage/freespace.h
index 726eb30..b6f5b86 100644
--- a/src/include/storage/freespace.h
+++ b/src/include/storage/freespace.h
@@ -18,15 +18,20 @@
#include "storage/relfilenode.h"
#include "utils/relcache.h"
+/* Only create the FSM if the heap has greater than this many blocks */
+#define HEAP_FSM_CREATION_THRESHOLD 4
+
/* prototypes for public functions in freespace.c */
extern Size GetRecordedFreeSpace(Relation rel, BlockNumber heapBlk);
-extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded);
+extern BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded,
+ bool check_fsm_only);
extern BlockNumber RecordAndGetPageWithFreeSpace(Relation rel,
BlockNumber oldPage,
Size oldSpaceAvail,
Size spaceNeeded);
extern void RecordPageWithFreeSpace(Relation rel, BlockNumber heapBlk,
- Size spaceAvail);
+ Size spaceAvail, BlockNumber nblocks);
+extern void FSMClearLocalMap(void);
extern void XLogRecordPageWithFreeSpace(RelFileNode rnode, BlockNumber heapBlk,
Size spaceAvail);
diff --git a/src/test/regress/expected/fsm.out b/src/test/regress/expected/fsm.out
new file mode 100644
index 0000000..4c44c4b
--- /dev/null
+++ b/src/test/regress/expected/fsm.out
@@ -0,0 +1,62 @@
+--
+-- Free Space Map test
+--
+CREATE TABLE fsm_check_size (num int, str text);
+-- Fill 2 blocks with as many large records as will fit
+-- No FSM
+INSERT INTO fsm_check_size SELECT g, rpad('', 1024, 'a')
+FROM generate_series(1,7*2) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 16384 | 0
+(1 row)
+
+-- Clear some space on block 0
+DELETE FROM fsm_check_size where num <= 5;
+VACUUM fsm_check_size;
+-- Insert small record in block 1 to set the cached smgr targetBlock
+INSERT INTO fsm_check_size values(99, 'b');
+-- Insert large record and make sure it goes in block 0 rather than
+-- causing the relation to extend
+INSERT INTO fsm_check_size values (101, rpad('', 1024, 'a'));
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ heap_size | fsm_size
+-----------+----------
+ 16384 | 0
+(1 row)
+
+-- Extend table with enough blocks to exceed the FSM threshold
+-- FSM is created and extended to 3 blocks
+INSERT INTO fsm_check_size SELECT g, 'c' FROM generate_series(200,3000) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ fsm_size
+----------
+ 24576
+(1 row)
+
+-- Truncate heap to 1 block
+-- No change in FSM
+DELETE FROM fsm_check_size WHERE num > 7;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ fsm_size
+----------
+ 24576
+(1 row)
+
+-- Truncate heap to 0 blocks
+-- FSM now truncated to 2 blocks
+DELETE FROM fsm_check_size;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+ fsm_size
+----------
+ 16384
+(1 row)
+
+DROP TABLE fsm_check_size;
diff --git a/src/test/regress/parallel_schedule b/src/test/regress/parallel_schedule
index cc0bbf5..4051a4a 100644
--- a/src/test/regress/parallel_schedule
+++ b/src/test/regress/parallel_schedule
@@ -69,6 +69,12 @@ test: create_aggregate create_function_3 create_cast constraints triggers inheri
test: sanity_check
# ----------
+# fsm does a delete followed by vacuum, and running it in parallel can prevent
+# removal of rows.
+# ----------
+test: fsm
+
+# ----------
# Believe it or not, select creates a table, subsequent
# tests need.
# ----------
diff --git a/src/test/regress/serial_schedule b/src/test/regress/serial_schedule
index 0c10c71..9fb1d38 100644
--- a/src/test/regress/serial_schedule
+++ b/src/test/regress/serial_schedule
@@ -80,6 +80,7 @@ test: roleattributes
test: create_am
test: hash_func
test: sanity_check
+test: fsm
test: errors
test: select
test: select_into
diff --git a/src/test/regress/sql/fsm.sql b/src/test/regress/sql/fsm.sql
new file mode 100644
index 0000000..fad99da
--- /dev/null
+++ b/src/test/regress/sql/fsm.sql
@@ -0,0 +1,46 @@
+--
+-- Free Space Map test
+--
+
+CREATE TABLE fsm_check_size (num int, str text);
+
+-- Fill 2 blocks with as many large records as will fit
+-- No FSM
+INSERT INTO fsm_check_size SELECT g, rpad('', 1024, 'a')
+FROM generate_series(1,7*2) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Clear some space on block 0
+DELETE FROM fsm_check_size where num <= 5;
+VACUUM fsm_check_size;
+
+-- Insert small record in block 1 to set the cached smgr targetBlock
+INSERT INTO fsm_check_size values(99, 'b');
+
+-- Insert large record and make sure it goes in block 0 rather than
+-- causing the relation to extend
+INSERT INTO fsm_check_size values (101, rpad('', 1024, 'a'));
+SELECT pg_relation_size('fsm_check_size', 'main') AS heap_size,
+pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Extend table with enough blocks to exceed the FSM threshold
+-- FSM is created and extended to 3 blocks
+INSERT INTO fsm_check_size SELECT g, 'c' FROM generate_series(200,3000) g;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Truncate heap to 1 block
+-- No change in FSM
+DELETE FROM fsm_check_size WHERE num > 7;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+-- Truncate heap to 0 blocks
+-- FSM now truncated to 2 blocks
+DELETE FROM fsm_check_size;
+VACUUM fsm_check_size;
+SELECT pg_relation_size('fsm_check_size', 'fsm') AS fsm_size;
+
+DROP TABLE fsm_check_size;
--
1.8.3.1
On 12/8/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Fri, Dec 7, 2018 at 7:25 PM John Naylor <jcnaylor@gmail.com> wrote:
I couldn't resist the temptation to figure out what's going on here.
The newly added tests have deletes followed by vacuum and then you
check whether the vacuum has removed the data by checking heap and or
FSM size. Now, when you run such a test in parallel, the vacuum can
sometimes skip removing the rows because there are parallel
transactions open which can see the deleted rows.
Ah yes, of course.
You can easily
verify this phenomenon by running the newly added tests in one session
in psql when there is another parallel session which has an open
transaction. For example:Session-1
Begin;
Insert into foo values(1);Session-2
\i fsm.sqlNow, you should see the results similar to what you are seeing when
you ran the fsm test by adding it to one of the parallel group. Can
you test this at your end and confirm whether my analysis is correct
or not.
Yes, I see the same behavior.
So, you can keep the test as you have in parallel_schedule, but
comment needs to be changed. Also, you need to add the new test in
serial_schedule. I have done both the changes in the attached patch,
kindly confirm if this looks correct to you.
Looks good to me. I'll just note that the new line in the serial
schedule has an extra space at the end. Thanks for looking into this.
-John Naylor
On 11/24/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
4. You have mentioned above that "system catalogs created during
bootstrap still have a FSM if they have any data." and I can also see
this behavior, have you investigated this point further?
I found the cause of this. There is some special-case code in md.c to
create any file if it's opened in bootstrap mode. I removed this and a
similar special case (attached), and make check still passes. After
digging through the history, I'm guessing this has been useless code
since about 2001, when certain special catalogs were removed.
-John Naylor
Attachments:
remove-bootstrap-case-md.patchtext/x-patch; charset=US-ASCII; name=remove-bootstrap-case-md.patchDownload
diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c
index 4c6a50509f..9331c8b1d1 100644
--- a/src/backend/storage/smgr/md.c
+++ b/src/backend/storage/smgr/md.c
@@ -310,13 +310,7 @@ mdcreate(SMgrRelation reln, ForkNumber forkNum, bool isRedo)
{
int save_errno = errno;
- /*
- * During bootstrap, there are cases where a system relation will be
- * accessed (by internal backend processes) before the bootstrap
- * script nominally creates it. Therefore, allow the file to exist
- * already, even if isRedo is not set. (See also mdopen)
- */
- if (isRedo || IsBootstrapProcessingMode())
+ if (isRedo)
fd = PathNameOpenFile(path, O_RDWR | PG_BINARY);
if (fd < 0)
{
@@ -572,26 +566,15 @@ mdopen(SMgrRelation reln, ForkNumber forknum, int behavior)
if (fd < 0)
{
- /*
- * During bootstrap, there are cases where a system relation will be
- * accessed (by internal backend processes) before the bootstrap
- * script nominally creates it. Therefore, accept mdopen() as a
- * substitute for mdcreate() in bootstrap mode only. (See mdcreate)
- */
- if (IsBootstrapProcessingMode())
- fd = PathNameOpenFile(path, O_RDWR | O_CREAT | O_EXCL | PG_BINARY);
- if (fd < 0)
+ if ((behavior & EXTENSION_RETURN_NULL) &&
+ FILE_POSSIBLY_DELETED(errno))
{
- if ((behavior & EXTENSION_RETURN_NULL) &&
- FILE_POSSIBLY_DELETED(errno))
- {
- pfree(path);
- return NULL;
- }
- ereport(ERROR,
- (errcode_for_file_access(),
- errmsg("could not open file \"%s\": %m", path)));
+ pfree(path);
+ return NULL;
}
+ ereport(ERROR,
+ (errcode_for_file_access(),
+ errmsg("could not open file \"%s\": %m", path)));
}
pfree(path);
On Thu, Dec 13, 2018 at 3:18 AM John Naylor <jcnaylor@gmail.com> wrote:
On 11/24/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
4. You have mentioned above that "system catalogs created during
bootstrap still have a FSM if they have any data." and I can also see
this behavior, have you investigated this point further?I found the cause of this. There is some special-case code in md.c to
create any file if it's opened in bootstrap mode. I removed this and a
similar special case (attached), and make check still passes. After
digging through the history, I'm guessing this has been useless code
since about 2001, when certain special catalogs were removed.
Good finding, but I think it is better to discuss this part
separately. I have started a new thread for this issue [1]/messages/by-id/CAA4eK1KsET6sotf+rzOTQfb83pzVEzVhbQi1nxGFYVstVWXUGw@mail.gmail.com.
[1]: /messages/by-id/CAA4eK1KsET6sotf+rzOTQfb83pzVEzVhbQi1nxGFYVstVWXUGw@mail.gmail.com
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Sat, Dec 8, 2018 at 6:35 PM Amit Kapila <amit.kapila16@gmail.com> wrote:
On Fri, Dec 7, 2018 at 7:25 PM John Naylor <jcnaylor@gmail.com> wrote:
On 12/6/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
On Thu, Dec 6, 2018 at 10:53 PM John Naylor <jcnaylor@gmail.com>
wrote:
I've added an additional regression test for finding the right block
I did run some performance tests on the latest patch v11, I see small
regression in execution time of COPY statement. Tests I have used is same
as provided in [1]/messages/by-id/CAJVSVGX=2Q52fwijD9cjeq1UdiYGXns2_9WAPFf=E8cwbFCDvQ@mail.gmail.com just that I ran it for fill factor 20 and 70. Here are
my results!
Machine : cthulhu (Intel based 8 numa machine)
Server setting is default, configured with HEAP_FSM_CREATION_THRESHOLD = 4,
Entire data directory was on HDD.
Results are execution time(unit ms) taken by copy statement when number of
records equal to exact number which fit HEAP_FSM_CREATION_THRESHOLD = 4
pages. For fill factor 20 it is till tid (3, 43) and for scale factor 70
till tid (3, 157). Result is taken as a median of 10 runs.
Fill factor 20
Tables Base Patch % of increase in execution time
500 121.97 125.315 2.7424776584
1000 246.592 253.789 2.9185861666
Fill factor 70
500 211.502 217.128 2.6600221275
1000 420.309 432.606 2.9257046601
So 2-3% consistent regression, And on every run I can see for patch v11
execution time is slightly more than base. I also tried to insert more
records till 8 pages and same regression is observed! So I guess even
HEAP_FSM_CREATION_THRESHOLD = 4 is not perfect!
[1]: /messages/by-id/CAJVSVGX=2Q52fwijD9cjeq1UdiYGXns2_9WAPFf=E8cwbFCDvQ@mail.gmail.com
/messages/by-id/CAJVSVGX=2Q52fwijD9cjeq1UdiYGXns2_9WAPFf=E8cwbFCDvQ@mail.gmail.com
--
Thanks and Regards
Mithun Chicklore Yogendra
EnterpriseDB: http://www.enterprisedb.com
On 12/29/18, Mithun Cy <mithun.cy@enterprisedb.com> wrote:
Results are execution time(unit ms) taken by copy statement when number of
records equal to exact number which fit HEAP_FSM_CREATION_THRESHOLD = 4
pages. For fill factor 20 it is till tid (3, 43) and for scale factor 70
till tid (3, 157). Result is taken as a median of 10 runs.
So 2-3% consistent regression, And on every run I can see for patch v11
execution time is slightly more than base.
Thanks for testing!
I also tried to insert more
records till 8 pages and same regression is observed! So I guess even
HEAP_FSM_CREATION_THRESHOLD = 4 is not perfect!
That's curious, because once the table exceeds the threshold, it would
be allowed to update the FSM, and in the process write 3 pages that it
didn't have to in the 4 page test. The master branch has the FSM
already, so I would expect the 8 page case to regress more.
What I can do later is provide a supplementary patch to go on top of
mine that only checks the last block. If that improves performance,
I'll alter my patch to only check every other page.
-John Naylor
On Sun, Dec 30, 2018 at 3:49 AM John Naylor <jcnaylor@gmail.com> wrote:
On 12/29/18, Mithun Cy <mithun.cy@enterprisedb.com> wrote:
Results are execution time(unit ms) taken by copy statement when number of
records equal to exact number which fit HEAP_FSM_CREATION_THRESHOLD = 4
pages. For fill factor 20 it is till tid (3, 43) and for scale factor 70
till tid (3, 157). Result is taken as a median of 10 runs.So 2-3% consistent regression, And on every run I can see for patch v11
execution time is slightly more than base.
Have you by any chance checked at scale factor 80 or 100?
Thanks for testing!
I also tried to insert more
records till 8 pages and same regression is observed! So I guess even
HEAP_FSM_CREATION_THRESHOLD = 4 is not perfect!That's curious, because once the table exceeds the threshold, it would
be allowed to update the FSM, and in the process write 3 pages that it
didn't have to in the 4 page test. The master branch has the FSM
already, so I would expect the 8 page case to regress more.
It is not clear to me why you think there should be regression at 8
pages when HEAP_FSM_CREATION_THRESHOLD is 4. Basically, once FSM
starts getting updated, we should be same as HEAD as it won't take any
special path?
What I can do later is provide a supplementary patch to go on top of
mine that only checks the last block. If that improves performance,
I'll alter my patch to only check every other page.
Sure, but I guess first we should try to see what is exactly slowing
down via perf report.
--
With Regards,
Amit Kapila.
EnterpriseDB: http://www.enterprisedb.com
On Thu, Dec 6, 2018 at 10:53 PM John Naylor <jcnaylor@gmail.com> wrote:
On 12/3/18, Amit Kapila <amit.kapila16@gmail.com> wrote:
fsm_local_set is being called from RecordAndGetPageWithFreeSpace and
GetPageWithFreeSpace whereas the change we have discussed was specific
to GetPageWithFreeSpace, so not sure if we need any change in
fsm_local_set.
I have some minor comments for pg_upgrade patch
1. Now we call stat main fork file in transfer_relfile()
+ sret = stat(old_file, &statbuf);
+ /* Save the size of the first segment of the main fork. */
+ if (type_suffix[0] == '\0' && segno == 0)
+ first_seg_size = statbuf.st_size;
But we do not handle the case if stat has returned any error!
2. src/bin/pg_upgrade/pg_upgrade.h
char *relname;
+
+ char relkind; /* relation relkind -- see pg_class.h */
I think we can remove the added empty line.
--
Thanks and Regards
Mithun Chicklore Yogendra
EnterpriseDB: http://www.enterprisedb.com
Thanks,
On Sun, Dec 30, 2018 at 3:49 AM John Naylor <jcnaylor@gmail.com> wrote:
On 12/29/18, Mithun Cy <mithun.cy@enterprisedb.com> wrote:
Results are execution time(unit ms) taken by copy statement when number of
records equal to exact number which fit HEAP_FSM_CREATION_THRESHOLD = 4
pages. For fill factor 20 it is till tid (3, 43) and for scale factor 70
till tid (3, 157). Result is taken as a median of 10 runs.So 2-3% consistent regression, And on every run I can see for patch v11
execution time is slightly more than base.Thanks for testing!
I also tried to insert more
records till 8 pages and same regression is observed! So I guess even
HEAP_FSM_CREATION_THRESHOLD = 4 is not perfect!That's curious, because once the table exceeds the threshold, it would
be allowed to update the FSM, and in the process write 3 pages that it
didn't have to in the 4 page test. The master branch has the FSM
already, so I would expect the 8 page case to regress more.
I tested with configuration HEAP_FSM_CREATION_THRESHOLD = 4 and just
tried to insert till 8 blocks to see if regression is carried on with
further inserts.
What I can do later is provide a supplementary patch to go on top of
mine that only checks the last block. If that improves performance,
I'll alter my patch to only check every other page.
Running callgrind for same test shows below stats
Before patch
==========
Number of calls function_name
2000 heap_multi_insert
2000 RelationGetBufferForTuple
3500 ReadBufferBI
After Patch
=========
Number of calls function_name
2000 heap_multi_insert
2000 RelationGetBufferForTuple
5000 ReadBufferBI
I guess Increase in ReadBufferBI() calls might be the reason which is
causing regression. Sorry I have not investigated it. I will check
same with your next patch!
--
Thanks and Regards
Mithun Chicklore Yogendra
EnterpriseDB: http://www.enterprisedb.com
Attachments:
callgrind.out.115655_before_patchapplication/octet-stream; name=callgrind.out.115655_before_patchDownload
# callgrind format
version: 1
creator: callgrind-3.13.0
pid: 115655
cmd: ./postgres -D data
part: 1
desc: I1 cache:
desc: D1 cache:
desc: LL cache:
desc: Timerange: Basic block 0 - 60662054
desc: Trigger: Program termination
positions: line
events: Ir
summary: 392118564
ob=(4) /usr/lib64/libm-2.17.so
fl=(4) ???
fn=(196) sin
0 8
fn=(188) floorf
0 5
fn=(190) floor
0 5
fn=(5938) 0x0000000000005680
0 9
fn=(182) __log_finite
0 8
fn=(186) __acos_finite
0 5
fn=(176) cos
0 8
fn=(180) __pow_finite
0 5
fn=(5924) 0x00000000000056f0
0 8
cob=(1) /usr/lib64/ld-2.17.so
cfi=(1) ???
cfn=(223) _dl_runtime_resolve_xsave'2
calls=1 0
0 1448
0 5
0 1
cfn=(5938)
calls=1 0
0 9
0 3
fn=(174) __exp_finite
0 8
fn=(194) __atan2_finite
0 8
fn=(292) 0x0000000000005730
0 16
fn=(184) rintf
0 5
fn=(192) __asin_finite
0 5
fn=(1000) __rint_sse41
0 2
fn=(178) rint
0 10
ob=(1)
fl=(1)
fn=(28) calloc
0 128
cfn=(32) malloc
calls=16 0
0 693
0 16
fn=(40) _dl_add_to_namespace_list
0 63
cob=(5) /usr/lib64/libpthread-2.17.so
cfi=(5) ???
cfn=(396) pthread_mutex_lock
calls=2 0
0 62
cfn=(42) rtld_lock_default_lock_recursive
calls=7 0
0 14
0 352
cob=(5)
cfi=(5)
cfn=(398) pthread_mutex_unlock
calls=2 0
0 58
cfn=(44) rtld_lock_default_unlock_recursive
calls=6 0
0 12
0 13
cfn=(44)
calls=1 0
0 2
0 2
fn=(56) mempcpy
0 3546
fn=(70) free
0 6
fn=(94) open
0 500
fn=(112) _dl_map_object_deps
0 2224
cfn=(62) index
calls=18 0
0 1260
0 162
cfn=(81) _dl_catch_error'2
calls=4 0
0 3314
cfn=(80) _dl_catch_error
calls=14 0
0 42726
0 362
cfn=(32)
calls=6 0
0 204
0 6
0 60
cfn=(38) memcpy
calls=6 0
0 149
0 30
cfn=(38)
calls=6 0
0 149
0 196
cob=(3) /usr/lib64/libc-2.17.so
cfi=(3) ???
cfn=(388) malloc
calls=2 0
0 350
cfn=(32)
calls=1 0
0 34
0 3
0 239
cfn=(106) memset
calls=3 0
0 46
0 866
cfn=(106)
calls=8 0
0 94
0 196
cfn=(130) memmove
calls=1 0
0 63
0 79
cfn=(130)
calls=1 0
0 33
0 806
cfn=(38)
calls=3 0
0 96
0 9
fn=(136) _dl_check_all_versions
0 68
cfn=(138) _dl_check_map_versions
calls=8 0
0 16233
0 63
fn=(154) check_match.9515
0 14745
cfn=(46) strcmp
calls=469 0
0 48496
0 16173
cfn=(46)
calls=287 0
0 25046
0 1148
fn=(42)
0 14
fn=(72) _dl_debug_initialize
0 121
fn=(102) mmap
0 819
fn=(134) version_check_doit
0 6
cfn=(136)
calls=1 0
0 16364
0 4
fn=(208) _dl_init
0 321
cob=(2) ???
cfi=(2) ???
cfn=(4080) 0x0000000014dfccf0
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(1724) 0x000000000be3df18
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(326) 0x0000000004a245c0
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(314) 0x0000000004e43e98
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(300) 0x000000000504ad30
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(288) 0x00000000052531c0
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(270) _init
calls=1 0
0 158
0 126
cob=(12) /home/mithuncy/zheap_fsmbasebin/lib/postgresql/plpgsql.so
cfi=(232) ???
cfn=(4084) 0x0000000000008f20
calls=1 0
0 16
cob=(11) /usr/lib64/libnss_files-2.17.so
cfi=(78) ???
cfn=(1728) 0x0000000000002280
calls=1 0
0 16
cob=(8) /usr/lib64/valgrind/vgpreload_core-amd64-linux.so
cfi=(8) ???
cfn=(330) 0x00000000000006e0
calls=1 0
0 16
cob=(7) /usr/lib64/librt-2.17.so
cfi=(7) ???
cfn=(318) 0x00000000000023f0
calls=1 0
0 16
cob=(6) /usr/lib64/libdl-2.17.so
cfi=(6) ???
cfn=(304) 0x0000000000000f20
calls=1 0
0 16
cob=(4)
cfi=(4)
cfn=(292)
calls=1 0
0 16
cob=(3)
cfi=(3)
cfn=(278) init_cacheinfo
calls=1 0
0 1879
0 4
cob=(6)
cfi=(6)
cfn=(312) init
calls=1 0
0 3
0 119
cob=(2)
cfi=(2)
cfn=(210) 0x0000000004c2b458
calls=1 0
0 8655
0 19
cob=(5)
cfi=(5)
cfn=(260) 0x0000000000006780
calls=1 0
0 16
0 5
cob=(5)
cfi=(5)
cfn=(268) elision_init
calls=1 0
0 12
0 14
fn=(1716) dl_open_worker
0 32
cfn=(1718) _dl_check_caller
calls=2 0
0 347
0 10
cfn=(62)
calls=2 0
0 212
0 136
cfn=(72)
calls=2 0
0 16
0 20
cfn=(88) _dl_map_object
calls=2 0
0 16108
0 38
cfn=(112)
calls=2 0
0 5773
0 74
cfn=(72)
calls=2 0
0 16
0 6
cfn=(76) _dl_debug_state
calls=2 0
0 2
0 126
cfn=(208)
calls=2 0
0 252
0 66
cfn=(148) _dl_relocate_object
calls=2 0
0 249485
0 162
cfn=(138)
calls=2 0
0 3191
0 12
cfn=(4092) add_to_global
calls=1 0
0 627
0 10
fn=(0) 0x0000000000001170
0 2
cfn=(2) _dl_start
calls=1 0
0 236248
0 14
cfn=(208)
calls=1 0
0 11211
0 3
cob=(9) /home/mithuncy/zheap_fsmbasebin/bin/postgres
cfi=(9) ???
cfn=(340) 0x0000000000477340
calls=1 0
0 391871086
fn=(4) _dl_setup_hash
0 230
fn=(60) expand_dynamic_string_token
0 39
cfn=(62)
calls=3 0
0 397
0 12
cfn=(12) strlen
calls=3 0
0 240
0 9
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
0 382
cfn=(32)
calls=2 0
0 68
0 3
0 39
cfn=(38)
calls=3 0
0 166
fn=(138)
0 1024
cfn=(90) _dl_name_match_p
calls=102 0
0 6494
0 886
cfn=(140) match_symbol
calls=10 0
0 1621
0 84
cfn=(140)
calls=28 0
0 5418
0 970
cob=(3)
cfi=(3)
cfn=(1722) calloc
calls=2 0
0 462
cfn=(28)
calls=7 0
0 349
0 9
0 2107
fn=(12)
0 2432
fn=(46)
0 17598
cfn=(47) strcmp'2
calls=1731 0
0 91120
0 7308
fn=(47)
0 85842
cfn=(47)
calls=11051 0
0 544319
0 5278
fn=(90)
0 9352
cfn=(46)
calls=1336 0
0 9415
0 16083
cfn=(46)
calls=1359 0
0 28331
0 10734
fn=(128) _dl_next_tls_modid
0 6
fn=(142) init_tls
0 11
cfn=(28)
calls=1 0
0 43
0 1
0 61
cfn=(144) _dl_determine_tlsoffset
calls=1 0
0 56
0 1
cfn=(146) _dl_allocate_tls_storage
calls=1 0
0 455
0 16
fn=(222) _dl_runtime_resolve_xsave
0 150
cfn=(224) _dl_fixup
calls=6 0
0 8629
0 90
fn=(223)
0 3675
cfn=(224)
calls=147 0
0 169936
0 2205
fn=(1720) cache_rpath.part.5
0 34
fn=(5816) _dl_fini
0 23
cob=(5)
cfi=(5)
cfn=(396)
calls=1 0
0 31
0 143
cfn=(5818) _dl_sort_fini
calls=1 0
0 2204
0 2
cob=(5)
cfi=(5)
cfn=(398)
calls=1 0
0 29
0 193
cob=(6)
cfi=(6)
cfn=(5904) 0x0000000000000ee0
calls=1 0
0 1474
0 16
cob=(12)
cfi=(232)
cfn=(5966) 0x0000000000008ee0
calls=1 0
0 81
cob=(11)
cfi=(78)
cfn=(5946) 0x0000000000002240
calls=1 0
0 1474
cob=(4)
cfi=(4)
cfn=(5924)
calls=1 0
0 1474
cob=(6)
cfi=(6)
cfn=(5900) fini
calls=1 0
0 11
cob=(5)
cfi=(5)
cfn=(5880) 0x0000000000006740
calls=1 0
0 1474
cob=(7)
cfi=(7)
cfn=(5860) 0x00000000000023b0
calls=1 0
0 1474
cob=(8)
cfi=(8)
cfn=(5834) 0x00000000000006a0
calls=1 0
0 960
cob=(9)
cfi=(9)
cfn=(5822) 0x00000000004773e0
calls=1 0
0 16
0 75
cob=(2)
cfi=(2)
cfn=(5982) 0x0000000014e1c83c
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5964) 0x000000000be453e4
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5944) 0x00000000052be278
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5922) 0x000000000504b960
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5898) 0x0000000004c36d34
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5878) 0x0000000004e470b4
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5858) 0x0000000004a2487c
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5832) 0x0000000000a172c0
calls=1 0
0 3
0 123
fn=(32)
0 135
cfn=(36) __libc_memalign
calls=45 0
0 1499
0 45
fn=(58) decompose_rpath
0 14
cfn=(60)
calls=1 0
0 324
0 256
cfn=(32)
calls=1 0
0 34
0 1
0 10
cfn=(64) fillin_rpath
calls=1 0
0 712
0 2
cfn=(70)
calls=1 0
0 6
0 1
0 9
fn=(98) _dl_map_object_from_fd
0 144
cfn=(72)
calls=8 0
0 64
0 40
cfn=(100) _fxstat
calls=8 0
0 80
0 548
cfn=(24) _dl_new_object
calls=8 0
0 5079
0 2133
cfn=(128)
calls=1 0
0 6
0 251
cfn=(102)
calls=8 0
0 280
0 400
cfn=(106)
calls=8 0
0 12463
0 248
cfn=(102)
calls=8 0
0 248
0 198
cfn=(76)
calls=2 0
0 2
0 2575
cfn=(108) close
calls=1 0
0 5
0 14
cfn=(108)
calls=7 0
0 35
0 120
cfn=(4)
calls=8 0
0 184
0 138
cfn=(40)
calls=8 0
0 544
0 144
cfn=(104) mprotect
calls=8 0
0 40
0 32
cfn=(102)
calls=3 0
0 93
0 130
fn=(122) _dl_sysdep_read_whole_file
0 22
cfn=(94)
calls=2 0
0 10
0 14
cfn=(100)
calls=2 0
0 20
0 16
cfn=(108)
calls=2 0
0 10
0 26
cfn=(102)
calls=2 0
0 66
0 4
fn=(126) strdup
0 30
cfn=(12)
calls=6 0
0 238
0 18
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
0 175
cfn=(32)
calls=5 0
0 170
0 6
0 54
cfn=(38)
calls=6 0
0 177
fn=(148)
0 7564
cob=(4)
cfi=(4)
cfn=(196)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(194)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(192)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(190)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(188)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(186)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(184)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(182)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(180)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(178)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(176)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(174)
calls=1 0
0 8
0 38581
cfn=(150) _dl_lookup_symbol_x
calls=475 0
0 342556
0 12852
cob=(3)
cfi=(3)
cfn=(170) memcpy@GLIBC_2.2.5
calls=1 0
0 15
cob=(3)
cfi=(3)
cfn=(168) gettimeofday
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(166) memset
calls=1 0
0 8
cob=(3)
cfi=(3)
cfn=(164) strncasecmp
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(162) strnlen
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(158) time
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(156) strcasecmp
calls=1 0
0 5
0 978
cfn=(38)
calls=8 0
0 149
0 165
cfn=(104)
calls=10 0
0 50
0 351
cfn=(150)
calls=6 0
0 4134
0 204
cob=(3)
cfi=(3)
cfn=(854) memcpy@@GLIBC_2.14
calls=1 0
0 10
cob=(3)
cfi=(3)
cfn=(444) strcmp
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(2308) strspn
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(166)
calls=1 0
0 8
cob=(3)
cfi=(3)
cfn=(1118) index
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(422) strlen
calls=1 0
0 9
cob=(3)
cfi=(3)
cfn=(808) strcpy
calls=1 0
0 9
0 100
fn=(8) brk
0 12
fn=(82) _dl_initial_error_catch_tsd
0 34
fn=(1718)
0 347
fn=(5820) _wordcopy_fwd_aligned
0 40
fn=(2)
0 605
cfn=(4)
calls=1 0
0 23
0 17
cfn=(6) _dl_sysdep_start
calls=1 0
0 235539
0 64
fn=(20) _dl_next_ld_env_entry
0 394
fn=(108)
0 50
fn=(118) _xstat
0 147
fn=(6)
0 417
cfn=(8)
calls=1 0
0 12
0 6
cfn=(10) init_cpu_features.constprop.0
calls=1 0
0 112
0 4
cfn=(12)
calls=1 0
0 35
0 3
cfn=(14) sbrk
calls=1 0
0 17
0 12
cfn=(16) dl_main
calls=1 0
0 234894
0 27
fn=(10)
0 112
fn=(62)
0 2572
fn=(88)
0 1868
cfn=(90)
calls=118 0
0 7483
0 513
cfn=(62)
calls=8 0
0 496
0 28
cfn=(60)
calls=2 0
0 1031
0 22
cfn=(92) open_verify
calls=2 0
0 894
0 158
cfn=(98)
calls=8 0
0 26238
0 20
cfn=(12)
calls=6 0
0 306
0 150
cfn=(116) open_path
calls=6 0
0 6996
0 150
cfn=(116)
calls=5 0
0 1739
0 48
cfn=(1720)
calls=1 0
0 17
0 59
cfn=(120) _dl_load_cache_lookup
calls=6 0
0 9383
0 108
cfn=(92)
calls=6 0
0 3361
0 86
cfn=(1720)
calls=1 0
0 17
0 658
cfn=(46)
calls=68 0
0 1442
0 136
fn=(100)
0 100
fn=(116)
0 546
cfn=(56)
calls=23 0
0 788
0 1116
cfn=(56)
calls=50 0
0 961
0 200
cfn=(56)
calls=50 0
0 1230
0 550
cfn=(92)
calls=50 0
0 2000
0 682
cfn=(118)
calls=12 0
0 147
0 515
fn=(4092)
0 101
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
0 471
0 1
0 7
cfn=(38)
calls=1 0
0 42
0 5
fn=(76)
0 6
fn=(130)
0 386
cfn=(5820)
calls=2 0
0 40
0 4
fn=(16)
0 33
cfn=(18) _dl_process_tunable_env_entries
calls=1 0
0 369
0 7
cfn=(20)
calls=1 0
0 138
0 4
cfn=(20)
calls=2 0
0 256
0 170
cfn=(24)
calls=1 0
0 244
0 10
cfn=(40)
calls=1 0
0 34
0 138
cfn=(46)
calls=1 0
0 7
0 263
cfn=(4)
calls=1 0
0 23
0 5
cfn=(48) _dl_discover_osversion
calls=1 0
0 93
0 78
cfn=(22) bcmp
calls=1 0
0 120
0 9
cfn=(22)
calls=1 0
0 26
0 14
cfn=(22)
calls=1 0
0 80
0 7
cfn=(52) _dl_init_paths
calls=1 0
0 4998
0 3
cfn=(72)
calls=1 0
0 17
0 57
cfn=(74) _dl_count_modids
calls=1 0
0 4
0 19
cfn=(110) access
calls=1 0
0 9
0 19
cfn=(112)
calls=1 0
0 47983
0 121
cfn=(78) handle_ld_preload
calls=1 0
0 3425
0 34
cfn=(132) _dl_receive_error
calls=1 0
0 16404
0 5
cfn=(142)
calls=1 0
0 644
0 35
cfn=(198) _dl_allocate_tls_init
calls=1 0
0 238
0 5
cfn=(200) _dl_sysdep_start_cleanup
calls=1 0
0 1
0 6
cfn=(72)
calls=1 0
0 8
0 3
cfn=(76)
calls=1 0
0 1
0 2
cfn=(202) _dl_unload_cache
calls=1 0
0 15
0 21
cfn=(148)
calls=1 0
0 8118
0 167
cfn=(148)
calls=7 0
0 150291
0 60
cfn=(172) _dl_add_to_slotinfo
calls=1 0
0 24
0 13
cfn=(76)
calls=1 0
0 1
0 15
fn=(36)
0 958
cfn=(102)
calls=4 0
0 132
0 487
fn=(64)
0 40
cfn=(66) strsep
calls=2 0
0 415
0 12
cfn=(66)
calls=4 0
0 1158
0 26
cfn=(12)
calls=4 0
0 251
0 134
cfn=(12)
calls=1 0
0 10
0 11
cfn=(32)
calls=1 0
0 34
0 1
0 27
cfn=(32)
calls=3 0
0 102
0 3
0 44
cfn=(56)
calls=4 0
0 222
0 156
cfn=(38)
calls=1 0
0 18
0 74
fn=(74)
0 4
fn=(96) read
0 40
fn=(106)
0 12883
fn=(146)
0 7
cfn=(36)
calls=1 0
0 78
0 1
0 315
cfn=(28)
calls=1 0
0 43
0 1
0 10
fn=(152) do_lookup_x
0 162025
cfn=(90)
calls=1116 0
0 59938
0 53268
cfn=(154)
calls=614 0
0 105608
0 3088
fn=(198)
0 61
cfn=(56)
calls=1 0
0 23
0 4
cfn=(106)
calls=1 0
0 134
0 16
fn=(202)
0 19
cfn=(204) munmap
calls=2 0
0 10
0 6
fn=(14)
0 17
fn=(124) _dl_cache_libcmp
0 5440
fn=(140)
0 3370
cfn=(46)
calls=38 0
0 3289
0 380
fn=(38)
0 1572
fn=(48)
0 21
cfn=(50) uname
calls=1 0
0 5
0 67
fn=(78)
0 634
cfn=(80)
calls=1 0
0 2683
0 22
cfn=(38)
calls=1 0
0 82
0 4
fn=(104)
0 90
fn=(110)
0 9
fn=(24)
0 135
cfn=(12)
calls=9 0
0 471
0 171
cob=(3)
cfi=(3)
cfn=(1722)
calls=2 0
0 1044
cfn=(28)
calls=7 0
0 402
0 9
0 108
cfn=(38)
calls=9 0
0 277
0 475
cfn=(12)
calls=8 0
0 393
0 228
cfn=(56)
calls=8 0
0 278
0 548
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
0 528
cfn=(32)
calls=6 0
0 204
0 8
0 44
fn=(66)
0 1573
fn=(86) map_doit
0 9
cfn=(88)
calls=1 0
0 2613
0 3
fn=(52)
0 14
cfn=(54) _dl_important_hwcaps
calls=1 0
0 333
0 3
cfn=(32)
calls=1 0
0 34
0 1
0 15
cfn=(32)
calls=1 0
0 34
0 1
0 81
cfn=(58)
calls=1 0
0 1369
0 8
cfn=(62)
calls=1 0
0 207
0 4
cfn=(12)
calls=1 0
0 127
0 8
cfn=(38)
calls=1 0
0 90
0 584
cfn=(32)
calls=1 0
0 34
0 1
0 10
cfn=(64)
calls=1 0
0 2026
0 14
fn=(120)
0 1123
cfn=(124)
calls=59 0
0 4966
0 272
cfn=(122)
calls=2 0
0 188
0 20
cfn=(22)
calls=2 0
0 224
0 30
cfn=(22)
calls=2 0
0 222
0 86
cfn=(124)
calls=6 0
0 474
0 252
cfn=(12)
calls=6 0
0 361
0 60
cfn=(38)
calls=6 0
0 177
0 12
cfn=(126)
calls=6 0
0 868
0 48
fn=(200)
0 1
fn=(226) _dl_get_tls_static_info
0 5
fn=(1714) _dl_open
0 36
cob=(5)
cfi=(5)
cfn=(396)
calls=2 0
0 62
0 44
cfn=(81)
calls=2 0
0 276839
0 4
cfn=(202)
calls=2 0
0 20
0 8
cob=(5)
cfi=(5)
cfn=(398)
calls=2 0
0 58
0 18
fn=(5818)
0 27
cfn=(106)
calls=1 0
0 26
0 86
cfn=(106)
calls=8 0
0 120
0 1524
cfn=(130)
calls=3 0
0 195
0 72
cfn=(130)
calls=3 0
0 139
0 15
fn=(18)
0 369
fn=(44)
0 14
fn=(54)
0 83
cfn=(32)
calls=1 0
0 34
0 1
0 162
cfn=(56)
calls=1 0
0 22
0 5
cfn=(56)
calls=1 0
0 22
0 4
fn=(80)
0 198
cob=(3)
cfi=(3)
cfn=(248) __libc_dl_error_tsd
calls=7 0
0 21
cfn=(82)
calls=15 0
0 30
0 132
cfn=(84) __sigsetjmp
calls=22 0
0 440
0 176
cob=(6)
cfi=(6)
cfn=(4100) dlsym_doit
calls=4 0
0 4148
cob=(6)
cfi=(6)
cfn=(4078) dlopen_doit
calls=1 0
0 248953
cob=(3)
cfi=(3)
cfn=(1738) do_dlsym
calls=1 0
0 725
cob=(3)
cfi=(3)
cfn=(1712) do_dlopen
calls=1 0
0 28182
cfn=(114) openaux
calls=14 0
0 41914
cfn=(86)
calls=1 0
0 2625
0 286
fn=(81)
0 54
cob=(3)
cfi=(3)
cfn=(248)
calls=6 0
0 18
0 36
cfn=(84)
calls=6 0
0 120
0 48
cfn=(114)
calls=4 0
0 3078
cfn=(1716)
calls=2 0
0 276721
0 78
fn=(92)
0 1102
cfn=(94)
calls=58 0
0 490
0 246
cfn=(96)
calls=8 0
0 40
0 112
cfn=(22)
calls=8 0
0 695
0 72
cfn=(22)
calls=8 0
0 640
0 792
cfn=(22)
calls=6 0
0 438
0 32
cfn=(22)
calls=8 0
0 640
0 686
cfn=(22)
calls=3 0
0 264
0 6
fn=(132)
0 11
cfn=(82)
calls=1 0
0 2
0 7
cfn=(134)
calls=1 0
0 16374
0 10
fn=(84)
0 560
fn=(172)
0 24
fn=(22)
0 3349
fn=(114)
0 252
cfn=(88)
calls=18 0
0 44686
0 54
fn=(144)
0 56
fn=(50)
0 5
fn=(150)
0 108564
cfn=(152)
calls=639 0
0 369512
0 1066
cfn=(152)
calls=82 0
0 14415
0 23798
fn=(204)
0 10
fn=(224)
0 7181
cfn=(150)
calls=153 0
0 167760
0 3390
cob=(3)
cfi=(3)
cfn=(4328) strstr
calls=1 0
0 17
cob=(3)
cfi=(3)
cfn=(3072) bcmp
calls=1 0
0 7
cob=(3)
cfi=(3)
cfn=(2378) mempcpy
calls=1 0
0 10
cob=(3)
cfi=(3)
cfn=(2308)
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(158)
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(1878) rindex
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(156)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(1768) rawmemchr
calls=1 0
0 7
cob=(3)
cfi=(3)
cfn=(1118)
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(1042) strncmp
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(178)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(948) strncpy
calls=1 0
0 9
cob=(3)
cfi=(3)
cfn=(854)
calls=3 0
0 30
cob=(3)
cfi=(3)
cfn=(166)
calls=1 0
0 8
cob=(3)
cfi=(3)
cfn=(808)
calls=1 0
0 9
cob=(3)
cfi=(3)
cfn=(168)
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(170)
calls=1 0
0 15
cob=(3)
cfi=(3)
cfn=(444)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(422)
calls=2 0
0 18
0 22
ob=(3)
fl=(3)
fn=(1838) getnameinfo
0 159
cfn=(1840) inet_ntop
calls=1 0
0 1715
0 11
cfn=(1840)
calls=1 0
0 771
0 5
fn=(1840)
0 88
cfn=(1704) __GI_strcpy
calls=1 0
0 29
0 17
cfn=(1842) sprintf
calls=1 0
0 1650
0 6
cfn=(1704)
calls=1 0
0 30
0 17
cfn=(1842)
calls=1 0
0 590
0 59
fn=(404) sysmalloc
0 1106
cfn=(598) mmap
calls=4 0
0 132
0 152
cfn=(406) __default_morecore
calls=14 0
0 907
0 405
cfn=(406)
calls=1 0
0 45
0 34
fn=(544) __GI_strchr
0 1053
fn=(556) realloc
0 1053
cfn=(608) _int_realloc
calls=16 0
0 31612
0 185
cfn=(558) realloc_hook_ini
calls=1 0
0 208
fn=(580) _nl_load_locale_from_archive
0 130
cfn=(582) sysconf
calls=10 0
0 340
0 58
cfn=(572) __GI_strcmp
calls=9 0
0 216
0 164
cfn=(544)
calls=1 0
0 28
0 8
cfn=(236) __GI_strlen
calls=1 0
0 14
0 103
cfn=(572)
calls=1 0
0 24
0 223
cfn=(388)
calls=1 0
0 188
0 1
0 6
cfn=(384) strdup
calls=1 0
0 156
0 133
cfn=(600) _nl_intern_locale_data
calls=12 0
0 7863
0 130
cfn=(536) strchrnul
calls=1 0
0 23
0 6
cfn=(586) _nl_normalize_codeset
calls=1 0
0 308
0 7
cfn=(552) __GI_strncmp
calls=1 0
0 29
0 6
cfn=(590) free
calls=1 0
0 85
0 1
0 7
cfn=(594) __open_nocancel
calls=1 0
0 5
0 7
cfn=(596) _fxstat
calls=1 0
0 10
0 10
cfn=(598)
calls=1 0
0 33
0 27
fn=(602) new_composite_name
0 2176
cfn=(236)
calls=176 0
0 2464
0 32
cfn=(236)
calls=16 0
0 224
0 1524
cfn=(572)
calls=24 0
0 576
0 646
cfn=(388)
calls=16 0
0 3180
0 16
0 2256
cfn=(604) __GI_stpcpy
calls=176 0
0 10863
0 48
cfn=(604)
calls=16 0
0 1073
0 768
cfn=(604)
calls=192 0
0 4668
0 912
fn=(620) unsetenv
0 12
cfn=(544)
calls=1 0
0 34
0 4
cfn=(236)
calls=1 0
0 14
0 282
cfn=(552)
calls=67 0
0 2077
0 413
fn=(644) getuid
0 3
fn=(710) umask
0 6
fn=(914) __ctype_b_loc
0 1193502
fn=(1044) __strncmp_sse42
0 421030
fn=(1254) getopt
0 18
cfn=(1256) _getopt_internal
calls=3 0
0 847
0 6
fn=(1288) _IO_no_init
0 5670
cfn=(1290) _IO_old_init
calls=567 0
0 14046
0 12482
fn=(1348) _IO_setb
0 27546
cfn=(1390) munmap
calls=522 0
0 2610
0 2088
fn=(1366) ferror
0 46260
fn=(1380) fclose@@GLIBC_2.2.5
0 18798
cfn=(1392) _IO_file_finish@@GLIBC_2.2.5
calls=3 0
0 96
0 2080
cfn=(1392)
calls=520 0
0 16640
0 6276
cfn=(590)
calls=523 0
0 60216
0 523
0 4707
cfn=(1384) _IO_file_close_it@@GLIBC_2.2.5
calls=523 0
0 59183
0 2092
cfn=(1382) _IO_un_link
calls=523 0
0 59024
0 4689
fn=(1390)
0 2610
fn=(1394) _IO_default_finish
0 7322
cfn=(1382)
calls=523 0
0 5230
fn=(1480) feof
0 55440
fn=(236)
0 104899
fn=(272) __init_misc
0 12
cfn=(274) __GI_strrchr
calls=1 0
0 44
0 12
fn=(284) bsearch
0 13431
cob=(9)
cfi=(283) /home/mithuncy/fsm_code/src/backend/executor/execExprInterp.c
cfn=(4826) dispatch_compare_ptr
calls=28 2116
0 565
cob=(9)
cfi=(29) /home/mithuncy/fsm_code/src/backend/utils/misc/guc.c
cfn=(866) guc_var_compare
calls=1077 4918
0 152143
cfn=(286) intel_02_known_compare
calls=54 0
0 324
0 5507
fn=(1646) inet_pton
0 418
cfn=(544)
calls=14 0
0 440
0 998
fn=(1680) __strncasecmp_avx
0 433
fn=(1684) _res_hconf_init
0 9
cob=(5)
cfi=(5)
cfn=(1686) pthread_once
calls=1 0
0 4828
fn=(1692) __res_maybe_init
0 15
cfn=(1694) __res_ninit
calls=1 0
0 2903
0 3
fn=(1712)
0 14
cob=(1)
cfi=(1)
cfn=(1714)
calls=1 0
0 28164
0 4
fn=(1814) sendto
0 4
cfn=(1816) __sendto_nocancel
calls=2 0
0 12
fn=(1852) _itoa_word
0 131
fn=(2696) __malloc_fork_unlock_child
0 31
fn=(2700) _IO_iter_end
0 8
fn=(2724) setsid
0 5
fn=(372) __sigjmp_save
0 99
cfn=(774) sigprocmask
calls=6 0
0 42
0 78
fn=(402) malloc_consolidate
0 5435
fn=(424) __strlen_sse42
0 304833
fn=(446) __strcmp_sse42
0 4155672
fn=(482) __memmove_ssse3
0 440977
fn=(542) putenv
0 96
cfn=(544)
calls=12 0
0 336
0 108
cfn=(548) __GI_strnlen
calls=12 0
0 249
0 12
0 108
cfn=(412) __GI_memcpy
calls=12 0
0 289
0 60
cfn=(550) __add_to_environ
calls=12 0
0 34442
0 60
fn=(574) _nl_find_locale
0 304
cfn=(572)
calls=16 0
0 384
0 62
cfn=(572)
calls=10 0
0 240
0 40
cfn=(236)
calls=10 0
0 140
0 80
cfn=(576) memmem
calls=10 0
0 510
0 130
cfn=(578) memchr
calls=10 0
0 190
0 80
cfn=(580)
calls=10 0
0 10349
0 156
cfn=(234) getenv
calls=4 0
0 2043
0 36
cfn=(234)
calls=4 0
0 2012
0 20
cfn=(234)
calls=3 0
0 948
0 65
fn=(576)
0 200
cfn=(578)
calls=10 0
0 190
0 120
fn=(584) getpagesize
0 30
fn=(1256)
0 39
cfn=(1258) _getopt_internal_r
calls=3 0
0 775
0 33
fn=(1258)
0 74
cfn=(234)
calls=1 0
0 450
0 49
cfn=(544)
calls=1 0
0 28
0 174
fn=(1506) strtok
0 132920
fn=(282) intel_check_word
0 188
cfn=(284)
calls=8 0
0 1228
0 219
fn=(1644) inet_aton
0 226
cfn=(1638) strtoul
calls=4 0
0 620
0 48
cfn=(1638)
calls=12 0
0 1344
0 428
fn=(1666) __nss_database_lookup
0 58
cfn=(572)
calls=2 0
0 48
0 84
cfn=(572)
calls=28 0
0 672
0 193
cfn=(1284) fopen@@GLIBC_2.2.5
calls=1 0
0 569
0 6
cfn=(388)
calls=1 0
0 103
0 1
0 400
cfn=(1668) getline
calls=65 0
0 11075
0 514
cfn=(536)
calls=64 0
0 1616
0 1538
cfn=(236)
calls=15 0
0 210
0 60
cfn=(388)
calls=15 0
0 2806
0 15
0 105
cfn=(412)
calls=15 0
0 347
0 30
cfn=(1674) nss_parse_service_list
calls=15 0
0 8213
0 329
cfn=(590)
calls=1 0
0 85
0 1
0 2
cfn=(1380)
calls=1 0
0 402
0 6
fn=(1668)
0 195
cfn=(1670) getdelim
calls=65 0
0 10880
fn=(1690) fgets_unlocked
0 210
cfn=(1488) _IO_getline
calls=10 0
0 2763
0 134
fn=(1804) getsockname
0 45
fn=(1818) recvmsg
0 12
cfn=(1820) __recvmsg_nocancel
calls=6 0
0 30
fn=(1848) vfprintf
0 66
cfn=(536)
calls=2 0
0 46
0 24
cfn=(1850) _IO_default_xsputn
calls=2 0
0 30
0 10
cfn=(590)
calls=2 0
0 14
0 2
0 4
cfn=(590)
calls=2 0
0 14
0 2
0 309
cfn=(536)
calls=5 0
0 115
0 35
cfn=(1850)
calls=5 0
0 198
0 301
cfn=(1850)
calls=5 0
0 290
0 105
cfn=(1852)
calls=5 0
0 131
0 238
fn=(2098) sscanf
0 615
cfn=(2100) vsscanf
calls=41 0
0 15353
0 82
fn=(2100)
0 615
cfn=(1288)
calls=41 0
0 1722
0 287
cfn=(1846) _IO_str_init_static_internal
calls=41 0
0 3280
0 205
cfn=(1536) _IO_vfscanf
calls=41 0
0 8998
0 246
fn=(2380) __mempcpy_ssse3
0 15
fn=(2584) _IO_list_unlock
0 80
fn=(2732) prctl
0 6
fn=(4330) __strstr_sse42
0 352
fn=(5986) _IO_flush_all_lockp
0 88
fn=(1830) __free_in6ai
0 50
fn=(388)
0 138950
cfn=(400) _int_malloc
calls=7719 0
0 1614009
0 169823
cfn=(390) malloc_hook_ini
calls=1 0
0 57691
fn=(389) malloc'2
0 18
cfn=(400)
calls=1 0
0 1056
0 22
fn=(400)
0 362216
cfn=(402)
calls=20 0
0 3711
0 1169290
cfn=(402)
calls=1 0
0 666
0 96
cfn=(404)
calls=18 0
0 2781
0 80538
fn=(558)
0 32
cfn=(388)
calls=1 0
0 176
fn=(578)
0 66796
fn=(590)
0 92362
cfn=(592) _int_free
calls=5752 0
0 653413
0 55
fn=(700) srand
0 22
cfn=(702) srandom_r
calls=2 0
0 21040
0 12
fn=(728) opendir
0 30
cfn=(730) __opendirat
calls=10 0
0 2138
fn=(730)
0 60
cfn=(732) __openat_nocancel
calls=10 0
0 84
0 74
cfn=(734) __alloc_dir
calls=9 0
0 1917
0 3
fn=(810) __strcpy_ssse3
0 6196
fn=(1246) strtol
0 3300
cfn=(1248) ____strtol_l_internal
calls=825 0
0 117366
fn=(1286) __fopen_internal
0 5240
cfn=(388)
calls=524 0
0 52785
0 524
0 5764
cfn=(1288)
calls=524 0
0 30392
0 2096
cfn=(1292) _IO_file_init@@GLIBC_2.2.5
calls=524 0
0 67072
0 2620
cfn=(1300) _IO_file_fopen@@GLIBC_2.2.5
calls=524 0
0 59431
0 4710
cfn=(1306) __fopen_maybe_mmap
calls=523 0
0 2092
0 1
cfn=(1382)
calls=1 0
0 113
0 2
cfn=(590)
calls=1 0
0 113
0 1
0 7
fn=(1302) open
0 1036
cfn=(594)
calls=518 0
0 2590
fn=(232) secure_getenv
0 5
cfn=(234)
calls=1 0
0 421
fn=(256) __register_atfork
0 50
fn=(1638)
0 2068
cfn=(1640) ____strtoul_l_internal
calls=517 0
0 73064
fn=(1696) __res_vinit
0 39
cfn=(234)
calls=1 0
0 501
0 5
cfn=(1284)
calls=1 0
0 541
0 26
cfn=(1690)
calls=1 0
0 437
0 4
cfn=(1690)
calls=1 0
0 183
0 22
cfn=(1380)
calls=1 0
0 402
0 13
cfn=(234)
calls=1 0
0 450
0 19
cfn=(1700) gethostname
calls=1 0
0 98
0 5
cfn=(544)
calls=1 0
0 28
0 5
cfn=(1704)
calls=1 0
0 93
0 5
cfn=(654) getpid
calls=1 0
0 5
0 5
cfn=(1698) inet_makeaddr
calls=1 0
0 8
0 7
fn=(1700)
0 10
cfn=(1702) uname
calls=1 0
0 5
0 6
cfn=(236)
calls=1 0
0 28
0 7
cfn=(412)
calls=1 0
0 32
0 10
fn=(1702)
0 5
fn=(1780) __strcasecmp_avx
0 212
fn=(1796) gaiconf_init
0 16
cfn=(1284)
calls=1 0
0 770
0 24
cfn=(590)
calls=1 0
0 7
0 1
0 6
cfn=(590)
calls=1 0
0 7
0 1
0 6
cfn=(590)
calls=1 0
0 7
0 1
0 8
fn=(1842)
0 30
cfn=(1844) vsprintf
calls=2 0
0 2206
0 4
fn=(1844)
0 30
cfn=(1288)
calls=2 0
0 84
0 14
cfn=(1846)
calls=2 0
0 112
0 8
cfn=(1848)
calls=2 0
0 1934
0 24
fn=(1872) listen
0 15
fn=(1940) fileno
0 3036
fn=(2102) __GI___rawmemchr
0 984
fn=(2308)
0 12
fn=(2578) _IO_list_lock
0 132
fn=(2706) _IO_list_resetlock
0 4
fn=(2746) epoll_create1
0 5
fn=(4110) _dl_addr_inside_object
0 260
fn=(348) (below main)
0 25
cfn=(350) __cxa_atexit
calls=1 0
0 61
0 13
cob=(9)
cfi=(9)
cfn=(354) __libc_csu_init
calls=1 0
0 55
0 8
cfn=(368) _setjmp
calls=1 0
0 30
0 14
cob=(9)
cfi=(10) /home/mithuncy/fsm_code/src/backend/main/main.c
cfn=(374) main
calls=1 61
0 391869438
fn=(502) access
0 25
fn=(592)
0 591689
cfn=(5530) systrim.isra.2
calls=920 0
0 26156
0 6128
cfn=(402)
calls=6 0
0 1058
0 29338
fn=(600)
0 403
cfn=(388)
calls=12 0
0 2196
0 12
0 5252
fn=(702)
0 1216
cfn=(704) random_r
calls=2 0
0 52
0 2472
cfn=(704)
calls=618 0
0 16048
0 1252
fn=(756) sigemptyset
0 1064
fn=(948)
0 9
fn=(1042)
0 5
fn=(1120) __strchr_sse42
0 83717
fn=(1300)
0 24181
cfn=(1302)
calls=518 0
0 3626
0 6796
cfn=(1294) _IO_link_in
calls=523 0
0 5753
0 1569
cfn=(1304) __GI_strstr
calls=523 0
0 13190
0 4270
cfn=(594)
calls=6 0
0 34
0 12
fn=(1304)
0 13190
fn=(1350) _IO_file_read
0 6412
cfn=(1352) read
calls=1598 0
0 11186
0 30
cfn=(1354) __read_nocancel
calls=10 0
0 50
0 30
fn=(1354)
0 8040
fn=(1384)
0 7845
cfn=(1386) _IO_unsave_markers
calls=523 0
0 4707
0 5230
cfn=(1348)
calls=523 0
0 20379
0 4184
cfn=(1382)
calls=523 0
0 5230
0 6799
cfn=(1388) _IO_file_close
calls=523 0
0 3661
0 1053
cfn=(2448) _IO_do_write@@GLIBC_2.2.5
calls=1 0
0 93
0 2
fn=(1490) _IO_getline_info
0 46174
cfn=(578)
calls=1596 0
0 64239
0 4878
cfn=(412)
calls=15 0
0 645
0 8277
cfn=(1492) __uflow
calls=36 0
0 5386
0 24069
cfn=(412)
calls=1581 0
0 106953
0 17433
fn=(160) _dl_vdso_vsym
0 42
fn=(234)
0 432
cfn=(236)
calls=48 0
0 856
0 19712
cfn=(552)
calls=45 0
0 1549
0 106
fn=(248)
0 42
fn=(1642) gaih_inet
0 1240
cfn=(1644)
calls=10 0
0 2666
0 70
cfn=(544)
calls=6 0
0 159
0 54
cfn=(1646)
calls=6 0
0 960
0 128
cfn=(1692)
calls=2 0
0 2921
0 762
cfn=(388)
calls=8 0
0 1755
0 8
0 12
cfn=(388)
calls=6 0
0 1171
0 6
0 724
cfn=(388)
calls=8 0
0 1643
0 8
0 12
cfn=(388)
calls=6 0
0 1138
0 6
0 78
cfn=(1706) __nss_lookup_function
calls=2 0
0 30259
0 14
cfn=(1740) _dl_mcount_wrapper_check
calls=2 0
0 8
0 16
cob=(11)
cfi=(78)
cfn=(1742) _nss_files_gethostbyname4_r
calls=2 0
0 24031
0 152
cfn=(1648) __nscd_getai
calls=1 0
0 866
0 48
cfn=(1666)
calls=2 0
0 29488
0 13
cfn=(1684)
calls=1 0
0 4837
0 1
fn=(1648)
0 17
cfn=(236)
calls=1 0
0 14
0 7
cfn=(1650) __nscd_get_map_ref
calls=1 0
0 177
0 22
cfn=(1664) __nscd_open_socket
calls=1 0
0 108
0 14
cfn=(234)
calls=1 0
0 501
0 6
fn=(1658) connect
0 12
cfn=(1660) __connect_nocancel
calls=6 0
0 38
fn=(1698)
0 8
fn=(1708) tsearch
0 50
cfn=(2482) known_compare
calls=1 0
0 53
0 9
cfn=(388)
calls=1 0
0 270
0 1
0 32
fn=(1722)
0 333
cfn=(400)
calls=9 0
0 2104
0 282
cfn=(828) __GI_memset
calls=7 0
0 517
0 49
fn=(1802) bind
0 30
fn=(1824) qsort_r
0 100
cfn=(590)
calls=2 0
0 14
0 2
0 120
cfn=(1826) msort_with_tmp.part.0
calls=2 0
0 3354
0 4
cfn=(590)
calls=2 0
0 14
0 2
0 10
fn=(1878)
0 6
fn=(1948) freeaddrinfo
0 132
cfn=(590)
calls=18 0
0 126
0 18
0 30
cfn=(590)
calls=10 0
0 70
0 10
0 56
cfn=(590)
calls=28 0
0 2436
0 28
0 96
fn=(2378)
0 10
fn=(2460) __write_nocancel
0 5
fn=(2576) fork
0 341
cfn=(2578)
calls=11 0
0 132
0 11
cfn=(2580) __malloc_fork_lock_parent
calls=11 0
0 473
0 193
cfn=(2696)
calls=1 0
0 31
0 1
cfn=(2698) _IO_iter_begin
calls=1 0
0 2
0 8
cfn=(2704) _IO_iter_next
calls=3 0
0 6
0 6
cfn=(2700)
calls=3 0
0 6
0 1
cfn=(2700)
calls=1 0
0 2
0 14
cfn=(2702) _IO_iter_file
calls=3 0
0 6
0 15
cfn=(2702)
calls=3 0
0 6
0 16
cfn=(2706)
calls=1 0
0 4
0 14
cob=(5)
cfi=(5)
cfn=(2708) __reclaim_stacks
calls=1 0
0 48
0 34
cfn=(2582) __malloc_fork_unlock_parent
calls=10 0
0 290
0 10
cfn=(2584)
calls=10 0
0 80
0 235
cob=(5)
cfi=(5)
cfn=(2694) __nptl_set_robust
calls=1 0
0 5
0 1
fn=(5530)
0 16595
cfn=(406)
calls=7 0
0 315
0 8329
cfn=(406)
calls=7 0
0 476
0 42
cfn=(406)
calls=7 0
0 315
0 84
fn=(5810) exit
0 4
cfn=(5812) __run_exit_handlers
calls=1 0
0 12169
fn=(5846) __cxa_finalize
0 322
cfn=(5848) __unregister_atfork
calls=7 0
0 91
fn=(156)
0 10
fn=(158)
0 18
cfn=(160)
calls=2 0
0 14
0 12
fn=(394) _dl_addr
0 14
cob=(5)
cfi=(5)
cfn=(396)
calls=1 0
0 31
0 56068
cob=(5)
cfi=(5)
cfn=(398)
calls=1 0
0 29
0 31
fn=(406)
0 72
cfn=(408) sbrk
calls=36 0
0 1770
0 216
fn=(572)
0 3000
fn=(582)
0 290
cfn=(584)
calls=10 0
0 30
0 20
fn=(596)
0 10230
fn=(598)
0 17495
fn=(610) _nl_postload_ctype
0 45
fn=(734)
0 117
cfn=(388)
calls=9 0
0 1665
0 9
0 126
fn=(762) sigfillset
0 84
fn=(1182) ____strtod_l_internal
0 57
cfn=(236)
calls=3 0
0 42
0 138
fn=(1284)
0 1048
cfn=(1286)
calls=524 0
0 232963
fn=(1338) _IO_sgetn
0 11370
cfn=(1340) _IO_file_xsgetn
calls=3790 0
0 398827
fn=(1342) _IO_doallocbuf
0 8352
cfn=(1344) _IO_file_doallocate
calls=522 0
0 57942
0 1044
fn=(1388)
0 1046
cfn=(748) __close_nocancel
calls=523 0
0 2615
fn=(1392)
0 4184
cfn=(1394)
calls=523 0
0 12552
fn=(1440) __getdents
0 300
cfn=(236)
calls=10 0
0 140
0 16265
cfn=(236)
calls=3253 0
0 53948
0 13052
cfn=(1442) __GI_memmove
calls=3263 0
0 210280
0 16427
fn=(1486) fgets
0 61659
cfn=(1488)
calls=1581 0
0 278473
0 42663
fn=(1488)
0 3182
cfn=(1490)
calls=1591 0
0 278054
fn=(1534) vfscanf
0 4
cfn=(1536)
calls=2 0
0 1318
fn=(1536)
0 5388
cfn=(1538) _IO_sputbackc
calls=4 0
0 56
0 1298
cob=(5)
cfi=(5)
cfn=(1298) _pthread_cleanup_pop_restore
calls=43 0
0 344
0 294
cfn=(1538)
calls=1 0
0 14
0 123
cfn=(2104) __strtoul_internal
calls=1 0
0 167
0 309
cob=(5)
cfi=(5)
cfn=(1296) _pthread_cleanup_push_defer
calls=43 0
0 602
0 294
cfn=(1538)
calls=2 0
0 28
0 113
cfn=(1492)
calls=2 0
0 490
0 172
cfn=(1538)
calls=40 0
0 560
0 64
fn=(1560) getppid
0 6
fn=(276) __ctype_init
0 16
fn=(286)
0 324
fn=(1652) __nscd_get_mapping
0 14
cfn=(236)
calls=1 0
0 14
0 15
cfn=(1654) open_socket
calls=1 0
0 74
0 19
fn=(1676) __GI_mempcpy
0 2985
fn=(1704)
0 244
fn=(1706)
0 44
cfn=(1708)
calls=2 0
0 415
0 43
cfn=(388)
calls=1 0
0 175
0 1
0 19
cfn=(236)
calls=1 0
0 14
0 4
cfn=(236)
calls=1 0
0 27
0 8
cfn=(604)
calls=1 0
0 39
0 4
cfn=(1704)
calls=1 0
0 92
0 4
cfn=(1736) __libc_dlsym
calls=1 0
0 810
0 21
cfn=(236)
calls=1 0
0 14
0 11
cfn=(604)
calls=1 0
0 39
0 8
cfn=(1710) __libc_dlopen_mode
calls=1 0
0 28264
0 12
cfn=(388)
calls=1 0
0 175
0 1
0 15
fn=(1740)
0 8
fn=(1806) make_request
0 42
cob=(10) /usr/lib64/valgrind/callgrind-amd64-linux
cfi=(22) ???
cfn=(1810) 0x000000005803d96d
calls=2 0
0 6
0 2
0 42
cfn=(1814)
calls=2 0
0 16
0 100
cfn=(1818)
calls=6 0
0 42
0 678
fn=(1822) qsort
0 4
cfn=(1824)
calls=2 0
0 128
fn=(1828) rfc3484_sort
0 3130
fn=(2104)
0 3
cfn=(1640)
calls=1 0
0 164
fn=(2368) statfs
0 5
fn=(2456) _IO_file_write@@GLIBC_2.2.5
0 22
cfn=(2458) write
calls=1 0
0 7
0 14
fn=(2482)
0 5
cfn=(572)
calls=1 0
0 48
fn=(2756) epoll_ctl
0 36
fn=(4108) do_sym
0 144
cfn=(4110)
calls=4 0
0 260
0 84
cob=(1)
cfi=(1)
cfn=(150)
calls=4 0
0 2198
0 116
fn=(384)
0 8545
cfn=(236)
calls=1709 0
0 46512
0 5127
cfn=(388)
calls=1709 0
0 440652
0 1709
0 15381
cfn=(412)
calls=1709 0
0 50163
fn=(412)
0 319674
fn=(454) getcwd
0 238
fn=(510) chdir
0 25
fn=(518) _lxstat
0 20
fn=(586)
0 63
cfn=(388)
calls=1 0
0 188
0 1
0 56
fn=(654)
0 40
fn=(704)
0 16126
fn=(746) closedir
0 45
cfn=(590)
calls=9 0
0 997
0 9
0 27
cfn=(748)
calls=9 0
0 45
fn=(854)
0 40
fn=(950) __strncpy_ssse3
0 36159
fn=(1306)
0 2092
fn=(1438) readdir
0 89606
cfn=(1440)
calls=16 0
0 310412
0 35296
fn=(1492)
0 798
cfn=(1494) _IO_default_uflow
calls=38 0
0 4888
0 190
fn=(254) __libc_pthread_init
0 8
cfn=(256)
calls=1 0
0 50
0 385
fn=(1650)
0 36
cfn=(1652)
calls=1 0
0 136
0 5
fn=(1654)
0 30
cfn=(1656) socket
calls=2 0
0 10
0 48
cfn=(1658)
calls=2 0
0 22
0 38
fn=(1656)
0 60
fn=(1672) __underflow
0 969
cfn=(1496) _IO_file_underflow@@GLIBC_2.2.5
calls=46 0
0 3403
0 224
fn=(1688) do_init
0 22
cfn=(234)
calls=1 0
0 463
0 8
cfn=(1284)
calls=1 0
0 541
0 13
cfn=(1690)
calls=1 0
0 404
0 4
cfn=(1690)
calls=1 0
0 183
0 8
cfn=(536)
calls=1 0
0 23
0 76
cfn=(1680)
calls=1 0
0 51
0 1
0 6
cfn=(1680)
calls=1 0
0 51
0 1
0 6
cfn=(1680)
calls=1 0
0 51
0 1
0 6
cfn=(1680)
calls=1 0
0 46
0 1
0 31
cfn=(1380)
calls=1 0
0 402
0 2
cfn=(234)
calls=1 0
0 464
0 4
cfn=(234)
calls=1 0
0 450
0 5
cfn=(234)
calls=1 0
0 450
0 5
cfn=(234)
calls=1 0
0 463
0 4
cfn=(234)
calls=1 0
0 463
0 31
cfn=(1680)
calls=1 0
0 46
0 1
0 13
fn=(1694)
0 2
cfn=(1696)
calls=1 0
0 2901
fn=(1736)
0 14
cob=(1)
cfi=(1)
cfn=(80)
calls=1 0
0 784
0 12
fn=(1820)
0 30
fn=(1986) chmod
0 5
fn=(2402) posix_fallocate
0 14
fn=(2442) fwrite
0 127
cfn=(2444) _IO_file_xsputn@@GLIBC_2.2.5
calls=1 0
0 337
0 10
cfn=(2444)
calls=2 0
0 146
0 51
fn=(2446) _IO_file_overflow@@GLIBC_2.2.5
0 40
cfn=(2448)
calls=1 0
0 15
0 2
cfn=(1342)
calls=1 0
0 129
0 6
fn=(2564) _IO_file_sync@@GLIBC_2.2.5
0 312
fn=(2582)
0 290
fn=(5812)
0 55
cfn=(5984) _IO_cleanup
calls=1 0
0 138
0 5
cfn=(5988) _Exit
calls=1 0
0 5
0 12
cob=(1)
cfi=(1)
cfn=(5816)
calls=1 0
0 11301
cob=(9)
cfi=(67) /home/mithuncy/fsm_code/src/backend/storage/ipc/ipc.c
cfn=(5814) atexit_callback
calls=1 291
0 651
0 2
fn=(5988)
0 5
fn=(170)
0 30
fn=(392) ptmalloc_init.part.7
0 401
cfn=(394)
calls=1 0
0 56173
0 10
fn=(422)
0 27
fn=(496) _xstat
0 150
fn=(550)
0 168
cfn=(236)
calls=12 0
0 168
0 264
cfn=(552)
calls=12 0
0 372
0 2984
cfn=(552)
calls=746 0
0 23116
0 5326
cfn=(556)
calls=7 0
0 1495
0 7
0 94
cfn=(412)
calls=1 0
0 196
0 252
fn=(568) setlocale
0 913
cfn=(572)
calls=33 0
0 792
0 598
cob=(5)
cfi=(5)
cfn=(606) pthread_rwlock_unlock
calls=17 0
0 289
0 98
cfn=(234)
calls=16 0
0 7702
0 176
cfn=(574)
calls=16 0
0 17789
0 154
cfn=(384)
calls=10 0
0 2023
0 78
cfn=(602)
calls=16 0
0 31426
0 129
cfn=(610)
calls=1 0
0 45
0 103
cfn=(590)
calls=7 0
0 595
0 7
0 111
cfn=(590)
calls=15 0
0 2223
0 15
0 128
cfn=(590)
calls=16 0
0 112
0 16
0 197
cob=(5)
cfi=(5)
cfn=(570) pthread_rwlock_wrlock
calls=33 0
0 594
0 146
cob=(5)
cfi=(5)
cfn=(606)
calls=16 0
0 272
0 16
fn=(630) strxfrm_l
0 68
cfn=(236)
calls=4 0
0 56
0 1644
fn=(638) geteuid
0 9
fn=(748)
0 2660
fn=(768) sigdelset
0 390
fn=(1346) _IO_file_stat
0 2088
cfn=(596)
calls=522 0
0 5220
fn=(1442)
0 42568
cfn=(2470) _wordcopy_bwd_dest_aligned
calls=4 0
0 148
0 167564
fn=(1494)
0 152
cfn=(1496)
calls=38 0
0 4472
0 264
fn=(1496)
0 1344
cfn=(1498) _IO_switch_to_get_mode
calls=84 0
0 1680
0 1008
cfn=(1350)
calls=84 0
0 944
0 1065
cfn=(1342)
calls=14 0
0 1806
0 28
fn=(1538)
0 658
fn=(274)
0 44
fn=(1674)
0 1739
cfn=(388)
calls=24 0
0 4462
0 24
0 192
cfn=(1676)
calls=24 0
0 540
0 820
cfn=(1680)
calls=1 0
0 95
0 1
0 241
cfn=(1680)
calls=1 0
0 93
0 1
0 5
fn=(1710)
0 16
cob=(1)
cfi=(1)
cfn=(80)
calls=1 0
0 28241
0 7
fn=(1826)
0 94
cfn=(412)
calls=2 0
0 46
0 10
cfn=(412)
calls=2 0
0 36
0 34
cfn=(1828)
calls=2 0
0 3130
0 4
fn=(3832) __epoll_wait_nocancel
0 32
fn=(2396) ftruncate
0 5
fn=(2454) fputc
0 39
fn=(2524) getsockopt
0 6
fn=(2698)
0 2
fn=(2702)
0 12
fn=(5848)
0 91
fn=(350)
0 16
cfn=(352) __new_exitfn
calls=2 0
0 83
0 28
fn=(352)
0 83
fn=(368)
0 2
cfn=(370) __sigsetjmp
calls=1 0
0 28
fn=(390)
0 8
cfn=(392)
calls=1 0
0 56584
0 3
cfn=(389)
calls=1 0
0 1096
fn=(410) brk
0 741
fn=(444)
0 10
fn=(536)
0 107797
fn=(548)
0 249
fn=(608)
0 606
cfn=(400)
calls=11 0
0 2129
0 169
cfn=(592)
calls=1 0
0 69
0 40
cfn=(592)
calls=10 0
0 887
0 126
cfn=(412)
calls=9 0
0 27545
0 41
fn=(774)
0 287
fn=(1118)
0 12
fn=(1292)
0 4192
cfn=(1294)
calls=524 0
0 60260
0 2620
fn=(1294)
0 44529
cob=(5)
cfi=(5)
cfn=(1298)
calls=524 0
0 4192
0 5764
cob=(5)
cfi=(5)
cfn=(1296)
calls=524 0
0 7336
0 4192
fn=(1336) fread
0 125070
cfn=(1338)
calls=3790 0
0 410197
0 82626
fn=(1340)
0 119425
cfn=(1350)
calls=1524 0
0 16764
0 48128
cfn=(412)
calls=2769 0
0 130423
0 5690
cfn=(1676)
calls=38 0
0 2352
0 202
cfn=(1672)
calls=44 0
0 4264
0 5669
cfn=(1342)
calls=507 0
0 65403
0 507
fn=(1382)
0 46559
cob=(5)
cfi=(5)
cfn=(1298)
calls=524 0
0 4192
0 5764
cob=(5)
cfi=(5)
cfn=(1296)
calls=524 0
0 7336
0 5746
fn=(1498)
0 1680
fn=(270)
0 27
cfn=(160)
calls=1 0
0 7
0 8
cfn=(160)
calls=1 0
0 7
0 10
cfn=(272)
calls=1 0
0 68
0 1
cfn=(276)
calls=1 0
0 16
0 14
fn=(278)
0 39
cfn=(280) handle_intel.isra.0
calls=1 0
0 844
0 3
cfn=(280)
calls=1 0
0 885
0 108
fn=(280)
0 40
cfn=(282)
calls=2 0
0 1446
0 14
cfn=(282)
calls=2 0
0 189
0 40
fn=(1636) getaddrinfo
0 494
cfn=(1642)
calls=10 0
0 105254
0 280
cfn=(1822)
calls=2 0
0 132
0 58
cfn=(1658)
calls=4 0
0 28
0 126
cfn=(1656)
calls=4 0
0 20
0 67
cfn=(1804)
calls=4 0
0 20
0 60
cfn=(284)
calls=2 0
0 50
0 8
cfn=(284)
calls=2 0
0 50
0 56
cfn=(1824)
calls=2 0
0 3492
0 76
cfn=(1830)
calls=10 0
0 50
0 145
cfn=(1638)
calls=1 0
0 168
0 18
cob=(5)
cfi=(5)
cfn=(1686)
calls=2 0
0 886
0 42
cfn=(1800) __check_pf
calls=2 0
0 1137
0 2
fn=(1660)
0 38
fn=(1670)
0 1756
cfn=(388)
calls=1 0
0 188
0 1
0 712
cfn=(412)
calls=64 0
0 2999
0 512
cfn=(578)
calls=64 0
0 2177
0 2191
cfn=(1672)
calls=2 0
0 332
0 12
fn=(1738)
0 14
cob=(1)
cfi=(1)
cfn=(150)
calls=1 0
0 707
0 4
fn=(1800)
0 43
cfn=(2484) __nscd_get_nl_timestamp
calls=1 0
0 5
0 10
cfn=(1656)
calls=2 0
0 10
0 26
cfn=(1802)
calls=2 0
0 10
0 81
cfn=(1804)
calls=2 0
0 10
0 10
cfn=(1806)
calls=2 0
0 928
0 4
fn=(3830) epoll_wait
0 8
cfn=(3832)
calls=4 0
0 32
fn=(1850)
0 385
cfn=(1676)
calls=1 0
0 45
0 172
fn=(1862) setsockopt
0 18
fn=(2124) shmat
0 5
fn=(2310) __strspn_sse42
0 239
fn=(2412) dup
0 5000
fn=(2444)
0 83
cfn=(1676)
calls=2 0
0 48
0 55
cfn=(2446)
calls=1 0
0 192
0 19
cfn=(1850)
calls=1 0
0 84
0 2
fn=(2470)
0 148
fn=(2484)
0 5
fn=(2510) __select_nocancel
0 84
fn=(2580)
0 473
fn=(2664) kill
0 50
fn=(2780) setitimer
0 10
fn=(4328)
0 17
fn=(162)
0 5
fn=(164)
0 5
fn=(166)
0 24
fn=(370)
0 285
cfn=(372)
calls=15 0
0 219
fn=(408)
0 549
cfn=(410)
calls=21 0
0 273
0 294
cfn=(410)
calls=36 0
0 468
0 186
fn=(552)
0 27143
fn=(594)
0 2629
fn=(604)
0 16682
fn=(628) strxfrm
0 12
cfn=(630)
calls=4 0
0 1768
fn=(732)
0 84
fn=(808)
0 18
fn=(828)
0 7441190
fn=(856) __memcpy_ssse3
0 4002991
fn=(1180) strtod
0 12
cfn=(1182)
calls=3 0
0 237
fn=(1248)
0 117366
fn=(1290)
0 14046
fn=(1344)
0 5742
cfn=(1346)
calls=522 0
0 7308
0 8352
cfn=(598)
calls=522 0
0 17226
0 3654
cfn=(1348)
calls=522 0
0 10962
0 4698
fn=(1352)
0 3196
cfn=(1354)
calls=1598 0
0 7990
fn=(1386)
0 4707
fn=(1532) fscanf
0 30
cfn=(1534)
calls=2 0
0 1322
0 4
fn=(168)
0 18
cfn=(160)
calls=2 0
0 14
0 12
fn=(242) getrlimit
0 15
fn=(1640)
0 73228
fn=(1664)
0 19
cfn=(1654)
calls=1 0
0 74
0 15
fn=(1768)
0 7
fn=(1770) __rawmemchr_sse42
0 116
fn=(1816)
0 12
fn=(1846)
0 553
cfn=(2102)
calls=41 0
0 984
0 246
cfn=(1348)
calls=41 0
0 861
0 10
cfn=(1348)
calls=2 0
0 42
0 696
fn=(1880) __strrchr_sse42
0 467
fn=(1972) unlink
0 50
fn=(2118) shmget
0 5
fn=(2344) random
0 10
cfn=(704)
calls=1 0
0 26
0 7
fn=(2422) pipe
0 10
fn=(2448)
0 37
cfn=(2456)
calls=1 0
0 43
0 28
fn=(2458)
0 2
cfn=(2460)
calls=1 0
0 5
fn=(2508) select
0 20
cfn=(2510)
calls=10 0
0 84
fn=(2562) fflush
0 552
cfn=(2564)
calls=24 0
0 312
0 432
fn=(2672) atol
0 12
cfn=(1246)
calls=4 0
0 656
fn=(2704)
0 6
fn=(3072)
0 7
fn=(3074) __memcmp_sse4_1
0 1086014
fn=(4106) _dl_sym
0 12
cfn=(4108)
calls=4 0
0 2802
fn=(5984)
0 8
cfn=(5986)
calls=1 0
0 88
0 42
ob=(11)
fl=(78)
fn=(5946)
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5958) 0x00000000000021d0
calls=1 0
0 9
0 3
fn=(1754) internal_getent
0 218
cob=(3)
cfi=(3)
cfn=(1690)
calls=5 0
0 1373
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1916
0 10
0 70
cob=(3)
cfi=(3)
cfn=(914)
calls=3 0
0 9
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1355
0 8
0 3208
cob=(3)
cfi=(3)
cfn=(1646)
calls=3 0
0 285
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1523
0 8
0 28
cob=(3)
cfi=(3)
cfn=(1770)
calls=3 0
0 87
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1374
0 8
0 2362
cob=(3)
cfi=(3)
cfn=(1646)
calls=2 0
0 394
0 2
0 12
fn=(1728)
0 16
fn=(1742)
0 34
cob=(5)
cfi=(5)
cfn=(396)
calls=1 0
0 24
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 801
0 6
0 58
cfn=(1754)
calls=2 0
0 9876
0 68
cfn=(1754)
calls=4 0
0 4374
0 30
cob=(3)
cfi=(3)
cfn=(1780)
calls=3 0
0 168
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1402
0 8
0 160
cob=(3)
cfi=(3)
cfn=(856)
calls=3 0
0 40
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1362
0 8
0 106
cob=(5)
cfi=(5)
cfn=(398)
calls=1 0
0 17
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 824
0 6
0 26
cob=(3)
cfi=(3)
cfn=(1380)
calls=1 0
0 446
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1731
0 6
0 10
cob=(3)
cfi=(3)
cfn=(1284)
calls=1 0
0 569
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1859
0 6
0 6
fn=(5958)
0 9
ob=(9)
fl=(73) /home/mithuncy/fsm_code/src/backend/postmaster/bgworker.c
fn=(1614) RegisterBackgroundWorker
849 7
+4 4
+1 6
cfi=(57) /home/mithuncy/fsm_code/src/backend/utils/error/elog.c
cfn=(1548) errstart
calls=1 232
* 50
* 2
+3 4
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 55
* 1
-1 2
+11 4
cfn=(1616) SanityCheckBackgroundWorker
calls=1 584
* 47
* 3
+3 4
+15 7
+16 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 176
* 1
* 1
+1 2
+8 75
+1 2
+1 2
+1 2
+1 2
+1 2
+2 5
cfi=(74) /home/mithuncy/fsm_code/src/backend/postmaster/../../../src/include/lib/ilist.h
cfn=(1618) slist_push_head
calls=1 575
* 13
+1 6
fn=(2618) ReportBackgroundWorkerPID
441 4
+4 8
+1 4
+2 4
+2 2
fn=(2260) BackgroundWorkerShmemInit
160 3
+3 1
cfn=(2040) BackgroundWorkerShmemSize
calls=1 -19
* 62
* 4
cfi=(87) /home/mithuncy/fsm_code/src/backend/storage/ipc/shmem.c
cfn=(2168) ShmemInitStruct
calls=1 373
* 1110
* 1
+3 4
+3 1
+2 3
+1 2
+1 2
+8 3
+2 7
+3 3
+2 2
+1 2
+1 2
+1 2
+1 3
+1 2
+1 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 121
* 1
+1 1
-14 9
+20 1
+2 49
+2 14
+1 7
-5 24
+10 2
fn=(1616)
584 6
+2 5
+2 5
+9 4
+12 4
+2 2
-1 2
+15 4
+1 3
-1 2
+13 5
+3 1
+1 4
fn=(2040)
144 6
+4 2
+1 10
cfi=(87)
cfn=(2000) mul_size
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002) add_size
calls=2 476
* 42
* 2
+3 2
+1 4
fl=(108) /home/mithuncy/fsm_code/src/backend/replication/walsender.c
fn=(2068) WalSndShmemSize
3028 9
+1 3
+2 3
+1 15
cfi=(87)
cfn=(2000)
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+2 3
+1 6
fn=(2282) WalSndShmemInit
3040 3
+5 1
cfn=(2068)
calls=1 -17
* 63
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1012
-1 1
+3 4
+3 4
cfn=(2068)
calls=1 -22
* 63
* 19
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 135
* 1
+2 2
+1 21
cfi=(126) /home/mithuncy/fsm_code/src/backend/storage/ipc/shmqueue.c
cfn=(2228) SHMQueueInit
calls=3 37
* 36
-1 11
+3 2
+2 120
+2 20
-4 43
+7 2
fl=(64) /home/mithuncy/fsm_code/src/backend/utils/adt/datetime.c
fn=(1518) ConvertTimeZoneAbbrevs
4508 10
+7 6
-1 4
+2 8
+2 4
+2 3920
+2 1568
+5 408
cob=(3)
cfi=(3)
cfn=(424)
calls=102 0
* 1814
* 102
-1 204
+2 408
-10 1574
+15 6
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 546
* 2
* 2
+1 4
+4 6
+1 6
+3 6
-1 4
+2 8
+1 4
+2 3920
+1 3136
+3 2744
cfi=(16) /home/mithuncy/fsm_code/src/port/strlcpy.c
cfn=(460) strlcpy
calls=392 46
* 34860
+1 1568
+6 408
+1 204
+1 714
cob=(3)
cfi=(3)
cfn=(810)
calls=102 0
* 4582
* 102
+2 204
+2 408
+3 408
cob=(3)
cfi=(3)
cfn=(424)
calls=102 0
* 1814
* 102
-1 204
+2 510
+4 1934
+1 776
-28 776
+27 192
+1 384
-28 798
+38 2
+1 4
fn=(1546) CheckDateTokenTable
4421 12
+1 2
+3 4
+3 1096
cob=(3)
cfi=(3)
cfn=(424)
calls=137 0
* 2055
* 137
* 274
+10 274
+1 2160
cob=(3)
cfi=(3)
cfn=(446)
calls=135 0
* 2970
* 135
-1 270
-13 554
+23 2
+1 4
fn=(1544) CheckDateTokenTables
4453 4
+1 1
+5 6
cfn=(1546)
calls=1 -38
* 5376
* 5
+1 6
cfn=(1546)
calls=1 -39
* 4573
* 5
+1 1
+1 4
fn=(1520) InstallTimeZoneAbbrevs
4592 8
+1 4
+2 8
cob=(3)
cfi=(3)
cfn=(828)
calls=2 0
* 74
* 2
+1 4
fl=(197) /home/mithuncy/fsm_code/src/backend/utils/init/../../../../src/include/nodes/pg_list.h
fn=(3522) list_head
78 3
+1 5
+1 2
fl=(307) /home/mithuncy/fsm_code/src/backend/commands/define.c
fn=(5286) defGetString
50 2500
+1 2000
+5 2500
+12 2000
+11 2000
fl=(58) /home/mithuncy/fsm_code/src/backend/libpq/pqcomm.c
fn=(1962) Lock_AF_UNIX
615 5
+9 5
cfi=(54) /home/mithuncy/fsm_code/src/backend/utils/init/miscinit.c
cfn=(1964) CreateSocketLockFile
calls=1 1192
* 3667
+6 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1315
* 5
+5 3
cfi=(13) /home/mithuncy/fsm_code/src/backend/utils/mmgr/mcxt.c
cfn=(928) pstrdup
calls=1 1162
* 195
* 5
cfi=(45) /home/mithuncy/fsm_code/src/backend/nodes/list.c
cfn=(960) lappend
calls=1 129
* 290
* 1
+2 1
+1 2
fn=(2628) StreamConnection
717 12
+2 4
+1 4
+1 4
-1 10
cob=(5)
cfi=(5)
cfn=(2634) accept
calls=1 0
* 7
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 775
* 6
* 12
+20 4
+1 4
+1 4
-1 12
cob=(3)
cfi=(3)
cfn=(1804)
calls=2 0
* 10
* 2
* 4
+9 8
+80 2
+1 8
fn=(3438) socket_putmessage
1561 119
+1 102
+2 17
+1 51
+1 68
cfn=(3440) internal_putbytes
calls=17 1370
* 1003
* 34
+2 68
+4 68
+1 68
cfn=(3440)
calls=17 1370
* 1003
* 34
+3 85
cfn=(3440)
calls=17 1370
* 1107
* 34
+2 17
+1 34
+5 34
fn=(3834) pq_getmessage
1273 6
+5 3
cfi=(80) /home/mithuncy/fsm_code/src/backend/lib/stringinfo.c
cfn=(1890) resetStringInfo
calls=1 63
* 12
+3 4
cfn=(2786) pq_getbytes
calls=1 1095
* 59
* 2
+8 3
+2 5
+9 3
+2 3
+7 8
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 4
+2 5
cfi=(80)
cfn=(1922) enlargeStringInfo
calls=1 271
* 35
+13 4
+3 7
cfn=(2786)
calls=1 1095
* 131
* 2
+7 3
+2 6
+4 1
+2 1
+1 4
fn=(5802) socket_close
257 5
+2 3
+30 3
cfi=(139) /home/mithuncy/fsm_code/src/backend/libpq/be-secure.c
cfn=(5804) secure_close
calls=1 135
* 5
+12 2
+2 2
fn=(1160) pq_setkeepalivesidle
1731 5
+1 2
+1 2
+42 2
fn=(3800) socket_flush
1401 9
+4 9
+2 3
+1 6
cfn=(2790) socket_set_nonblocking
calls=3 923
* 48
+1 3
cfn=(3802) internal_flush
calls=3 +14
* 465
* 3
+1 3
+1 3
+1 6
fn=(2788) pq_recvbuf
940 12
+1 9
+2 8
+9 6
+4 4
cfn=(2790)
calls=2 -33
* 32
* 2
cfn=(2790)
calls=1 -33
* 16
+8 12
-1 24
cfi=(139)
cfn=(2792) secure_read
calls=3 147
* 88273
* 2
+3 4
+15 4
+9 8
+1 2
+2 8
fn=(5730) socket_endcopyout
1637 5
+1 4
+1 1
+5 2
fn=(1980) Setup_AF_UNIX
646 5
+7 4
+39 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1250
* 5
* 2
+8 1
+1 4
fn=(2784) pq_startmsgread
1211 12
+5 9
+5 3
+1 12
fn=(3440)
1370 255
+3 51
+3 204
+6 306
+1 153
+1 102
+1 459
cob=(3)
cfi=(3)
cfn=(856)
calls=51 0
* 716
* 51
+1 255
+1 102
+1 102
-15 204
+17 51
+1 102
fn=(1628) StreamServerPort
333 24
+11 2
+3 2
+1 2
+6 2
+4 138
+1 4
+1 2
+1 2
+3 4
+6 16
cfi=(17) /home/mithuncy/fsm_code/src/port/snprintf.c
cfn=(462) pg_snprintf
calls=1 203
* 749
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+8 5
cfn=(1962)
calls=1 615
* 5497
* 2
+2 3
+5 8
cfi=(17)
cfn=(462)
calls=1 203
* 489
+1 2
+3 6
cfi=(77) /home/mithuncy/fsm_code/src/common/ip.c
cfn=(1630) pg_getaddrinfo_all
calls=1 59
* 92111
* 6
cfi=(77)
cfn=(1630)
calls=1 59
* 2126
* 2
+1 10
+15 6
+2 14
+10 3
+2 48
+1 3
-3 21
+5 9
+9 18
+3 1
+1 1
+3 1
+1 1
+4 1
+1 1
+12 12
+1 3
+5 4
-1 20
cfi=(77)
cfn=(1832) pg_getnameinfo_all
calls=2 126
* 4073
+5 4
+3 12
cob=(3)
cfi=(3)
cfn=(1656)
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1273
* 6
* 6
cob=(3)
cfi=(3)
cfn=(1656)
calls=1 0
* 5
* 1
* 9
+23 12
+2 16
cob=(3)
cfi=(3)
cfn=(1862)
calls=1 0
* 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1326
* 6
* 4
+15 12
+2 8
cob=(3)
cfi=(3)
cfn=(1862)
calls=1 0
* 6
* 1
* 2
+20 27
cob=(3)
cfi=(3)
cfn=(1802)
calls=2 0
* 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1267
* 7
* 3
+1 6
+19 12
+2 3
cfn=(1980)
calls=1 +92
* 1277
* 2
+13 9
+1 6
+3 15
cob=(3)
cfi=(3)
cfn=(1872)
calls=2 0
* 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1265
* 7
* 3
+1 6
+12 12
+1 6
cfi=(57)
cfn=(1548)
calls=1 232
* 323
* 7
cfi=(57)
cfn=(1882) errmsg
calls=1 785
* 1009
* 3
cfi=(57)
cfn=(1896) errfinish
calls=1 411
* 10090
* 1
+5 12
cfi=(57)
cfn=(1548)
calls=2 232
* 1969
* 18
cfi=(57)
cfn=(1882)
calls=2 785
* 3422
* 6
cfi=(57)
cfn=(1896)
calls=2 411
* 21457
+5 21
+1 3
406 19
599 10
cfi=(77)
cfn=(1942) pg_freeaddrinfo_all
calls=2 89
* 1802
+2 4
+3 2
+1 10
fn=(2738) pq_init
195 2
+2 1
+1 6
cfi=(13)
cfn=(798) MemoryContextAlloc
calls=1 772
* 1312
* 1
+1 7
+1 1
+1 1
+1 1
+3 3
cfi=(67)
cfn=(1578) on_proc_exit
calls=1 306
* 32
+13 4
cfi=(132) /home/mithuncy/fsm_code/src/port/noblock.c
cfn=(2518) pg_set_noblock
calls=1 26
* 67
* 3
+5 4
cfi=(122) /home/mithuncy/fsm_code/src/backend/storage/ipc/latch.c
cfn=(2740) CreateWaitEventSet
calls=1 543
* 1738
* 1
+1 8
cfi=(122)
cfn=(2748) AddWaitEventToSet
calls=1 692
* 1465
+2 8
cfi=(122)
cfn=(2748)
calls=1 692
* 122
+1 7
cfi=(122)
cfn=(2748)
calls=1 692
* 110
+1 2
fn=(3802)
1423 12
+3 15
+1 15
+2 3
+4 30
cfi=(139)
cfn=(3804) secure_write
calls=3 252
* 315
* 3
+2 6
+44 3
+1 9
+1 12
-52 18
+55 9
+1 3
+1 12
fn=(3814) pq_getbyte
1001 4
+3 2
+2 2
cfn=(2788)
calls=2 -66
* 88265
* 2
-2 12
+5 6
+1 2
fn=(1156) pq_setkeepalivescount
1889 5
+1 2
+1 2
+37 2
fn=(2790)
923 36
+1 18
+5 18
+1 24
fn=(2798) pq_endmsgread
1235 2
+3 1
+1 2
fn=(1164) pq_setkeepalivesinterval
1813 5
+1 2
+1 2
+41 2
fn=(2644) StreamClose
845 16
+1 12
cob=(5)
cfi=(5)
cfn=(692) close
calls=4 0
* 28
* 4
+1 8
fn=(2786)
1095 20
+5 4
+2 4
+2 1
cfn=(2788)
calls=1 940
* 161
* 2
-2 20
+5 24
+1 12
+1 4
+1 16
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 24
* 2
* 16
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 146
* 2
+1 20
+1 8
+1 8
-13 16
+15 4
+1 8
fl=(208) /home/mithuncy/fsm_code/src/backend/catalog/pg_enum.c
fn=(3700) AtEOXact_Enum
612 4
+6 2
+1 4
fl=(24) /home/mithuncy/fsm_code/src/backend/postmaster/../../../src/include/utils/palloc.h
fn=(712) MemoryContextSwitchTo
110 12
+1 8
+2 8
+1 4
+1 8
fl=(47) /home/mithuncy/fsm_code/src/backend/nodes/../../../src/include/nodes/pg_list.h
fn=(976) list_head
78 126
+1 198
+1 84
-2 12228
+1 15262
+1 8152
fl=(89) /home/mithuncy/fsm_code/src/backend/storage/buffer/freelist.c
fn=(2212) StrategyInitialize
476 5
+13 4
cfi=(90) /home/mithuncy/fsm_code/src/backend/storage/buffer/buf_table.c
cfn=(2214) InitBufTable
calls=1 54
* 236628
+6 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1164
-1 1
+5 4
+7 2
+6 2
+1 4
+3 5
cfi=(123) /home/mithuncy/fsm_code/src/backend/storage/buffer/../../../../src/include/port/atomics.h
cfn=(2206) pg_atomic_init_u32
calls=1 227
* 33
+3 2
+1 5
cfi=(123)
cfn=(2206)
calls=1 227
* 33
+3 2
+4 2
fn=(5338) GetAccessStrategy
543 2000
+10 3500
+10 500
+1 500
+12 5000
+4 2000
-1 1000
cfi=(13)
cfn=(2546) palloc0
calls=500 956
* 637026
* 500
+5 1500
+1 1500
+2 500
+1 1000
fn=(5472) AddBufferToRing
670 6000
+1 13500
+1 3000
fn=(5504) FreeAccessStrategy
598 2000
+2 1000
+1 1500
cfi=(13)
cfn=(952) pfree
calls=500 1032
* 103604
+1 1000
fn=(5470) GetBufferFromRing
612 7500
+7 16500
+8 10500
+1 3000
+2 3000
+1 3000
+29 3000
fn=(2012) StrategyShmemSize
455 3
+1 1
+3 4
cfi=(90)
cfn=(2014) BufTableShmemSize
calls=1 44
* 452
* 5
cfi=(87)
cfn=(2002)
calls=1 +17
* 21
* 1
+3 4
cfi=(87)
cfn=(2002)
calls=1 +14
* 21
* 1
+2 1
+1 2
fn=(3256) StrategyGetBuffer
202 9012
+10 3004
+2 7500
cfn=(5470)
calls=1500 612
* 46500
* 1500
+1 3000
+16 4506
+1 3004
+3 4
+7 18
cfi=(122)
cfn=(2850) SetLatch
calls=2 437
* 62
+8 7510
cfi=(123)
cfn=(3258) pg_atomic_fetch_add_u32
calls=1502 +82
* 36048
+18 6008
+5 4506
cfi=(181) /home/mithuncy/fsm_code/src/backend/storage/buffer/../../../../src/include/storage/s_lock.h
cfn=(3262) tas
calls=1502 -48
* 21028
* 3004
+2 6008
+6 10514
+4 6008
+1 3004
+6 3004
+9 4506
cfi=(50) /home/mithuncy/fsm_code/src/backend/storage/buffer/bufmgr.c
cfn=(3264) LockBufHdr
calls=1502 4099
* 136703
* 1502
+1 6008
+1 7510
+2 3004
+1 7500
cfn=(5472)
calls=1500 670
* 22500
+1 4506
+1 3004
+50 6008
fl=(128) /home/mithuncy/fsm_code/src/backend/storage/lmgr/condition_variable.c
fn=(5786) ConditionVariableCancelSleep
199 3
+1 2
+2 2
+1 1
+8 2
fn=(2278) ConditionVariableInit
40 80
+1 40
+1 80
cfi=(119) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/storage/proclist.h
cfn=(2152) proclist_init
calls=20 -12
* 220
+1 40
fl=(261) /home/mithuncy/fsm_code/src/backend/optimizer/plan/planner.c
fn=(4654) preprocess_rowmarks
2498 12
+1 9
+6 12
+17 12
+1 6
-1 6
+2 3
+78 6
fn=(4660) preprocess_expression
1008 126
+6 42
+1 36
+11 12
+22 15
cfi=(262) /home/mithuncy/fsm_code/src/backend/optimizer/util/clauses.c
cfn=(4662) eval_const_expressions
calls=3 2494
* 229065
* 3
+5 6
+11 15
+9 12
+9 6
+3 3
+1 42
fn=(4636) standard_planner
280 18
+17 12
cfi=(13)
cfn=(2950) MemoryContextAllocZeroAligned
calls=3 853
* 711
* 15
+2 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+32 21
+2 6
-1 6
+2 9
-1 6
+2 3
-1 6
+2 3
-1 6
+2 3
-1 6
+4 9
cfi=(262)
cfn=(4638) max_parallel_hazard
calls=3 1070
* 4447
* 6
+1 21
+26 12
+1 3
-1 18
+4 12
+24 6
+4 24
cfn=(4644) subquery_planner
calls=3 604
* 258232
* 3
+4 15
cfi=(268) /home/mithuncy/fsm_code/src/backend/optimizer/util/relnode.c
cfn=(4726) fetch_upper_rel
calls=3 1155
* 162
* 3
+1 18
cfn=(4738) get_cheapest_fractional_path
calls=3 5780
* 45
* 3
+2 15
cfi=(277) /home/mithuncy/fsm_code/src/backend/optimizer/plan/createplan.c
cfn=(4740) create_plan
calls=3 307
* 3888
* 3
+6 12
+10 9
+51 12
+18 15
cfi=(254) /home/mithuncy/fsm_code/src/backend/optimizer/plan/setrefs.c
cfn=(4762) set_plan_references
calls=3 210
* 2948
* 3
+3 12
cfi=(255) /home/mithuncy/fsm_code/src/backend/optimizer/plan/../../../../src/include/nodes/pg_list.h
cfn=(4528) list_head
calls=3 78
* 24
* 15
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+9 12
cfi=(13)
cfn=(2950)
calls=3 853
* 732
* 15
+2 12
+1 12
+1 18
+1 12
+1 12
+1 12
+1 12
+1 12
+1 9
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+2 12
+1 12
+1 12
+2 6
+1 21
+1 9
-1 6
+24 3
+1 6
fn=(4668) preprocess_qual_conditions
1095 15
+1 6
+2 12
+4 12
+2 6
+3 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+3 21
cfn=(4660)
calls=3 1008
* 36
* 9
+14 6
fn=(4674) grouping_planner
1651 33
+1 9
+2 3
+1 3
+1 6
+1 3
+10 24
+14 9
+2 12
+88 3
+1 3
+1 3
+7 12
+7 12
+5 9
cfi=(266) /home/mithuncy/fsm_code/src/backend/optimizer/prep/preptlist.c
cfn=(4676) preprocess_targetlist
calls=3 71
* 189
* 3
+9 9
+15 207
+1 12
+14 12
+16 12
+9 12
+1 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+4 9
+3 6
+1 6
+3 12
-2 3
+11 21
cfi=(267) /home/mithuncy/fsm_code/src/backend/optimizer/plan/planmain.c
cfn=(4678) query_planner
calls=3 56
* 6420
* 3
+10 9
cfi=(269) /home/mithuncy/fsm_code/src/backend/optimizer/util/tlist.c
cfn=(4700) make_pathtarget_from_tlist
calls=3 588
* 1962
* 15
cfi=(274) /home/mithuncy/fsm_code/src/backend/optimizer/path/costsize.c
cfn=(4704) set_pathtarget_cost_width
calls=3 5257
* 6175
* 3
+2 6
-1 12
cfi=(262)
cfn=(4684) is_parallel_safe
calls=3 1089
* 57
* 3
+8 12
+10 6
+1 6
+8 6
+10 6
+1 6
+8 6
+1 6
-1 12
+1 6
-1 6
+1 15
-1 6
+2 6
+8 6
+1 6
+9 12
+30 9
+1 9
+1 9
+1 12
cfi=(45)
cfn=(1586) lcons
calls=3 260
* 870
* 3
+1 3
+4 9
cfi=(255)
cfn=(4672) list_length
calls=3 90
* 30
+1 30
cfi=(276) /home/mithuncy/fsm_code/src/backend/nodes/equalfuncs.c
cfn=(4714) equal
calls=3 2987
* 48
* 9
-1 6
+2 30
cfn=(4716) apply_scanjoin_target_to_paths
calls=3 6887
* 2709
+12 9
+1 9
+1 9
+7 6
+19 6
+21 12
+14 12
+18 15
cfi=(268)
cfn=(4726)
calls=3 1155
* 3102
* 3
+9 12
+1 18
cfi=(262)
cfn=(4684)
calls=3 1089
* 57
-1 6
+2 18
cfi=(262)
cfn=(4684)
calls=3 1089
* 57
-1 6
+2 6
+5 12
+1 12
+1 12
+1 12
+6 12
cfi=(255)
cfn=(4528)
calls=3 78
* 30
* 6
+2 9
+9 12
+10 9
cfn=(4730) limit_needed
calls=3 2860
* 48
* 6
+12 12
+59 15
cfi=(270) /home/mithuncy/fsm_code/src/backend/optimizer/util/pathnode.c
cfn=(4688) add_path
calls=3 423
* 1020
-92 21
+99 24
+16 12
+7 9
+5 21
fn=(4716)
6887 33
+3 36
+2 3
cfi=(52) /home/mithuncy/fsm_code/src/backend/tcop/postgres.c
cfn=(4006) check_stack_depth
calls=3 3263
* 81
+6 12
+26 9
cfi=(255)
cfn=(4718) list_tail
calls=3 84
* 30
* 9
+3 6
+31 9
cfi=(255)
cfn=(4528)
calls=3 78
* 30
* 6
+9 12
cfi=(255)
cfn=(4528)
calls=3 78
* 30
* 6
+2 9
+5 6
+5 18
cfi=(270)
cfn=(4720) create_projection_path
calls=3 2388
* 1041
* 3
+2 9
-14 21
+19 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+22 15
+11 12
+55 48
+1 18
cfi=(278) /home/mithuncy/fsm_code/src/backend/optimizer/path/allpaths.c
cfn=(4724) generate_gather_paths
calls=3 2579
* 42
+7 9
cfi=(270)
cfn=(4692) set_cheapest
calls=3 245
* 1092
+1 6
fn=(4644)
604 30
+9 12
cfi=(13)
cfn=(2950)
calls=3 853
* 1782
* 15
+1 9
+1 9
+1 15
+1 9
+1 6
+1 6
+1 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 18
cob=(3)
cfi=(3)
cfn=(828)
calls=3 0
* 48
* 3
+1 18
cob=(3)
cfi=(3)
cfn=(828)
calls=3 0
* 48
* 3
+1 6
+1 6
+1 6
+1 6
+1 6
+1 9
+1 6
+3 6
+1 6
+1 6
+6 12
+9 12
+8 9
cfi=(263) /home/mithuncy/fsm_code/src/backend/optimizer/prep/prepjointree.c
cfn=(4646) inline_set_returning_functions
calls=3 -89
* 69
+6 9
cfi=(263)
cfn=(4650) pull_up_subqueries
calls=3 -58
* 225
+8 12
+10 6
+1 6
+1 3
+1 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+20 9
cfn=(4654)
calls=3 2498
* 66
+10 9
cfi=(265) /home/mithuncy/fsm_code/src/backend/optimizer/prep/prepunion.c
cfn=(4656) expand_inherited_tables
calls=3 1474
* 117
+7 18
+3 6
+9 21
cfn=(4660)
calls=3 1008
* 229167
-1 6
+5 12
+3 3
+1 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+9 9
+3 21
cfn=(4660)
calls=3 1008
* 36
-1 6
+4 18
cfn=(4668)
calls=3 1095
* 171
+2 21
cfn=(4660)
calls=3 1008
* 36
* 6
+3 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+11 21
cfn=(4660)
calls=3 1008
* 36
* 6
+2 21
cfn=(4660)
calls=3 1008
* 36
* 6
+3 12
+22 21
cfn=(4660)
calls=3 1008
* 36
-1 6
+5 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+74 12
+41 3
+1 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+27 9
+3 9
cfn=(4670) remove_useless_groupby_columns
calls=3 2917
* 81
+7 6
+7 12
+4 21
cfn=(4674)
calls=3 1651
* 23986
+6 9
cfi=(280) /home/mithuncy/fsm_code/src/backend/optimizer/plan/subselect.c
cfn=(4732) SS_identify_outer_params
calls=3 2109
* 36
+8 15
cfi=(268)
cfn=(4726)
calls=3 1155
* 162
* 3
+1 15
cfi=(280)
cfn=(4736) SS_charge_for_initplans
calls=3 2171
* 36
+7 9
cfi=(270)
cfn=(4692)
calls=3 245
* 1092
+2 3
+1 12
fn=(4670)
2917 15
+1 9
+7 12
cfi=(255)
cfn=(4672)
calls=3 90
* 24
* 6
+1 3
3049 12
fn=(4738)
5780 15
+1 9
+4 9
+1 6
+18 6
fn=(4634) planner
268 18
+3 9
+3 18
cfn=(4636)
calls=3 +6
* 272026
* 3
+1 3
+1 6
fn=(4694) standard_qp_callback
3442 18
+1 9
+1 6
+1 9
+1 9
+7 12
+7 6
+3 6
+9 6
+2 12
+7 6
+3 21
cfi=(272) /home/mithuncy/fsm_code/src/backend/optimizer/path/pathkeys.c
cfn=(4696) make_pathkeys_for_sortclauses
calls=3 877
* 75
-1 6
+23 12
+2 12
+2 12
cfi=(255)
cfn=(4672)
calls=3 90
* 24
* 3
+1 12
cfi=(255)
cfn=(4672)
calls=3 90
* 24
-1 6
+3 12
+3 6
+1 12
fn=(4730)
2860 9
+3 9
+1 6
+12 9
+1 6
+17 3
+1 6
fl=(225) /home/mithuncy/fsm_code/src/backend/parser/analyze.c
fn=(3948) analyze_requires_snapshot
358 3
+3 10
+24 1
+1 1
+3 1
+1 2
fn=(3956) transformTopLevelStmt
192 2525
+4 3030
cfn=(3958) transformOptionalSelectInto
calls=505 +20
* 936876
* 505
+2 2020
+1 2020
+2 505
+1 1010
fn=(3960) transformStmt
255 2525
+22 6529
+19 8
+2 16
+2 16
+1 20
cfn=(4436) transformSelectStmt
calls=4 1209
* 747747
* 8
+4 4
+31 2004
cfi=(13)
cfn=(2950)
calls=501 853
* 160821
* 2505
+1 1002
+1 1503
+1 501
+4 1002
+1 1002
+2 501
+1 1002
-4 8
+1 8
+2 4
+1 8
fn=(3952) parse_analyze
103 4008
+1 1002
cfi=(226) /home/mithuncy/fsm_code/src/backend/parser/parse_node.c
cfn=(3954) make_parsestate
calls=501 -59
* 173346
* 501
+5 1503
+2 1002
+3 1503
+2 2505
cfn=(3956)
calls=501 +76
* 200400
* 501
+2 1503
+3 1503
cfi=(226)
cfn=(3962) free_parsestate
calls=501 -43
* 53106
+2 501
+1 1002
fn=(4436)
1209 28
+1 16
cfi=(13)
cfn=(2950)
calls=4 853
* 1284
* 20
+4 8
+3 16
+8 16
+8 16
+3 16
+3 24
cfi=(247) /home/mithuncy/fsm_code/src/backend/parser/parse_clause.c
cfn=(4438) transformFromClause
calls=4 120
* 212
+3 28
cfi=(248) /home/mithuncy/fsm_code/src/backend/parser/parse_target.c
cfn=(4442) transformTargetList
calls=4 133
* 736744
* 8
+4 24
cfi=(248)
cfn=(4460) markTargetListOrigins
calls=4 330
* 220
+3 28
cfi=(247)
cfn=(4464) transformWhereClause
calls=4 1686
* 52
* 4
+4 28
cfi=(247)
cfn=(4464)
calls=4 1686
* 52
* 8
+9 36
cfi=(247)
cfn=(4466) transformSortClause
calls=4 2557
* 112
* 8
+6 56
cfi=(247)
cfn=(4468) transformGroupClause
calls=4 2455
* 372
* 8
+8 16
+2 8
+1 12
+22 28
cfi=(247)
cfn=(4472) transformLimitClause
calls=4 1713
* 52
* 8
+2 28
cfi=(247)
cfn=(4472)
calls=4 1713
* 52
* 8
+4 32
cfi=(247)
cfn=(4474) transformWindowDefinitions
calls=4 2588
* 132
* 8
+5 16
+1 24
cfi=(248)
cfn=(4476) resolveTargetListUnknowns
calls=4 300
* 252
+2 16
+1 24
cfi=(221) /home/mithuncy/fsm_code/src/backend/nodes/makefuncs.c
cfn=(4480) makeFromExpr
calls=4 285
* 704
* 8
+2 16
+1 16
+1 16
+1 16
+1 64
+3 16
cfi=(222) /home/mithuncy/fsm_code/src/backend/parser/../../../src/include/nodes/pg_list.h
cfn=(4336) list_head
calls=4 78
* 32
* 16
+6 20
cfi=(251) /home/mithuncy/fsm_code/src/backend/parser/parse_collate.c
cfn=(4482) assign_query_collations
calls=4 102
* 6639
+2 4
+1 20
fn=(3958)
216 2525
+1 2020
+2 8
+3 28
+4 16
+20 2525
cfn=(3960)
calls=505 +9
* 928744
+1 1010
fl=(282) /home/mithuncy/fsm_code/src/backend/jit/jit.c
fn=(4818) jit_compile_expr
157 12
+10 12
+1 6
+15 6
fl=(294) /home/mithuncy/fsm_code/src/backend/utils/fmgr/../../../../src/include/nodes/pg_list.h
fn=(5070) list_length
90 1503
+1 2505
+1 1002
fl=(20) /home/mithuncy/fsm_code/src/backend/postmaster/postmaster.c
fn=(1990) reset_shared
2576 4
+9 4
cfi=(83) /home/mithuncy/fsm_code/src/backend/storage/ipc/ipci.c
cfn=(1992) CreateSharedMemoryAndSemaphores
calls=1 97
* 5251535
+1 2
fn=(2594) DetermineSleepTime
1532 45
+1 9
+6 27
+1 18
-1 18
+1 36
+2 27
+10 18
+1 18
+2 9
+66 36
fn=(648) InitProcessGlobals
2527 6
+3 2
cob=(3)
cfi=(3)
cfn=(654)
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1266
* 6
* 2
+1 2
cfi=(21) /home/mithuncy/fsm_code/src/backend/utils/adt/timestamp.c
cfn=(656) GetCurrentTimestamp
calls=2 1571
* 1430
* 2
+1 6
cfi=(21)
cfn=(666) timestamptz_to_time_t
calls=2 1713
* 34
* 2
+21 8
cfi=(23) /home/mithuncy/fsm_code/src/port/pg_strong_random.c
cfn=(668) pg_strong_random
calls=2 101
* 2411
* 6
+14 6
cob=(3)
cfi=(3)
cfn=(700)
calls=1 0
* 10537
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 11812
* 6
+1 4
fn=(714) getInstallationPaths
1450 6
+4 4
cfi=(15) /home/mithuncy/fsm_code/src/common/exec.c
cfn=(448) find_my_exec
calls=1 130
* 4454
* 2
+16 3
cfi=(11) /home/mithuncy/fsm_code/src/port/path.c
cfn=(716) get_pkglib_path
calls=1 759
* 4609
+9 2
cfi=(25) /home/mithuncy/fsm_code/src/backend/storage/file/fd.c
cfn=(718) AllocateDir
calls=1 2447
* 1846
* 1
+1 2
+7 3
cfi=(25)
cfn=(738) FreeDir
calls=1 2565
* 1496
+6 5
fn=(2658) signal_child
3928 35
+1 35
cob=(3)
cfi=(3)
cfn=(2664)
calls=6 0
* 30
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1235
* 11
* 14
+3 35
+11 7
+3 14
fn=(2734) ClosePostmasterPorts
2471 6
+10 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
* 2
+4 1
+4 2
+2 320
+2 15
cfi=(58)
cfn=(2644)
calls=3 845
* 51
+1 9
-5 194
+10 4
+3 3
+2 1
+13 4
fn=(2646) ConnFree
2449 4
+4 4
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 114
* 1
+1 2
fn=(2586) maybe_start_bgworkers
5873 6
+2 2
+1 2
+7 6
+8 2
+1 2
+2 24
+4 6
+3 8
+4 8
+13 8
+30 8
cfn=(2588) bgworker_should_start_now
calls=2 5778
* 29
* 4
+3 2
+13 3
cfn=(2610) do_start_bgworker
calls=1 5687
* 949
* 3
+12 3
-82 30
+89 4
fn=(2596) reaper
2846 12
+1 3
cob=(5)
cfi=(5)
cfn=(472) __errno_location
calls=3 0
* 9
* 3
* 6
+4 12
cob=(3)
cfi=(3)
cfn=(774)
calls=3 0
* 21
* 3
+2 18
cfi=(57)
cfn=(1548)
calls=3 232
* 150
* 6
+3 3
+5 9
+2 1
+6 3
+9 13
+17 6
+18 3
+14 1
+1 1
+2 1
+1 1
+7 3
+1 2
cfn=(2554) StartChildProcess
calls=1 5345
* 855
* 1
+1 3
+1 2
cfn=(2554)
calls=1 5345
* 855
* 1
+1 3
+1 2
cfn=(2554)
calls=1 5345
* 855
* 1
+6 5
cfi=(105) /home/mithuncy/fsm_code/src/backend/postmaster/autovacuum.c
cfn=(2604) AutoVacuumingActive
calls=1 3204
* 13
* 5
+1 1
cfi=(105)
cfn=(2606) StartAutoVacLauncher
calls=1 395
* 309
* 1
+1 6
+2 3
+1 1
cfi=(38) /home/mithuncy/fsm_code/src/backend/postmaster/pgstat.c
cfn=(2608) pgstat_start
calls=1 728
* 328
* 1
+3 1
cfn=(2586)
calls=1 5873
* 1035
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 341
* 5
cfi=(57)
cfn=(1882)
calls=1 785
* 787
* 3
cfi=(57)
cfn=(1896)
calls=1 411
* 10156
+4 3
cfi=(54)
cfn=(1950) AddToDataDirLockFile
calls=1 1259
* 1156
+5 1
+8 6
+12 6
+58 6
+15 6
+15 6
+16 6
+16 6
+12 6
+12 10
cfn=(2684) CleanupBackgroundWorker
calls=2 +37
* 86
* 4
+10 10
cfn=(2686) CleanupBackend
calls=2 3270
* 532
2856 30
cob=(5)
cfi=(5)
cfn=(2602) waitpid
calls=5 0
* 55
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 794
* 10
* 18
3150 3
cfn=(2620) PostmasterStateMachine
calls=3 3674
* 84
+3 12
cob=(3)
cfi=(3)
cfn=(774)
calls=3 0
* 21
* 3
+2 3
cob=(5)
cfi=(5)
cfn=(472)
calls=3 0
* 9
* 3
* 6
+1 6
fn=(2610)
5687 4
+14 3
cfn=(2612) assign_backendlist_entry
calls=1 5822
* 511
* 3
+6 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+7 1
cfi=(137) /home/mithuncy/fsm_code/src/backend/postmaster/fork_process.c
cfn=(2556) fork_process
calls=1 32
* 295
* 7
+44 3
+1 5
+1 3
cfi=(73)
cfn=(2618)
calls=1 441
* 22
+2 6
cfi=(74)
cfn=(2274) dlist_push_head
calls=1 301
* 25
+4 1
+4 2
fn=(2614) RandomCancelKey
5258 20
+2 20
cfi=(23)
cfn=(668)
calls=5 101
* 405
+31 10
fn=(2674) sigusr1_handler
5056 8
+1 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 4
+2 8
cob=(3)
cfi=(3)
cfn=(774)
calls=2 0
* 14
* 2
+3 4
cfi=(102) /home/mithuncy/fsm_code/src/backend/storage/ipc/pmsignal.c
cfn=(2676) CheckPostmasterSignal
calls=2 164
* 22
* 4
+12 4
cfi=(102)
cfn=(2676)
calls=2 164
* 22
* 4
+39 4
cfi=(102)
cfn=(2676)
calls=2 164
* 22
* 4
+23 12
+3 4
cfi=(102)
cfn=(2676)
calls=2 164
* 22
* 4
+11 6
+13 4
cfi=(102)
cfn=(2676)
calls=2 164
* 22
* 4
+15 4
cfi=(102)
cfn=(2676)
calls=2 164
* 30
* 4
+1 2
-1 4
+4 2
cfn=(2678) StartAutovacuumWorker
calls=2 5449
* 1390
+3 4
cfi=(102)
cfn=(2676)
calls=2 164
* 22
* 4
+8 4
cfi=(102)
cfn=(2676)
calls=2 164
* 22
* 4
+7 2
cfi=(53) /home/mithuncy/fsm_code/src/backend/access/transam/xlog.c
cfn=(2682) CheckPromoteSignal
calls=2 12243
* 112
* 4
+8 8
cob=(3)
cfi=(3)
cfn=(774)
calls=2 0
* 14
* 2
+2 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 4
+1 4
fn=(2686)
3270 10
+3 14
cfn=(2688) LogChildExit
calls=2 3609
* 162
+25 4
+6 26
+2 6
+2 8
+2 10
+2 8
cfi=(102)
cfn=(2690) ReleasePostmasterChildSlot
calls=2 219
* 40
* 6
+13 8
+12 6
cfi=(74)
cfn=(2692) dlist_delete
calls=2 359
* 30
+1 6
cob=(3)
cfi=(3)
cfn=(590)
calls=2 0
* 170
* 2
+1 4
-35 8
+38 4
fn=(2430) CreateOptsFile
5549 6
+6 3
cob=(3)
cfi=(3)
cfn=(1284)
calls=1 0
* 522
* 1
* 3
+6 6
cfi=(17)
cfn=(2432) pg_fprintf
calls=1 265
* 1955
+1 2
+1 22
cfi=(17)
cfn=(2432)
calls=2 265
* 1240
-1 11
+2 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1309
* 5
+2 3
cob=(3)
cfi=(3)
cfn=(1380)
calls=1 0
* 548
* 1
* 2
+6 1
+1 2
fn=(2640) canAcceptConnections
2349 16
+1 4
+12 12
+29 8
cfn=(2642) CountChildren
calls=4 5299
* 207
* 8
cfn=(2056) MaxLivePostmasterChildren
calls=4 5589
* 44
* 8
+3 4
+1 16
fn=(2684)
3170 10
+4 24
+4 6
+2 8
-6 32
+83 2
+1 4
fn=(2688)
3609 16
+6 2
+2 4
+5 12
+1 14
cfi=(57)
cfn=(1548)
calls=2 232
* 100
* 6
+41 8
fn=(2056)
5589 16
+1 56
+2 16
fn=(2554)
5345 16
+3 4
+6 20
+7 32
cfi=(17)
cfn=(462)
calls=4 203
* 2096
+1 24
+2 12
+6 4
cfi=(137)
cfn=(2556)
calls=4 32
* 4541
* 4
+2 8
+17 8
+46 4
+1 8
fn=(2736) BackendInitialize
4181 6
+8 2
+9 3
+4 1
+3 2
+1 2
+6 1
cfi=(58)
cfn=(2738)
calls=1 195
* 4906
+1 1
+17 3
cfi=(28) /home/mithuncy/fsm_code/src/port/pqsignal.c
cfn=(784) pqsignal
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 1
cfi=(138) /home/mithuncy/fsm_code/src/backend/utils/misc/timeout.c
cfn=(2758) InitializeTimeouts
calls=1 341
* 653
+1 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+5 1
+1 1
+1 16
cfi=(77)
cfn=(1832)
calls=1 126
* 489
* 3
+7 3
+1 8
cfi=(17)
cfn=(462)
calls=1 203
* 229
* 1
+8 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 153
* 1
* 3
+1 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 153
* 1
* 3
+3 3
+24 3
+21 3
cfi=(138)
cfn=(2762) RegisterTimeout
calls=1 374
* 18
+1 5
cfi=(138)
cfn=(2764) enable_timeout_after
calls=1 429
* 1566
+6 4
cfn=(2782) ProcessStartupPacket
calls=1 1905
* 3770
* 1
+6 2
+15 3
+4 12
cfi=(12) /home/mithuncy/fsm_code/src/backend/utils/misc/ps_status.c
cfn=(2800) init_ps_display
calls=1 251
* 1767
+6 3
cfi=(138)
cfn=(2804) disable_timeout
calls=1 526
* 68
+1 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+1 5
fn=(2782)
1905 8
+6 1
cfi=(58)
cfn=(2784)
calls=1 1211
* 12
+1 4
cfi=(58)
cfn=(2786)
calls=1 1095
* 227
* 2
+14 3
+1 3
+2 3
+1 1
-1 2
+15 3
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 152
* 2
+4 6
cfi=(58)
cfn=(2786)
calls=1 1095
* 105
* 2
+7 1
cfi=(58)
cfn=(2798)
calls=1 1235
* 5
+6 7
+2 2
+7 2
+40 2
+3 4
+1 2
-1 2
+18 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
* 1
+2 4
+2 1
+1 1
+7 2
+2 1
+2 25
+4 20
+1 1
+1 12
cob=(3)
cfi=(3)
cfn=(424)
calls=4 0
* 68
* 4
* 20
+1 12
+2 20
+2 16
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 110
* 4
* 8
+1 3
cfi=(13)
cfn=(928)
calls=1 1162
* 193
* 3
+1 12
cob=(3)
cfi=(3)
cfn=(446)
calls=3 0
* 79
* 3
* 6
+1 3
cfi=(13)
cfn=(928)
calls=1 1162
* 193
* 3
+1 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 66
* 2
* 4
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 71
* 2
* 4
+22 10
cob=(3)
cfi=(3)
cfn=(1044)
calls=2 0
* 80
* 2
* 4
+14 6
cfi=(13)
cfn=(928)
calls=2 1162
* 357
* 2
-1 10
cfi=(45)
cfn=(960)
calls=2 129
* 453
* 4
+3 6
cfi=(13)
cfn=(928)
calls=2 1162
* 352
* 2
-1 10
cfi=(45)
cfn=(960)
calls=2 129
* 326
* 4
+9 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 74
* 2
* 4
+2 3
cfi=(13)
cfn=(928)
calls=1 1162
* 176
* 1
+2 3
cfi=(37) /home/mithuncy/fsm_code/src/common/string.c
cfn=(884) pg_clean_ascii
calls=1 83
* 64
+2 3
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 9
cob=(3)
cfi=(3)
cfn=(424)
calls=3 0
* 53
* 3
* 20
-74 15
+81 4
+11 6
+2 1
+25 9
+6 9
+3 3
+22 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+11 3
+6 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
+7 7
+24 1
+5 1
+1 5
fn=(646) PostmasterMain
577 7
+3 1
+1 1
+2 1
+2 1
cfn=(648)
calls=1 2527
* 16866
+2 2
+2 1
+10 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1248
* 5
+8 7
cfi=(14) /home/mithuncy/fsm_code/src/backend/utils/mmgr/aset.c
cfn=(432) AllocSetContextCreateInternal
calls=1 395
* 628
* 1
+3 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
+3 4
cfn=(714)
calls=1 1450
* 12433
+21 1
cfi=(27) /home/mithuncy/fsm_code/src/backend/libpq/pqsignal.c
cfn=(750) pqinitmask
calls=1 42
* 4390
+1 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1350
* 5
+2 3
cfi=(28)
cfn=(776) pqsignal_no_restart
calls=1 72
* 991
+2 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+1 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+1 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+2 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+2 3
cfi=(28)
cfn=(776)
calls=1 72
* 177
+10 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+3 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+5 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+6 1
cfi=(29)
cfn=(786) InitializeGUCOptions
calls=1 4964
* 519258
+2 1
+7 1
+2 7
+16 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 242
* 1
* 1
+1 1
-19 12
cob=(3)
cfi=(3)
cfn=(1254)
calls=1 0
* 105
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1929
* 6
* 6
856 3
+13 5
cfi=(29)
cfn=(1260) SelectConfigFiles
calls=1 5186
* 5190868
* 3
+3 2
+15 1
cfi=(54)
cfn=(1522) checkDataDir
calls=1 100
* 4029
+3 1
cfn=(1540) checkControlFile
calls=1 1503
* 1572
+3 1
cfi=(54)
cfn=(1542) ChangeToDataDir
calls=1 214
* 19
+5 6
+7 3
+3 6
+8 1
cfi=(64)
cfn=(1544)
calls=1 4453
* 9981
* 3
+10 1
+10 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+2 3
+1 402
cfi=(57)
cfn=(1548)
calls=67 232
* 3350
* 134
-1 339
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+18 2
cfi=(54)
cfn=(1552) CreateDataDirLockFile
calls=1 1182
* 6832
+11 2
cfi=(53)
cfn=(1588) LocalProcessControlFile
calls=1 4934
* 4991
+19 1
cfi=(72) /home/mithuncy/fsm_code/src/backend/replication/logical/launcher.c
cfn=(1612) ApplyLauncherRegister
calls=1 789
* 1545
+5 1
cfi=(54)
cfn=(1620) process_shared_preload_libraries
calls=1 1588
* 30
+6 1
cfi=(75) /home/mithuncy/fsm_code/src/backend/utils/init/postinit.c
cfn=(1624) InitializeMaxBackends
calls=1 525
* 14
+8 2
+1 192
-1 194
+3 3
cfi=(67)
cfn=(1578)
calls=1 306
* 32
+2 3
+5 1
+3 3
cfi=(13)
cfn=(928)
calls=1 1162
* 158
* 1
+3 5
cfi=(41) /home/mithuncy/fsm_code/src/backend/utils/adt/varlena.c
cfn=(932) SplitIdentifierString
calls=1 3507
* 1275
* 3
+9 3
cfi=(76) /home/mithuncy/fsm_code/src/backend/postmaster/../../../src/include/nodes/pg_list.h
cfn=(1626) list_head
calls=1 78
* 10
* 2
+2 3
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+7 1
-1 8
cfi=(58)
cfn=(1628)
calls=1 333
* 130732
* 1
+5 2
+2 1
+2 4
+2 4
cfi=(54)
cfn=(1950)
calls=1 1259
* 1616
+1 2
-22 7
+31 2
+4 3
cfi=(45)
cfn=(972) list_free
calls=1 +66
* 222
+1 3
cfi=(13)
cfn=(952)
calls=1 -40
* 85
+42 3
+5 1
+3 3
cfi=(13)
cfn=(928)
calls=1 +40
* 145
* 1
+3 5
cfi=(41)
cfn=(1960) SplitDirectoriesString
calls=1 3634
* 1050
* 3
+9 3
cfi=(76)
cfn=(1626)
calls=1 78
* 10
* 2
+2 3
+3 1
-1 9
cfi=(58)
cfn=(1628)
calls=1 333
* 21608
* 1
+5 2
+2 1
+2 2
+1 4
cfi=(54)
cfn=(1950)
calls=1 1259
* 1057
* 1
-14 7
+22 2
+4 3
cfi=(45)
cfn=(1988) list_free_deep
calls=1 -9
* 298
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+7 3
+9 4
+6 3
cfn=(1990)
calls=1 2576
* 5251545
+6 1
cfi=(25)
cfn=(2404) set_max_safe_fds
calls=1 878
* 61686
+5 1
cfi=(52)
cfn=(2414) set_stack_base
calls=1 3210
* 9
+6 1
cfn=(2416) InitPostmasterDeathWatchHandle
calls=1 6456
* 2038
+17 6
cfn=(2430)
calls=1 5549
* 5646
* 3
+11 3
+25 1
cfi=(25)
cfn=(2462) RemovePgTempFiles
calls=1 2864
* 587849
+20 1
cfi=(53)
cfn=(2474) RemovePromoteSignalFiles
calls=1 12232
* 28
+3 1
cfi=(131) /home/mithuncy/fsm_code/src/backend/postmaster/syslogger.c
cfn=(2476) RemoveLogrotateSignalFiles
calls=1 1536
* 16
+3 2
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 9
* 1
* 3
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+9 1
cfi=(131)
cfn=(2478) SysLogger_Start
calls=1 546
* 14
* 1
+13 4
+6 1
+6 1
cfi=(38)
cfn=(2480) pgstat_init
calls=1 356
* 17233
+5 1
cfi=(105)
cfn=(2526) autovac_init
calls=1 3258
* 15
+5 1
cfi=(133) /home/mithuncy/fsm_code/src/backend/libpq/hba.c
cfn=(2528) load_hba
calls=1 2127
* 165914
* 3
+9 1
cfi=(133)
cfn=(2552) load_ident
calls=1 2917
* 42273
+31 1
cfi=(21)
cfn=(656)
calls=1 1571
* 22
* 1
+10 3
cfi=(54)
cfn=(1950)
calls=1 1259
* 972
+5 2
cfn=(2554)
calls=1 5345
* 4216
* 1
+2 1
+1 1
+3 1
cfn=(2586)
calls=1 5873
* 74
+2 1
cfn=(2590) ServerLoop
calls=1 1630
* 379613716
fn=(2416)
6456 4
+13 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1235
* 5
* 2
+9 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 773
* 5
* 2
+20 4
fn=(2588)
5778 6
+1 12
+12 2
+1 2
+11 2
+6 1
+1 4
fn=(2590)
1630 4
+6 2
cob=(10)
cfi=(22)
cfn=(1810)
calls=1 0
* 3
* 1
* 3
+2 3
cfn=(2592) initMasks
calls=1 1870
* 160
* 1
+18 32
+2 3
-2 256
+2 24
+15 27
cfn=(2594)
calls=9 1532
* 261
+2 36
cob=(3)
cfi=(3)
cfn=(774)
calls=9 0
* 63
* 9
+2 72
cob=(3)
cfi=(3)
cfn=(2508)
calls=9 0
* 96
* 9
* 9
+2 36
cob=(3)
cfi=(3)
cfn=(774)
calls=9 0
* 63
* 9
+4 18
+2 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 18
+13 18
+4 4
+2 35
+1 1
+1 138
+4 10
cfn=(2626) ConnCreate
calls=2 2405
* 1855
* 2
+1 4
+2 6
cfn=(2638) BackendStartup
calls=2 4031
* 379607691
+6 4
cfi=(58)
cfn=(2644)
calls=1 845
* 17
+1 3
cfn=(2646)
calls=1 2449
* 128
-18 19
+25 48
+8 24
+3 24
+2 24
+9 24
+9 56
+10 24
+5 72
+4 24
+8 24
+4 48
+20 16
cob=(10)
cfi=(22)
cfn=(1810)
calls=8 0
* 24
* 8
* 8
+10 48
+20 48
+2 2
cfi=(54)
cfn=(2666) RecheckDataDirLockFile
calls=2 1387
* 1921
* 6
+6 4
+8 48
+6 8
fn=(2592)
1870 3
+1 1
+3 27
+2 2
+2 16
+2 8
+1 1
+1 72
+2 9
+1 6
-9 11
+12 2
+1 2
fn=(2620)
3674 6
+1 9
+9 9
+24 9
+76 9
+18 9
+42 9
+33 9
+8 9
+22 6
fn=(2626)
2405 10
+3 6
cob=(3)
cfi=(3)
cfn=(1722)
calls=2 0
* 915
* 2
* 6
+8 10
cfi=(58)
cfn=(2628)
calls=2 717
* 892
* 4
+24 2
+1 8
fn=(2642)
5299 16
+2 4
+2 40
+2 21
+2 28
+7 14
+14 7
-25 65
+27 4
+1 8
fn=(2648) SIGHUP_handler
2594 4
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+2 3
+2 6
cfi=(57)
cfn=(1548)
calls=1 232
* 341
* 5
cfi=(57)
cfn=(1882)
calls=1 785
* 787
* 3
cfi=(57)
cfn=(1896)
calls=1 411
* 10129
+2 2
cfi=(60) /home/mithuncy/fsm_code/src/backend/utils/misc/guc-file.l
cfn=(1268) ProcessConfigFile
calls=1 125
* 2459851
+1 3
cfn=(2656) SignalSomeChildren
calls=1 3954
* 1471
+1 3
+2 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+1 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+1 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+1 3
+2 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+1 3
+2 3
+2 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+3 1
cfi=(133)
cfn=(2528)
calls=1 2127
* 167306
* 3
+4 1
cfi=(133)
cfn=(2552)
calls=1 2917
* 41820
* 3
+27 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 2
fn=(1540)
1503 3
+4 8
cfi=(17)
cfn=(462)
calls=1 203
* 381
+2 4
cfi=(25)
cfn=(1278) AllocateFile
calls=1 2186
* 677
* 1
+1 2
+8 3
cfi=(25)
cfn=(1374) FreeFile
calls=1 2385
* 491
+1 2
fn=(2612)
5822 5
+9 2
cfn=(2614)
calls=1 5258
* 91
* 3
+8 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 339
* 1
* 1
+1 2
+8 3
+1 1
cfi=(102)
cfn=(2616) AssignPostmasterChildSlot
calls=1 185
* 39
* 4
+1 2
+1 2
+1 2
+2 3
+1 4
+2 1
+1 4
fn=(2638)
4031 10
+8 4
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 274
* 2
* 2
+1 4
+13 4
cfn=(2614)
calls=2 5258
* 182
* 6
+9 6
+3 2
cfn=(2640)
calls=2 2349
* 155
* 4
+1 16
+6 10
+1 2
cfi=(102)
cfn=(2616)
calls=2 185
* 70
* 10
+5 4
+5 2
cfi=(137)
cfn=(2556)
calls=2 32
* 1261
* 2
+1 4
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+3 1
cfi=(54)
cfn=(2710) InitPostmasterChild
calls=1 274
* 13612
+3 2
cfn=(2734)
calls=1 2471
* 623
+3 3
cfn=(2736)
calls=1 +86
* 14260
+3 3
cfn=(2808) BackendRun
calls=1 4357
* 379576962
+4 2
+16 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+8 3
+1 2
+1 5
cfi=(74)
cfn=(2274)
calls=1 301
* 25
+7 1
+1 4
fn=(2656)
3954 5
+2 1
+2 10
+2 6
+2 8
+7 4
+14 12
cfi=(57)
cfn=(1548)
calls=2 232
* 100
* 4
+3 12
cfn=(2658)
calls=2 -58
* 1286
+1 2
-29 18
+31 1
+1 2
fn=(2678)
5449 8
+10 2
cfn=(2640)
calls=2 2349
* 172
* 4
+8 4
cfn=(2614)
calls=2 5258
* 182
* 6
+8 4
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 200
* 2
* 2
+1 4
+2 6
+3 4
+1 2
cfi=(102)
cfn=(2616)
calls=2 185
* 70
* 8
+1 4
+2 2
cfi=(105)
cfn=(2680) StartAutoVacWorker
calls=2 1471
* 618
* 4
+1 8
+2 4
+1 10
cfi=(74)
cfn=(2274)
calls=2 301
* 50
+5 2
+30 8
fn=(2808)
4357 4
+13 1
+1 2
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 6
+2 7
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+2 1
+2 8
+6 6
cfi=(75)
cfn=(2810) pg_split_opts
calls=1 466
* 261
+2 6
+7 6
cfi=(57)
cfn=(1548)
calls=1 232
* 59
* 2
+3 2
+1 6
cfi=(57)
cfn=(1548)
calls=1 232
* 59
* 2
-1 7
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 59
* 2
+7 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
+2 8
cfi=(52)
cfn=(2812) PostgresMain
calls=1 3730
* 379576290
fl=(29)
fn=(866)
4918 113155
+1 67893
+1 67893
+2 158417
cfn=(868) guc_name_compare
calls=22631 +8
* 3088839
+1 45262
fn=(882) check_application_name
10978 12
+2 8
cfi=(37)
cfn=(884)
calls=2 83
* 76
+2 2
+1 4
fn=(1024) check_log_destination
10567 6
+4 1
+4 4
cfi=(13)
cfn=(928)
calls=1 1162
* 145
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 1039
* 3
+9 3
cfi=(51) /home/mithuncy/fsm_code/src/backend/utils/misc/../../../../src/include/nodes/pg_list.h
cfn=(1026) list_head
calls=1 78
* 10
* 2
+2 3
+2 4
cfi=(32) /home/mithuncy/fsm_code/src/port/pgstrcasecmp.c
cfn=(968) pg_strcasecmp
calls=1 37
* 121
* 2
+1 2
-5 7
+25 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 222
+2 3
cfn=(862) guc_malloc
calls=1 4473
* 242
* 1
+1 3
+1 3
+2 1
+1 2
fn=(1032) check_log_stats
10712 6
+1 4
+8 1
+1 2
fn=(1062) check_maxconnections
10866 15
+1 27
+3 3
+1 6
fn=(1086) check_recovery_target_lsn
11247 6
+1 5
+36 1
+1 2
fn=(1240) parse_int
5995 3584
+5 1024
+1 1024
+1 1024
+1 24
+3 12
cob=(5)
cfi=(5)
cfn=(472)
calls=12 0
* 36
* 12
* 500
cob=(5)
cfi=(5)
cfn=(472)
calls=500 0
* 1500
* 500
* 512
+1 3072
cob=(3)
cfi=(3)
cfn=(1246)
calls=511 0
* 64214
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1460
* 516
* 512
+2 1536
+3 512
cob=(5)
cfi=(5)
cfn=(472)
calls=512 0
* 1536
* 512
* 4096
+8 1024
cob=(3)
cfi=(3)
cfn=(914)
calls=512 0
* 1536
* 512
* 5632
+4 2048
+4 6
+2 24
+3 6
+1 6
+2 108
-2 84
cob=(3)
cfi=(3)
cfn=(914)
calls=12 0
* 36
* 12
* 156
+3 18
+2 12
cob=(3)
cfi=(3)
cfn=(914)
calls=6 0
* 18
* 6
* 66
+3 24
+1 60
cfn=(1418) convert_to_base_unit
calls=6 5911
* 2456
* 6
+2 24
+14 30
+8 1024
+1 2048
+1 512
+1 1024
fn=(1260)
5186 5
+6 2
+1 3
cfi=(11)
cfn=(1262) make_absolute_path
calls=1 609
* 2186
* 2
+4 7
cfi=(9)
cfn=(490) stat
calls=1 0
* 15
* 2
+17 3
+2 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
-1 4
cfn=(862)
calls=1 4473
* 306
* 1
+2 7
cfi=(17)
cfn=(1138) pg_sprintf
calls=1 231
* 444
* 1
+15 6
cfn=(1206) SetConfigOption
calls=1 7172
* 1890
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+5 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+13 2
cfi=(60)
cfn=(1268)
calls=1 125
* 1502337
+9 3
+2 2
+1 3
cfi=(54)
cfn=(1408) SetDataDir
calls=1 193
* 1503
* 1
+19 6
cfn=(1206)
calls=1 7172
* 1788
+8 2
cfi=(60)
cfn=(1268)
calls=1 125
* 2879369
+9 1
cfn=(1470) pg_timezone_abbrev_initialize
calls=1 10789
* 796133
+5 3
+2 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
-1 4
cfn=(862)
calls=1 4473
* 258
* 1
+2 7
cfi=(17)
cfn=(1138)
calls=1 231
* 447
* 1
+11 6
cfn=(1206)
calls=1 7172
* 1392
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+5 3
+2 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
-1 4
cfn=(862)
calls=1 4473
* 117
* 1
+2 7
cfi=(17)
cfn=(1138)
calls=1 231
* 447
* 1
+11 6
cfn=(1206)
calls=1 7172
* 1663
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 89
* 1
+2 1
+1 2
fn=(1416) set_config_sourcefile
7137 168
+8 140
+2 140
cfn=(1212) find_option
calls=28 4869
* 35242
* 28
+2 56
+3 140
cfn=(878) guc_strdup
calls=28 4505
* 8273
* 28
+1 112
+1 56
cob=(3)
cfi=(3)
cfn=(590)
calls=14 0
* 1190
* 14
+1 84
+1 84
+1 56
fn=(1468) ReportGUCOption
5886 92
+1 124
+2 44
cfn=(3736) _ShowOption
calls=11 9168
* 2210
* 11
+3 44
cfi=(191) /home/mithuncy/fsm_code/src/backend/libpq/pqformat.c
cfn=(3430) pq_beginmessage
calls=11 88
* 1507
+1 66
cfi=(191)
cfn=(3738) pq_sendstring
calls=11 198
* 1766
+1 55
cfi=(191)
cfn=(3738)
calls=11 198
* 1720
+1 33
cfi=(191)
cfn=(3436) pq_endmessage
calls=11 299
* 3733
+2 33
cfi=(13)
cfn=(952)
calls=11 1032
* 844
+2 46
fn=(860) build_guc_variables
4696 3
+2 1
+4 2
+2 900
+3 180
+1 90
-6 1182
+9 2
+2 864
+2 216
+1 108
-5 1198
+8 2
+2 200
+2 40
+1 20
-5 272
+8 2
+2 670
+2 134
+1 67
-5 883
+8 2
+2 232
+2 58
+1 29
-5 329
+11 9
+3 3
-1 3
cfn=(862)
calls=1 4473
* 192
* 1
+3 1
+2 2
+1 1530
-1 1182
+3 2
+1 1620
-1 1198
+3 2
+1 340
-1 272
+3 2
+1 1139
-1 883
+3 2
+1 435
-1 329
+3 3
+2 2
+1 2
+1 2
+1 7
cfi=(36) /home/mithuncy/fsm_code/src/port/qsort.c
cfn=(864) pg_qsort
calls=1 114
* 386991
+2 2
fn=(900) check_bonjour
10675 6
+2 4
+6 1
+1 2
fn=(1080) check_primary_slot_name
11305 6
+1 9
+4 1
+1 2
fn=(1082) check_recovery_target
11091 6
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 7
+5 1
+1 2
fn=(1200) check_wal_consistency_checking
10487 6
+7 18
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 14
* 1
+3 4
cfi=(13)
cfn=(928)
calls=1 1162
* 143
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 45
* 3
+9 3
cfi=(51)
cfn=(1026)
calls=1 78
* 8
* 4
+41 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 35
+3 3
cfn=(862)
calls=1 4473
* 208
* 2
+1 10
+1 1
+1 2
fn=(1206)
7172 161
+1 230
cfn=(1208) set_config_option
calls=23 6409
* 1637551
+2 46
fn=(1207) SetConfigOption'2
7172 7
+1 10
cfn=(1209) set_config_option'2
calls=1 6409
* 1264
+2 2
fn=(1220) config_enum_lookup_by_name
6139 18
+3 12
+2 30
cfi=(32)
cfn=(968)
calls=5 37
* 575
* 10
+2 12
+1 6
-5 32
+11 6
fn=(1266) string_field_used
4522 312
+3 390
+1 96
-1 96
+2 48
-1 48
+2 108
+1 144
+6 24
+1 156
fn=(4126) define_custom_variable
8079 25
+1 15
+1 10
+7 40
cob=(3)
cfi=(3)
cfn=(284)
calls=5 0
* 6468
* 5
* 5
+5 10
+6 15
cfn=(874) InitializeOneGUCOption
calls=5 5066
* 1785
+1 20
cfn=(4128) add_guc_variable
calls=5 4783
* 3485185
* 5
+68 20
fn=(1030) check_stage_log_stats
10701 18
+1 12
+5 3
+1 6
fn=(1096) assign_recovery_target_time
11202 5
+1 3
+4 6
+6 1
+1 2
fn=(1188) assign_timezone_abbreviations
10769 15
+2 6
+1 1
+2 6
cfi=(64)
cfn=(1520)
calls=2 4592
* 100
+1 6
fn=(1218) parse_and_validate_value
6225 572
+1 364
+4 14
+2 35
cfi=(59) /home/mithuncy/fsm_code/src/backend/utils/adt/bool.c
cfn=(1224) parse_bool
calls=7 31
* 1029
* 21
+9 63
cfn=(876) call_bool_check_hook
calls=7 10312
* 230
* 21
+4 7
+3 24
+3 84
cfn=(1240)
calls=12 5995
* 7236
* 36
+11 144
+10 108
cfn=(892) call_int_check_hook
calls=12 10346
* 454
* 36
+4 12
+31 60
+6 150
cfn=(878)
calls=30 4505
* 6360
* 60
+1 120
+7 150
+2 24
cob=(3)
cfi=(3)
cfn=(424)
calls=6 0
* 90
* 6
-1 42
cfi=(42) /home/mithuncy/fsm_code/src/backend/parser/scansup.c
cfn=(958) truncate_identifier
calls=6 188
* 84
+4 270
cfn=(880) call_string_check_hook
calls=30 10414
* 2903667
* 90
+8 30
+3 6
+2 18
cfn=(1220)
calls=3 6139
* 701
* 9
+19 27
cfn=(890) call_enum_check_hook
calls=3 10448
* 97
* 9
+4 3
+3 3
+1 15
-1 49
+1 245
fn=(1418)
5911 48
+4 24
+1 12
+4 12
+2 774
+1 176
cob=(3)
cfi=(3)
cfn=(446)
calls=16 0
* 352
* 16
-1 32
+3 54
+3 66
+1 12
-9 854
+13 24
fn=(1466) extra_field_used
4561 128
+3 128
+1 24
+1 140
+15 80
+1 20
+1 10
+6 60
+7 10
+1 64
fn=(4122) DefineCustomEnumVariable
8381 9
+3 10
cfn=(4124) init_custom_variable
calls=1 8025
* 475
* 1
+3 3
+1 3
+1 3
+1 3
+1 3
+1 3
+1 3
+1 3
cfn=(4126)
calls=1 8079
* 698256
+1 2
fn=(4132) DefineCustomBoolVariable
8269 20
+3 18
cfn=(4124)
calls=2 8025
* 1132
* 2
+3 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
cfn=(4126)
calls=2 8079
* 1393248
+1 4
fn=(1028) assign_log_destination
10624 4
+1 3
+1 2
fn=(1078) check_max_worker_processes
10906 5
+1 9
+2 1
+1 2
fn=(1102) check_recovery_target_xid
11115 6
+1 5
+14 1
+1 2
fn=(1132) assign_session_replication_role
10650 5
+5 3
+2 2
fn=(1152) assign_syslog_ident
10640 5
+2 5
cfi=(57)
cfn=(1150) set_syslog_parameters
calls=1 1897
* 43
+3 2
fn=(1154) assign_tcp_keepalives_count
10849 5
+2 5
cfi=(58)
cfn=(1156)
calls=1 1889
* 11
+1 2
fn=(1208)
6409 663
+3 51
+1 51
+3 102
+2 204
+6 168
+2 92
+1 46
+1 46
+4 23
+12 23
cfi=(26) /home/mithuncy/fsm_code/src/backend/access/transam/xact.c
cfn=(1210) IsInParallelMode
calls=23 910
* 184
* 28
cfi=(26)
cfn=(1210)
calls=28 910
* 224
* 102
+5 255
cfn=(1212)
calls=51 4869
* 65286
* 51
+1 102
+12 357
+3 12
+8 6
+2 22
+11 6
+2 16
+8 11
+2 24
+15 8
+50 16
+8 4
+3 22
+21 255
+2 1
cfi=(54)
cfn=(3456) InLocalUserIdChange
calls=1 504
* 8
* 2
+12 1
cfi=(54)
cfn=(3458) InSecurityRestrictedOperation
calls=1 513
* 8
* 2
+16 510
+10 204
+14 357
+4 12
+4 12
+2 66
cfn=(1218)
calls=6 6225
* 1398
* 18
+20 12
+15 12
+3 24
+3 24
+2 24
+1 42
cfn=(1222) set_extra_field
calls=6 4606
* 96
+2 18
+1 18
+2 12
+4 24
+2 18
+1 42
cfn=(1222)
calls=6 4606
* 96
+2 18
+1 18
+2 36
+14 18
+2 6
+7 24
+4 24
+2 132
cfn=(1218)
calls=12 6225
* 8422
* 36
+20 24
+2 12
+9 12
+1 4
+3 20
+3 40
+3 40
+1 28
cfi=(53)
cfn=(1074) assign_max_wal_size
calls=2 2286
* 72
cfi=(52)
cfn=(1072) assign_max_stack_depth
calls=2 3343
* 24
+1 40
+1 70
cfn=(1222)
calls=10 4606
* 160
+2 30
+1 30
+2 20
+4 40
+2 30
+1 70
cfn=(1222)
calls=10 4606
* 160
+2 30
+1 30
+2 60
+14 30
+2 10
+97 60
+4 60
+2 330
cfn=(1218)
calls=30 6225
* 2911923
* 90
+36 60
+17 60
+3 120
+3 120
+1 161
cfn=(886) assign_application_name
calls=1 10987
* 291
cfi=(39) /home/mithuncy/fsm_code/src/backend/commands/variable.c
cfn=(1130) assign_session_authorization
calls=1 793
* 1346
cfi=(39)
cfn=(920) assign_client_encoding
calls=3 699
* 117
cfn=(1188)
calls=2 10769
* 124
cfi=(49) /home/mithuncy/fsm_code/src/backend/utils/cache/ts_cache.c
cfn=(990) assign_TSCurrentConfig
calls=2 652
* 14
cfi=(18) /home/mithuncy/fsm_code/src/backend/utils/adt/pg_locale.c
cfn=(1022) assign_locale_time
calls=2 338
* 14
cfi=(18)
cfn=(1018) assign_locale_numeric
calls=2 326
* 14
cfi=(18)
cfn=(1014) assign_locale_monetary
calls=2 314
* 14
cfi=(18)
cfn=(1008) assign_locale_messages
calls=2 377
* 6976
cfi=(39)
cfn=(1184) assign_timezone
calls=2 374
* 18
cfi=(39)
cfn=(982) assign_datestyle
calls=2 237
* 28
cfi=(39)
cfn=(1060) assign_log_timezone
calls=2 447
* 18
+1 210
cfn=(1264) set_string_field
calls=30 4545
* 1080
+1 210
cfn=(1222)
calls=30 4606
* 790
+2 90
+1 90
+3 60
+4 120
+2 210
cfn=(1264)
calls=30 4545
* 3468
+1 210
cfn=(1222)
calls=30 4606
* 1807
+2 90
+1 90
+2 180
+15 240
cfn=(1266)
calls=30 4522
* 390
* 90
+3 150
cfn=(1466)
calls=12 4561
* 144
* 36
+2 30
+7 6
+4 6
+2 33
cfn=(1218)
calls=3 6225
* 942
* 9
+20 6
+2 6
+9 6
+1 2
+3 4
+3 8
+3 8
+2 8
+1 14
cfn=(1222)
calls=2 4606
* 32
+2 6
+1 6
+2 4
+4 8
+2 6
+1 14
cfn=(1222)
calls=2 4606
* 32
+2 6
+1 6
+2 12
+14 6
+2 2
+6 336
+1 33
cfn=(1468)
calls=11 5886
* 99
+2 192
+1 204
fn=(1209)
6409 13
+3 1
+1 1
+3 2
+2 4
+8 4
+1 2
+1 2
+4 1
+12 1
cfi=(26)
cfn=(1210)
calls=1 910
* 8
* 2
+5 5
cfn=(1212)
calls=1 4869
* 851
* 1
+1 2
+12 7
+3 2
+8 1
6595 5
+30 10
+10 4
+14 7
+4 2
+4 2
+2 11
cfn=(1218)
calls=1 6225
* 190
* 3
+20 2
+15 2
+3 4
+3 4
+2 4
+1 7
cfn=(1222)
calls=1 4606
* 16
+2 3
+1 3
+2 2
+4 4
+2 3
+1 7
cfn=(1222)
calls=1 4606
* 16
+2 3
+1 3
+2 6
+14 3
+2 1
7125 7
+1 3
cfn=(1468)
calls=1 5886
* 9
+2 4
+1 4
fn=(1212)
4869 931
+1 266
+10 1064
cob=(3)
cfi=(3)
cfn=(284)
calls=132 0
* 161489
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 2932
* 137
* 133
+5 266
+1 399
+24 266
fn=(1222)
4606 588
+1 294
+3 294
+3 296
cfn=(1466)
calls=20 -52
* 520
* 60
+1 30
cob=(3)
cfi=(3)
cfn=(590)
calls=10 0
* 917
* 10
+1 196
fn=(1228) InitializeGUCOptionsFromEnvironment
5020 6
+4 4
cob=(3)
cfi=(3)
cfn=(234)
calls=2 0
* 974
* 2
* 2
+1 4
+3 4
cob=(3)
cfi=(3)
cfn=(234)
calls=2 0
* 992
* 2
* 2
+1 4
+3 4
cob=(3)
cfi=(3)
cfn=(234)
calls=2 0
* 1000
* 2
* 2
+1 4
+8 2
cfi=(52)
cfn=(1066) get_stack_depth_rlimit
calls=2 4517
* 18
* 2
+1 4
+2 14
+2 4
+4 8
+1 12
cfi=(17)
cfn=(1138)
calls=2 231
* 984
+1 12
cfn=(1206)
calls=2 7172
* 4819
+4 4
fn=(3694) AtEOXact_GUC
5576 12
+14 8
+2 6
+1 2
5849 4
fn=(4150) EmitWarningsOnPlaceholders
8399 5
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 1
+3 2
+2 2233
+2 1595
-4 1279
+14 4
fn=(786)
4964 3
+7 1
cfi=(30) /home/mithuncy/fsm_code/src/timezone/pgtz.c
cfn=(788) pg_timezone_initialize
calls=1 364
* 15793
+5 1
cfn=(860)
calls=1 4696
* 403842
+6 2
+2 2512
cfn=(874)
calls=314 +82
* 82755
-2 1259
+5 1
+2 1
+6 5
cfn=(1206)
calls=1 7172
* 3716
+2 5
cfn=(1206)
calls=1 7172
* 1689
+2 5
cfn=(1206)
calls=1 7172
* 2571
+7 1
cfn=(1228)
calls=1 +14
* 5094
+1 2
fn=(862)
4473 96
+4 32
+2 48
cob=(3)
cfi=(3)
cfn=(388)
calls=16 0
* 3141
* 16
* 16
+1 32
+4 16
+1 64
fn=(876)
10312 1089
+2 396
+1 178
+3 10
+1 10
+1 10
+1 10
+2 70
cfi=(39)
cfn=(1196) check_transaction_read_only
calls=2 487
* 34
cfi=(39)
cfn=(1190) check_transaction_deferrable
calls=2 563
* 52
cfn=(1134) check_ssl
calls=1 10688
* 13
cfn=(1032)
calls=1 10712
* 13
cfn=(1030)
calls=3 10701
* 39
cfn=(900)
calls=1 10675
* 13
* 30
+17 10
+1 594
fn=(886)
10987 10
+2 6
cfi=(38)
cfn=(888) pgstat_report_appname
calls=2 3164
* 292
+1 4
fn=(1088) assign_recovery_target_lsn
11289 5
+1 3
+4 6
+6 1
+1 2
fn=(1148) assign_syslog_facility
10630 5
+2 8
cfi=(57)
cfn=(1150)
calls=1 1897
* 265
+4 2
fn=(1162) assign_tcp_keepalives_interval
10832 5
+2 5
cfi=(58)
cfn=(1164)
calls=1 1813
* 11
+1 2
fn=(1202) assign_wal_consistency_checking
10561 4
+1 2
+1 2
fn=(3736)
9168 66
+4 77
+4 6
+2 12
+3 24
+2 3
+49 14
+2 28
+1 3
cfi=(39)
cfn=(3746) show_timezone
calls=1 383
* 22
* 2
+1 66
+1 30
+4 7
+4 2
+2 4
+3 7
cfn=(2654) config_enum_lookup_by_value
calls=1 6115
* 24
* 1
+2 1
+8 33
cfi=(13)
cfn=(928)
calls=11 1162
* 1756
+1 22
fn=(4128)
4783 25
+1 25
+26 45
+1 35
cfi=(36)
cfn=(864)
calls=5 114
* 3485040
+2 5
+1 10
fn=(992) check_effective_io_concurrency
10914 6
+4 6
cfi=(50)
cfn=(994) ComputeIoConcurrency
calls=1 468
* 43
* 2
+2 3
cfn=(862)
calls=1 4473
* 195
* 1
+2 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1116
* 5
* 3
+1 3
+2 2
+12 2
fn=(1004) check_canonical_path
10726 18
+6 12
+1 8
cfi=(11)
cfn=(484) canonicalize_path
calls=2 255
* 747
+1 3
+1 6
fn=(1166) check_temp_buffers
10661 6
+4 3
+5 1
+1 2
fn=(1186) check_timezone_abbreviations
10739 18
+12 12
+3 2
+4 8
cfi=(63) /home/mithuncy/fsm_code/src/backend/utils/misc/tzparser.c
cfn=(1472) load_tzoffsets
calls=2 439
* 1585101
* 4
+3 8
+3 2
+1 6
fn=(1470)
10789 4
+1 10
cfn=(1206)
calls=2 7172
* 1589099
+2 4
fn=(1090) check_recovery_target_name
11218 6
+2 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 2
+6 1
+1 2
fn=(1092) assign_recovery_target_name
11231 5
+1 3
+4 6
+6 1
+1 2
fn=(1100) assign_recovery_target_timeline
11059 5
+1 3
+1 3
+3 1
+1 2
fn=(1134)
10688 6
+2 4
+6 1
+1 2
fn=(1136) assign_pgstat_temp_directory
10949 5
+7 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cfn=(862)
calls=1 4473
* 208
* 1
+1 6
cfi=(17)
cfn=(1138)
calls=1 231
* 218
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cfn=(862)
calls=1 4473
* 208
* 1
+1 6
cfi=(17)
cfn=(1138)
calls=1 231
* 337
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cfn=(862)
calls=1 4473
* 208
* 1
+1 6
cfi=(17)
cfn=(1138)
calls=1 231
* 346
+2 3
+2 2
+1 3
+2 2
+1 3
+2 2
+1 2
fn=(868)
4930 91016
+6 22754
+2 485195
+1 485195
+2 388080
+1 330
+1 388080
+1 178
+1 291117
+1 110170
-10 779464
+12 2880
+1 136
+1 2608
+1 1038
+1 133
+1 45508
fn=(890)
10448 363
+2 132
+1 62
+3 2
+1 2
+1 2
+1 2
+2 14
cfi=(39)
cfn=(1194) check_XactIsoLevel
calls=2 526
* 43
* 6
+18 2
+1 198
fn=(892)
10346 1320
+2 480
+1 214
+3 13
+1 13
+1 13
+1 13
+2 91
cfi=(53)
cfn=(1198) check_wal_buffers
calls=2 4890
* 34
cfn=(1166)
calls=1 10661
* 12
cfn=(1078)
calls=1 10906
* 17
cfi=(52)
cfn=(1064) check_max_stack_depth
calls=3 3326
* 1423
cfn=(1062)
calls=3 10866
* 51
cfn=(992)
calls=1 10914
* 1391
cfn=(898) check_autovacuum_work_mem
calls=1 10883
* 13
cfn=(896) check_autovacuum_max_workers
calls=1 10875
* 17
* 39
+17 13
+1 720
fn=(896)
10875 5
+1 9
+2 1
+1 2
fn=(898)
10883 5
+7 4
+1 2
+11 2
fn=(1002) assign_effective_io_concurrency
10941 4
+2 3
+2 2
fn=(1094) check_recovery_target_time
11151 6
+1 5
+45 1
+1 2
fn=(1098) check_recovery_target_timeline
11030 6
+1 1
+3 5
+1 2
+15 3
cfn=(862)
calls=1 4473
* 208
* 1
+1 3
+1 3
+2 1
+1 2
fn=(1104) assign_recovery_target_xid
11135 5
+1 3
+4 6
+6 1
+1 2
fn=(1264)
4545 360
+1 180
+3 180
+3 360
cfn=(1266)
calls=48 -30
* 1032
* 144
+1 72
cob=(3)
cfi=(3)
cfn=(590)
calls=24 0
* 2076
* 24
+1 120
fn=(2984) AtStart_GUC
5542 4
+6 6
+3 2
+1 4
fn=(3734) BeginReportingGUCOptions
5858 3
+7 3
+1 2
-1 2
+4 1
+3 2
+2 2198
+2 1570
+1 33
cfn=(1468)
calls=11 +9
* 12220
-5 1259
+7 2
fn=(4136) DefineCustomStringVariable
8355 18
+3 18
cfn=(4124)
calls=2 8025
* 1437
* 2
+3 6
+1 6
+1 6
+1 6
+1 6
+1 6
cfn=(4126)
calls=2 8079
* 1402104
+1 4
fn=(874)
5066 1276
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+2 2233
+4 184
+1 276
+1 92
+2 644
cfn=(876)
calls=92 10312
* 2341
* 276
+4 368
+2 736
+1 644
+1 184
+4 216
+1 324
+1 108
+4 756
cfn=(892)
calls=108 10346
* 5433
* 324
+4 432
+1 42
cfn=(1162)
calls=1 10832
* 23
cfn=(1158) assign_tcp_keepalives_idle
calls=1 10805
* 23
cfn=(1154)
calls=1 10849
* 23
cfi=(53)
cfn=(1074)
calls=1 2286
* 36
cfi=(52)
cfn=(1072)
calls=1 3343
* 12
cfn=(1002)
calls=1 10941
* 9
+1 864
+1 756
+1 216
+4 40
+1 60
+1 20
+4 140
cfn=(894) call_real_check_hook
calls=20 10380
* 686
* 60
+4 80
+1 8
cfi=(39)
cfn=(1126) assign_random_seed
calls=1 603
* 13
+1 160
+1 140
+1 40
+4 138
+2 69
+3 276
+1 310
cfn=(878)
calls=62 4505
* 16302
* 124
+2 7
+2 49
cfn=(880)
calls=7 10414
* 241
* 434
cfn=(880)
calls=62 10414
* 25834
* 207
+4 276
+1 196
cob=(12)
cfi=(233) /home/mithuncy/fsm_code/src/pl/plpgsql/src/pl_handler.c
cfn=(4146) plpgsql_extra_errors_assign_hook
calls=1 136
* 10
cob=(12)
cfi=(233)
cfn=(4144) plpgsql_extra_warnings_assign_hook
calls=1 130
* 10
cfn=(1202)
calls=1 10561
* 8
cfn=(1188)
calls=1 10769
* 10
cfi=(39)
cfn=(1184)
calls=1 374
* 9
cfi=(48) /home/mithuncy/fsm_code/src/backend/commands/tablespace.c
cfn=(1170) assign_temp_tablespaces
calls=1 1270
* 28
cfn=(1152)
calls=1 10640
* 55
cfi=(56) /home/mithuncy/fsm_code/src/backend/replication/syncrep.c
cfn=(1146) assign_synchronous_standby_names
calls=1 1202
* 8
cfn=(1136)
calls=1 10949
* 1637
cfi=(39)
cfn=(1130)
calls=1 793
* 12
cfi=(55) /home/mithuncy/fsm_code/src/backend/catalog/namespace.c
cfn=(1122) assign_search_path
calls=1 4190
* 7
cfi=(39)
cfn=(1108) assign_role
calls=1 882
* 31
cfn=(1104)
calls=1 11135
* 17
cfn=(1100)
calls=1 11059
* 14
cfn=(1096)
calls=1 11202
* 17
cfn=(1092)
calls=1 11231
* 17
cfn=(1088)
calls=1 11289
* 17
cfn=(1084) assign_recovery_target
calls=1 11102
* 17
cfi=(39)
cfn=(1060)
calls=1 447
* 9
cfn=(1028)
calls=1 10624
* 9
cfi=(18)
cfn=(1022)
calls=1 338
* 7
cfi=(18)
cfn=(1018)
calls=1 326
* 7
cfi=(18)
cfn=(1014)
calls=1 314
* 7
cfi=(18)
cfn=(1008)
calls=1 377
* 8029
cfi=(49)
cfn=(990)
calls=1 652
* 7
cfi=(39)
cfn=(982)
calls=1 237
* 14
cfi=(39)
cfn=(920)
calls=1 699
* 39
cfn=(886)
calls=1 10987
* 21
+1 552
+1 483
+1 138
+4 60
+1 90
+1 30
+2 210
cfn=(890)
calls=30 10448
* 731
* 90
+4 120
+1 28
cfi=(53)
cfn=(1204) assign_xlog_sync_method
calls=1 10087
* 13
cfn=(1148)
calls=1 10630
* 280
cfi=(56)
cfn=(1142) assign_synchronous_commit
calls=1 1208
* 11
cfn=(1132)
calls=1 10650
* 10
+1 240
+1 210
+1 30
+3 638
fn=(878)
4505 750
+3 375
cob=(3)
cfi=(3)
cfn=(384)
calls=125 0
* 29903
* 125
* 125
+1 250
+4 125
+1 500
fn=(880)
10414 1089
+2 396
+1 88
+3 55
+1 55
+1 55
+1 55
+2 385
cob=(12)
cfi=(233)
cfn=(4138) plpgsql_extra_checks_check_hook
calls=2 63
* 677
cfn=(1200)
calls=1 +62
* 594
cfn=(1186)
calls=3 10739
* 1585161
cfi=(39)
cfn=(1174) check_timezone
calls=3 254
* 8397
cfi=(48)
cfn=(1168) check_temp_tablespaces
calls=1 1165
* 339
cfi=(56)
cfn=(1144) check_synchronous_standby_names
calls=1 1145
* 20
cfi=(39)
cfn=(1128) check_session_authorization
calls=2 745
* 929
cfi=(55)
cfn=(1112) check_search_path
calls=1 4156
* 3187
cfi=(39)
cfn=(1106) check_role
calls=1 815
* 245
cfn=(1102)
calls=1 11115
* 14
cfn=(1098)
calls=1 11030
* 235
cfn=(1094)
calls=1 11151
* 14
cfn=(1090)
calls=1 11218
* 31
cfn=(1086)
calls=1 11247
* 14
cfn=(1082)
calls=1 11091
* 44
cfn=(1080)
calls=1 11305
* 18
cfi=(39)
cfn=(1034) check_log_timezone
calls=3 409
* 1264715
cfn=(1024)
calls=1 10567
* 1913
cfi=(18)
cfn=(1020) check_locale_time
calls=3 332
* 13471
cfi=(18)
cfn=(1016) check_locale_numeric
calls=3 320
* 13483
cfi=(18)
cfn=(1010) check_locale_monetary
calls=3 308
* 13451
cfi=(18)
cfn=(1006) check_locale_messages
calls=3 354
* 1121
cfn=(1004)
calls=3 10726
* 794
cfi=(49)
cfn=(988) check_TSCurrentConfig
calls=3 592
* 75
cfi=(48)
cfn=(984) check_default_tablespace
calls=1 1070
* 25
cfi=(39)
cfn=(926) check_datestyle
calls=3 45
* 12716
cfn=(924) check_cluster_name
calls=1 10994
* 25
cfi=(39)
cfn=(902) check_client_encoding
calls=4 623
* 4940
cfn=(882)
calls=2 10978
* 102
* 165
+17 55
+1 594
fn=(894)
10380 220
+2 80
+1 38
+3 1
+1 1
+1 1
+1 1
+2 7
cfi=(39)
cfn=(1124) check_random_seed
calls=1 591
* 213
* 3
+17 1
+1 120
fn=(924)
10994 6
+2 4
cfi=(37)
cfn=(884)
calls=1 83
* 12
+2 1
+1 2
fn=(1084)
11102 5
+1 3
+4 6
+3 1
+1 2
fn=(1158)
10805 5
+12 5
cfi=(58)
cfn=(1160)
calls=1 1731
* 11
+1 2
fn=(2652) GetConfigOption
7195 225
+4 125
cfn=(1212)
calls=25 4869
* 31262
* 25
+1 50
+9 50
+8 175
+3 14
+4 12
-1 42
cfi=(17)
cfn=(462)
calls=6 203
* 2844
+2 12
+8 64
+4 2
-1 5
cfn=(2654)
calls=1 6115
* 24
* 1
+4 100
fn=(2654)
6115 10
+3 8
+2 8
+1 6
-3 12
+9 4
fn=(4124)
8025 45
+10 10
+10 20
+9 10
+1 16
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 115
* 4
-1 8
+2 16
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 115
* 4
-1 8
+4 15
cfn=(862)
calls=5 4473
* 1111
* 5
+1 25
cob=(3)
cfi=(3)
cfn=(828)
calls=5 0
* 164
* 5
+2 20
cfn=(878)
calls=5 4505
* 1218
* 10
+1 15
+1 10
+1 15
+1 15
+1 15
+1 15
+2 5
+1 10
fl=(43) /home/mithuncy/fsm_code/src/backend/utils/mb/wchar.c
fn=(942) pg_database_encoding_max_length
1834 2036
+1 1018
cfi=(19) /home/mithuncy/fsm_code/src/backend/utils/mb/mbutils.c
cfn=(612) GetDatabaseEncoding
calls=1018 1005
* 6108
* 7126
+1 2036
fn=(3844) pg_verify_mbstr_len
1895 700008
+9 262503
cfn=(3528) pg_encoding_max_length
calls=87501 -83
* 1137513
* 175002
+12 787509
+2 87501
+2 87501
+5 834740
+2 834740
+2 208685
+1 208685
+1 208685
+1 208685
-12 592372
+32 87501
+1 175002
fn=(3530) pg_utf_mblen
542 24
+3 32
+1 16
+15 8
+1 16
fn=(3528)
1821 262509
+3 700024
+1 175006
fn=(3842) pg_verify_mbstr
1878 700008
+1 525006
cfn=(3844)
calls=87501 +16
* 6596632
* 175002
+1 175002
fl=(91) /home/mithuncy/fsm_code/src/backend/storage/lmgr/lock.c
fn=(3046) LockTagHashCode
491 30436
+1 38045
cfi=(31) /home/mithuncy/fsm_code/src/backend/utils/hash/dynahash.c
cfn=(2226) get_hash_value
calls=7609 861
* 1042433
+1 15218
fn=(3540) FastPathGrantRelationLock
2565 1072
+2 268
+3 536
+2 51456
+1 8760
+1 8208
-4 13400
+13 536
+2 1340
+1 4288
+1 804
+1 536
+5 536
fn=(3682) AbortStrongLockAcquire
1667 9
+2 6
+2 6
+1 3
+10 6
fn=(2220) InitLocks
378 3
+10 7
cfi=(87)
cfn=(2002)
calls=1 +88
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+1 6
+6 118
+1 1
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162) ShmemInitHash
calls=1 -78
* 53886
* 1
+7 1
+1 1
+6 1
+1 1
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 -97
* 99180
* 1
+10 5
cfi=(87)
cfn=(2168)
calls=1 -56
* 1322
-1 1
+3 4
+1 2
+11 3
+3 1
+1 1
+2 6
cfi=(31)
cfn=(794) hash_create
calls=1 317
* 2788
* 1
+4 2
fn=(3044) LockAcquireExtended
738 92612
+1 28496
+11 7124
+2 28496
+2 28496
+1 42744
+3 7124
cfi=(53)
cfn=(2878) RecoveryInProgress
calls=7124 7896
* 78364
* 14248
+18 14248
+3 14248
+5 128232
cob=(3)
cfi=(3)
cfn=(828)
calls=7124 0
* 99736
* 7124
+1 35620
+1 14248
+2 49868
cfi=(31)
cfn=(836) hash_search
calls=7124 910
* 2890180
* 7124
+7 28496
+2 14246
+1 14246
+1 21369
cfn=(3046)
calls=7123 491
* 1054204
* 14246
+1 14246
+1 14246
+1 14246
+1 14246
+1 14246
+1 14246
+3 14246
-1 49861
cfi=(13)
cfn=(798)
calls=7123 -35
* 664671
-1 21369
+7 6
+10 21372
+2 14248
+1 16866
+8 28496
+2 5
cfn=(3058) GrantLockLocal
calls=1 1602
* 40
+1 4
+1 2
+17 14246
+19 113128
+1 5603
-1 11206
+3 804
+9 1340
cfi=(99) /home/mithuncy/fsm_code/src/backend/storage/lmgr/lwlock.c
cfn=(2170) LWLockAcquire
calls=268 1122
* 36716
+1 1340
+3 1608
cfn=(3540)
calls=268 2565
* 91740
* 268
+2 1072
cfi=(99)
cfn=(2182) LWLockRelease
calls=268 1726
* 24388
+1 536
+7 536
+1 536
+1 1340
cfn=(3058)
calls=268 1602
* 19600
+1 536
+10 86922
+28 54840
+2 27420
cfi=(99)
cfn=(2170)
calls=6855 1122
* 939135
+11 54840
cfn=(3048) SetupLockInTable
calls=6855 1121
* 5726779
* 6855
+2 13710
+16 20565
+1 20565
+1 20565
+7 82260
+3 41130
cfn=(3054) LockCheckConflicts
calls=6855 1348
* 191940
* 6855
+3 13710
+3 41130
cfn=(3056) GrantLock
calls=6855 1468
* 452430
+1 34275
cfn=(3058)
calls=6855 1602
* 405330
* 6855
+95 6855
cfn=(3062) FinishStrongLockAcquire
calls=6855 1657
* 34275
+2 20565
cfi=(99)
cfn=(2182)
calls=6855 1726
* 623805
+6 13710
+11 6855
+1 35620
fn=(3108) UnGrantLock
1492 41130
+1 6855
+9 34275
+1 75405
+1 34275
+1 75405
+2 47985
+3 75405
+14 82260
+6 75405
+3 6855
+1 13710
fn=(3062)
1657 13710
+1 6855
+1 13710
fn=(3064) MarkLockClear
1709 16863
+2 11242
+1 11242
fn=(3542) FastPathUnGrantRelationLock
2602 20476
+2 5119
+2 5119
+1 10238
+2 491424
+1 4020
+3 4556
+1 268
+3 982848
+1 236952
-11 255950
+13 5119
+1 10238
fn=(3686) VirtualXactLockTableCleanup
4320 6
+9 10
cfi=(99)
cfn=(2170)
calls=2 1122
* 274
+2 6
+1 6
+1 4
+1 4
+2 8
cfi=(99)
cfn=(2182)
calls=2 1726
* 182
+6 8
+12 4
fn=(3058)
1602 35620
+1 21372
+5 35620
+2 14248
+2 9
+2 9
+1 1
-5 28496
+8 56984
+1 49861
+1 35615
+1 14246
+1 35615
cfi=(164) /home/mithuncy/fsm_code/src/backend/utils/resowner/resowner.c
cfn=(3060) ResourceOwnerRememberLock
calls=7123 933
* 83026
+1 14248
fn=(3104) LockRelease
1885 46354
+1 26488
+9 26488
+2 26488
+1 39732
+13 119196
cob=(3)
cfi=(3)
cfn=(828)
calls=6622 0
* 92708
* 6622
+1 33110
+1 13244
+2 39732
cfi=(31)
cfn=(836)
calls=6622 910
* 1968686
* 6622
+7 39732
+11 19866
+5 13244
+3 13244
+2 33110
+2 59598
+3 79464
+2 13242
+1 33105
cfi=(164)
cfn=(3106) ResourceOwnerForgetLock
calls=6621 953
* 88566
+2 33105
+1 26484
+3 6622
-14 13244
+17 13244
+13 33110
+2 26488
+1 2
+9 13242
+3 104112
+1 5103
-1 10206
+9 25515
cfi=(99)
cfn=(2170)
calls=5103 1122
* 699111
+1 30618
cfn=(3542)
calls=5103 2602
* 2025855
* 5103
+2 20412
cfi=(99)
cfn=(2182)
calls=5103 1726
* 464373
+1 10206
+2 756
cfn=(3112) RemoveLocalLock
calls=252 1297
* 118883
+1 504
+7 57321
+2 25476
cfi=(99)
cfn=(2170)
calls=6369 1122
* 872553
+10 19107
+1 12738
+24 19107
+7 57321
+13 38214
cfn=(3108)
calls=6369 1492
* 528627
* 6369
+2 57321
cfn=(3110) CleanUpLock
calls=6369 1550
* 3696380
+4 19107
cfi=(99)
cfn=(2182)
calls=6369 1726
* 579579
+2 19107
cfn=(3112)
calls=6369 1297
* 3041296
+1 6369
+1 13244
fn=(2978) VirtualXactLockTableInsert
4297 8
+3 10
cfi=(99)
cfn=(2170)
calls=2 1122
* 274
+6 4
+1 6
+2 8
cfi=(99)
cfn=(2182)
calls=2 1726
* 182
+1 4
fn=(3052) ProcLockHashCode
539 54840
+1 27420
+6 41130
+1 41130
+2 13710
+1 27420
fn=(3110)
1550 61695
+5 27420
+5 27420
cfi=(126)
cfn=(2236) SHMQueueDelete
calls=6855 69
* 171375
+1 27420
cfi=(126)
cfn=(2236)
calls=6855 69
* 171375
+1 34275
cfn=(3052)
calls=6855 539
* 102825
* 6855
+2 6855
-1 41130
cfi=(31)
cfn=(842) hash_search_with_hash_value
calls=6855 924
* 1583232
* 13710
+8 27420
+9 6855
-1 41130
cfi=(31)
cfn=(842)
calls=6855 924
* 1592948
* 13710
+5 6855
+7 13710
fn=(5618) LockReassignCurrentOwner
2489 5
+1 3
cfi=(164)
cfn=(5620) ResourceOwnerGetParent
calls=1 739
* 7
* 1
+4 2
+5 5
cfi=(31)
cfn=(3502) hash_seq_init
calls=1 1380
* 53
+2 1
+1 2505
cfn=(5622) LockReassignOwner
calls=501 +17
* 40764
-1 1506
cfi=(31)
cfn=(3508) hash_seq_search
calls=502 1390
* 30233
* 1507
+10 2
fn=(3112)
1297 28492
+3 49861
+5 14246
+1 28492
+1 28492
cfi=(13)
cfn=(952)
calls=7123 1032
* 605455
+1 14246
+2 28492
+14 7123
-1 35615
cfi=(31)
cfn=(836)
calls=7123 910
* 2525616
* 14246
+4 14246
fn=(2016) LockShmemSize
3437 3
+1 1
+4 7
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+1 4
cfi=(31)
cfn=(2006) hash_estimate_size
calls=1 733
* 435
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 1
+1 4
cfi=(31)
cfn=(2006)
calls=1 733
* 438
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+5 8
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(3056)
1468 34275
+1 34275
+1 75405
+1 68550
+1 82260
+1 75405
+1 68550
+4 13710
fn=(3488) LockAcquire
712 12016
+1 12016
cfn=(3044)
calls=1502 +25
* 3145808
+2 3004
fn=(5622)
2519 2505
+3 501
+1 501
+6 1503
+1 2505
+2 5010
+1 1500
+1 9
+1 2
-5 2505
+8 1002
+1 1
+2 1000
+3 4000
+1 2500
cfi=(164)
cfn=(3060)
calls=500 933
* 5718
* 500
+11 2500
cfi=(164)
cfn=(3106)
calls=500 953
* 6000
+1 1002
fn=(3048)
1121 54840
+10 54840
cfi=(31)
cfn=(842)
calls=6855 924
* 1785251
* 6855
+5 13710
+6 27420
+2 13710
+1 13710
+1 27420
cfi=(126)
cfn=(2228)
calls=6855 37
* 82260
+1 27420
cfi=(84) /home/mithuncy/fsm_code/src/backend/storage/lmgr/proc.c
cfn=(3050) ProcQueueInit
calls=6855 1023
* 157665
+1 13710
+1 13710
+1 431865
+1 102825
cob=(3)
cfi=(3)
cfn=(828)
calls=6855 0
* 109680
* 6855
+14 13710
+1 13710
+2 34275
cfn=(3052)
calls=6855 539
* 102825
* 6855
+5 54840
cfi=(31)
cfn=(842)
calls=6855 924
* 1775348
* 6855
+5 13710
+25 27420
+2 20565
+12 13710
+1 20565
-1 13710
+2 13710
+1 13710
+2 47985
cfi=(126)
cfn=(2230) SHMQueueInsertBefore
calls=6855 90
* 157665
+1 82260
cfi=(126)
cfn=(2230)
calls=6855 90
* 157665
+52 34275
+1 75405
+7 61695
+6 6855
+1 13710
fn=(3054)
1348 47985
+1 20565
+2 54840
+2 6855
+14 34275
+3 13710
+83 13710
fn=(3684) LockReleaseAll
2090 40
+9 5
+2 20
+2 20
+13 10
+1 2
cfn=(3686)
calls=2 4320
* 512
+2 15
+10 25
cfi=(31)
cfn=(3502)
calls=5 1380
* 265
+2 5
+7 2008
+7 2510
+8 2008
+2 1506
+3 1004
+2 4518
+3 5522
cfi=(164)
cfn=(3106)
calls=502 953
* 6055
-5 4518
+8 2008
+1 1004
-1 1004
+11 1004
+7 3952
+2 48
+4 288
+11 64
+2 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+1 1
+4 3
+1 5
cfn=(3542)
calls=1 2602
* 427
-1 45
+1 75
cfn=(3542)
calls=15 2602
* 6045
* 32
+2 48
cfn=(3112)
calls=16 1297
* 7472
+1 16
+25 1944
+1 6318
+3 1458
cfn=(3112)
calls=486 1297
* 226971
2131 1521
cfi=(31)
cfn=(3508)
calls=507 1390
* 47335
* 1521
2245 10
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+5 10
+3 640
+3 560
+21 480
cfi=(126)
cfn=(2234) SHMQueueNext
calls=80 146
* 1251
* 160
+2 63
+2 68
cfi=(99)
cfn=(2170)
calls=17 1122
* 2329
+2 102
cfi=(126)
cfn=(2234)
calls=17 146
* 306
* 34
+5 486
+4 972
-1 2430
cfi=(126)
cfn=(2234)
calls=486 146
* 8697
* 486
+6 1458
+3 2430
+7 972
+9 1944
+13 972
+2 34992
+1 3402
cfn=(3108)
calls=486 1492
* 40338
* 2430
-3 17010
+10 972
+3 486
+2 486
-2 972
cfn=(3046)
calls=486 491
* 71928
* 3402
cfn=(3110)
calls=486 1550
* 281835
-56 972
-3 1006
+65 51
cfi=(99)
cfn=(2182)
calls=17 1726
* 1547
-98 250
2356 20
fl=(289) /home/mithuncy/fsm_code/src/backend/parser/parse_coerce.c
fn=(4982) coerce_type
159 50
+5 25
+6 18
+1 8
+15 4
+2 12
+1 6
+36 14
+19 4
+1 8
cfi=(13)
cfn=(2950)
calls=2 853
* 272
* 10
+15 4
+1 10
cfi=(275) /home/mithuncy/fsm_code/src/backend/utils/cache/lsyscache.c
cfn=(4938) getBaseTypeAndTypmod
calls=2 2284
* 952
* 2
+11 4
+3 2
+2 6
cfi=(291) /home/mithuncy/fsm_code/src/backend/parser/parse_type.c
cfn=(4984) typeidType
calls=2 560
* 712
* 2
+2 6
+1 6
+1 6
cfi=(291)
cfn=(4986) typeTypeCollation
calls=2 622
* 30
* 4
+1 6
cfi=(291)
cfn=(4988) typeLen
calls=2 581
* 30
* 6
+1 6
cfi=(291)
cfn=(4990) typeByVal
calls=2 591
* 30
* 4
+1 8
+7 8
+6 14
cfi=(226)
cfn=(4992) setup_parser_errposition_callback
calls=2 147
* 48
+6 10
+2 4
-1 12
cfi=(291)
cfn=(4994) stringTypeDatum
calls=2 636
* 788
* 6
+13 18
+2 8
cfi=(161) /home/mithuncy/fsm_code/src/backend/utils/fmgr/fmgr.c
cfn=(5008) pg_detoast_datum
calls=2 1918
* 26
* 2
-1 4
+31 6
cfi=(226)
cfn=(5010) cancel_parser_errposition_callback
calls=2 162
* 16
+2 4
+3 6
+7 6
cfi=(151) /home/mithuncy/fsm_code/src/backend/utils/cache/syscache.c
cfn=(3418) ReleaseSysCache
calls=2 1161
* 206
+2 4
+2 6
+1 4
+15 4
+19 6
cfn=(4950) find_coercion_pathway
calls=1 2234
* 2348
* 1
+2 2
+2 2
+12 2
+1 5
cfi=(275)
cfn=(4938)
calls=1 2284
* 476
* 1
+2 12
cfn=(5104) build_coercion_expression
calls=1 816
* 203
* 1
+8 3
+1 1
+36 2
+68 20
fn=(5104)
816 9
+1 1
+2 2
+28 2
+44 2
+60 2
+3 4
cfi=(13)
cfn=(2950)
calls=1 853
* 160
* 5
+4 3
+1 3
+2 3
+1 3
+2 2
+8 2
fn=(4962) typeIsOfTypedTable
2451 35
+1 21
cfi=(291)
cfn=(4960) typeOrDomainTypeRelid
calls=7 671
* 3346
* 7
+1 7
+2 14
+16 7
+1 14
fn=(4970) TypeCategory
2082 16
+4 24
cfi=(275)
cfn=(4972) get_type_category_preferred
calls=4 2446
* 23832
+2 4
+1 8
fn=(4964) check_generic_type_consistency
1478 24
+2 4
+1 4
+2 4
+2 4
+1 4
+1 4
+6 8
+2 56
+1 56
+2 28
+1 10
+3 3
+1 6
+1 2
+1 4
+2 6
+1 1
+1 4
+2 6
+2 10
+2 8
+1 2
+1 6
cfi=(275)
cfn=(4936) getBaseType
calls=2 2267
* 976
* 2
+1 4
+2 6
+2 2
-29 44
+41 8
+2 4
+8 6
cfi=(275)
cfn=(4956) get_element_type
calls=2 2494
* 952
* 2
+1 4
+1 4
+17 4
+20 4
+3 3
cfi=(275)
cfn=(4966) get_base_element_type
calls=1 2567
* 480
* 2
+4 4
+8 2
+1 8
fn=(4978) enforce_generic_type_consistency
1677 33
+2 3
+1 3
+1 3
+1 3
+1 3
+4 6
-1 6
+1 9
-1 6
+3 9
+1 9
+6 6
+2 42
+1 42
+2 24
+1 10
+3 3
+1 2
+1 2
+3 2
+5 2
+2 2
+7 3
+2 10
+20 10
-50 33
+76 12
+1 4
+3 2
+38 2
+38 2
+18 4
+3 3
cfi=(275)
cfn=(4966)
calls=1 2567
* 480
* 2
+7 2
+13 2
+42 2
+15 2
+13 4
+1 2
+5 1
+1 15
fn=(5102) coerce_to_target_type
83 9
+4 6
cfn=(4948) can_coerce_type
calls=1 545
* 2411
* 3
+12 2
+1 7
+3 12
cfn=(4982)
calls=1 +56
* 3112
* 1
+12 10
-3 11
cfn=(5106) coerce_type_typmod
calls=1 744
* 17
* 1
+5 3
+12 1
+1 2
fn=(5106)
744 11
+8 2
+1 2
+16 2
fn=(4950)
2234 63
+1 9
+3 18
+3 18
+1 27
cfi=(275)
cfn=(4936)
calls=9 +25
* 4392
* 9
+1 18
+1 27
cfi=(275)
cfn=(4936)
calls=9 +23
* 135438
* 9
+3 27
+4 45
cfi=(151)
cfn=(4952) SearchSysCache2
calls=9 1125
* 119902
* 9
+4 18
+62 36
+5 27
cfi=(275)
cfn=(4956)
calls=9 2494
* 4311
* 27
+27 18
+2 18
+1 6
cfn=(4970)
calls=2 2082
* 984
-1 4
+2 4
+1 14
+6 9
+1 18
fn=(5116) IsBinaryCoercible
2136 5
+6 3
+1 2
+58 2
fn=(4974) IsPreferredType
2101 12
+4 12
cfi=(275)
cfn=(4972)
calls=2 2446
* 44561
+1 10
+3 2
+1 4
fn=(4948)
545 91
+1 13
+4 26
+2 175
+1 175
+5 75
+4 50
+1 1
+3 192
+2 8
+1 8
+7 32
+1 8
+6 48
cfn=(4950)
calls=8 2234
* 263157
* 8
+2 16
+1 1
+6 14
+7 14
+18 14
+7 35
cfi=(290) /home/mithuncy/fsm_code/src/backend/catalog/pg_inherits.c
cfn=(4958) typeInheritsFrom
calls=7 311
* 3458
* 14
+1 35
cfn=(4962)
calls=7 2451
* 3451
* 14
+6 14
-81 111
+85 12
+2 24
cfn=(4964)
calls=4 1478
* 2785
* 12
+2 4
+3 4
+1 26
fl=(41)
fn=(5166) text_catenate
698 2500
+7 7500
+1 7500
+3 1000
+2 1000
+3 2500
+1 2000
cfi=(13)
cfn=(940) palloc
calls=500 925
* 61500
* 500
+3 2000
+3 1500
+1 1000
+1 7000
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 7000
* 500
+1 1000
+1 8500
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 6802
* 500
+2 500
+1 1000
fn=(5184) textout
523 4000
+1 3000
+2 3000
cfn=(4028) text_to_cstring
calls=1000 186
* 215000
+1 2000
fn=(1960)
3634 7
+1 2
+1 1
+2 2
+2 6
cfi=(42)
cfn=(934) scanner_isspace
calls=1 222
* 17
* 2
+3 4
+9 4
+21 4
+1 1
+3 20
cfi=(42)
cfn=(934)
calls=4 222
* 68
* 12
+1 12
+1 4
-5 36
+7 3
+4 6
cfi=(42)
cfn=(934)
calls=1 222
* 17
* 2
+3 4
+7 4
+1 2
+5 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 2
+6 3
cfi=(13)
cfn=(928)
calls=1 1162
* 145
* 1
+1 3
cfi=(11)
cfn=(484)
calls=1 255
* 392
+1 6
cfi=(45)
cfn=(960)
calls=1 129
* 228
* 2
+3 4
+2 1
+1 2
fn=(4028)
186 4012
+2 3009
cfi=(161)
cfn=(4030) pg_detoast_datum_packed
calls=1003 1950
* 17051
* 1003
+1 15051
+3 5000
cfi=(13)
cfn=(940)
calls=1000 925
* 123000
-3 3
+3 15
cfi=(13)
cfn=(940)
calls=3 925
* 338
* 1003
+1 14033
cob=(3)
cfi=(3)
cfn=(856)
calls=1000 0
* 20000
* 1000
* 12
cob=(3)
cfi=(3)
cfn=(856)
calls=3 0
* 48
* 3
+1 5015
+2 3009
+3 1003
+1 2006
fn=(5006) cstring_to_text_with_len
165 5010
+1 5010
cfi=(13)
cfn=(940)
calls=1002 925
* 116715
* 1002
+2 5010
+1 8016
cob=(3)
cfi=(3)
cfn=(856)
calls=1002 0
* 19840
* 1002
+2 1002
+1 2004
fn=(5164) textcat
683 2000
+1 2000
cfi=(161)
cfn=(4030)
calls=500 1950
* 8500
* 500
+1 2000
cfi=(161)
cfn=(4030)
calls=500 1950
* 8500
* 500
+2 2500
cfn=(5166)
calls=500 +11
* 123302
+1 1000
fn=(932)
3507 63
+1 18
+1 9
+2 18
+2 54
cfi=(42)
cfn=(934)
calls=9 222
* 153
* 18
+3 36
+1 4
+8 48
+3 6
+3 10
cob=(3)
cfi=(3)
cfn=(1120)
calls=1 0
* 27
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1301
* 6
* 2
+1 4
+2 10
+1 2
+6 6
+32 2
-24 20
+1 10
+2 45
-2 412
+1 225
cfi=(42)
cfn=(934)
calls=45 222
* 765
* 45
-1 90
+3 20
+1 30
+12 50
+1 60
cfi=(42)
cfn=(936) downcase_truncate_identifier
calls=10 132
* 2707
* 10
+2 70
cob=(3)
cfi=(3)
cfn=(950)
calls=9 0
* 280
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1321
* 14
+1 30
cfi=(13)
cfn=(952)
calls=10 1032
* 733
+3 70
cfi=(42)
cfn=(934)
calls=12 222
* 204
* 24
+3 48
+2 5
+1 5
+1 5
-1 25
cfi=(42)
cfn=(934)
calls=5 222
* 85
* 25
cfi=(42)
cfn=(934)
calls=5 222
* 50
* 25
+4 28
+1 14
+5 24
+3 36
cob=(3)
cfi=(3)
cfn=(424)
calls=12 0
* 188
* 12
* 72
cfi=(42)
cfn=(958)
calls=12 188
* 168
+5 72
cfi=(45)
cfn=(960)
calls=12 129
* 2910
* 24
+3 48
+2 7
+1 18
fn=(5002) textin
512 2008
+1 1506
+2 1506
cfn=(5004) cstring_to_text
calls=502 153
* 91182
+1 1004
fn=(5168) text_format
5304 3000
+10 500
+1 500
+1 500
+1 500
+1 500
+5 2000
+4 2000
cfi=(161)
cfn=(5170) get_fn_expr_variadic
calls=500 2130
* 10500
* 1000
+44 2000
+1 500
+4 2000
cfi=(161)
cfn=(4030)
calls=500 1950
* 8500
* 500
+1 4500
+1 9000
+1 1500
cfi=(80)
cfn=(1888) initStringInfo
calls=500 47
* 77473
+1 500
+3 1500
+14 134000
+2 660000
+1 33000
+3 2000
+3 2000
+7 5000
cfn=(5172) text_format_parse_format
calls=500 5632
* 60000
* 500
+12 3000
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 13500
* 500
* 1000
+8 1500
+60 1500
+2 1500
+6 2000
+2 3000
+1 2500
+1 3000
cfi=(161)
cfn=(5176) get_fn_expr_argtype
calls=500 1996
* 58500
* 1000
+8 1000
+3 500
+7 1500
+5 3000
cfi=(275)
cfn=(5128) getTypeOutputInfo
calls=500 2642
* 250500
+1 2500
cfi=(161)
cfn=(2942) fmgr_info
calls=500 125
* 41000
+1 1000
+6 4500
+5 6000
cfn=(5178) text_format_string_conversion
calls=500 5710
* 798152
+3 1000
5383 135500
5557 1500
+2 1500
+4 2500
cfn=(5006)
calls=500 165
* 88500
* 500
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+2 500
+1 2500
fn=(5172)
5632 5500
+1 1000
+4 1000
+1 1000
+1 1000
+1 1000
+3 3000
cfn=(5174) text_format_parse_digits
calls=500 -62
* 17000
* 1000
+19 2500
+6 2000
+26 3000
cfn=(5174)
calls=500 5581
* 17000
* 1000
+5 500
+1 2500
fn=(5178)
5710 6000
+4 1000
+14 2500
cfi=(161)
cfn=(5180) OutputFunctionCall
calls=500 1754
* 131000
* 500
+3 1000
+3 1500
cfi=(299) /home/mithuncy/fsm_code/src/backend/utils/adt/ruleutils.c
cfn=(5186) quote_identifier
calls=500 10555
* 532652
* 3000
cfn=(5188) text_format_append_string
calls=500 +23
* 72500
* 500
+14 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 2000
fn=(5004)
153 2008
+1 1506
cob=(3)
cfi=(3)
cfn=(424)
calls=502 0
* 7541
* 502
* 2510
cfn=(5006)
calls=502 +11
* 76111
+1 1004
fn=(5188)
5757 4000
+1 500
+4 1000
+2 2500
cfi=(80)
cfn=(1918) appendStringInfoString
calls=500 164
* 62000
+1 500
+32 2000
fn=(5174)
5581 8000
+1 1000
+1 3000
+1 1000
+2 9000
+13 3000
+1 3000
+2 1000
+1 5000
fl=(123)
fn=(3234) pg_atomic_compare_exchange_u32
316 217908
+4 217908
cfi=(180) /home/mithuncy/fsm_code/src/backend/storage/buffer/../../../../src/include/port/atomics/arch-x86.h
cfn=(3236) pg_atomic_compare_exchange_u32_impl
calls=36318 170
* 726360
+1 72636
fn=(3258)
332 7510
+2 7510
cfi=(180)
cfn=(3260) pg_atomic_fetch_add_u32_impl
calls=1502 190
* 18024
+1 3004
fn=(3276) pg_atomic_write_u32
262 30040
+3 30040
cfi=(124) /home/mithuncy/fsm_code/src/backend/storage/buffer/../../../../src/include/port/atomics/generic.h
cfn=(2210) pg_atomic_write_u32_impl
calls=6008 56
* 54072
+1 12016
fn=(2206)
227 81920
+3 81920
cfi=(124)
cfn=(2208) pg_atomic_init_u32_impl
calls=16384 -68
* 344064
+1 32768
-4 10
+3 10
cfi=(124)
cfn=(2208)
calls=2 -68
* 42
+1 4
fn=(3230) pg_atomic_read_u32
245 161280
+2 120960
cfi=(124)
cfn=(3232) pg_atomic_read_u32_impl
calls=40320 47
* 282240
+1 80640
fn=(3268) pg_atomic_fetch_or_u32
376 30040
+2 30040
cfi=(182) /home/mithuncy/fsm_code/src/backend/storage/buffer/../../../../src/include/port/atomics/generic-gcc.h
cfn=(3270) pg_atomic_fetch_or_u32_impl
calls=6008 212
* 96128
+1 12016
fl=(171) /home/mithuncy/fsm_code/src/backend/access/heap/heapam.c
fn=(3590) heapgetpage
352 5
+13 4
+11 3
+3 10
cfi=(50)
cfn=(3202) ReadBufferExtended
calls=1 642
* 1072
* 2
+2 3
+2 5
+3 3
+1 3
+5 6
cfi=(188) /home/mithuncy/fsm_code/src/backend/access/heap/pruneheap.c
cfn=(3364) heap_page_prune_opt
calls=1 75
* 84
+7 4
cfi=(50)
cfn=(3240) LockBuffer
calls=1 3553
* 162
+2 9
+1 7
cfi=(201) /home/mithuncy/fsm_code/src/backend/access/heap/../../../../src/include/storage/bufmgr.h
cfn=(3592) TestForOldSnapshot
calls=1 266
* 11
+1 11
+1 1
+22 15
+2 11
+4 30
+5 24
+1 42
+1 30
+1 42
+2 12
+1 12
+4 54
cfi=(92) /home/mithuncy/fsm_code/src/backend/storage/lmgr/predicate.c
cfn=(3378) CheckForSerializableConflictOut
calls=6 3902
* 234
+3 12
+1 48
-21 24
-1 6
-1 12
+1 1
-1 2
+27 4
cfi=(50)
cfn=(3240)
calls=1 3553
* 113
+3 3
+1 2
fn=(5222) relation_openrv
1215 2500
+14 1000
+1 500
cfi=(155) /home/mithuncy/fsm_code/src/backend/utils/cache/inval.c
cfn=(2988) AcceptInvalidationMessages
calls=500 680
* 33500
+3 3500
cfi=(55)
cfn=(5224) RangeVarGetRelidExtended
calls=500 230
* 28141294
* 500
+3 2000
cfn=(3036) relation_open
calls=500 1125
* 36718276
+1 1000
fn=(3036)
1125 17995
+6 7198
+1 15495
cfi=(159) /home/mithuncy/fsm_code/src/backend/storage/lmgr/lmgr.c
cfn=(3038) LockRelationOid
calls=3099 106
* 7151252
+3 10797
cfi=(148) /home/mithuncy/fsm_code/src/backend/utils/cache/relcache.c
cfn=(3066) RelationIdGetRelation
calls=3599 1904
* 37721934
* 3599
+2 7198
+12 17995
+3 10797
cfi=(38)
cfn=(3086) pgstat_initstats
calls=3599 1715
* 431782
+2 3599
+1 7198
fn=(3037) relation_open'2
1125 10115
+6 4046
+1 10115
cfi=(159)
cfn=(3038)
calls=2023 106
* 4799581
+3 6069
cfi=(148)
cfn=(3067) RelationIdGetRelation'2
calls=2023 1904
* 695274
* 2023
+2 4046
+12 10115
+3 6069
cfi=(38)
cfn=(3086)
calls=2023 1715
* 74489
+2 2023
+1 4046
fn=(3568) heap_beginscan_strat
1437 11
+1 15
cfn=(3570) heap_beginscan_internal
calls=1 +33
* 3080
+3 2
fn=(3586) heap_getnext
1848 5
+5 4
+1 8
cfn=(3588) heapgettup_pagemode
calls=1 793
* 2475
* 1
+5 4
+12 11
+2 2
+1 2
fn=(5380) heap_multi_insert
2699 5000
+1 500
cfi=(26)
cfn=(5382) GetCurrentTransactionId
calls=500 400
* 9083
* 500
+8 3000
+1 3000
+5 6000
+1 11500
+4 2500
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+1 1000
+1 1575000
cfn=(5400) heap_prepare_insert
calls=87500 -78
* 7000000
* 87500
-1 351500
+27 2500
cfi=(92)
cfn=(5402) CheckForSerializableConflictIn
calls=500 4282
* 16000
+2 500
+1 500
+3 2000
+1 2000
+3 6000
+6 38000
cfi=(313) /home/mithuncy/fsm_code/src/backend/access/heap/hio.c
cfn=(5406) RelationGetBufferForTuple
calls=2000 317
* 37664401
* 2000
+3 18000
+3 6000
+6 22000
cfi=(313)
cfn=(5444) RelationPutHeapTuple
calls=2000 40
* 560000
+1 4000
+2 783000
+2 261000
cfi=(185) /home/mithuncy/fsm_code/src/backend/storage/page/bufpage.c
cfn=(5440) PageGetHeapFreeSpace
calls=87000 663
* 4089000
* 870000
+1 1500
+2 513000
cfi=(313)
cfn=(5444)
calls=85500 40
* 33337500
+6 171000
-13 523000
+17 12000
+2 500
+1 3000
+1 2000
cfi=(50)
cfn=(3330) BufferGetBlockNumber
calls=500 2612
* 8000
* 3000
cfi=(316) /home/mithuncy/fsm_code/src/backend/access/heap/visibilitymap.c
cfn=(5448) visibilitymap_clear
calls=500 170
* 240500
+9 6000
cfi=(50)
cfn=(5450) MarkBufferDirty
calls=2000 1457
* 201000
+3 4000
2915 6000
+2 6000
cfi=(50)
cfn=(3610) UnlockReleaseBuffer
calls=2000 3339
* 555500
+1 6000
+1 1500
cfi=(50)
cfn=(3360) ReleaseBuffer
calls=500 3316
* 134500
+2 4000
2750 7500
2938 2500
cfi=(92)
cfn=(5402)
calls=500 4282
* 16000
+8 1500
cfi=(172) /home/mithuncy/fsm_code/src/backend/catalog/catalog.c
cfn=(3366) IsCatalogRelation
calls=500 97
* 34000
* 1000
+11 1000
+1 1400000
-1 351500
+3 3000
cfi=(38)
cfn=(5496) pgstat_count_heap_insert
calls=500 1912
* 140133
+1 2000
fn=(3570)
1471 20
+10 3
cfi=(148)
cfn=(3076) RelationIncrementReferenceCount
calls=1 1970
* 88
+5 2
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 1
+2 3
+1 3
+1 3
+1 3
+1 3
+1 2
+1 3
+1 3
+1 3
+1 3
+5 11
+13 4
+1 5
cfi=(92)
cfn=(3572) PredicateLockRelation
calls=1 2453
* 27
+3 4
+6 2
+1 8
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 3
+4 6
cfn=(3574) initscan
calls=1 221
* 2680
+2 1
+1 2
fn=(3574)
221 7
+15 4
+3 5
cfi=(50)
cfn=(3576) RelationGetNumberOfBlocksInFork
calls=1 2795
* 2544
* 2
+14 6
+1 7
-1 2
+7 3
+2 2
+8 4
+2 2
+3 4
+5 2
+9 2
+7 2
+1 2
+3 2
+1 2
+1 2
+1 6
+1 2
+1 2
+7 2
+1 14
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 24
* 1
+7 10
+1 11
+1 2
fn=(5220) heap_openrv
1336 3000
+3 2500
cfn=(5222)
calls=500 1215
* 64904070
* 500
+2 2500
+1 1500
-1 1000
+6 2500
+6 500
+1 2000
fn=(3092) relation_close
1283 15340
+1 9204
+5 9204
cfi=(148)
cfn=(3094) RelationClose
calls=3068 2003
* 300664
+2 6136
+1 12840
cfi=(159)
cfn=(3102) UnlockRelationId
calls=2568 182
* 6449642
+1 6136
fn=(5336) GetBulkInsertState
2377 1500
+3 1000
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+1 1000
cfi=(89)
cfn=(5338)
calls=500 543
* 656526
* 1000
+1 1000
+1 500
+1 1000
fn=(3034) heap_open
1307 15378
+3 12815
cfn=(3037)
calls=1008 1125
* 2746525
cfn=(3036)
calls=1555 1125
* 4334026
* 2563
+2 12815
+1 7689
-1 5126
+6 12815
+6 2563
+1 10252
fn=(3035) heap_open'2
1307 30
+3 25
cfn=(3037)
calls=5 1125
* 31141
* 5
+2 25
+1 15
-1 10
+6 25
+6 5
+1 20
fn=(3588)
793 7
+1 3
+1 3
+13 2
+2 5
+5 8
+6 4
+15 3
+1 5
cfn=(3590)
calls=1 352
* 2138
+1 1
+1 3
+9 12
+1 8
cfi=(201)
cfn=(3592)
calls=1 266
* 11
+1 3
+3 6
+95 1
+2 6
+1 9
+3 8
+1 6
+1 12
+5 2
+4 136
cfi=(161)
cfn=(3342) FunctionCall2Coll
calls=1 1134
* 49
* 14
+2 2
+2 3
+1 1
-22 2
1055 2
fn=(5502) FreeBulkInsertState
2391 2000
+1 2000
+1 2000
cfi=(50)
cfn=(3360)
calls=500 3316
* 120500
+1 2000
cfi=(89)
cfn=(5504)
calls=500 598
* 109104
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 1000
fn=(5400)
2643 787500
+9 262500
+5 612500
+1 612500
+1 612500
+1 350000
+1 350000
+3 962500
+1 262500
+1 350000
+6 437500
+7 962500
+3 87500
+1 350000
fn=(3372) heap_hot_search_buffer
2053 22627
+1 18513
+1 2057
+7 4114
+1 6171
+5 6171
+1 4114
+1 14399
+2 12342
+8 30885
+3 18531
+3 10295
+3 14
+3 8
+1 2
+1 2
+88 2
-82 16456
+1 12342
+1 8228
+1 6171
+5 14389
+7 4114
+12 8228
+9 6171
cfi=(50)
cfn=(3330)
calls=2057 2612
* 32912
* 14399
cfi=(50)
cfn=(3330)
calls=2057 2612
* 32912
* 12342
+3 14399
cfi=(189) /home/mithuncy/fsm_code/src/backend/utils/time/tqual.c
cfn=(3374) HeapTupleSatisfiesMVCC
calls=2057 965
* 149595
* 2057
+1 16456
cfi=(92)
cfn=(3378)
calls=2057 3902
* 80223
+3 12342
+2 4114
+2 6171
+1 12342
cfi=(92)
cfn=(3380) PredicateLockTuple
calls=2057 2498
* 59653
+1 4114
+1 4114
+1 4114
+34 4114
fn=(3594) heap_endscan
1585 4
+6 4
+1 4
cfi=(50)
cfn=(3360)
calls=1 3316
* 241
+5 4
cfi=(148)
cfn=(3096) RelationDecrementReferenceCount
calls=1 1983
* 89
+2 4
+1 4
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+2 4
+3 4
+3 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 2
fl=(255)
fn=(4718)
84 9
+1 15
+1 6
fn=(4672)
90 9
+1 9
+1 6
-2 36
+1 42
+1 24
-2 9
+1 9
+1 6
fn=(4528)
78 18
+1 24
+1 12
-2 108
+1 126
+1 72
-2 36
+1 36
+1 24
fl=(25)
fn=(1574) pg_fsync
334 28
+7 21
cfn=(1576) pg_fsync_no_writethrough
calls=7 +10
* 70
+1 14
fn=(2406) count_usable_fds
794 6
+3 1
+1 1
+8 1
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 125
* 1
+4 4
cob=(3)
cfi=(3)
cfn=(242)
calls=1 0
* 5
* 1
* 1
+4 2
+15 8000
+4 2000
cob=(3)
cfi=(3)
cfn=(2412)
calls=999 0
* 4995
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1220
* 1004
* 1000
+1 2000
+8 3000
+5 9000
+2 3000
+1 2000
+2 3000
+1 1
+1 999
+3 2
+1 8000
cob=(5)
cfi=(5)
cfn=(692)
calls=1000 0
* 7000
* 1000
-1 4003
+3 3
cfi=(13)
cfn=(952)
calls=1 1032
* 87
+7 3
+1 7
+1 2
fn=(5564) ReleaseLruFile
1105 1040
+3 1560
+7 2080
cfn=(5566) LruDelete
calls=520 1010
* 40560
+1 1040
+3 1040
fn=(1592) BasicOpenFile
921 5
+1 7
cfn=(1594) BasicOpenFilePerm
calls=1 +21
* 31
+1 2
fn=(1594)
943 10549
+4 10549
cob=(5)
cfi=(5)
cfn=(676) open
calls=1507 0
* 10549
* 1507
* 1507
+2 3014
+1 3014
+16 6028
fn=(2464) RemovePgTempFilesInDir
2924 9
+5 3
cfn=(718)
calls=1 2447
* 89
* 1
+2 3
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 5
+54 4
fn=(3298) AllocateVfd
1137 6012
+8 6012
+7 21
+3 14
+1 1
+5 8
cob=(3)
cfi=(3)
cfn=(556)
calls=1 0
* 365
* 1
* 48
cob=(3)
cfi=(3)
cfn=(556)
calls=6 0
* 28754
* 6
* 7
+1 14
+4 14
+5 21
+2 167854
+1 20470
+1 16376
-4 8209
+6 63
+1 21
+5 14
+3 21
+2 77
+2 7
+1 28
-5 4488
+2 16456
+2 1496
+1 5984
fn=(3300) Insert
1036 4509
+9 13527
+2 3006
+1 6012
+1 4509
+1 16533
+3 3006
fn=(2328) OpenTransientFile
2236 15
+1 21
cfn=(2330) OpenTransientFilePerm
calls=3 +8
* 324
+1 6
fn=(2472) looks_like_temp_rel_name
3046 12172
+5 12172
+1 6086
+38 6086
fn=(1432) ReadDirExtended
2528 22400
+4 6400
+9 3200
cob=(5)
cfi=(5)
cfn=(472)
calls=3200 0
* 9600
* 3200
* 3200
+1 9600
cob=(3)
cfi=(3)
cfn=(1438)
calls=3199 0
* 429806
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 6783
* 3204
* 9600
+1 6388
+2 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 18
+5 6
+1 12800
fn=(2302) ReadDir
2513 20
+1 24
cfn=(1432)
calls=4 +14
* 537
+1 8
fn=(2468) RemovePgTempRelationFilesInDbspace
3018 15
+5 9
cfn=(718)
calls=3 2447
* 912
* 3
+2 3
+2 12172
cfn=(2472)
calls=3043 +19
* 36516
* 9129
+1 3043
-3 18276
cfn=(1432)
calls=3046 2528
* 493369
* 9138
+15 9
cfn=(738)
calls=3 2565
* 582
+1 12
fn=(3584) FileSize
2014 10004
+6 27511
+6 32513
cob=(5)
cfi=(5)
cfn=(1956) lseek
calls=2501 0
* 17507
* 2501
+1 5002
fn=(1278)
2186 3102
+7 517
cfn=(720) reserveAllocatedDesc
calls=517 -80
* 7238
* 1551
+7 517
cfn=(722) ReleaseLruFiles
calls=517 1127
* 5687
+3 2585
cob=(3)
cfi=(3)
cfn=(1284)
calls=516 0
* 229280
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1852
* 521
* 1551
+2 3102
+2 1034
+1 1551
+1 517
cfi=(26)
cfn=(736) GetCurrentSubTransactionId
calls=517 624
* 4136
* 1034
+1 1551
+1 1551
+17 2068
fn=(2462)
2864 3
+8 7
cfi=(17)
cfn=(462)
calls=1 203
* 356
+1 5
cfn=(2464)
calls=1 +51
* 118
+1 2
cfn=(2466) RemovePgTempRelationFiles
calls=1 2990
* 586342
+5 2
cfn=(718)
calls=1 2447
* 304
* 1
+2 1
+2 10
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 44
* 2
* 4
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
-1 2
+2 2
-4 15
cfn=(1432)
calls=3 2528
* 393
* 9
+15 3
cfn=(738)
calls=1 2565
* 194
+9 2
fn=(3710) CleanupTempFiles
2794 21
+7 12
+3 2
+2 18423
+2 16376
-4 10239
+26 1
+4 12
+5 12
+2 6
fn=(718)
2447 50
+7 10
cfn=(720)
calls=10 2113
* 367
* 30
+7 10
cfn=(722)
calls=10 1127
* 110
+3 30
cob=(3)
cfi=(3)
cfn=(728)
calls=9 0
* 1902
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1541
* 14
* 30
+2 54
+2 18
+1 27
+1 9
cfi=(26)
cfn=(736)
calls=9 624
* 72
* 18
+1 27
+1 27
+3 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 4
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+13 1
+1 40
fn=(720)
2113 2120
+5 2120
+1 1058
+8 3
+2 1
+1 5
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 210
* 1
* 1
+2 2
+4 2
+1 2
+1 2
+27 2120
fn=(740) FreeDesc
2346 2116
+4 3204
+3 2068
cob=(3)
cfi=(3)
cfn=(1380)
calls=516 0
* 231231
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1732
* 521
* 517
+1 517
+5 36
cob=(3)
cfi=(3)
cfn=(746)
calls=8 0
* 996
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1425
* 13
* 9
+1 9
+2 12
cob=(5)
cfi=(5)
cfn=(692)
calls=3 0
* 21
* 3
* 3
+1 3
+8 1587
+1 5290
+2 529
+1 1058
fn=(1576)
351 28
+1 21
+3 7
+1 14
fn=(2332) CloseTransientFile
2413 12
+6 9
+2 18
+2 24
+1 9
cfn=(740)
calls=3 -78
* 132
* 3
-5 9
+12 6
fn=(2404)
878 5
+12 6
cfn=(2406)
calls=1 -96
* 61479
+3 7
+5 3
+5 3
+8 4
cfi=(57)
cfn=(2084) elog_start
calls=1 1286
* 68
* 10
cfi=(57)
cfn=(2086) elog_finish
calls=1 1336
* 96
+2 5
fn=(3296) PathNameOpenFilePerm
1311 10521
+11 4509
cob=(3)
cfi=(3)
cfn=(384)
calls=1503 0
* 458272
* 1503
* 1503
+1 3006
+5 1503
cfn=(3298)
calls=1503 1137
* 282862
* 1503
+1 13527
+3 1503
cfn=(722)
calls=1503 1127
* 69053
+2 9018
cfn=(1594)
calls=1503 943
* 46593
* 3006
+2 6012
+9 4509
+4 4509
cfn=(3300)
calls=1503 1036
* 51102
+2 4509
+2 7515
+1 4509
+1 3006
+1 3006
+1 3006
+2 1503
+1 6012
fn=(3708) AtEOXact_Files
2762 10
+1 8
cfn=(3710)
calls=2 +31
* 46
+1 2
+1 2
+1 4
fn=(5566)
1010 2600
+8 4680
+6 2080
cob=(5)
cfi=(5)
cfn=(692)
calls=520 0
* 3640
* 520
* 1040
+3 1040
+1 1560
+3 1560
cfn=(5568) Delete
calls=520 -40
* 19760
+1 2080
fn=(2330)
2245 21
+7 3
cfn=(720)
calls=3 2113
* 42
* 9
+7 3
cfn=(722)
calls=3 1127
* 33
+2 18
cfn=(1594)
calls=3 943
* 93
* 3
+2 6
+2 18
+2 6
+1 9
+1 3
cfi=(26)
cfn=(736)
calls=3 624
* 24
* 6
+1 9
+2 6
+4 12
fn=(2466)
2990 5
+5 3
cfn=(718)
calls=1 2447
* 304
* 1
+2 1
+7 25
cob=(3)
cfi=(3)
cfn=(2310)
calls=5 0
* 195
* 5
* 25
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 83
* 5
* 10
+1 2
+3 6
-1 27
cfi=(17)
cfn=(462)
calls=3 203
* 1368
+2 9
cfn=(2468)
calls=3 +9
* 583188
-12 36
cfn=(1432)
calls=6 2528
* 825
* 18
+15 3
cfn=(738)
calls=1 2565
* 194
+1 4
fn=(3306) FileAccess
1215 6008
+11 16522
+6 6008
+11 1502
+1 3004
fn=(5478) FileWrite
1892 13500
+11 4500
cfn=(3306)
calls=1500 1215
* 33000
* 1500
+1 3000
+3 13500
+10 4500
+18 1500
cob=(5)
cfi=(5)
cfn=(472)
calls=1500 0
* 4500
* 1500
* 1500
+1 4500
cfi=(184) /home/mithuncy/fsm_code/src/backend/storage/file/../../../../src/include/pgstat.h
cfn=(3308) pgstat_report_wait_start
calls=1500 1239
* 24000
+1 22500
cob=(5)
cfi=(5)
cfn=(5484) pwrite
calls=1499 0
* 11992
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 776
* 1504
* 1500
+1 1500
cfi=(184)
cfn=(3318) pgstat_report_wait_end
calls=1500 1263
* 21000
+3 4500
+3 3000
+9 9000
+7 1500
+28 1500
+1 6000
fn=(5568)
991 1560
+9 4680
+2 6240
+1 6240
+3 1040
fn=(5800) AtProcExit_Files
2776 5
+1 3
cfn=(3710)
calls=1 +17
* 45058
+1 2
fn=(738)
2565 36
+4 18
+6 27
+2 54
+2 72
+1 27
cfn=(740)
calls=9 2346
* 2740
* 9
-5 27
+12 18
fn=(1172) SetTempTablespaces
2650 5
+2 2
+1 2
+10 2
+3 1
+1 2
fn=(3294) PathNameOpenFile
1298 7515
+1 10521
cfn=(3296)
calls=1503 +12
* 1007080
+1 3006
fn=(3304) FileRead
1836 16
+11 6
cfn=(3306)
calls=2 1215
* 44
* 2
+1 4
+3 18
+3 6
cfi=(184)
cfn=(3308)
calls=2 1239
* 32
+1 16
cob=(5)
cfi=(5)
cfn=(3314) pread
calls=1 0
* 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 769
* 6
* 2
+1 2
cfi=(184)
cfn=(3318)
calls=2 1263
* 28
+2 4
+28 2
+1 4
fn=(722)
1127 4066
+1 2033
+2 520
cfn=(5564)
calls=520 -25
* 47320
* 1560
-2 15318
+5 4066
fn=(1374)
2385 2068
+6 1551
+2 3102
+2 4136
+1 1551
cfn=(740)
calls=517 -50
* 250028
* 517
-5 1551
+12 1034
fn=(2822) InitFileAccess
761 4
+4 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 219
* 1
* 1
+1 3
+5 76
+1 2
+2 1
+3 3
cfi=(67)
cfn=(1578)
calls=1 306
* 32
+1 4
fl=(193) /home/mithuncy/fsm_code/src/backend/utils/misc/superuser.c
fn=(3462) superuser
48 2
+1 1
cfi=(54)
cfn=(3464) GetUserId
calls=1 381
* 5
* 2
cfn=(3466) superuser_arg
calls=1 +9
* 29505
+1 2
fn=(3466)
58 4028
+5 6039
+1 2012
+3 4
+4 4
cfi=(151)
cfn=(3444) SearchSysCache1
calls=1 1114
* 29290
* 1
+1 2
+2 9
+1 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
* 1
+9 4
+2 4
cfi=(155)
cfn=(2910) CacheRegisterSyscacheCallback
calls=1 1410
* 65
+3 1
+4 2
+1 2
+2 1
+1 2014
fl=(318) /home/mithuncy/fsm_code/src/backend/commands/portalcmds.c
fn=(5610) PortalCleanup
266 4
+14 3
+1 2
+26 2
fl=(129) /home/mithuncy/fsm_code/src/backend/storage/ipc/dsm.c
fn=(2714) reset_on_dsm_detach
1016 3
+3 14
+21 2
fn=(2336) dsm_postmaster_startup
146 4
+1 1
+12 3
+5 3
-1 1
+2 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+2 3
cfn=(2338) dsm_control_bytes_needed
calls=1 1101
* 11
* 1
+12 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1303
* 5
* 1
+1 3
+2 10
cfi=(130) /home/mithuncy/fsm_code/src/backend/storage/ipc/dsm_impl.c
cfn=(2346) dsm_impl_op
calls=1 -21
* 11615
* 2
+3 1
+2 2
+1 4
cfi=(67)
cfn=(2110) on_shmem_exit
calls=1 362
* 32
+1 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 8
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+3 3
+3 2
+1 2
+1 3
+1 2
fn=(2338)
1101 3
+2 5
-1 1
+2 2
fn=(5756) dsm_backend_shutdown
621 6
+1 6
cfi=(321) /home/mithuncy/fsm_code/src/backend/storage/ipc/../../../../src/include/lib/ilist.h
cfn=(5758) dlist_is_empty
calls=2 290
* 34
* 6
+7 4
fl=(150) /home/mithuncy/fsm_code/src/backend/utils/cache/relmapper.c
fn=(5550) AtCCI_RelationMap
440 1000
+1 1500
+7 1500
+7 1000
fn=(2892) RelationMapInitialize
585 2
+2 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 2
fn=(2934) RelationMapOidToFilenode
160 195
+5 78
+2 21
+1 126
+5 21
+1 42
+2 3294
+1 105
-3 2724
+8 18
+1 108
+5 18
+1 36
+2 780
+1 90
-3 632
+8 78
fn=(3500) RelationMapInitializePhase3
626 2
+4 3
+6 2
cfn=(2920) load_relmap_file
calls=1 +63
* 1682
+1 2
fn=(2918) RelationMapInitializePhase2
605 2
+4 3
+6 2
cfn=(2920)
calls=1 +84
* 1571
+1 2
fn=(2920)
699 12
+7 4
+2 7
cfi=(17)
cfn=(462)
calls=1 203
* 360
+2 2
+4 9
cfi=(17)
cfn=(462)
calls=1 203
* 470
+2 1
+4 4
cfi=(25)
cfn=(2328)
calls=1 2236
* 122
* 4
cfi=(25)
cfn=(2328)
calls=1 2236
* 122
* 2
+1 4
+13 4
cfi=(157) /home/mithuncy/fsm_code/src/backend/utils/cache/../../../../src/include/pgstat.h
cfn=(2922) pgstat_report_wait_start
calls=2 1239
* 32
+1 12
cob=(5)
cfi=(5)
cfn=(684) read
calls=2 0
* 14
* 2
* 2
+1 4
+12 2
cfi=(157)
cfn=(2924) pgstat_report_wait_end
calls=2 1263
* 28
+2 6
cfi=(25)
cfn=(2332)
calls=2 2413
* 148
+3 8
+1 4
-1 4
+2 4
-1 4
+7 2
+1 12
cfi=(71) /home/mithuncy/fsm_code/src/port/pg_crc32c_sse42.c
cfn=(1608) pg_comp_crc32c_sse42
calls=2 23
* 1818
* 2
+1 2
+2 8
+4 8
fn=(3642) AtEOXact_RelationMap
477 14
+1 12
+13 6
+5 8
+17 4
fl=(223) /home/mithuncy/fsm_code/src/backend/tcop/../../../src/include/nodes/pg_list.h
fn=(3940) list_length
90 3
+1 5
+1 2
-2 1512
+1 2520
+1 1008
fn=(3942) list_head
78 1515
+1 2525
+1 1010
-2 1515
+1 2525
+1 1010
fl=(250) /home/mithuncy/fsm_code/src/backend/nodes/nodeFuncs.c
fn=(4496) exprCollation
721 44
+3 22
+3 88
+6 18
+1 6
+2 9
+1 3
+14 3
+1 1
+5 3
+1 1
915 11
+1 22
fn=(4530) range_table_walker
2310 42
+3 18
cfi=(47)
cfn=(976)
calls=6 78
* 48
* 24
+46 6
+1 12
fn=(4484) query_tree_walker
2266 70
+3 80
cfi=(262)
cfn=(4641) max_parallel_hazard_walker'2
calls=3 1167
* 2866
cfi=(254)
cfn=(4525) extract_query_dependencies_walker'2
calls=3 2670
* 1924
cfi=(251)
cfn=(4486) assign_query_collations_walker
calls=4 127
* 5107
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
cfi=(251)
cfn=(4486)
calls=4 127
* 44
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
cfi=(251)
cfn=(4486)
calls=4 127
* 44
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
cfi=(251)
cfn=(4486)
calls=4 127
* 44
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 507
cfi=(254)
cfn=(4525)
calls=3 2670
* 510
cfi=(251)
cfn=(4486)
calls=4 127
* 740
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
cfi=(251)
cfn=(4486)
calls=4 127
* 44
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
cfi=(251)
cfn=(4486)
calls=4 127
* 44
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
cfi=(251)
cfn=(4486)
calls=4 127
* 44
* 20
+2 80
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
cfi=(251)
cfn=(4486)
calls=4 127
* 44
* 20
+2 40
+2 48
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
* 12
+3 40
+2 42
cfn=(4530)
calls=6 +16
* 150
* 12
+3 10
+1 20
fn=(5032) exprSetInputCollation
1129 16
+1 32
+9 3
+1 1
+2 6
+1 2
+14 1
+2 8
fn=(5110) leftmostLoc
1568 4
+1 2
+2 2
+3 3
+1 2
fn=(4576) exprTypmod
277 40
+1 20
+3 80
+5 18
+11 20
cfn=(5044) exprIsLengthCoercion
calls=4 514
* 116
* 8
+3 4
498 4
+1 20
fn=(5044)
514 20
+1 8
+1 8
+6 24
+2 8
+7 16
+1 8
-1 8
+2 8
+44 8
fn=(4494) expression_tree_walker
1843 174
+11 58
+4 29
cfi=(52)
cfn=(4006)
calls=29 3263
* 783
+2 232
+79 4
+2 14
cfn=(4495) expression_tree_walker'2
calls=2 -98
* 3939
* 4
+4 2
+7 4
+2 14
cfn=(4495)
calls=2 1843
* 49379
* 4
+4 2
2093 32
cfi=(251)
cfn=(4493) assign_collations_walker'2
calls=4 256
* 4207
* 4
+30 30
cfi=(47)
cfn=(976)
calls=10 78
* 100
* 20
+2 88
cfi=(262)
cfn=(5141) contain_context_dependent_node_walker'2
calls=2 1476
* 148
cfi=(254)
cfn=(4771) fix_scan_expr_walker'2
calls=3 1592
* 1529
cfi=(262)
cfn=(4641)
calls=3 1167
* 2413
cfi=(254)
cfn=(4525)
calls=3 2670
* 3373
* 22
-2 75
+5 10
+3 14
+2 56
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(251)
cfn=(4493)
calls=4 256
* 72
* 14
+2 56
cfi=(262)
cfn=(4641)
calls=3 1167
* 42
cfi=(251)
cfn=(4493)
calls=4 256
* 72
* 14
+3 7
+27 4
+78 4
+1 8
-1 21
+1 50
fn=(4495)
1843 438
+11 146
+4 73
cfi=(52)
cfn=(4006)
calls=73 3263
* 1971
+2 584
+79 8
+2 28
cfn=(4495)
calls=4 -98
* 3987
* 8
+4 4
+7 14
+2 49
cfn=(4495)
calls=7 1843
* 5451
* 14
+4 7
+63 48
cfi=(281) /home/mithuncy/fsm_code/src/backend/executor/execExpr.c
cfn=(4809) get_last_attnums_walker'2
calls=1 2325
* 78
cfi=(254)
cfn=(4771)
calls=1 1592
* 114
cfi=(274)
cfn=(4713) cost_qual_eval_walker'2
calls=1 3762
* 146
cfi=(262)
cfn=(5133) contain_nonstrict_functions_walker'2
calls=1 1342
* 168
cfi=(262)
cfn=(5121) contain_volatile_functions_walker'2
calls=1 971
* 92
cfi=(251)
cfn=(4493)
calls=1 256
* 137
* 6
+72 72
cfi=(254)
cfn=(4771)
calls=3 1592
* 1166
cfi=(262)
cfn=(4641)
calls=3 1167
* 2035
cfi=(254)
cfn=(4525)
calls=3 2670
* 1087
* 9
+30 54
cfi=(47)
cfn=(976)
calls=18 78
* 180
* 36
+2 264
cfi=(281)
cfn=(4809)
calls=4 2325
* 744
cfi=(254)
cfn=(4771)
calls=4 1592
* 1065
cfi=(274)
cfn=(4713)
calls=4 3762
* 5665
cfi=(262)
cfn=(5133)
calls=2 1342
* 2553
cfi=(262)
cfn=(5121)
calls=2 971
* 46636
cfi=(262)
cfn=(4641)
calls=4 1167
* 1248
cfi=(251)
cfn=(4493)
calls=6 256
* 2561
cfi=(254)
cfn=(4525)
calls=7 2670
* 2327
* 66
-2 201
+5 18
+3 6
+2 24
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
* 6
+2 24
cfi=(254)
cfn=(4525)
calls=3 2670
* 42
* 6
+3 3
+27 26
+78 26
+1 52
-1 32
+1 94
fn=(4666) expression_tree_mutator
2429 18
+18 6
+4 3
cfi=(52)
cfn=(4006)
calls=3 3263
* 81
+2 24
2916 3
+1 9
cfi=(47)
cfn=(976)
calls=3 78
* 30
* 6
+3 24
cfi=(262)
cfn=(4665) eval_const_expressions_mutator'2
calls=3 2573
* 227818
* 3
-1 12
cfi=(45)
cfn=(960)
calls=3 129
* 839
* 3
-2 21
+6 6
3076 6
fn=(4667) expression_tree_mutator'2
2429 90
+18 30
+4 15
cfi=(52)
cfn=(4006)
calls=15 3263
* 405
+2 120
+18 10
+3 10
cfi=(13)
cfn=(940)
calls=5 925
* 615
* 35
cob=(3)
cfi=(3)
cfn=(856)
calls=5 0
* 100
* 5
+2 10
2587 2
+3 2
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 22
* 1
+1 8
cfi=(262)
cfn=(5145) substitute_actual_parameters_mutator'2
calls=1 4969
* 932
* 2
+1 2
2709 2
+3 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 18
* 1
+1 8
cfi=(262)
cfn=(5145)
calls=1 4969
* 76
* 2
+1 2
2867 6
+3 6
cfi=(13)
cfn=(940)
calls=3 925
* 369
* 21
cob=(3)
cfi=(3)
cfn=(856)
calls=3 0
* 66
* 3
+1 24
cfi=(262)
cfn=(4665)
calls=3 2573
* 227083
* 6
+1 6
+44 5
+1 15
cfi=(47)
cfn=(976)
calls=5 78
* 50
* 10
+3 72
cfi=(262)
cfn=(5145)
calls=2 4969
* 388
cfi=(262)
cfn=(4665)
calls=7 2573
* 229002
* 9
-1 36
cfi=(45)
cfn=(960)
calls=9 129
* 2040
* 9
-2 55
+6 10
3076 30
fn=(4498) exprLocation
1193 40
+3 16
+2 64
+12 12
+1 4
+2 9
+1 3
+95 2
+4 2
-1 2
cfn=(4499) exprLocation'2
calls=1 1193
* 24
* 6
cfn=(5110)
calls=1 1568
* 13
* 1
+3 1
1558 8
+1 32
fn=(4499)
1193 5
+3 2
+2 8
+15 3
+1 1
1558 1
+1 4
fn=(5030) exprSetCollation
974 20
+1 32
+24 3
+1 1
+5 6
+1 2
+49 3
+1 1
+61 8
fn=(5042) set_opfuncid
1620 32
+1 32
+2 16
fn=(4478) exprType
43 2660
+3 1064
+3 4256
+6 30
+1 10
+2 27
+1 9
+22 15
+1 5
+5 1518
+1 506
188 6
+1 2
+78 532
+1 2128
fn=(4642) check_functions_in_node
1659 162
+1 153
+20 2
+2 7
cfi=(262)
cfn=(5046) max_parallel_hazard_checker
calls=1 1160
* 499
* 2
+3 1
+5 6
+3 9
cfn=(5042)
calls=3 -73
* 30
+1 21
cfi=(262)
cfn=(5134) contain_nonstrict_functions_checker
calls=1 1336
* 487
cfi=(262)
cfn=(5122) contain_volatile_functions_checker
calls=1 965
* 483
cfi=(262)
cfn=(5046)
calls=1 1160
* 499
* 6
+3 3
+12 4
+6 14
cfi=(275)
cfn=(5126) getTypeInputInfo
calls=2 2609
* 1022
+2 12
cfi=(262)
cfn=(5134)
calls=1 1336
* 487
cfi=(262)
cfn=(5122)
calls=1 965
* 22675
* 4
+3 8
cfn=(4478)
calls=2 43
* 48
* 10
cfi=(275)
cfn=(5128)
calls=2 2642
* 992
+2 12
cfi=(262)
cfn=(5134)
calls=1 1336
* 487
cfi=(262)
cfn=(5122)
calls=1 965
* 22610
* 4
+3 2
+16 21
+2 21
+1 42
-1 6
+1 12
fl=(65) /home/mithuncy/fsm_code/src/common/file_perm.c
fn=(1524) SetDataDirectoryCreatePerm
35 3
+2 4
+9 1
+1 1
+1 1
+2 2
fl=(310) /home/mithuncy/fsm_code/src/backend/executor/execIndexing.c
fn=(5520) ExecCloseIndices
225 2000
+5 1500
+1 1500
+2 2500
+13 1000
fn=(5312) ExecOpenIndices
150 3000
+1 1500
+8 1000
+3 3000
+1 500
+52 1000
fl=(260) /home/mithuncy/fsm_code/src/backend/executor/execTuples.c
fn=(4570) ExecCleanTypeFromTL
1801 12
+1 12
cfn=(4572) ExecTypeFromTLInternal
calls=3 +5
* 3052
+1 6
fn=(5514) tts_heap_release
296 3000
+1 2000
fn=(5372) ExecStoreHeapTuple
1275 612500
+8 612500
+2 525000
cfn=(5374) tts_heap_store_tuple
calls=87500 426
* 4812500
+2 87500
+1 175000
fn=(5316) ExecInitExtraTupleSlot
1683 6000
+1 7000
cfn=(5318) ExecAllocTableSlot
calls=1000 1093
* 534303
+1 2000
fn=(5320) MakeTupleTableSlot
1036 5000
+3 3000
+6 2000
+1 2000
+1 3000
-1 500
+2 2500
-2 1500
+4 1000
+2 1500
cfi=(13)
cfn=(2546)
calls=500 -96
* 85000
* 1500
cfi=(13)
cfn=(2546)
calls=500 -96
* 92000
* 1000
+2 4000
+1 2000
+1 6000
+1 2000
+1 3000
+1 1500
+1 1500
+1 1000
+2 1000
-4 1500
+1 1500
+1 1000
+2 1000
+4 1000
-2 3000
+5 1000
+1 4500
-3 2000
+5 3500
cfi=(158) /home/mithuncy/fsm_code/src/backend/access/common/tupdesc.c
cfn=(5322) IncrTupleDescRefCount
calls=500 373
* 42803
+6 6000
cfn=(5328) tts_heap_init
calls=1000 291
* 5000
+2 1000
+1 2000
fn=(5510) ExecResetTupleTable
1113 3000
+3 1500
cfi=(245) /home/mithuncy/fsm_code/src/backend/executor/../../../src/include/nodes/pg_list.h
cfn=(4416) list_head
calls=500 78
* 5000
* 1000
+2 3000
+3 3000
cfi=(317) /home/mithuncy/fsm_code/src/backend/executor/../../../src/include/executor/tuptable.h
cfn=(5512) ExecClearTuple
calls=1000 405
* 39000
+1 6000
cfn=(5514)
calls=1000 296
* 5000
+1 4000
+2 4500
cfi=(158)
cfn=(5516) DecrTupleDescRefCount
calls=500 391
* 45000
+1 1000
+4 2000
-14 6000
+28 1000
+2 1000
fn=(5318)
1093 6000
+1 5000
cfn=(5320)
calls=1000 -58
* 300303
* 1000
+2 6000
cfi=(45)
cfn=(960)
calls=1000 129
* 211000
* 2000
+2 1000
+1 2000
fn=(5374)
426 612500
+1 175000
+2 262500
cfn=(5376) tts_heap_clear
calls=87500 301
* 2275000
+2 175000
+1 262500
+1 175000
+1 525000
+2 175000
+2 175000
fn=(5376)
301 354000
+1 177000
+3 531000
+6 177000
+1 531000
+1 177000
+1 177000
+1 177000
fn=(4572)
1807 21
+4 3
+2 6
+1 9
cfi=(243) /home/mithuncy/fsm_code/src/backend/executor/execUtils.c
cfn=(4574) ExecCleanTargetListLength
calls=3 1091
* 117
* 6
+3 9
cfi=(158)
cfn=(2928) CreateTemplateTupleDesc
calls=3 46
* 453
* 3
+2 9
cfi=(245)
cfn=(4416)
calls=3 78
* 30
* 6
+2 9
+2 18
+6 6
-4 6
cfi=(250)
cfn=(4576)
calls=3 277
* 92
* 3
+3 6
-3 6
cfi=(250)
cfn=(4478)
calls=3 43
* 72
* 3
+2 6
-2 21
cfi=(158)
cfn=(4578) TupleDescInitEntry
calls=3 602
* 1940
+8 6
-2 6
cfi=(250)
cfn=(4496)
calls=3 721
* 63
* 21
cfi=(158)
cfn=(4580) TupleDescInitEntryCollation
calls=3 763
* 57
+3 3
-15 21
+18 3
+1 12
fn=(5328)
291 3000
+1 2000
fl=(187) /home/mithuncy/fsm_code/src/backend/utils/adt/name.c
fn=(3344) btnamecmp
205 45000
+1 33750
+1 33750
+2 78750
cfn=(3346) namecmp
calls=11250 -53
* 587035
* 11250
+1 22500
fn=(3346)
156 90000
+2 22500
+1 67500
cob=(3)
cfi=(3)
cfn=(1044)
calls=11250 0
* 328285
* 11250
* 11250
+6 56250
fn=(3354) nameeq
136 6116
+1 4587
+1 4587
+3 9174
cob=(3)
cfi=(3)
cfn=(1044)
calls=1529 0
* 45174
* 1529
* 5610
+1 3058
fn=(4544) namestrcpy
253 2540
+1 2032
+2 5588
cob=(3)
cfi=(3)
cfn=(950)
calls=508 0
* 35249
* 508
* 2540
+1 508
+1 1016
fl=(210) /home/mithuncy/fsm_code/src/backend/tcop/../../../src/include/libpq/pqformat.h
fn=(3798) pq_writeint8
48 10
+1 4
+3 16
+1 12
+1 4
fn=(3754) pq_writeint32
76 8
+1 6
+3 16
+1 12
+1 4
fn=(3794) pq_sendbyte
162 12
+1 10
cfn=(3796) pq_sendint8
calls=2 -33
* 150
+1 4
fn=(3796)
130 12
+1 8
cfi=(80)
cfn=(1922)
calls=2 271
* 70
+1 10
cfn=(3798)
calls=2 -84
* 46
+1 4
fn=(3752) pq_sendint32
146 10
+1 8
cfi=(80)
cfn=(1922)
calls=2 271
* 70
+1 10
cfn=(3754)
calls=2 -72
* 46
+1 4
fl=(224) /home/mithuncy/fsm_code/src/backend/tcop/utility.c
fn=(3978) UtilityReturnsTuples
1747 2004
+1 5511
+41 501
+2 1002
fn=(5276) PreventCommandIfParallelMode
258 2500
+1 500
cfi=(26)
cfn=(1210)
calls=500 910
* 4000
* 1000
+6 2000
fn=(4002) standard_ProcessUtility
384 10
+1 3
+1 3
+1 3
cfi=(26)
cfn=(4004) IsTransactionBlock
calls=1 4446
* 16
* 5
+4 1
cfi=(52)
cfn=(4006)
calls=1 3263
* 27
+2 3
cfn=(4010) check_xact_readonly
calls=1 135
* 23
+2 2
+1 2
+2 2
cfi=(226)
cfn=(3954)
calls=1 45
* 346
* 1
+1 3
+2 8
523 5
cfi=(229) /home/mithuncy/fsm_code/src/backend/commands/functioncmds.c
cfn=(4012) ExecuteDoStmt
calls=1 2093
* 376455871
+1 1
929 3
cfi=(226)
cfn=(3962)
calls=1 78
* 106
+1 4
fn=(4003) standard_ProcessUtility'2
384 5000
+1 1500
+1 1500
+1 4000
+4 500
cfi=(52)
cfn=(4006)
calls=500 3263
* 13500
+2 1500
cfn=(4010)
calls=500 135
* 11500
+2 1000
+1 1000
+2 1000
cfi=(226)
cfn=(3954)
calls=500 45
* 157500
* 500
+1 1500
+2 4000
551 5000
cfi=(300) /home/mithuncy/fsm_code/src/backend/commands/copy.c
cfn=(5216) DoCopy
calls=500 796
* 356683621
+3 1000
+1 3500
cfi=(17)
cfn=(462)
calls=500 203
* 295500
+3 500
929 1500
cfi=(226)
cfn=(3962)
calls=500 78
* 53000
+1 2000
fn=(4010)
135 2004
+2 2505
cfi=(26)
cfn=(1210)
calls=501 910
* 4008
* 1503
+1 501
+92 1002
fn=(3944) CreateCommandTag
2083 2016
+3 4032
+21 3
+1 3
2382 500
+1 500
2529 1
+1 1
2928 504
+1 1008
fn=(4000) ProcessUtility
345 9
+10 3
+5 10
cfn=(4002)
calls=1 +24
* 376456448
+3 2
fn=(4001) ProcessUtility'2
345 4500
+10 1500
+5 5000
cfn=(4003)
calls=500 +24
* 357251121
+3 1000
fl=(127) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/lib/ilist.h
fn=(2252) dlist_init
279 348
+1 812
+1 232
fl=(145) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/utils/palloc.h
fn=(2864) MemoryContextSwitchTo
110 6
+1 4
+2 4
+1 2
+1 4
fl=(184)
fn=(3318)
1263 3004
+1 3004
+2 9012
+7 3004
+1 3004
fn=(3308)
1239 4506
+1 3004
+2 9012
+7 4506
+1 3004
fl=(139)
fn=(3804)
252 21
+5 6
cfi=(52)
cfn=(3806) ProcessClientWriteInterrupt
calls=3 577
* 72
+3 3
+9 18
cfn=(3808) secure_raw_write
calls=3 +47
* 90
* 3
+1 3
+3 6
+36 6
cfi=(52)
cfn=(3806)
calls=3 577
* 72
+2 3
+1 12
fn=(3808)
316 18
+6 21
cob=(5)
cfi=(5)
cfn=(2502) send
calls=3 0
* 36
* 3
* 3
+5 3
+1 6
fn=(5804)
135 3
+5 2
fn=(2792)
147 21
+5 6
cfi=(52)
cfn=(2794) ProcessClientReadInterrupt
calls=3 531
* 93
+12 36
cfn=(2796) secure_raw_read
calls=6 +64
* 196
* 6
+1 6
+4 36
cob=(5)
cfi=(5)
cfn=(472)
calls=4 0
* 12
* 4
* 12
+6 24
cfi=(122)
cfn=(2848) ModifyWaitEvent
calls=4 767
* 184
+2 28
cfi=(122)
cfn=(3816) WaitEventSetWait
calls=4 954
* 2086
+20 16
+6 16
+2 9
cfi=(122)
cfn=(3822) ResetLatch
calls=3 520
* 24
+1 6
cfi=(52)
cfn=(2794)
calls=3 531
* 85372
+8 6
+7 4
cfi=(52)
cfn=(2794)
calls=2 531
* 60
+2 2
+1 8
fn=(2796)
228 36
+10 42
cob=(5)
cfi=(5)
cfn=(2516) recv
calls=6 0
* 88
* 6
* 6
+5 6
+1 12
fl=(277)
fn=(4754) make_result
6514 18
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 690
* 15
+1 6
+2 9
+1 6
+1 9
+1 6
+1 9
+2 3
+1 6
fn=(4748) create_result_plan
1269 15
+5 15
cfn=(4750) build_path_tlist
calls=3 744
* 93
* 3
+3 18
cfn=(4752) order_qual_clauses
calls=3 4899
* 69
* 3
+2 18
cfn=(4754)
calls=3 6514
* 789
* 3
+2 15
cfn=(4756) copy_generic_path_info
calls=3 4993
* 93
+2 3
+1 6
fn=(4746) use_physical_tlist
784 18
+1 9
+7 12
+1 6
894 6
fn=(4752)
4899 15
+7 9
cfi=(255)
cfn=(4672)
calls=3 90
* 24
* 3
+7 6
+1 6
+70 6
fn=(4756)
4993 12
+1 12
+1 12
+1 12
+1 15
+1 12
+1 12
+1 6
fn=(4722) is_projection_capable_path
6698 18
+2 30
+32 6
+2 6
+1 12
fn=(4740)
307 15
+7 6
+1 6
+3 18
cfn=(4742) create_plan_recurse
calls=3 +40
* 3513
* 3
+9 12
+1 21
cfi=(269)
cfn=(4758) apply_tlist_labeling
calls=3 +12
* 222
+9 15
cfi=(280)
cfn=(4760) SS_attach_initplans
calls=3 2228
* 30
+3 12
+7 6
+2 3
+1 6
fn=(4742)
358 18
+4 3
cfi=(52)
cfn=(4006)
calls=3 3263
* 81
+2 24
+34 12
+2 18
cfn=(4744) create_projection_plan
calls=3 1636
* 3339
* 6
+15 3
+87 3
+1 6
fn=(4743) create_plan_recurse'2
358 18
+4 3
cfi=(52)
cfn=(4006)
calls=3 3263
* 81
+2 24
+34 12
+6 12
+8 15
cfn=(4748)
calls=3 1269
* 1143
* 3
+3 3
+87 3
+1 6
fn=(4744)
1636 18
+4 3
+15 18
cfn=(4746)
calls=3 784
* 51
* 6
+13 12
cfn=(4722)
calls=3 6698
* 36
* 6
+8 21
cfn=(4743)
calls=3 358
* 1323
* 3
+2 15
cfn=(4750)
calls=3 744
* 1719
* 6
+21 12
+3 6
+1 9
+3 12
+1 12
+1 12
+1 15
+1 15
+11 3
+1 6
fn=(4750)
744 30
+1 6
+1 24
+1 6
+3 30
cfi=(255)
cfn=(4528)
calls=6 78
* 54
* 12
+2 9
+9 12
+3 21
cfi=(221)
cfn=(4458) makeTargetEntry
calls=3 241
* 636
* 3
+4 6
+1 27
+2 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
+1 3
-22 27
+24 6
+1 12
fl=(166) /home/mithuncy/fsm_code/src/backend/storage/ipc/sinval.c
fn=(2990) ReceiveSharedInvalidMessages
74 30625
+12 30625
+12 18468
+3 18468
cfi=(101) /home/mithuncy/fsm_code/src/backend/storage/ipc/sinvaladt.c
cfn=(2992) SIGetDataEntries
calls=6156 540
* 201573
* 6156
+2 12312
+10 6156
+1 12312
+2 6156
+2 10220
+2 3066
+1 4088
cfi=(155)
cfn=(3852) LocalExecuteInvalidationMessage
calls=1022 555
* 316689
-5 28712
+12 18468
+10 18375
+6 12250
fl=(268)
fn=(4680) build_empty_join_rel
1121 12
+6 12
cfi=(13)
cfn=(2950)
calls=3 853
* 1404
* 15
+1 6
+1 6
+1 9
+1 6
+1 3
cfi=(269)
cfn=(4682) create_empty_pathtarget
calls=3 672
* 561
* 6
+2 18
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 6
+2 3
+1 6
fn=(4726)
1155 54
+12 54
cfi=(271) /home/mithuncy/fsm_code/src/backend/optimizer/util/../../../../src/include/nodes/pg_list.h
cfn=(4690) list_head
calls=9 78
* 84
* 18
+2 18
+2 36
cfi=(279) /home/mithuncy/fsm_code/src/backend/nodes/bitmapset.c
cfn=(4734) bms_equal
calls=6 154
* 78
* 12
+1 12
-5 18
+8 12
cfi=(13)
cfn=(2950)
calls=3 853
* 1404
* 15
+1 6
+1 9
cfi=(279)
cfn=(4728) bms_copy
calls=3 134
* 30
* 6
+3 21
+1 6
+1 6
+1 3
cfi=(269)
cfn=(4682)
calls=3 672
* 561
* 6
+1 6
+1 6
+1 6
+1 6
+1 6
+2 24
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 12
+2 3
+1 18
fl=(293) /home/mithuncy/fsm_code/src/backend/executor/functions.c
fn=(5088) sql_fn_make_param
422 12
+3 8
cfi=(13)
cfn=(2156) MemoryContextAllocZero
calls=2 815
* 273
* 10
+1 4
+1 6
+1 20
+1 4
+1 8
cfi=(275)
cfn=(5028) get_typcollation
calls=2 2791
* 948
* 4
+1 6
+7 16
+1 4
+2 1
+1 2
-1 1
+1 2
fn=(5112) check_sql_fn_retval
1589 10
+11 2
+1 2
+1 2
+7 2
+8 1
+1 3
cfi=(245)
cfn=(4416)
calls=1 78
* 10
* 2
+2 3
+2 4
+1 2
-5 7
+19 2
+1 2
-1 2
+3 3
+1 4
+30 3
cfi=(243)
cfn=(4574)
calls=1 1091
* 39
* 1
+2 3
cfi=(275)
cfn=(5114) get_typtype
calls=1 2375
* 474
* 1
+2 2
+12 2
+8 3
cfi=(245)
cfn=(4416)
calls=1 78
* 10
* 2
+3 4
cfi=(250)
cfn=(4478)
calls=1 43
* 24
* 1
+1 5
cfi=(289)
cfn=(5116)
calls=1 2136
* 12
* 3
+7 5
+13 2
-40 1
1959 1
+1 5
fn=(5066) prepare_sql_fn_parse_info
187 7
+2 8
+3 2
cfi=(13)
cfn=(2546)
calls=1 956
* 180
* 1
+3 4
cfi=(13)
cfn=(928)
calls=1 1162
* 193
* 2
+3 3
+6 7
+1 2
+5 5
cfi=(13)
cfn=(940)
calls=1 925
* 110
* 1
+1 3
+1 2
-1 4
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 12
* 1
+4 2
+2 14
+2 16
+2 5
cfi=(161)
cfn=(5068) get_call_expr_argtype
calls=1 2015
* 98
* 1
+1 2
+5 7
-12 11
+16 3
+6 2
+7 7
cfi=(151)
cfn=(4026) SysCacheGetAttr
calls=1 1376
* 65
* 1
+3 3
+1 1
+2 7
cfi=(151)
cfn=(4026)
calls=1 1376
* 65
* 1
+3 3
+1 1
+2 7
cfi=(295) /home/mithuncy/fsm_code/src/backend/utils/fmgr/funcapi.c
cfn=(5076) get_func_input_arg_names
calls=1 974
* 14
* 1
+4 3
+1 3
+5 1
+1 4
fn=(5082) sql_fn_parser_setup
274 4
+1 2
+1 2
+1 2
+2 3
+1 2
fn=(5086) sql_fn_param_ref
405 10
+1 6
+1 6
+3 12
+3 14
cfn=(5088)
calls=2 +9
* 1329
+1 4
fl=(67)
fn=(1578)
306 30
+1 15
+5 30
+1 30
+2 15
+2 20
+2 2
cfi=(9)
cfn=(1580) atexit
calls=1 0
* 1444
+1 1
+2 20
fn=(2956) before_shmem_exit
334 6
+1 3
+5 6
+1 6
+2 3
+2 4
+5 4
fn=(5742) proc_exit
105 4
+2 3
cfn=(5744) proc_exit_prepare
calls=1 +55
* 56508
+43 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 109
+2 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 13412
* 5
fn=(5814)
291 2
+3 2
cfn=(5744)
calls=1 162
* 645
+1 2
fn=(2110)
362 66
+1 33
+5 66
+1 66
+2 33
+2 44
+5 44
fn=(2712) on_exit_reset
410 2
+1 1
+1 1
+1 1
+1 1
cfi=(129)
cfn=(2714)
calls=1 1016
* 19
+1 2
fn=(5746) shmem_exit
225 8
+1 2
+10 8
cfi=(57)
cfn=(2084)
calls=2 1286
* 136
* 16
cfi=(57)
cfn=(2086)
calls=2 1336
* 218
+2 2
+1 14
cfi=(75)
cfn=(5748) ShutdownPostgres
calls=1 1187
* 9033
-1 18
+3 2
+18 2
cfi=(129)
cfn=(5756)
calls=2 621
* 56
+10 8
cfi=(57)
cfn=(2084)
calls=2 1286
* 136
* 16
cfi=(57)
cfn=(2086)
calls=2 1336
* 218
+2 2
+1 84
cfi=(84)
cfn=(5778) ProcKill
calls=1 800
* 736
cfi=(84)
cfn=(5774) RemoveProcFromArray
calls=1 789
* 324
cfi=(101)
cfn=(5772) CleanupInvalidationState
calls=1 +65
* 329
cfi=(103) /home/mithuncy/fsm_code/src/backend/storage/ipc/procsignal.c
cfn=(5770) CleanupProcSignalState
calls=1 139
* 29
cfi=(50)
cfn=(5762) AtProcExit_Buffers
calls=1 2478
* 47
cfi=(38)
cfn=(5760) pgstat_beshutdown_hook
calls=1 2953
* 51
-1 48
+3 2
+2 2
+1 4
fn=(5744)
162 8
+5 2
+7 2
+1 2
+1 2
+1 2
+1 2
+11 2
+2 2
+3 6
cfn=(5746)
calls=2 +31
* 11551
+2 8
cfi=(57)
cfn=(2084)
calls=2 1286
* 136
* 16
cfi=(57)
cfn=(2086)
calls=2 1336
* 218
+12 2
+1 42
cfi=(58)
cfn=(5802)
calls=1 +48
* 20
cfi=(25)
cfn=(5800)
calls=1 2776
* 45068
cfi=(140) /home/mithuncy/fsm_code/src/backend/storage/smgr/smgr.c
cfn=(5798) smgrshutdown
calls=1 -73
* 26
-1 30
+4 2
+1 4
fl=(133)
fn=(2538) pg_isblank
161 5680
+1 9104
+1 1712
-1 564
+1 1128
fn=(2540) make_hba_token
289 480
+4 240
cob=(3)
cfi=(3)
cfn=(424)
calls=80 0
* 1224
* 80
* 80
+2 400
cfi=(13)
cfn=(940)
calls=80 925
* 9778
* 80
+1 320
+1 240
+1 720
cob=(3)
cfi=(3)
cfn=(856)
calls=80 0
* 1040
* 80
+2 80
+1 160
fn=(3424) check_db
611 7
+4 3
cfi=(135) /home/mithuncy/fsm_code/src/backend/libpq/../../../src/include/nodes/pg_list.h
cfn=(2542) list_head
calls=1 78
* 10
* 2
+2 3
+1 3
+9 10
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 2
-13 2
+31 2
fn=(2530) tokenize_file
471 40
+1 4
+4 28
cfi=(14)
cfn=(432)
calls=4 -81
* 456
* 4
+3 12
cfi=(134) /home/mithuncy/fsm_code/src/backend/libpq/../../../src/include/utils/palloc.h
cfn=(2532) MemoryContextSwitchTo
calls=4 110
* 40
* 4
+2 8
+2 4
+4 274
+1 274
+2 1370
cob=(3)
cfi=(3)
cfn=(1486)
calls=274 0
* 65504
* 274
* 548
+2 4
cob=(5)
cfi=(5)
cfn=(472)
calls=4 0
* 12
* 4
* 8
+2 12
cob=(3)
cfi=(3)
cfn=(1366)
calls=4 0
* 144
* 4
* 8
+1 8
+9 810
cob=(3)
cfi=(3)
cfn=(424)
calls=270 0
* 5932
* 270
* 540
+12 810
cob=(3)
cfi=(3)
cfn=(424)
calls=270 0
* 5932
* 270
* 1080
+1 270
+1 1080
-1 5304
+4 540
+1 270
+4 1812
cfn=(2534) next_field_expand
calls=302 332
* 211137
* 302
+3 604
+1 280
cfi=(45)
cfn=(960)
calls=56 129
* 10652
* 56
-8 3194
+12 1314
+4 24
cfi=(13)
cfn=(940)
calls=12 925
* 1476
* 12
+1 36
+1 36
+1 36
cfi=(13)
cfn=(928)
calls=12 1162
* 3843
* 24
+1 36
+1 72
cfi=(45)
cfn=(960)
calls=12 129
* 2148
* 24
+3 12
-63 36
cob=(3)
cfi=(3)
cfn=(1480)
calls=12 0
* 432
* 12
+63 258
-63 774
cob=(3)
cfi=(3)
cfn=(1480)
calls=258 0
* 9288
* 258
* 12
cob=(3)
cfi=(3)
cfn=(1480)
calls=4 0
* 144
* 4
* 1370
cob=(3)
cfi=(3)
cfn=(1366)
calls=274 0
* 9864
* 274
* 548
+66 12
cfi=(134)
cfn=(2532)
calls=4 110
* 40
+2 4
+1 24
fn=(2534)
332 2114
+4 302
+4 3926
cfn=(2536) next_token
calls=302 198
* 173368
* 906
+3 246
+3 392
+4 336
cfn=(2540)
calls=56 -61
* 10540
* 280
cfi=(45)
cfn=(960)
calls=56 129
* 17597
* 56
+1 168
+2 302
+1 604
fn=(2536)
198 3020
+2 604
+1 1812
+1 302
+1 302
+1 302
+4 604
+1 604
+3 11810
cfn=(2538)
calls=822 -51
* 9948
* 2248
+7 302
+4 2092
+2 112246
+2 246
+3 924
+17 616
+6 616
+1 1540
+3 616
+3 308
+2 616
+8 2464
-51 1220
+1 2392
cfn=(2538)
calls=598 -59
* 8240
* 598
-1 1196
+1 88
+57 1510
+2 604
+2 2114
+1 984
-1 56
+1 224
fn=(2548) copy_hba_token
308 96
+1 192
cfn=(2540)
calls=24 -20
* 4462
* 24
+2 24
+1 48
fn=(3426) check_role
587 6
+4 3
cfi=(135)
cfn=(2542)
calls=1 78
* 10
* 2
+2 3
+1 10
+5 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 3
-1 2
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 2
-10 2
+13 2
fn=(2544) parse_hba_line
946 108
+1 36
+1 36
+13 24
cfi=(13)
cfn=(2546)
calls=12 -5
* 10400
* 12
+1 36
+1 48
cfi=(13)
cfn=(928)
calls=12 1162
* 3800
* 24
+4 48
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 12
+1 36
+1 48
+11 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+1 60
cob=(3)
cfi=(3)
cfn=(446)
calls=12 0
* 536
* 12
* 24
+3 12
+11 40
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 203
* 8
* 16
+5 48
+25 48
+7 16
-32 8
+48 36
+1 24
+10 24
+1 36
+1 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+3 48
cfn=(2548)
calls=12 308
* 2410
* 12
-1 60
cfi=(45)
cfn=(960)
calls=12 129
* 3480
* 24
-2 84
+7 36
+1 24
+10 24
+1 36
+1 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+3 48
cfn=(2548)
calls=12 308
* 2436
* 12
-1 60
cfi=(45)
cfn=(960)
calls=12 129
* 3480
* 24
-2 84
+6 48
+3 24
+1 16
+10 24
+1 32
+11 24
cfi=(135)
cfn=(2542)
calls=8 78
* 80
* 16
+2 80
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 230
* 8
* 16
+4 80
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 220
* 8
* 16
+5 80
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 230
* 8
* 16
+8 16
+3 32
cfi=(13)
cfn=(928)
calls=8 +27
* 1344
* 8
+3 32
cob=(3)
cfi=(3)
cfn=(1120)
calls=8 0
* 216
* 8
* 8
+1 16
+1 16
+3 8
+1 8
+1 8
+1 8
+1 8
+1 8
+1 8
+1 8
+2 48
cfi=(77)
cfn=(1630)
calls=8 59
* 11861
* 8
+1 40
+2 16
-1 64
cob=(3)
cfi=(3)
cfn=(856)
calls=8 0
* 128
* 8
* 8
+19 40
cfi=(77)
cfn=(1942)
calls=8 89
* 2696
+3 16
+2 32
+14 16
-1 64
cfi=(136) /home/mithuncy/fsm_code/src/backend/libpq/ifaddr.c
cfn=(2550) pg_sockaddr_cidr_mask
calls=8 116
* 2624
* 16
+13 24
cfi=(13)
cfn=(952)
calls=8 1032
* 628
* 8
+67 36
+1 24
+10 36
+1 48
+11 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+2 12
+1 60
cob=(3)
cfi=(3)
cfn=(446)
calls=12 0
* 554
* 12
* 24
+1 36
+76 24
+17 48
+1 8
-1 8
+5 48
+1 8
-1 8
+12 48
+1 16
-1 16
+18 48
+1 24
-1 24
+21 48
+1 24
-1 24
+9 48
+7 72
+38 48
+56 48
+53 48
+5 12
+1 84
fn=(3020) check_hba
2026 4
+6 5
cfi=(170) /home/mithuncy/fsm_code/src/backend/utils/adt/acl.c
cfn=(3022) get_role_oid
calls=1 5191
* 51560
* 1
+2 3
cfi=(135)
cfn=(2542)
calls=1 78
* 10
* 2
+2 3
+3 4
+2 4
+55 9
cfn=(3424)
calls=1 611
* 69
* 3
+4 8
cfn=(3426)
calls=1 587
* 106
* 3
+4 3
+1 1
-71 2
+78 2
fn=(2528)
2127 8
+2 2
+2 2
+1 2
+5 8
cfi=(25)
cfn=(1278)
calls=2 +49
* 1379
* 2
+1 4
+9 12
cfn=(2530)
calls=2 471
* 272710
* 2
+1 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1020
+4 14
cfi=(14)
cfn=(432)
calls=2 395
* 1177
* 2
+3 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
* 2
+1 6
cfi=(135)
cfn=(2542)
calls=2 78
* 20
* 4
+2 36
+4 48
+6 48
cfn=(2544)
calls=12 946
* 52028
* 36
+13 60
cfi=(45)
cfn=(960)
calls=12 129
* 2086
* 12
-25 64
+33 8
+10 6
cfi=(13)
cfn=(1396) MemoryContextDelete
calls=2 212
* 1454
+1 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
+2 8
+8 6
+1 3
cfi=(13)
cfn=(1396)
calls=1 212
* 865
+1 4
+1 4
+2 2
+1 8
fn=(3018) hba_getauthmethod
3028 4
+1 3
cfn=(3020)
calls=1 2026
* 51802
+1 2
fn=(2552)
2917 8
+2 2
+3 2
+1 2
+6 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1465
* 2
+1 4
+10 12
cfn=(2530)
calls=2 471
* 79930
* 2
+1 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1049
+4 14
cfi=(14)
cfn=(432)
calls=2 395
* 1087
* 2
+3 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
* 2
+1 6
cfi=(135)
cfn=(2542)
calls=2 78
* 16
* 8
+28 6
cfi=(13)
cfn=(1396)
calls=2 212
* 248
+1 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
+2 8
+18 6
+9 6
+1 3
cfi=(13)
cfn=(1396)
calls=1 212
* 119
+2 4
+1 4
+2 2
+1 8
fl=(297) /home/mithuncy/fsm_code/src/backend/utils/adt/format_type.c
fn=(5148) type_maximum_size
398 6
+1 2
+1 2
+25 4
fl=(33) /home/mithuncy/fsm_code/src/backend/utils/hash/hashfn.c
fn=(2952) uint32_hash
65 33985
+2 27188
cfi=(34) /home/mithuncy/fsm_code/src/backend/access/hash/hashfunc.c
cfn=(2954) hash_uint32
calls=6797 894
* 312662
+1 13594
fn=(838) string_hash
35 320
+6 192
cob=(3)
cfi=(3)
cfn=(424)
calls=64 -41
* 1164
* 64
* 64
+2 384
+1 384
cfi=(34)
cfn=(840) hash_any
calls=64 429
* 8620
+2 128
fn=(2224) tag_hash
53 238415
+1 286098
cfi=(34)
cfn=(840)
calls=47683 429
* 5314714
+2 95366
fl=(34)
fn=(840)
429 438975
+7 48775
+1 146325
+3 195100
+3 48746
+3 48746
+2 97116
+1 145674
+1 145674
+1 1456740
+1 48558
+1 48558
-7 194608
+11 48746
+41 243730
+3 915
+3 915
+3 915
+4 549
+1 366
+1 183
-9 115
+3 115
+4 69
+1 46
+1 23
-6 10
+4 6
+1 4
+1 2
-2 115617
+1 77078
+1 38539
+2 45
+3 45
+3 36
+3 18
+1 9
-7 15
+3 12
+3 6
+1 3
-1 18314
+1 9157
+2 30
+3 30
+3 24
-3 90
+3 47992
+10 29
+7 450
+1 475
+1 475
+2 750
+1 25
+1 25
-13 108
+56 145
+6 15
+3 15
+4 15
+3 15
+3 15
+3 12
+3 15
+3 15
+3 15
+3 9
+6 39
-31 5
+4 5
+3 5
+3 5
+3 4
+3 5
+3 5
+3 5
+3 3
+6 18
-27 10
+3 10
+3 10
+3 8
+3 10
+3 10
+3 10
+3 6
+6 46
-24 5
+3 5
+3 4
+3 5
+3 5
+3 5
+3 3
+6 28
-21 20
+3 16
+3 20
+3 20
+3 20
+3 12
+6 112
+3 4
+1 16
-22 12
+3 15
+3 15
+3 15
+3 9
+6 84
+3 3
+1 21
-19 20
+3 20
+3 20
+3 12
+6 112
+3 4
+1 28
-16 10
+3 10
+3 6
+6 56
+3 2
+1 14
-13 15
+3 9
+6 84
+3 3
+1 21
-10 6
+6 56
+3 2
+1 14
-4 1365000
+3 48750
+1 341250
-4 45
+3 3
+1 21
-4 10
+3 1
+1 7
-4 10
+3 2
+1 14
-1 1
+1 19
fn=(2954)
894 40782
+5 20391
+1 20391
+2 190316
+3 6797
+1 33985
fn=(5026) hashoidvector
208 8
+1 6
+2 16
cfn=(840)
calls=2 429
* 137
+1 4
fl=(55)
fn=(1122)
4190 4
+6 1
+1 2
fn=(5224)
230 4500
+3 500
+1 500
+1 2500
+8 2000
+33 1000
+10 2000
+25 2000
+14 2000
cfn=(5226) RelnameGetRelid
calls=500 674
* 26946089
* 500
+13 1000
+10 1000
+12 1000
+15 1000
+2 2000
+1 2500
cfi=(159)
cfn=(3038)
calls=500 106
* 1163205
* 500
+22 1500
+1 500
+11 1000
+15 500
+1 2000
fn=(4534) recomputeNamespacePath
3691 3039
+1 1013
cfi=(54)
cfn=(3464)
calls=1013 381
* 5065
* 1013
+11 3039
+4 6075
+1 1012
+3 3
cfi=(13)
cfn=(928)
calls=1 1162
* 189
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 1707
* 3
+13 1
+1 1
+1 3
cfi=(256) /home/mithuncy/fsm_code/src/backend/catalog/../../../src/include/nodes/pg_list.h
cfn=(4536) list_head
calls=1 78
* 10
* 2
+2 6
+3 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 44
* 2
* 4
+5 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 342
* 1
+1 2
+4 9
+1 4
cfn=(4540) get_namespace_oid
calls=1 3026
* 24123
* 1
+1 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+1 2
+5 1
+3 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 47
* 1
* 2
+19 4
cfn=(4540)
calls=1 3026
* 18657
* 1
+1 2
+1 5
cfi=(45)
cfn=(3130) list_member_oid
calls=1 506
* 23
* 1
-1 2
+2 6
cfi=(230) /home/mithuncy/fsm_code/src/backend/catalog/aclchk.c
cfn=(4550) pg_namespace_aclcheck
calls=1 4694
* 51
-1 2
+3 1
-1 5
+2 5
cfi=(45)
cfn=(4554) lappend_oid
calls=1 165
* 290
* 1
-51 12
+60 2
+3 3
cfi=(256)
cfn=(4536)
calls=1 78
* 10
* 2
+7 4
cfi=(45)
cfn=(3130)
calls=1 506
* 34
* 3
+1 4
cfi=(45)
cfn=(4556) lcons_oid
calls=1 296
* 161
* 1
+2 3
+8 3
cfi=(258) /home/mithuncy/fsm_code/src/backend/catalog/../../../src/include/utils/palloc.h
cfn=(4558) MemoryContextSwitchTo
calls=1 110
* 10
* 1
+1 3
cfi=(45)
cfn=(4560) list_copy
calls=1 1164
* 420
* 1
+1 3
cfi=(258)
cfn=(4558)
calls=1 110
* 10
+3 3
cfi=(45)
cfn=(972)
calls=1 1137
* 35
+1 2
+1 2
+1 2
+3 1
+1 2
+3 2
+1 2
+1 2
+3 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 319
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 319
+1 2026
fn=(5226)
674 2000
+4 500
cfn=(4534)
calls=500 3691
* 11000
+2 1500
cfi=(256)
cfn=(4536)
calls=500 78
* 5000
* 1000
+2 3000
+2 5000
cfi=(275)
cfn=(5228) get_relname_relid
calls=1000 1655
* 26908589
* 1000
+1 2000
+1 1000
-6 3500
+11 1000
fn=(3704) AtEOXact_Namespace
3962 14
+9 6
+27 6
+18 4
fn=(4532) GetOverrideSearchPath
3343 12
+5 3
cfn=(4534)
calls=3 3691
* 47231
+2 9
cfi=(258)
cfn=(4558)
calls=3 110
* 30
* 3
+2 6
cfi=(13)
cfn=(2546)
calls=3 956
* 446
* 3
+1 9
cfi=(45)
cfn=(4560)
calls=3 1164
* 1645
* 3
+1 3
+2 9
cfi=(256)
cfn=(4536)
calls=3 78
* 30
* 12
+5 6
+2 9
cfi=(45)
cfn=(4562) list_delete_first
calls=3 667
* 429
* 3
-9 30
cfi=(256)
cfn=(4536)
calls=6 78
* 60
* 24
+11 9
+2 9
cfi=(258)
cfn=(4558)
calls=3 110
* 30
+2 3
+1 6
fn=(4540)
3026 21
+3 24
cfi=(151)
cfn=(3024) GetSysCacheOid
calls=3 1227
* 60967
* 3
+2 10
+5 3
+1 12
fn=(4618) OverrideSearchPathMatchesCurrent
3395 2020
+4 505
cfn=(4534)
calls=505 3691
* 11110
+3 1515
cfi=(256)
cfn=(4536)
calls=505 78
* 5050
* 505
+3 2020
+8 2020
+2 3030
+1 2020
+5 4040
+3 2020
cfi=(256)
cfn=(4536)
calls=505 78
* 5050
* 1010
+2 4040
+1 1515
-3 4040
+7 1010
+2 505
+1 1010
fn=(4918) OpernameGetOprid
1465 12
+7 12
cfn=(4908) DeconstructQualifiedName
calls=2 2792
* 110
+2 6
+29 18
cfi=(151)
cfn=(4920) SearchSysCacheList
calls=2 -76
* 61974
* 2
+5 8
+3 3
cfi=(149) /home/mithuncy/fsm_code/src/backend/utils/cache/catcache.c
cfn=(4932) ReleaseCatCacheList
calls=1 1794
* 90
+1 2
+8 1
cfn=(4534)
calls=1 3691
* 22
+2 3
cfi=(256)
cfn=(4536)
calls=1 78
* 10
* 2
+2 3
+3 3
+3 2
+2 7
+1 8
+2 4
+2 3
+2 3
cfi=(149)
cfn=(4932)
calls=1 1794
* 90
+1 2
-10 4
-8 2
+25 4
fn=(4940) OpernameGetCandidates
1568 8
+1 1
+1 1
+1 1
+8 6
cfn=(4908)
calls=1 2792
* 55
+2 3
+10 1
+1 1
cfn=(4534)
calls=1 3691
* 22
+4 7
cfi=(151)
cfn=(4920)
calls=1 1427
* 65112
* 1
+14 4
+1 9
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+2 2
+2 77
+1 88
+1 11
+4 66
+3 22
+15 33
cfi=(256)
cfn=(4536)
calls=11 78
* 110
* 22
+2 66
+1 33
-1 22
+2 11
-4 22
+7 22
+14 22
+4 40
+2 60
+1 8
-1 4
+4 20
+13 20
+17 55
+1 33
+2 33
+1 44
+1 22
+1 22
+1 22
+1 22
+1 44
+1 44
+1 33
+1 22
-99 59
1715 3
cfi=(149)
cfn=(4932)
calls=1 +79
* 90
+2 1
+1 2
fn=(5098) LookupExplicitNamespace
2874 6
+5 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 47
* 1
* 2
+12 5
cfn=(4540)
calls=1 3026
* 18260
* 1
+1 2
+3 1
cfi=(54)
cfn=(3464)
calls=1 381
* 5
* 6
cfi=(230)
cfn=(4550)
calls=1 4694
* 51
* 1
+1 2
+4 3
+2 1
+1 2
fn=(5272) isTempToastNamespace
3152 4500
+1 4500
+2 1500
+1 3000
fn=(4908)
2792 49
+2 7
+1 7
+2 21
cfi=(256)
cfn=(4910) list_length
calls=7 90
* 70
* 38
+3 18
cfi=(256)
cfn=(4536)
calls=6 78
* 60
* 18
+1 6
+2 3
cfi=(256)
cfn=(4536)
calls=1 78
* 10
* 3
+1 3
cfi=(256)
cfn=(4536)
calls=1 78
* 10
* 4
+1 1
+23 21
+1 21
+1 28
fn=(4912) fetch_search_path_array
4304 10
+1 2
+3 2
cfn=(4534)
calls=2 3691
* 44
+2 6
cfi=(256)
cfn=(4536)
calls=2 78
* 20
* 4
+2 12
+2 12
+3 12
+1 28
+1 4
-9 24
+12 2
+1 4
fn=(1112)
4156 6
+5 4
cfi=(13)
cfn=(928)
calls=1 1162
* 158
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 2597
* 3
+17 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 319
+2 1
+1 2
fn=(3612) InitializeSearchPath
4206 3
+1 3
+25 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 86
+4 1
+2 2
fn=(5020) FuncnameGetCandidates
925 12
+1 1
+1 1
+11 6
cfn=(4908)
calls=1 2792
* 55
+2 3
+10 1
+1 1
cfn=(4534)
calls=1 3691
* 22
+4 7
cfi=(151)
cfn=(4920)
calls=1 1427
* 39825
* 1
+2 2
+2 14
+1 16
+1 8
+2 2
+4 2
+3 4
+14 6
cfi=(256)
cfn=(4536)
calls=2 78
* 20
* 4
+2 12
+1 6
-1 4
+2 2
-4 4
+7 4
+4 4
+50 10
+2 6
+1 6
+1 14
+11 6
+9 2
+3 18
+1 1
+9 4
+2 4
-1 2
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 1
+3 3
+1 4
+1 3
+1 3
+1 3
+12 10
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 12
* 1
+3 2
+4 7
+2 4
+1 6
-1 8
+5 5
+10 2
1258 3
+1 2
957 14
1262 3
cfi=(149)
cfn=(4932)
calls=1 1794
* 90
+2 1
+1 2
fl=(169) /home/mithuncy/fsm_code/src/backend/libpq/auth.c
fn=(3428) sendAuthRequest
618 7
+3 3
+2 4
cfi=(191)
cfn=(3430)
calls=1 88
* 168
+1 5
cfi=(192) /home/mithuncy/fsm_code/src/backend/libpq/../../../src/include/libpq/pqformat.h
cfn=(3432) pq_sendint32
calls=1 146
* 74
+1 2
+3 3
cfi=(191)
cfn=(3436)
calls=1 299
* 335
+7 2
+3 3
+1 2
fn=(3016) ClientAuthentication
348 6
+1 1
+1 1
+8 3
cfi=(133)
cfn=(3018)
calls=1 3028
* 51811
+2 3
+7 5
+23 8
599 1
+1 1
+3 3
+3 2
+1 6
cfn=(3428)
calls=1 +11
* 608
* 1
+3 5
fl=(304) /home/mithuncy/fsm_code/src/backend/executor/execMain.c
fn=(5308) CheckValidResultRel
1081 3500
+1 1500
+1 1500
+3 5000
+4 2500
cfi=(309) /home/mithuncy/fsm_code/src/backend/executor/execReplication.c
cfn=(5310) CheckCmdReplicaIdentity
calls=500 569
* 8500
+1 500
1207 2500
fn=(5260) ExecCheckRTPerms
571 3500
+2 500
+2 1500
cfi=(245)
cfn=(4416)
calls=500 78
* 5000
* 1000
+2 1500
+2 1500
cfn=(5262) ExecCheckRTEPerms
calls=500 +23
* 12780095
* 500
+1 2000
-5 3500
+15 1500
+3 500
+1 2000
fn=(5262)
602 2000
+12 2000
+6 1500
+1 1000
+3 1500
+10 2500
cfi=(54)
cfn=(3464)
calls=500 381
* 2500
* 500
+7 3000
cfi=(230)
cfn=(5264) pg_class_aclmask
calls=500 3833
* 12758595
* 500
+1 2000
+1 1000
+69 500
+1 1000
fn=(5522) ExecCleanUpTriggerState
1454 2000
+3 2000
cfi=(245)
cfn=(4416)
calls=500 78
* 4000
* 2000
+19 1000
fn=(5302) InitResultRelInfo
1286 4000
+1 500
+2 97500
+1 1000
+1 1500
+1 1500
+1 1000
+1 1000
+1 1000
+2 2000
cfi=(167) /home/mithuncy/fsm_code/src/backend/commands/trigger.c
cfn=(5304) CopyTriggerDesc
calls=500 2141
* 6500
* 1000
+1 2000
+13 1000
+1 1000
+1 1000
+2 2500
+3 1000
+3 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+15 1500
cfi=(308) /home/mithuncy/fsm_code/src/backend/utils/cache/partcache.c
cfn=(5306) RelationGetPartitionQual
calls=500 378
* 7000
* 500
+2 1500
+1 1500
+1 1000
+1 1000
fl=(103)
fn=(5770)
139 5
+1 2
+3 12
+8 1
+3 5
+11 2
+1 2
fn=(2266) ProcSignalShmemInit
85 3
+1 1
cfn=(2058) ProcSignalShmemSize
calls=1 -11
* 13
* 1
+4 5
cfi=(87)
cfn=(2168)
calls=1 373
* 994
-1 1
+4 4
+1 19
cob=(3)
cfi=(3)
cfn=(828)
calls=1 -94
* 583
* 1
+1 2
fn=(2874) ProcSignalInit
106 4
+5 12
+3 4
+5 63
+3 3
+3 2
+3 5
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(2058)
75 4
+1 18
+1 4
fl=(149)
fn=(3446) SearchCatCache1
1177 13100
+1 20960
cfn=(3030) SearchCatCacheInternal
calls=2620 +37
* 13933365
+1 5240
fn=(4542) CatCacheCopyKeys
1949 4599
+8 1022
+2 7147
+1 11231
+1 7147
+9 4084
+2 2525
cfi=(187)
cfn=(4544)
calls=505 253
* 49691
+1 1010
+3 2525
+2 1010
-2 505
+1 1010
-1 2525
cfi=(257) /home/mithuncy/fsm_code/src/backend/utils/adt/datum.c
cfn=(4546) datumCopy
calls=505 129
* 101979
* 2580
+2 1032
-2 516
+1 1032
-1 2580
cfi=(257)
cfn=(4546)
calls=516 129
* 7740
* 1021
-19 5617
+24 2044
fn=(2890) CreateCacheMemoryContext
630 2
+5 3
+1 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
+3 2
fn=(3120) namehashfast
152 4104
+1 2052
+2 3078
cob=(3)
cfi=(3)
cfn=(424)
calls=1026 0
* 19414
* 1026
* 5130
cfi=(34)
cfn=(840)
calls=1026 429
* 102866
+1 2052
fn=(4932)
1794 16
+4 20
+1 20
cfi=(164)
cfn=(4934) ResourceOwnerForgetCatCacheListRef
calls=4 1037
* 280
+4 8
-2 8
+6 8
fn=(3028) SearchCatCache
1163 8040
+1 11055
cfn=(3030)
calls=1005 +51
* 26848719
+1 2010
fn=(3122) SearchCatCacheMiss
1329 13824
+9 3072
+1 3072
+1 3072
+1 3072
+6 19968
cob=(3)
cfi=(3)
cfn=(856)
calls=1536 0
* 74123
* 1536
+1 3072
+1 3072
+1 3072
+1 3072
+17 7680
cfi=(171)
cfn=(3034)
calls=1536 -61
* 4201684
* 1536
+4 7680
cfn=(3124) IndexScanOK
calls=1536 1095
* 18477
-2 16896
cfi=(173) /home/mithuncy/fsm_code/src/backend/access/index/genam.c
cfn=(3127) systable_beginscan'2
calls=2 322
* 8369
cfi=(173)
cfn=(3126) systable_beginscan
calls=1534 322
* 7931983
* 1536
+7 1536
+2 4608
cfi=(173)
cfn=(3172) systable_getnext
calls=1536 406
* 16182557
* 4608
+2 9261
cfn=(3382) CatalogCacheCreateEntry
calls=1029 1819
* 684425
* 1029
+4 3087
cfi=(164)
cfn=(3390) ResourceOwnerEnlargeCatCacheRefs
calls=1029 982
* 24304
+1 5145
+1 6174
cfi=(164)
cfn=(3392) ResourceOwnerRememberCatCacheRef
calls=1029 993
* 44247
+1 1029
+3 3087
cfi=(173)
cfn=(3394) systable_endscan
calls=1029 489
* 4034328
* 1521
cfi=(173)
cfn=(3394)
calls=507 489
* 1873760
+2 6144
cfi=(171)
cfn=(3092)
calls=1536 1283
* 4033433
+12 3072
+2 1521
+3 4563
cfn=(3382)
calls=507 1819
* 425134
* 507
+14 1014
+12 2058
+1 3072
fn=(3032) CatalogCacheInitializeCache
933 64
+8 80
cfi=(171)
cfn=(3034)
calls=16 1307
* 112718
* 16
+8 48
cfi=(152) /home/mithuncy/fsm_code/src/backend/utils/cache/../../../../src/include/utils/palloc.h
cfn=(2898) MemoryContextSwitchTo
calls=16 110
* 160
* 16
+5 64
cfi=(158)
cfn=(3090) CreateTupleDescCopyConstr
calls=16 151
* 14117
* 16
+6 80
cfi=(13)
cfn=(928)
calls=16 1162
* 2907
* 32
+1 80
+5 48
cfi=(152)
cfn=(2898)
calls=16 110
* 160
+2 64
cfi=(171)
cfn=(3092)
calls=16 1283
* 28731
+8 32
+7 168
+2 360
+3 96
+11 432
cfn=(3114) GetCCHashEqFuncs
calls=24 209
* 534
+9 336
cfi=(161)
cfn=(3116) fmgr_info_cxt
calls=24 135
* 1992
+5 384
+3 240
+1 240
+2 240
-43 184
+54 48
+1 32
fn=(3382)
1819 15500
+6 3100
+13 7301
+3 2086
+3 3129
cfi=(152)
cfn=(2898)
calls=1043 110
* 10430
* 1043
+3 2086
-1 4172
cfi=(13)
cfn=(940)
calls=1043 925
* 128258
* 1043
+2 4172
+1 6258
+1 4172
+2 4172
-1 3129
+5 2086
-2 1043
+1 2086
-1 5215
cob=(3)
cfi=(3)
cfn=(856)
calls=1043 0
* 95093
* 1043
+3 3129
cfi=(152)
cfn=(2898)
calls=1043 110
* 10430
+2 3129
+4 2086
+5 47269
cfi=(190) /home/mithuncy/fsm_code/src/backend/access/common/heaptuple.c
cfn=(3384) nocachegetattr
calls=1 428
* 251
* 56648
cfi=(190)
cfn=(3384)
calls=1531 428
* 144344
* 3115
+5 7920
-10 13135
+16 1521
cfi=(152)
cfn=(2898)
calls=507 110
* 5070
* 507
+1 1014
cfi=(13)
cfn=(940)
calls=507 925
* 62330
* 507
+7 1014
-1 6084
cfn=(4542)
calls=507 +63
* 220496
+2 1521
cfi=(152)
cfn=(2898)
calls=507 110
* 5070
+7 3100
+1 4650
+1 3100
+1 3100
+1 3100
+1 4650
+1 4650
+2 15500
cfi=(153) /home/mithuncy/fsm_code/src/backend/utils/cache/../../../../src/include/lib/ilist.h
cfn=(3386) dlist_push_head
calls=1550 301
* 46310
+2 7750
+1 6200
+6 10850
+1 9
cfn=(5560) RehashCatCache
calls=3 870
* 100954
+2 1550
+1 3100
fn=(3450) nameeqfast
143 10
+1 4
+1 4
+2 12
cob=(3)
cfi=(3)
cfn=(1044)
calls=2 0
* 117
* 2
* 4
+1 4
fn=(3858) CatCacheInvalidate
562 60
+15 204
+13 60
+1 240
+22 24
fn=(4954) SearchCatCache2
1185 54
+1 72
cfn=(3030)
calls=9 +29
* 119614
+1 18
fn=(3030)
1215 32706
+16 25438
+1 42
cfn=(3032)
calls=14 933
* 152499
+7 7268
+1 7268
+1 7268
+1 7268
+5 36340
cfn=(3118) CatalogCacheComputeHashValue
calls=3634 279
* 379560
* 3634
+1 18170
+8 21804
+1 38992
+2 12267
+2 16356
+3 16356
+1 1991
+2 18882
cfn=(3448) CatalogCacheCompareTuple
calls=2098 386
* 119838
* 6294
+9 12588
cfi=(153)
cfn=(3452) dlist_move_head
calls=2098 386
* 25223
+6 10490
+2 6285
cfi=(164)
cfn=(3390)
calls=2095 982
* 48185
+1 10475
+1 12570
cfi=(164)
cfn=(3392)
calls=2095 993
* 90085
+9 6285
+11 6
-49 28473
+53 18432
cfn=(3122)
calls=1536 +19
* 39695092
+1 7268
fn=(3448)
386 14686
+1 6294
+3 4196
+2 44121
cfn=(4538) int4eqfast
calls=2099 172
* 23089
cfn=(3450)
calls=2 143
* 157
* 6303
-2 14698
+5 2098
+1 4196
fn=(4922) SearchCatCacheList
1522 32
+1 4
+17 16
+1 6
cfn=(3032)
calls=2 933
* 12220
+9 8
+1 8
+1 8
+1 8
+7 40
cfn=(3118)
calls=4 279
* 728
* 4
+8 44
+2 9
+2 12
+3 12
+1 3
-8 37
+53 12
cfi=(164)
cfn=(4924) ResourceOwnerEnlargeCatCacheListRefs
calls=4 1017
* 395
+2 4
+2 32
cob=(3)
cfi=(3)
cfn=(370)
calls=4 0
* 112
* 4
* 16
+10 56
cob=(3)
cfi=(3)
cfn=(856)
calls=4 0
* 320
* 4
+1 8
+1 8
+1 8
+1 8
+2 20
cfi=(171)
cfn=(3034)
calls=4 1307
* 8546
* 4
+4 20
cfn=(3124)
calls=4 1095
* 48
-2 44
cfi=(173)
cfn=(3126)
calls=4 322
* 18252
* 4
+8 20
+2 4
+4 14
+6 14
+1 98
cfn=(4942) CatalogCacheComputeTupleHashValue
calls=14 329
* 12116
* 14
+1 70
+2 84
+1 128
+2 3
+2 8
+3 4
+3 7
cfi=(296) /home/mithuncy/fsm_code/src/backend/storage/page/itemptr.c
cfn=(5108) ItemPointerEquals
calls=1 30
* 34
* 3
+7 4
+1 1
-18 63
+24 56
+3 126
cfn=(3382)
calls=14 1819
* 12221
* 14
+7 70
cfi=(45)
cfn=(960)
calls=14 129
* 2570
* 14
+1 70
-50 42
cfi=(173)
cfn=(3172)
calls=14 406
* 21429
* 12
cfi=(173)
cfn=(3172)
calls=4 406
* 54992
* 54
+53 12
cfi=(173)
cfn=(3394)
calls=4 489
* 11009
+2 16
cfi=(171)
cfn=(3092)
calls=4 1283
* 6948
+3 12
cfi=(152)
cfn=(2898)
calls=4 110
* 40
* 4
+1 12
cfi=(259) /home/mithuncy/fsm_code/src/backend/utils/cache/../../../../src/include/nodes/pg_list.h
cfn=(4928) list_length
calls=4 90
* 38
* 4
+2 16
-1 8
cfi=(13)
cfn=(940)
calls=4 925
* 461
* 4
+5 8
-1 44
cfn=(4542)
calls=4 1949
* 1676
+2 12
cfi=(152)
cfn=(2898)
calls=4 110
* 40
+30 16
+2 8
+1 12
+1 8
+1 8
+1 12
+1 16
+1 12
+1 12
+2 4
+1 12
cfi=(259)
cfn=(4568) list_head
calls=4 78
* 38
* 8
+2 154
+2 42
+3 70
+2 56
-9 78
+14 28
cfi=(153)
cfn=(3386)
calls=4 301
* 130
+3 20
+1 20
cfi=(164)
cfn=(4930) ResourceOwnerRememberCatCacheListRef
calls=4 1028
* 172
+5 4
+1 8
fn=(3420) ReleaseCatCache
1452 12496
+1 9372
+7 15620
+1 18744
cfi=(164)
cfn=(3422) ResourceOwnerForgetCatCacheRef
calls=3124 1002
* 218680
+4 6248
-2 6248
+7 6248
fn=(3468) int4hashfast
178 14712
+1 11034
cfi=(194) /home/mithuncy/fsm_code/src/backend/utils/cache/../../../../src/include/utils/hashutils.h
cfn=(3470) murmurhash32
calls=3678 42
* 84594
+1 7356
fn=(4942)
329 84
+1 14
+1 14
+1 14
+1 14
+1 14
+1 42
+1 42
+3 122
+3 998
cfi=(190)
cfn=(3384)
calls=1 +86
* 637
* 13
+7 1130
cfi=(190)
cfn=(3384)
calls=2 +79
* 982
* 14
+7 1130
cfi=(190)
cfn=(3384)
calls=2 +72
* 1817
* 14
+7 728
cfi=(190)
cfn=(3384)
calls=2 +65
* 170
* 14
+5 14
+6 140
cfn=(3118)
calls=14 -95
* 3927
+1 28
fn=(5560)
870 12
+5 12
cfi=(57)
cfn=(2084)
calls=3 1286
* 204
* 48
cfi=(57)
cfn=(2086)
calls=3 1336
* 327
+4 12
+1 24
cfi=(13)
cfn=(2156)
calls=3 -65
* 2241
* 3
+3 6
+4 9578
+2 3081
+1 6162
+2 3081
cfi=(153)
cfn=(5562) dlist_delete
calls=1027 359
* 15405
+1 11297
cfi=(153)
cfn=(3386)
calls=1027 301
* 35305
-6 11291
-4 2572
+15 12
cfi=(13)
cfn=(952)
calls=3 1032
* 257
+1 9
+1 9
+1 6
fn=(3114)
209 168
+1 150
+13 14
+1 14
+1 14
+1 7
+27 32
+1 32
+1 32
+1 16
+2 2
+1 2
+1 2
+1 1
+8 48
fn=(3118)
279 32868
+1 3652
+2 10956
+7 21548
+3 72
cfn=(3468)
calls=12 178
* 384
* 12
+2 36
+1 36
+3 72
cfn=(3468)
calls=12 178
* 384
* 24
cfn=(3468)
calls=4 178
* 128
* 16
+2 48
+1 48
+3 96
cfn=(5022) oidvectorhashfast
calls=2 202
* 247
cfn=(3468)
calls=14 178
* 448
* 6060
cfn=(3468)
calls=1010 178
* 32320
* 1026
+2 3078
+1 3078
+3 5130
cfn=(3468)
calls=9 178
* 288
cfn=(3120)
calls=1017 152
* 138729
* 13130
cfn=(3468)
calls=2617 178
* 83744
cfn=(3120)
calls=9 152
* 993
* 3652
+2 7304
+1 3652
+6 3652
+1 7304
fn=(3124)
1095 6160
+1 6193
+10 4
+2 1
+11 2
+10 8
+2 2
+3 1536
+4 1536
+1 3072
-1 3
+1 8
fn=(4538)
172 8396
+1 10495
+1 4198
fn=(5022)
202 8
+1 10
cfi=(161)
cfn=(5024) DirectFunctionCall1Coll
calls=2 794
* 225
+1 4
fn=(2896) InitCatCache
778 693
+23 231
+3 231
cfi=(152)
cfn=(2898)
calls=77 110
* 770
* 77
+5 231
+2 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+1 3
cfi=(153)
cfn=(2900) slist_init
calls=1 555
* 7
+1 2
+12 1
+1 3
cfi=(13)
cfn=(2546)
calls=1 956
* 649
-1 76
+1 228
cfi=(13)
cfn=(2546)
calls=76 956
* 50188
* 231
+1 385
cfi=(13)
cfn=(2546)
calls=77 956
* 28536
* 154
+7 231
+1 154
+1 231
+1 231
+1 154
+1 154
+1 154
+1 231
+1 231
+1 154
+1 1375
-1 731
+12 462
cfi=(153)
cfn=(2902) slist_push_head
calls=77 575
* 1001
+5 231
cfi=(152)
cfn=(2898)
calls=77 110
* 770
+2 77
+1 154
fl=(317)
fn=(5512)
405 4000
+1 6000
cfi=(260)
cfn=(5376)
calls=1000 301
* 26000
+2 1000
+1 2000
fl=(71)
fn=(1608)
23 30
+1 12
+1 24
+10 6
+2 820
fi=(322) /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/smmintrin.h
822 492
fe=(71)
37 164
+1 164
-3 680
+7 24
+2 5
fi=(322)
815 3
fe=(71)
44 1
+1 1
+16 6
+2 12
fi=(322)
803 6
fe=(71)
63 2
+1 2
-3 24
+6 6
+1 12
fl=(111) /home/mithuncy/fsm_code/src/backend/access/nbtree/nbtutils.c
fn=(3184) _bt_fix_scankey_strategy
1211 16292
+3 44803
+22 20365
+35 16292
+2 24438
+3 20365
+17 4073
+1 8146
fn=(3352) _bt_checkkeys
1373 41364
+1 41364
+9 9192
+10 41364
+23 4596
+2 32172
+2 18384
+1 13788
+1 13788
+2 22980
+8 30585
+7 427908
cfi=(287) /home/mithuncy/fsm_code/src/backend/access/common/indextuple.c
cfn=(4926) nocache_index_getattr
calls=1006 214
* 223814
* 7123
+5 30585
+33 18351
+41 55053
cfi=(161)
cfn=(3342)
calls=6117 1134
* 353071
* 6117
+3 12234
+12 17773
+2 7617
+8 5078
1424 31678
1548 8228
+4 2057
+1 9192
fn=(2290) BTreeShmemInit
2027 4
+3 1
cfn=(2076) BTreeShmemSize
calls=1 -16
* 62
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1113
* 1
+4 4
+10 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1258
* 5
* 1
+2 2
+1 3
+4 4
fn=(3170) _bt_preprocess_array_keys
204 10216
+1 7662
+1 7662
+1 10216
+7 2554
+1 5108
+2 40730
+1 20365
-3 23954
+18 5108
+2 5108
+1 5108
+1 2554
365 5108
fn=(3186) _bt_mark_scankey_required
1313 16292
+3 32584
+7 3571
+1 3571
+3 502
+1 502
+8 24438
+2 20365
+10 8146
fn=(3328) _bt_freestack
176 10216
+3 2554
+2 5066
+1 7599
+1 7599
cfi=(13)
cfn=(952)
calls=2533 1032
* 215305
-4 10174
+6 5108
fn=(2076)
2014 6
+3 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+1 2
+1 4
fn=(3182) _bt_preprocess_keys
757 10216
+1 7662
+1 7662
+1 10216
+13 5108
+1 5108
+2 5108
+6 10216
+3 7662
+2 7662
+1 5108
+2 10216
+4 5108
+3 5190
cfn=(3184)
calls=1038 1211
* 39444
* 3114
+2 6228
cob=(3)
cfi=(3)
cfn=(856)
calls=1038 0
* 24912
* 1038
+1 2076
+2 4152
+1 3114
cfn=(3186)
calls=1038 1313
* 28026
+1 1038
+6 1516
+1 1516
+8 1516
+1 7580
cob=(3)
cfi=(3)
cfn=(828)
calls=1516 0
* 24256
* 1516
+7 1516
+2 13653
+3 15175
cfn=(3184)
calls=3035 1211
* 115330
* 9105
+12 25793
+2 6070
+3 15181
+14 9105
+2 5066
+2 5066
+2 50660
+2 30396
+1 12665
-5 45594
+29 2533
+4 9105
+17 9105
+1 1506
+20 6070
+2 75875
+2 36420
+2 24280
cob=(3)
cfi=(3)
cfn=(856)
calls=3035 0
* 72840
* 3035
+1 12140
+1 9105
cfn=(3186)
calls=3035 1313
* 81945
-8 54630
+15 9105
+1 1516
+65 6064
-62 4557
+1 7595
cob=(3)
cfi=(3)
cfn=(828)
calls=1519 0
* 24304
* 1519
+4 15175
+3 15175
+17 15175
+3 15175
827 6070
1017 3035
+3 5108
fl=(122)
fn=(3824) WaitEventSetWaitBlock
1071 32
+1 4
+6 32
cob=(3)
cfi=(3)
cfn=(3830)
calls=3 0
* 32
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1329
* 8
* 4
+4 8
+3 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 6
+7 4
+2 4
+11 8
+6 6
+2 8
+1 8
+1 4
+2 8
+1 3
-1 2
+4 1
cfn=(5718) drainSelfPipe
calls=1 1559
* 28
+2 6
+8 4
+24 5
+4 5
+1 3
-1 2
+4 6
+3 5
+7 4
+2 4
+1 1
+1 1
-69 1
-2 9
-1 2
+3 1
-2 9
-1 2
+1 18
-1 4
+1 6
+76 2
+1 16
fn=(2192) InitSharedLatch
261 351
+16 234
+1 234
+1 234
+1 234
fn=(2848)
767 42
+5 60
+8 24
+1 15
-1 10
+1 8
+1 3
+2 15
+1 4
-1 4
+7 15
+6 9
+2 6
+2 6
+4 12
cfn=(2750) WaitEventAdjustEpoll
calls=2 +14
* 80
* 6
cfn=(2750)
calls=1 +14
* 53
+6 12
fn=(2850)
437 28
+12 7
+3 28
+3 14
+26 21
+1 14
+2 21
+2 12
+1 2
cfn=(5714) sendSelfPipeByte
calls=2 1520
* 46
* 2
+3 12
cob=(3)
cfi=(3)
cfn=(2664)
calls=3 0
* 15
* 3
+22 14
fn=(3822)
520 9
+4 6
+8 3
+1 6
fn=(2718) InitLatch
229 3
+1 2
+1 3
+1 2
+10 2
fn=(2748)
692 24
+6 6
+6 6
+2 5
+2 4
+2 4
+1 1
+4 8
+5 14
+3 33
+1 21
+1 9
+1 9
+1 9
+5 6
+2 3
+1 4
+2 4
+3 4
+3 3
+6 6
cfn=(2750)
calls=1 +70
* 44
* 12
cfn=(2750)
calls=2 +70
* 1446
+7 6
+1 6
fn=(2750)
819 42
+5 12
+2 6
+3 24
+3 12
+2 12
+2 4
+7 10
+1 3
+1 10
+1 3
+8 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1355
* 5
* 40
cob=(3)
cfi=(3)
cfn=(2756)
calls=5 0
* 30
* 5
* 6
+2 12
+4 24
fn=(5718)
1559 3
+10 6
cob=(5)
cfi=(5)
cfn=(684)
calls=1 0
* 7
* 1
* 1
+1 2
+12 2
+5 3
+3 1
+4 2
fn=(2716) InitializeLatchSupport
156 3
+4 3
+8 3
+37 3
cob=(3)
cfi=(3)
cfn=(2422)
calls=1 0
* 5
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428) fcntl
calls=1 0
* 20
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428)
calls=1 0
* 20
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428)
calls=1 0
* 20
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428)
calls=1 0
* 20
* 1
* 2
+3 2
+1 2
+1 2
+4 2
fn=(2740)
543 5
+3 1
+8 1
+1 9
+3 9
+8 5
cfi=(13)
cfn=(2156)
calls=1 815
* 284
* 1
+2 2
+1 1
+2 3
+1 9
+3 3
+1 9
+9 2
+1 3
+1 2
+4 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1373
* 5
* 2
+1 4
+25 1
+1 2
fn=(2844) OwnLatch
297 4
+9 4
+3 3
+1 2
fn=(5792) DisownLatch
317 3
+4 2
+1 2
fn=(3816)
954 32
+1 4
+3 4
+8 8
+7 12
cfi=(213) /home/mithuncy/fsm_code/src/backend/storage/ipc/../../../../src/include/pgstat.h
cfn=(3818) pgstat_report_wait_start
calls=4 1239
* 64
+3 4
+5 4
+31 63
+2 6
+1 12
+2 33
-1 6
+2 6
+1 3
+1 3
+2 3
+8 28
cfn=(3824)
calls=4 +41
* 1665
* 4
+3 8
+3 8
+3 14
-58 16
+68 4
+3 4
cfi=(213)
cfn=(3820) pgstat_report_wait_end
calls=4 1263
* 56
+2 4
+1 8
fn=(5714)
1520 6
+2 2
+3 12
cob=(5)
cfi=(5)
cfn=(1568) write
calls=2 0
* 14
* 2
* 2
+1 4
+20 4
fl=(248)
fn=(4460)
330 20
+3 12
cfi=(222)
cfn=(4336)
calls=4 78
* 40
* 8
+2 12
+2 28
cfn=(4462) markTargetListOrigin
calls=4 +16
* 64
-4 28
+6 8
fn=(4462)
353 28
+5 24
+1 4
+68 8
fn=(4476)
300 20
+3 12
cfi=(222)
cfn=(4336)
calls=4 78
* 40
* 8
+2 12
+1 16
cfi=(250)
cfn=(4478)
calls=4 43
* 96
* 4
+2 8
-5 28
+14 8
fn=(4442)
133 24
+1 4
+8 12
+2 12
cfi=(222)
cfn=(4336)
calls=4 -66
* 40
* 8
+2 12
+7 8
+2 20
+14 20
+22 48
cfn=(4444) transformTargetEntry
calls=4 91
* 735358
* 4
-1 16
cfi=(45)
cfn=(960)
calls=4 -61
* 1098
* 4
-46 28
+61 16
+7 4
+1 8
fn=(4444)
91 40
+2 8
+7 8
+3 24
cfi=(249) /home/mithuncy/fsm_code/src/backend/parser/parse_expr.c
cfn=(4446) transformExpr
calls=4 +44
* 734164
* 4
+3 24
+6 12
cfn=(4454) FigureColname
calls=4 1652
* 201
* 4
+3 4
+1 20
-1 20
cfi=(221)
cfn=(4458)
calls=4 241
* 817
+4 8
fn=(4454)
1652 16
+1 4
+2 20
cfn=(4456) FigureColnameInternal
calls=4 +36
* 136
+1 12
+1 2
+2 3
+1 8
fn=(4456)
1691 20
+1 4
+2 8
+3 62
1928 2
1742 4
cfi=(222)
cfn=(3930) list_tail
calls=1 84
* 10
* 4
+1 2
+2 4
+6 4
+5 1
1931 3
+1 8
fl=(295)
fn=(5076)
974 6
+10 2
+2 2
+1 2
+57 2
fl=(221)
fn=(5252) makeAlias
387 2500
+1 2000
cfi=(13)
cfn=(2950)
calls=500 853
* 61000
* 2500
+2 1500
cfi=(13)
cfn=(928)
calls=500 1162
* 80832
* 1000
+1 1500
+2 500
+1 1000
fn=(4338) makeA_Expr
33 24
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 470
* 15
+2 9
+1 9
+1 9
+1 9
+1 9
+1 3
+1 6
fn=(4458)
241 56
+1 28
cfi=(13)
cfn=(2950)
calls=7 853
* 1187
* 35
+2 21
+1 21
+1 21
+7 14
+1 14
+1 14
+2 21
+2 7
+1 14
fn=(4480)
285 20
+1 16
cfi=(13)
cfn=(2950)
calls=4 853
* 612
* 20
+2 12
+1 12
+1 4
+1 8
fn=(4452) makeConst
305 48
+1 16
cfi=(13)
cfn=(2950)
calls=4 853
* 668
* 20
+7 24
+3 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 8
+2 4
+1 8
fn=(3922) makeDefElem
546 3006
+1 2004
cfi=(13)
cfn=(2950)
calls=501 853
* 83667
* 2505
+2 1002
+1 1503
+1 1503
+1 1002
+1 1503
+2 501
+1 1002
fn=(5206) makeRangeVar
422 3000
+1 2000
cfi=(13)
cfn=(2950)
calls=500 853
* 90500
* 2500
+2 1000
+1 1500
+1 1500
+1 1000
+1 1000
+1 1000
+1 1500
+2 500
+1 1000
fn=(4340) makeFuncCall
585 12
+1 8
cfi=(13)
cfn=(2950)
calls=2 853
* 376
* 10
+2 6
+1 6
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 6
+1 2
+1 4
fn=(5078) makeTypeNameFromNameList
456 4
+1 4
cfi=(13)
cfn=(2950)
calls=1 853
* 181
* 5
+2 3
+1 2
+1 2
+1 2
+1 1
+1 2
fl=(291)
fn=(5092) typenameTypeIdAndMod
295 7
+3 6
cfn=(5094) typenameType
calls=1 -50
* 53351
* 1
+1 10
+1 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+1 2
fn=(4988)
581 6
+3 16
+1 4
+1 4
fn=(4960)
671 56
+7 56
cfi=(151)
cfn=(3444)
calls=14 1114
* 4788
* 14
+1 28
+2 112
+1 56
+3 14
+6 42
+1 42
cfi=(151)
cfn=(3418)
calls=14 1161
* 1442
+1 14
+1 28
fn=(4986)
622 6
+3 16
+1 4
+1 4
fn=(4990)
591 6
+3 16
+1 4
+1 4
fn=(5094)
248 8
+3 6
cfn=(5096) LookupTypeName
calls=1 59
* 53317
* 1
+1 2
+6 11
+6 1
+1 5
fn=(5096)
59 10
+5 4
+5 4
+83 7
cfi=(55)
cfn=(4908)
calls=1 2792
* 68
+2 3
+6 7
cfi=(226)
cfn=(4992)
calls=1 -13
* 24
+2 5
cfi=(55)
cfn=(5098)
calls=1 2874
* 18400
* 1
+1 2
+1 9
cfi=(151)
cfn=(3024)
calls=1 1227
* 34366
* 2
+6 3
cfi=(226)
cfn=(5010)
calls=1 -8
* 8
* 1
+9 4
+4 2
+7 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 342
* 1
+1 2
+3 6
cfn=(5100) typenameTypeMod
calls=1 316
* 20
* 1
+2 2
+1 3
+2 1
+1 5
fn=(5100)
316 8
+10 4
+1 3
+82 5
fn=(4994)
636 12
+1 16
+1 6
+1 6
cfi=(275)
cfn=(4996) getTypeIOParam
calls=2 2049
* 38
* 2
+2 12
cfi=(161)
cfn=(4998) OidInputFunctionCall
calls=2 1825
* 692
+1 4
fn=(4984)
560 8
+3 8
cfi=(151)
cfn=(3444)
calls=2 1114
* 684
* 2
+1 4
+2 2
+1 4
fl=(57)
fn=(1548)
232 864
+3 108
+7 216
+6 3
+15 2
+16 5
+11 540
cfn=(1550) is_log_level_output
calls=108 3439
* 1719
* 108
+3 356
+8 48
+1 20
+2 85
+5 20
-5 2
+5 1032
+1 204
+6 18
+12 30
+21 36
+12 30
+1 1128
+1 18
+1 18
+1 18
+1 12
+5 24
cob=(3)
cfi=(3)
cfn=(1880)
calls=5 0
* 134
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1335
* 10
* 6
+1 12
+3 18
+1 18
+1 18
+2 30
+2 24
+2 12
+1 3
+1 10
+3 10
+2 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
* 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 18
+5 18
+2 18
+1 6
+1 216
fn=(1550)
3439 456
+1 436
+2 40
+1 20
+2 208
+7 312
+1 4
+2 102
+1 228
fn=(2086)
1336 198
+1 90
+3 54
+5 54
+1 18
cob=(5)
cfi=(5)
cfn=(472)
calls=18 0
* 54
* 18
* 54
+1 180
cfn=(1548)
calls=18 232
* 1048
* 54
+1 18
+18 36
fn=(1150)
1897 10
+11 11
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 1
-1 2
+3 3
+5 3
+2 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 242
* 1
* 1
+2 2
+2 4
fn=(1896)
411 66
+1 30
+5 18
+1 18
+1 18
+6 18
cfi=(79) /home/mithuncy/fsm_code/src/backend/utils/error/../../../../src/include/utils/palloc.h
cfn=(1884) MemoryContextSwitchTo
calls=6 110
* 60
* 6
+7 30
+9 12
+33 15
+1 4
cfi=(58)
cfn=(5730)
calls=1 1637
* 12
+3 6
cfn=(1898) EmitErrorReport
calls=6 1434
* 64331
+3 24
+1 24
cfi=(13)
cfn=(952)
calls=6 1032
* 510
+1 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+3 18
+3 18
cfi=(79)
cfn=(1884)
calls=6 110
* 60
+1 18
+5 12
+8 3
+9 3
cob=(3)
cfi=(3)
cfn=(2562)
calls=1 0
* 54
* 1
+1 3
cob=(3)
cfi=(3)
cfn=(2562)
calls=1 0
* 54
* 1
+7 2
cfi=(67)
cfn=(5742)
calls=1 105
* 70122
+3 10
+19 15
+1 10
fn=(1900) send_message_to_server_log
2852 42
+3 18
cfi=(80)
cfn=(1888)
calls=6 47
* 738
+2 6
+1 6
+2 30
cfn=(1902) log_line_prefix
calls=6 2301
* 43793
+1 24
cfn=(1928) error_severity
calls=6 3323
* 90
* 12
cfn=(1930) err_gettext
calls=6 206
* 36
* 36
cfi=(80)
cfn=(1926) appendStringInfo
calls=6 79
* 2700
+2 18
+3 24
+1 36
cfn=(1932) append_with_tabs
calls=6 3374
* 10098
* 6
+4 24
+3 24
+4 24
cfi=(80)
cfn=(1924) appendStringInfoChar
calls=6 176
* 210
+2 18
+2 24
+7 24
+7 24
+7 24
+7 24
+7 18
+22 36
cfn=(1550)
calls=6 3439
* 87
* 12
+1 6
-1 12
+12 24
+47 24
+7 18
+15 30
cfn=(1934) write_console
calls=6 2145
* 1489
+4 18
+4 24
+25 18
cfi=(13)
cfn=(952)
calls=6 1032
* 510
+2 36
fn=(1930)
206 21
+7 7
+2 14
fn=(1904) setup_formatted_log_time
2216 18
+4 24
+2 18
cob=(10)
cfi=(22)
cfn=(662) 0x000000005803d963
calls=6 0
* 18
* 6
+1 6
+3 12
+10 30
cfi=(35) /home/mithuncy/fsm_code/src/timezone/localtime.c
cfn=(1048) pg_localtime
calls=6 1375
* 6180
-3 30
cfi=(82) /home/mithuncy/fsm_code/src/timezone/strftime.c
cfn=(1906) pg_strftime
calls=6 123
* 27267
+6 90
cfi=(17)
cfn=(1138)
calls=6 231
* 3606
+1 30
cob=(3)
cfi=(3)
cfn=(856)
calls=6 0
* 72
* 6
+1 12
fn=(5740) err_sendstring
3123 35
+1 7
cfn=(1886) in_error_recursion_trouble
calls=7 194
* 49
* 14
+3 35
cfi=(191)
cfn=(3738)
calls=7 198
* 1126
+1 14
fn=(1886)
194 26
+2 39
+1 26
fn=(1902)
2301 30
+15 24
+2 2
+1 4
+1 2
+2 6
+2 6
-2 12
+2 12
+3 18
+2 144
+3 168
cfi=(80)
cfn=(1924)
calls=24 176
* 840
+1 24
+4 12
+1 48
+2 48
+22 48
+1 24
+5 108
+64 18
+3 36
cfi=(80)
cfn=(1926)
calls=6 79
* 3684
+1 6
+8 6
cfn=(1904)
calls=6 2216
* 37425
+1 18
+3 24
cfi=(80)
cfn=(1918)
calls=6 164
* 768
+1 6
2327 210
2602 12
fn=(1932)
3374 30
+3 6
+2 7506
+1 556
-3 1988
+6 12
fn=(1882)
785 66
+1 30
+3 18
+1 18
+1 24
cfi=(79)
cfn=(1884)
calls=6 110
* 60
* 6
+2 18
+1 6
cfn=(1886)
calls=6 194
* 42
* 30
cfi=(80)
cfn=(1888)
calls=6 47
* 769
* 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 90
cfi=(80)
cfn=(1892) appendStringInfoVA
calls=6 121
* 3800
* 66
cfi=(13)
cfn=(928)
calls=6 1162
* 1067
* 30
cfi=(13)
cfn=(952)
calls=6 1032
* 510
+2 18
cfi=(79)
cfn=(1884)
calls=6 110
* 60
+1 18
+1 6
+1 12
fn=(1898)
1434 18
+1 30
+3 18
+1 18
+1 24
cfi=(79)
cfn=(1884)
calls=6 110
* 60
* 6
+21 42
+4 24
+1 18
cfn=(1900)
calls=6 2852
* 60495
+3 24
+1 3
cfn=(5732) send_message_to_frontend
calls=1 3135
* 3443
+2 18
cfi=(79)
cfn=(1884)
calls=6 110
* 60
+1 18
+1 12
fn=(5732)
3135 5
+4 9
cfi=(191)
cfn=(3430)
calls=1 88
* 137
+2 4
+8 4
cfn=(1928)
calls=1 3323
* 15
* 1
+1 4
cfi=(320) /home/mithuncy/fsm_code/src/backend/utils/error/../../../../src/include/libpq/pqformat.h
cfn=(5734) pq_sendbyte
calls=1 162
* 88
+1 3
cfn=(1930)
calls=1 206
* 6
* 5
cfn=(5740)
calls=1 -28
* 182
+1 4
cfi=(320)
cfn=(5734)
calls=1 162
* 88
+1 5
cfn=(5740)
calls=1 -30
* 182
+3 3
+1 2
+2 30
+1 5
-3 17
+5 3
+2 4
cfi=(320)
cfn=(5734)
calls=1 162
* 88
+1 5
cfn=(5740)
calls=1 -42
* 178
+3 4
cfi=(320)
cfn=(5734)
calls=1 162
* 88
+1 4
+1 6
cfn=(5740)
calls=1 -47
* 194
* 1
+4 4
+8 4
+6 4
+6 4
+6 4
+6 4
+6 4
+6 4
+6 4
+7 4
+7 4
+6 4
+2 4
cfi=(320)
cfn=(5734)
calls=1 162
* 88
+1 6
cfn=(5740)
calls=1 3123
* 182
+3 4
+2 9
cfi=(17)
cfn=(462)
calls=1 203
* 489
+1 4
cfi=(320)
cfn=(5734)
calls=1 162
* 88
+1 5
cfn=(5740)
calls=1 3123
* 178
+3 4
+2 4
cfi=(320)
cfn=(5734)
calls=1 162
* 88
+1 6
cfn=(5740)
calls=1 3123
* 184
+3 4
cfi=(320)
cfn=(5734)
calls=1 162
* 88
* 1
+33 3
cfi=(191)
cfn=(3436)
calls=1 299
* 389
+10 3
cfi=(58)
cfn=(3800)
calls=1 1401
* 186
+1 4
fn=(1928)
3323 21
+3 49
+11 5
+1 5
+14 2
+1 2
+9 7
+1 14
fn=(2084)
1286 108
+4 54
+8 108
+13 90
+1 36
+5 72
cob=(3)
cfi=(3)
cfn=(1880)
calls=18 0
* 317
* 18
* 18
+1 36
+3 54
+1 54
+1 54
+2 18
cob=(5)
cfi=(5)
cfn=(472)
calls=18 0
* 54
* 18
* 54
+3 54
+1 36
fn=(2820) DebugFileOpen
1846 4
+4 3
+37 4
fn=(5728) errcode
571 4
+1 5
+3 3
+2 3
+2 1
+1 2
fn=(1934)
2145 36
+62 30
cob=(3)
cfi=(3)
cfn=(1940)
calls=5 0
* 30
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1275
* 10
* 30
cob=(5)
cfi=(5)
cfn=(1568)
calls=6 0
* 42
* 6
* 6
+2 24
fl=(83)
fn=(1992)
97 6
+1 1
+2 4
+7 1
cfi=(84)
cfn=(1994) ProcGlobalSemas
calls=1 +22
* 6
* 1
+1 1
cfi=(85) /home/mithuncy/fsm_code/src/backend/storage/lmgr/spin.c
cfn=(1996) SpinlockSemas
calls=1 -57
* 5
* 1
+11 1
+1 3
cfi=(86) /home/mithuncy/fsm_code/src/backend/port/pg_sema.c
cfn=(1998) PGSemaphoreShmemSize
calls=1 +45
* 34
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(85)
cfn=(2004) SpinlockSemaSize
calls=1 -81
* 12
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(31)
cfn=(2006)
calls=1 733
* 368
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
cfi=(88) /home/mithuncy/fsm_code/src/backend/storage/buffer/buf_init.c
cfn=(2010) BufferShmemSize
calls=1 +38
* 823
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(91)
cfn=(2016)
calls=1 3437
* 1031
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(92)
cfn=(2018) PredicateLockShmemSize
calls=1 1266
* 1752
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(84)
cfn=(2022) ProcGlobalShmemSize
calls=1 -24
* 367
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(53)
cfn=(2024) XLOGShmemSize
calls=1 4945
* 2898
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(94) /home/mithuncy/fsm_code/src/backend/access/transam/clog.c
cfn=(2028) CLOGShmemSize
calls=1 693
* 88
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(95) /home/mithuncy/fsm_code/src/backend/access/transam/commit_ts.c
cfn=(2032) CommitTsShmemSize
calls=1 480
* 82
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(96) /home/mithuncy/fsm_code/src/backend/access/transam/subtrans.c
cfn=(2036) SUBTRANSShmemSize
calls=1 +55
* 59
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(97) /home/mithuncy/fsm_code/src/backend/access/transam/twophase.c
cfn=(2038) TwoPhaseShmemSize
calls=1 237
* 103
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(73)
cfn=(2040)
calls=1 +11
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(98) /home/mithuncy/fsm_code/src/backend/access/transam/multixact.c
cfn=(2042) MultiXactShmemSize
calls=1 1804
* 225
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(99)
cfn=(2044) LWLockShmemSize
calls=1 350
* 127
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(100) /home/mithuncy/fsm_code/src/backend/storage/ipc/procarray.c
cfn=(2048) ProcArrayShmemSize
calls=1 +45
* 187
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(38)
cfn=(2050) BackendStatusShmemSize
calls=1 2609
* 206
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(101)
cfn=(2052) SInvalShmemSize
calls=1 +67
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(102)
cfn=(2054) PMSignalShmemSize
calls=1 -25
* 73
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(103)
cfn=(2058)
calls=1 -65
* 13
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(104) /home/mithuncy/fsm_code/src/backend/postmaster/checkpointer.c
cfn=(2060) CheckpointerShmemSize
calls=1 880
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(105)
cfn=(2062) AutoVacuumShmemSize
calls=1 3289
* 66
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(106) /home/mithuncy/fsm_code/src/backend/replication/slot.c
cfn=(2064) ReplicationSlotsShmemSize
calls=1 -28
* 66
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(107) /home/mithuncy/fsm_code/src/backend/replication/logical/origin.c
cfn=(2066) ReplicationOriginShmemSize
calls=1 476
* 91
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(108)
cfn=(2068)
calls=1 3028
* 63
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(109) /home/mithuncy/fsm_code/src/backend/replication/walreceiverfuncs.c
cfn=(2070) WalRcvShmemSize
calls=1 43
* 33
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(72)
cfn=(2072) ApplyLauncherShmemSize
calls=1 770
* 66
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(110) /home/mithuncy/fsm_code/src/backend/utils/time/snapmgr.c
cfn=(2074) SnapMgrShmemSize
calls=1 252
* 10
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(111)
cfn=(2076)
calls=1 2014
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(112) /home/mithuncy/fsm_code/src/backend/access/heap/syncscan.c
cfn=(2078) SyncScanShmemSize
calls=1 -23
* 5
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(113) /home/mithuncy/fsm_code/src/backend/commands/async.c
cfn=(2080) AsyncShmemSize
calls=1 427
* 144
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(114) /home/mithuncy/fsm_code/src/backend/utils/misc/backend_random.c
cfn=(2082) BackendRandomShmemSize
calls=1 42
* 5
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+6 1
+1 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 10
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+5 6
cfi=(115) /home/mithuncy/fsm_code/src/backend/port/pg_shmem.c
cfn=(2088) PGSharedMemoryCreate
calls=1 560
* 34623
* 1
+2 3
cfi=(87)
cfn=(2126) InitShmemAccess
calls=1 -73
* 16
+5 5
cfi=(86)
cfn=(2128) PGReserveSemaphores
calls=1 +24
* 120
+27 5
+1 1
cfi=(87)
cfn=(2132) InitShmemAllocation
calls=1 -91
* 153
+6 1
cfi=(99)
cfn=(2140) CreateLWLocks
calls=1 382
* 17679
+5 1
cfi=(87)
cfn=(2160) InitShmemIndex
calls=1 +58
* 3251
+5 1
cfi=(53)
cfn=(2190) XLOGShmemInit
calls=1 4986
* 462330
+1 1
cfi=(94)
cfn=(2194) CLOGShmemInit
calls=1 699
* 4713
+1 1
cfi=(95)
cfn=(2198) CommitTsShmemInit
calls=1 491
* 4415
+1 1
cfi=(96)
cfn=(2200) SUBTRANSShmemInit
calls=1 -31
* 4819
+1 1
cfi=(98)
cfn=(2202) MultiXactShmemInit
calls=1 1821
* 7389
+1 1
cfi=(88)
cfn=(2204) InitBufferPool
calls=1 69
* 3666463
+5 1
cfi=(91)
cfn=(2220)
calls=1 378
* 157412
+5 1
cfi=(92)
cfn=(2222) InitPredicateLocks
calls=1 1063
* 648914
+5 4
+1 1
cfi=(84)
cfn=(2240) InitProcGlobal
calls=1 -78
* 99625
+1 1
cfi=(100)
cfn=(2254) CreateSharedProcArray
calls=1 -19
* 3325
+1 1
cfi=(38)
cfn=(2256) CreateSharedBackendStatus
calls=1 2637
* 30983
+1 1
cfi=(97)
cfn=(2258) TwoPhaseShmemInit
calls=1 +9
* 1325
+1 1
cfi=(73)
cfn=(2260)
calls=1 -85
* 1455
+5 1
cfi=(101)
cfn=(2262) CreateSharedInvalidationState
calls=1 -30
* 7107
+5 1
cfi=(102)
cfn=(2264) PMSignalShmemInit
calls=1 129
* 1260
+1 1
cfi=(103)
cfn=(2266)
calls=1 85
* 1627
+1 1
cfi=(104)
cfn=(2268) CheckpointerShmemInit
calls=1 899
* 37047
+1 1
cfi=(105)
cfn=(2270) AutoVacuumShmemInit
calls=1 3308
* 1866
+1 1
cfi=(106)
cfn=(2276) ReplicationSlotsShmemInit
calls=1 133
* 2634
+1 1
cfi=(107)
cfn=(2280) ReplicationOriginShmemInit
calls=1 496
* 3084
+1 1
cfi=(108)
cfn=(2282)
calls=1 3040
* 1567
+1 1
cfi=(109)
cfn=(2284) WalRcvShmemInit
calls=1 54
* 1370
+1 1
cfi=(72)
cfn=(2286) ApplyLauncherShmemInit
calls=1 818
* 1720
+5 1
cfi=(110)
cfn=(2288) SnapMgrInit
calls=1 *
* 1135
+1 1
cfi=(111)
cfn=(2290)
calls=1 2027
* 2465
+1 1
cfi=(112)
cfn=(2296) SyncScanShmemInit
calls=1 136
* 2104
+1 1
cfi=(113)
cfn=(2298) AsyncShmemInit
calls=1 444
* 13694
+1 1
cfi=(114)
cfn=(2334) BackendRandomShmemInit
calls=1 48
* 4
+12 4
+1 3
cfi=(129)
cfn=(2336)
calls=1 146
* 13368
+5 3
+2 2
fl=(165) /home/mithuncy/fsm_code/src/backend/executor/spi.c
fn=(4582) _SPI_make_plan_non_temp
2664 12
+2 9
+15 21
cfi=(14)
cfn=(432)
calls=3 395
* 1859
* 3
+3 9
cfi=(236) /home/mithuncy/fsm_code/src/backend/executor/../../../src/include/utils/palloc.h
cfn=(4188) MemoryContextSwitchTo
calls=3 110
* 30
* 3
+3 6
cfi=(13)
cfn=(2546)
calls=3 956
* 582
* 3
+1 6
+1 9
+1 12
+1 12
+1 12
+6 6
+1 12
+1 12
+8 12
cfi=(245)
cfn=(4416)
calls=3 78
* 30
* 6
+2 9
+2 15
cfi=(154) /home/mithuncy/fsm_code/src/backend/utils/cache/plancache.c
cfn=(4584) CachedPlanSetParentContext
calls=3 1292
* 231
+3 18
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 6
-7 21
+10 9
cfi=(236)
cfn=(4188)
calls=3 110
* 30
+3 6
+2 3
+1 6
fn=(4610) SPI_plan_get_cached_plan
1738 2020
+8 2020
+4 2020
cfi=(245)
cfn=(4612) list_length
calls=505 90
* 5050
* 1010
+2 2020
cfi=(245)
cfn=(4416)
calls=505 78
* 5050
* 1010
+3 505
+1 1515
+1 1010
+1 1010
+4 505
-1 4040
cfi=(154)
cfn=(4614) GetCachedPlan
calls=505 1143
* 546791
* 505
+5 1010
+2 505
+1 1010
fn=(5202) SPI_execute
436 3500
+4 2000
+3 1000
cfn=(4410) _SPI_begin_call
calls=500 2600
* 23000
* 500
+1 1000
+3 2500
cob=(3)
cfi=(3)
cfn=(828)
calls=500 0
* 8000
* 500
+1 500
+1 500
+2 2500
cfn=(5204) _SPI_prepare_oneshot_plan
calls=500 1982
* 6724064
+2 5500
cfn=(5212) _SPI_execute_plan
calls=500 2042
* 359376323
* 500
+4 1000
cfn=(4586) _SPI_end_call
calls=500 2624
* 195161
+1 500
+1 1000
fn=(3696) AtEOXact_SPI
303 14
+2 6
+3 10
+6 2
cfn=(3698) SPICleanup
calls=2 -25
* 18
+1 10
fn=(4604) SPI_plan_get_plan_sources
1722 9
+2 6
+1 6
fn=(2980) SPI_inside_nonatomic_context
424 4
+1 6
+1 4
+4 4
fn=(3698)
289 4
+1 2
+1 2
+2 2
+1 2
+1 2
+1 4
fn=(4410)
2600 3024
+1 1512
+3 1008
+3 1006
cfi=(26)
cfn=(736)
calls=503 624
* 4024
* 503
+2 503
cfn=(4412) _SPI_execmem
calls=503 -28
* 9054
+3 504
+1 2016
fn=(4414) _SPI_prepare_plan
1877 15
+9 3
+1 6
+1 6
+1 6
+5 9
cfi=(52)
cfn=(3880) pg_parse_query
calls=3 633
* 34235
* 3
+6 3
+2 9
cfi=(245)
cfn=(4416)
calls=3 78
* 30
* 6
+2 9
+8 12
cfi=(224)
cfn=(3944)
calls=3 2083
* 51
* 18
cfi=(154)
cfn=(4418) CreateCachedPlan
calls=3 170
* 13906
* 3
+8 12
+7 3
-4 30
cfi=(52)
cfn=(4432) pg_analyze_and_rewrite_params
calls=3 722
* 609813
* 6
+16 57
cfi=(154)
cfn=(4512) CompleteCachedPlan
calls=3 348
* 71559
+10 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
-47 21
+50 9
+1 6
+5 6
+1 6
fn=(5204)
1982 2500
+9 500
+1 1000
+1 1000
+1 1000
+5 1500
cfi=(52)
cfn=(3880)
calls=500 633
* 6342064
* 500
+5 500
+2 1500
cfi=(245)
cfn=(4416)
calls=500 78
* 5000
* 1000
+2 1500
+3 2000
cfi=(224)
cfn=(3944)
calls=500 +72
* 8500
* 3000
cfi=(154)
cfn=(5210) CreateOneShotCachedPlan
calls=500 253
* 194500
* 500
+4 2500
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 500
-9 3500
+12 1500
+1 1000
+5 1000
+1 1000
fn=(4408) SPI_prepare_params
658 21
+4 6
+6 6
cfn=(4410)
calls=3 2600
* 138
* 3
+1 9
+3 15
cob=(3)
cfi=(3)
cfn=(828)
calls=3 0
* 48
* 3
+1 3
+1 6
+1 3
+1 3
+1 6
+1 6
+2 15
cfn=(4414)
calls=3 1877
* 730746
+3 9
cfn=(4582)
calls=3 2664
* 3890
* 3
+2 6
cfn=(4586)
calls=3 2624
* 690
+2 3
+1 6
fn=(4586)
2624 2515
+1 1006
+3 503
cfn=(4588) _SPI_procmem
calls=503 -41
* 9054
+2 1006
+2 2012
cfi=(13)
cfn=(3758) MemoryContextReset
calls=503 137
* 178246
+3 503
+1 1006
fn=(4592) SPI_keepplan
692 12
+3 18
+1 6
-1 6
+1 12
+8 6
+1 18
cfi=(13)
cfn=(1400) MemoryContextSetParent
calls=3 355
* 177
+2 12
cfi=(245)
cfn=(4416)
calls=3 78
* 30
* 6
+2 9
+2 9
cfi=(154)
cfn=(4594) SaveCachedPlan
calls=3 456
* 354
-4 21
+7 3
+1 6
fn=(5544) SPI_freetuptable
1102 4000
+1 1000
+3 2000
+1 1000
+44 2000
fn=(5594) SPI_freeplan
741 12
+3 18
+4 12
cfi=(245)
cfn=(4416)
calls=3 78
* 30
* 6
+2 9
+2 9
cfi=(154)
cfn=(5596) DropCachedPlan
calls=3 500
* 4121
-4 21
+8 12
cfi=(13)
cfn=(1396)
calls=3 212
* 910
+2 3
+1 6
fn=(5212)
2042 6000
+1 500
+1 500
+1 500
+1 500
+1 500
+2 500
+6 500
+1 500
+1 1000
+1 1000
+24 1000
+15 2000
cfi=(245)
cfn=(4416)
calls=500 78
* 5000
* 1000
+2 1500
+4 1500
+5 2000
+2 1500
+1 1500
+7 1000
+2 2000
+15 500
-4 5000
cfi=(52)
cfn=(3950) pg_analyze_and_rewrite
calls=500 683
* 617500
* 500
+8 9500
cfi=(154)
cfn=(4512)
calls=500 348
* 93000
+15 4500
cfi=(154)
cfn=(4614)
calls=500 1143
* 510500
* 500
+1 1500
+6 5500
+2 1000
+2 500
cfi=(110)
cfn=(2998) GetTransactionSnapshot
calls=500 305
* 292414
* 1000
cfi=(110)
cfn=(3996) PushActiveSnapshot
calls=500 734
* 163500
+1 500
+3 1500
cfi=(245)
cfn=(4416)
calls=500 78
* 5000
* 1000
+2 1500
+1 1500
+3 1000
+1 1000
+2 2000
+2 2500
+2 1500
+2 2000
+3 500
+10 1000
+7 500
cfi=(26)
cfn=(1210)
calls=500 910
* 4000
* 1000
+7 4500
+2 500
cfi=(26)
cfn=(4830) CommandCounterIncrement
calls=500 919
* 5500
+1 500
cfi=(110)
cfn=(5214) UpdateActiveSnapshotCommandId
calls=500 782
* 18000
+3 3000
cfi=(212) /home/mithuncy/fsm_code/src/backend/tcop/dest.c
cfn=(3982) CreateDestReceiver
calls=500 114
* 6500
* 500
+2 2000
+32 4500
+1 1000
+8 500
-4 5500
cfi=(224)
cfn=(4001)
calls=500 345
* 357263121
+9 2000
+4 500
+6 2500
+25 2500
+3 3500
cfi=(298) /home/mithuncy/fsm_code/src/backend/utils/adt/numutils.c
cfn=(5538) pg_strtouint64
calls=500 559
* 81788
* 500
+10 1000
+2 1500
+1 1500
cfn=(5544)
calls=500 1102
* 5000
+1 1500
+1 1500
+8 1000
2169 3500
2334 3500
cfi=(154)
cfn=(4792) ReleaseCachedPlan
calls=500 1263
* 13000
+1 500
+7 2000
+1 500
cfi=(26)
cfn=(4830)
calls=500 919
* 39000
2097 3500
2349 1000
+1 500
cfi=(110)
cfn=(4848) PopActiveSnapshot
calls=500 813
* 112000
+3 1000
+6 1000
+3 1000
+1 1000
+3 1000
+7 1000
+3 500
+1 2000
fn=(4184) SPI_connect_ext
96 5
+4 3
+2 6
+2 1
+2 13
cfi=(13)
cfn=(798)
calls=1 772
* 91
-1 1
+3 3
+17 3
+3 11
+1 2
+1 2
+1 2
+1 4
cfi=(235) /home/mithuncy/fsm_code/src/backend/executor/../../../src/include/lib/ilist.h
cfn=(4186) slist_init
calls=1 555
* 7
+1 2
+1 2
+1 2
cfi=(26)
cfn=(736)
calls=1 624
* 8
* 1
+1 2
+1 6
+1 2
+1 3
+1 3
+1 3
+14 12
cfi=(14)
cfn=(432)
calls=1 395
* 424
* 1
+3 13
cfi=(14)
cfn=(432)
calls=1 395
* 424
* 1
+4 5
cfi=(236)
cfn=(4188)
calls=1 -52
* 10
* 1
+6 1
+1 1
+1 1
+2 1
+1 4
fn=(4412)
2581 1006
+1 2012
cfi=(236)
cfn=(4188)
calls=503 110
* 5030
+1 1006
fn=(4588)
2587 1006
+1 2012
cfi=(236)
cfn=(4188)
calls=503 110
* 5030
+1 1006
fn=(5606) SPI_finish
177 3
+3 2
cfn=(4410)
calls=1 2600
* 16
* 1
+1 2
+4 4
cfi=(236)
cfn=(4188)
calls=1 -75
* 10
+3 4
cfi=(13)
cfn=(1396)
calls=1 +24
* 119
+1 2
+1 4
cfi=(13)
cfn=(1396)
calls=1 +22
* 877
+1 2
+6 3
+1 3
+1 3
+3 3
+1 3
+1 2
+4 1
+1 2
fl=(243)
fn=(5340) MakePerTupleExprContext
415 2000
+1 2000
+1 1500
cfn=(4380) CreateExprContext
calls=500 242
* 369317
* 1000
+2 1000
+1 1000
fn=(5526) FreeExprContext
373 3006
+4 2505
cfn=(5528) ShutdownExprContext
calls=501 926
* 6513
+2 2004
cfi=(13)
cfn=(1396)
calls=501 212
* 284876
+2 1503
+1 1002
+1 3006
cfi=(45)
cfn=(5532) list_delete_ptr
calls=501 591
* 137775
* 1002
+3 1503
cfi=(13)
cfn=(952)
calls=501 1032
* 42585
+1 1002
fn=(4574)
1091 16
+1 4
+3 12
cfi=(245)
cfn=(4416)
calls=4 78
* 40
* 8
+2 12
+2 20
+1 4
-5 28
+7 4
+1 8
fn=(4366) CreateExecutorState
86 1503
+8 3507
cfi=(14)
cfn=(432)
calls=501 395
* 56281
* 501
+8 1503
cfi=(236)
cfn=(4188)
calls=501 +8
* 5010
* 501
+2 2004
cfi=(13)
cfn=(2950)
calls=501 853
* 213426
* 2505
+5 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+2 1002
+2 1002
+2 1002
+1 1002
+1 1002
+2 1002
+1 1002
+2 1002
+2 1002
+1 1002
+1 1002
+1 1002
+2 1002
+1 1002
+2 1002
+2 1503
+2 1002
+2 1002
+2 1002
+1 1002
+1 1002
+2 1002
+2 1002
+2 1002
+2 1002
+2 1002
+1 1002
+1 1002
+1 1002
+2 1002
+2 1002
+1 1002
+5 1503
cfi=(236)
cfn=(4188)
calls=501 -63
* 5010
+2 501
+1 1002
fn=(4380)
242 2004
+5 2004
cfi=(236)
cfn=(4188)
calls=501 110
* 5010
* 501
+2 2004
cfi=(13)
cfn=(2950)
calls=501 853
* 122244
* 2505
+3 1002
+1 1002
+1 1002
+2 2004
+6 4008
cfi=(14)
cfn=(432)
calls=501 395
* 54241
-1 1002
+5 2004
+1 2004
+2 1002
+1 1002
+2 1002
+1 1002
+2 1002
+1 1002
+2 1503
+2 1002
+7 3006
cfi=(45)
cfn=(1586)
calls=501 -27
* 145290
* 1002
+2 1503
cfi=(236)
cfn=(4188)
calls=501 110
* 5010
+2 501
+1 1002
fn=(5524) FreeExecutorState
195 2004
+7 501
+6 2000
cfi=(245)
cfn=(4416)
calls=500 78
* 5000
* 2000
cfn=(5526)
calls=500 373
* 487759
-6 4004
+12 2004
+10 2004
cfi=(13)
cfn=(1396)
calls=501 -12
* 151435
+1 1002
fn=(5528)
926 3006
+5 2004
+1 501
+20 1002
fn=(5314) ExecInitRangeTable
720 2500
+5 1500
+3 1500
cfi=(245)
cfn=(4612)
calls=500 90
* 5000
* 1500
+2 3000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
-1 1000
+2 500
+1 1500
cfi=(245)
cfn=(4416)
calls=500 78
* 5000
* 1000
+2 5500
-2 3500
+11 3000
cfi=(13)
cfn=(2546)
calls=500 956
* 69500
-1 1000
+7 1000
+1 1000
fl=(266)
fn=(4676)
71 15
+1 9
+1 9
+1 9
+1 9
+1 3
+1 3
+9 6
+22 12
+8 9
+1 12
+9 12
cfi=(264) /home/mithuncy/fsm_code/src/backend/optimizer/prep/../../../../src/include/nodes/pg_list.h
cfn=(4648) list_head
calls=3 -48
* 24
* 12
+67 12
+35 12
+7 6
+3 3
+1 12
fl=(204) /home/mithuncy/fsm_code/src/backend/libpq/be-fsstubs.c
fn=(3636) AtEOXact_LargeObject
584 10
+3 6
+1 2
+26 4
fl=(9)
fn=(354)
0 16
cob=(2)
cfi=(2)
cfn=(356) 0x00000000004763e8
calls=1 0
0 6
0 7
cfn=(360) 0x0000000000477400
calls=1 0
0 15
0 11
fn=(5822)
0 5
cfn=(5826) 0x0000000000477370
calls=1 0
0 8
0 3
fn=(340)
0 11
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 391871070
0 5
fn=(1580)
0 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1433
0 5
fn=(360)
0 15
fn=(512) lstat
0 8
cob=(3)
cfi=(3)
cfn=(518)
calls=1 0
0 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1301
0 6
fn=(490)
0 52
cob=(3)
cfi=(3)
cfn=(496)
calls=12 0
0 140
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1294
0 17
fn=(5292) fstat
0 2000
cob=(3)
cfi=(3)
cfn=(596)
calls=499 0
0 4990
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1301
0 504
fn=(5826)
0 8
fl=(213)
fn=(3820)
1263 8
+1 8
+2 24
+7 8
+1 8
fn=(3818)
1239 12
+1 8
+2 24
+7 12
+1 8
fl=(256)
fn=(4910)
90 21
+1 35
+1 14
fn=(4536)
78 4635
+1 7725
+1 3090
fl=(301) /home/mithuncy/fsm_code/src/backend/access/heap/tuptoaster.c
fn=(5238) heap_tuple_untoast_attr
173 2000
+1 2000
+15 2000
+26 2000
+9 3000
+7 3000
+5 3500
+1 1500
+3 1500
cfi=(13)
cfn=(940)
calls=500 925
* 46000
* 500
+1 2000
+1 4000
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 12000
* 500
+1 1000
+3 500
+1 1000
fl=(60)
fn=(1272) ProcessConfigFileInternal
173 24
+1 3
+1 3
+8 6
+1 9
+2 39
cfn=(1274) ParseConfigFile
calls=3 566
* 4489849
* 9
+15 9
+2 24
cfn=(1274)
calls=2 566
* 27103
* 6
+20 1
+5 3
+2 65
+1 65
cob=(3)
cfi=(3)
cfn=(446)
calls=13 0
* 560
* 13
-1 26
-2 67
+7 2
+2 4
+9 3
+1 1
+8 4
+2 4396
+2 3768
-4 2518
+20 6
+5 112
+7 168
cfi=(29)
cfn=(1212)
calls=28 4869
* 35242
* 28
+2 56
+3 140
+17 196
-34 144
+54 4
+4 2
+8 4
+2 4396
+3 2512
+1 42
-1 28
+2 628
-7 2518
+67 6
+2 1
cfi=(29)
cfn=(1228)
calls=1 5020
* 3797
+1 1
cfi=(29)
cfn=(1470)
calls=1 10789
* 792984
+2 1
cfi=(19)
cfn=(2650) GetDatabaseEncodingName
calls=1 1011
* 6
* 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 3552
+7 6
+2 28
+4 112
+4 140
+2 84
cfi=(29)
cfn=(2652)
calls=14 7195
* 20066
* 14
+3 28
+3 42
cfi=(13)
cfn=(928)
calls=14 1162
* 2241
* 14
+3 182
cfi=(29)
cfn=(1208)
calls=14 6409
* 60236
* 182
cfi=(29)
cfn=(1208)
calls=14 6409
* 1317359
* 28
+3 56
+3 50
+2 66
cfi=(29)
cfn=(2652)
calls=11 7195
* 14966
* 11
+2 22
+2 55
cob=(3)
cfi=(3)
cfn=(446)
calls=11 0
* 359
* 11
* 22
+5 75
+2 6
+9 6
+9 112
+1 252
cfi=(29)
cfn=(1416)
calls=28 7137
* 45811
+3 56
+1 42
cfi=(13)
cfn=(952)
calls=14 1032
* 1112
-63 144
+67 4
+1 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 2
+3 6
+21 3
+1 12
fn=(1274)
566 55
+2 5
+8 10
+12 25
cfn=(1276) AbsoluteConfigLocation
calls=5 -66
* 5962
* 5
+1 20
cfi=(25)
cfn=(1278)
calls=5 2186
* 4391
* 5
+1 10
+23 45
cfn=(1308) ParseConfigFp
calls=5 +88
* 4502063
* 5
+3 10
+1 15
cfi=(25)
cfn=(1374)
calls=5 2385
* 3861
+1 15
cfi=(13)
cfn=(952)
calls=5 1032
* 425
+2 5
+1 20
fn=(1308)
701 50
+1 5
+1 10
+1 10
+2 5
+4 20
cob=(3)
cfi=(3)
cfn=(370)
calls=4 0
* 168
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1386
* 9
* 10
+1 10
+20 5
+1 5
+2 20
cfi=(62) /home/mithuncy/fsm_code/src/backend/utils/misc/guc-file.c
cfn=(1314) GUC_yy_create_buffer
calls=5 1374
* 2672
* 5
+1 15
cfi=(62)
cfn=(1322) GUC_yy_switch_to_buffer
calls=5 1329
* 2457
+3 5
+2 2226
+1 2226
+3 4452
+1 2185
+3 82
+2 123
cfi=(13)
cfn=(928)
calls=41 1162
* 7822
* 41
+3 41
cfi=(62)
cfn=(1328) GUC_yylex
calls=41 +1
* 9389
* 41
+1 82
+1 41
cfi=(62)
cfn=(1328)
calls=41 -1
* 28664
* 41
+3 158
+1 24
+5 82
+1 78
cfn=(1360) GUC_scanstr
calls=26 1088
* 14630
* 52
+2 45
cfi=(13)
cfn=(928)
calls=15 1162
* 2640
* 15
+3 15
cfi=(62)
cfn=(1328)
calls=15 -16
* 14973
* 26
cfi=(62)
cfn=(1328)
calls=26 -16
* 26513
* 41
+1 82
+9 164
cfi=(29)
cfn=(868)
calls=41 4930
* 1681
* 82
+15 164
cfi=(29)
cfn=(868)
calls=41 4930
* 1681
* 82
+15 164
cfi=(29)
cfn=(868)
calls=41 4930
* 1681
* 82
+18 82
cfi=(13)
cfn=(940)
calls=41 +97
* 5043
* 41
+1 123
+1 123
+1 82
+1 123
cfi=(13)
cfn=(928)
calls=41 1162
* 8487
* 82
+1 205
+1 82
+1 82
+1 82
+1 164
+1 12
+2 152
+1 114
+4 76
-4 9
+4 6
+2 41
738 2231
cfi=(62)
cfn=(1328)
calls=2231 +16
* 4346973
* 6693
905 15
cfi=(62)
cfn=(1370) GUC_yy_delete_buffer
calls=5 1402
* 1417
+2 10
+1 10
+1 5
+1 20
fn=(1268)
125 12
+16 15
+8 21
cfi=(14)
cfn=(432)
calls=3 395
* 1271
* 3
+3 9
cfi=(61) /home/mithuncy/fsm_code/src/backend/utils/misc/../../../../src/include/utils/palloc.h
cfn=(1270) MemoryContextSwitchTo
calls=3 -42
* 30
* 3
+5 15
cfn=(1272)
calls=3 +16
* 6839228
+3 9
cfi=(61)
cfn=(1270)
calls=3 -50
* 30
+1 9
cfi=(13)
cfn=(1396)
calls=3 +51
* 896
+1 6
fn=(1276)
522 25
+3 20
+1 9
cfi=(13)
cfn=(928)
calls=3 1162
* 621
* 3
+3 4
+10 12
cfi=(11)
cfn=(458) join_path_components
calls=2 220
* 2088
+1 6
cfi=(11)
cfn=(484)
calls=2 255
* 2806
+2 6
cfi=(13)
cfn=(928)
calls=2 1162
* 352
+2 10
fn=(1360)
1088 104
+7 78
cob=(3)
cfi=(3)
cfn=(424)
calls=26 0
* 468
* 26
* 26
+5 52
+3 104
cfi=(13)
cfn=(940)
calls=26 925
* 3172
* 26
+2 78
+2 2408
+45 2616
+6 3440
+1 344
-54 1454
+59 156
+2 26
+1 52
fl=(79)
fn=(1884)
110 108
+1 72
+2 72
+1 36
+1 72
fl=(154)
fn=(4566) PlanCacheComputeResultDesc
1732 2012
+3 1509
cfi=(227) /home/mithuncy/fsm_code/src/backend/tcop/pquery.c
cfn=(3976) ChoosePortalStrategy
calls=503 220
* 40168
* 2515
+4 9
cfi=(259)
cfn=(4568)
calls=3 78
* 30
* 6
+1 12
cfi=(260)
cfn=(4570)
calls=3 +61
* 3082
* 3
+14 500
+2 500
+1 1006
fn=(4594)
456 12
+7 12
+10 9
cfn=(4596) ReleaseGenericPlan
calls=3 +56
* 30
+7 18
cfi=(13)
cfn=(1400)
calls=3 355
* 171
+5 15
cfi=(153)
cfn=(4598) dlist_push_tail
calls=3 318
* 75
+2 6
+1 6
fn=(4596)
529 36
+2 36
+2 9
+3 6
+1 12
cfn=(4792)
calls=3 1263
* 1131
+2 18
fn=(4626) CheckCachedPlan
797 2525
+1 1515
+6 1010
+1 6
+9 4016
+8 2008
+8 2510
cfn=(4798) AcquireExecutorLocks
calls=502 1564
* 26606
+6 2008
+1 1004
-1 1004
+9 2008
+3 1004
+13 2020
fn=(4792)
1263 6048
+2 2016
+3 2525
cfi=(164)
cfn=(4794) ResourceOwnerForgetPlanCacheRef
calls=505 1117
* 35350
+3 5040
+1 4032
+3 1006
+3 2515
+1 12
cfi=(13)
cfn=(1396)
calls=3 212
* 1041
+2 2016
fn=(4418)
170 18
+14 21
cfi=(14)
cfn=(432)
calls=3 395
* 1338
* 3
+8 9
cfi=(152)
cfn=(2898)
calls=3 -82
* 30
* 3
+2 6
cfi=(13)
cfn=(2546)
calls=3 956
* 939
* 3
+1 6
+1 9
cfi=(246) /home/mithuncy/fsm_code/src/backend/nodes/copyfuncs.c
cfn=(4420) copyObjectImpl
calls=3 4767
* 10606
* 6
+1 9
cfi=(13)
cfn=(928)
calls=3 1162
* 633
* 6
+1 18
cfi=(13)
cfn=(812) MemoryContextSetIdentifier
calls=3 330
* 27
+1 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 9
+1 9
+1 6
+2 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
+2 3
+1 6
fn=(4584)
1292 15
+6 12
+2 12
+4 18
cfi=(13)
cfn=(1400)
calls=3 355
* 156
+7 12
+5 6
fn=(4616) RevalidateCachedQuery
558 6030
+16 9070
+3 1000
+8 2020
+3 2020
cfi=(55)
cfn=(4618)
calls=505 3395
* 54035
* 1515
+13 4040
+10 2020
+2 2525
cfn=(4620) AcquirePlannerLocks
calls=505 1619
* 43430
+6 2020
+3 1010
784 4020
fn=(4620)
1619 3030
+3 1515
cfi=(259)
cfn=(4568)
calls=505 78
* 5050
* 1010
+2 1515
+2 2020
+9 2525
cfn=(4622) ScanQueryForLocks
calls=505 +9
* 22220
-13 3535
+15 1010
fn=(4778) cached_plan_cost
1077 3018
+1 1006
+3 2012
cfi=(259)
cfn=(4568)
calls=503 78
* 5030
* 1006
+2 1509
+2 2012
+1 500
+2 18
+2 6
-9 3521
+38 503
+1 2012
fn=(2906) InitPlanCache
131 2
+1 3
cfi=(155)
cfn=(2908) CacheRegisterRelcacheCallback
calls=1 1451
* 25
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 2
fn=(4622)
1644 3030
+9 2020
cfi=(259)
cfn=(4568)
calls=505 78
* 4040
* 2020
+26 2020
cfi=(259)
cfn=(4568)
calls=505 78
* 4040
* 2020
+11 2020
+6 1010
fn=(5596)
500 12
+4 12
+2 12
cfi=(153)
cfn=(5562)
calls=3 359
* 45
+1 6
+4 9
cfn=(4596)
calls=3 +18
* 1188
+3 6
+6 15
+1 12
cfi=(13)
cfn=(1396)
calls=3 212
* 2798
+1 6
fn=(4798)
1564 3012
+3 1506
cfi=(259)
cfn=(4568)
calls=502 78
* 5020
* 1004
+2 1506
+3 2008
+16 2008
cfi=(259)
cfn=(4568)
calls=502 78
* 4016
* 2008
-21 3514
+40 1004
fn=(3870) PlanCacheRelCallback
1768 30
+3 84
+53 84
+17 12
fn=(4512)
348 5533
+1 1509
+1 1006
+13 2012
+2 1500
+2 6
+8 21
cfi=(14)
cfn=(432)
calls=3 +20
* 1556
* 3
+3 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
+1 9
cfi=(246)
cfn=(4420)
calls=3 4767
* 10350
* 3
+3 9
+1 9
+2 15
-3 1500
+1 1500
+2 2530
+8 27
cfi=(254)
cfn=(4522) extract_query_dependencies
calls=3 2637
* 5782
+6 3
cfi=(54)
cfn=(3464)
calls=3 -18
* 15
* 6
+1 9
+9 9
cfi=(55)
cfn=(4532)
calls=3 3343
* 50072
* 6
+8 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
* 1500
cfi=(152)
cfn=(2898)
calls=500 110
* 5000
+2 1006
+6 1006
+1 1509
+1 1509
+1 1509
+1 1509
+1 1509
+1 1509
cfn=(4566)
calls=503 1732
* 51352
* 1006
+2 1509
cfi=(152)
cfn=(2898)
calls=503 110
* 5030
+2 1006
+1 1006
+1 1006
fn=(4624) choose_custom_plan
1020 4032
+4 4032
+1 1000
+3 1016
+1 1016
+37 2016
fn=(5210)
253 3000
+9 1000
cfi=(13)
cfn=(2546)
calls=500 956
* 156500
* 500
+1 1000
+1 1500
+1 1500
+1 1500
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1500
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1500
+1 1500
+1 1000
+2 500
+1 1000
fn=(4628) BuildCachedPlan
882 3521
+6 1006
+16 2515
+8 1006
+2 2515
+1 12
cfi=(246)
cfn=(4420)
calls=3 4767
* 9925
* 6
+2 1500
+7 500
+1 500
cfi=(110)
cfn=(4630) ActiveSnapshotSet
calls=500 -73
* 3500
-1 3
+1 3
cfi=(110)
cfn=(4630)
calls=3 -73
* 21
* 1509
+11 3521
cfi=(52)
cfn=(3966) pg_plan_queries
calls=503 +11
* 576696
* 503
+3 1006
+9 2515
+2 21
cfi=(14)
cfn=(432)
calls=3 395
* 1586
* 3
+3 18
cfi=(13)
cfn=(930) MemoryContextStrdup
calls=3 1149
* 600
* 15
cfi=(13)
cfn=(812)
calls=3 330
* 27
+5 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
+2 9
cfi=(246)
cfn=(4420)
calls=3 4767
* 10478
* 6
+3 1000
+5 1000
cfi=(13)
cfn=(940)
calls=500 -43
* 61500
* 6
cfi=(13)
cfn=(940)
calls=3 -43
* 369
* 503
+1 1006
+1 1509
+7 503
cfi=(54)
cfn=(3464)
calls=503 381
* 2515
* 1006
+1 2012
+1 503
+1 1509
cfi=(259)
cfn=(4568)
calls=503 78
* 5030
* 1006
+2 1509
+2 2012
+1 500
+2 12
+2 12
-9 3521
+12 1006
+6 1006
+1 1006
+1 1509
+1 2012
+1 1006
+1 1006
+3 4527
+2 1509
cfi=(152)
cfn=(2898)
calls=503 110
* 5030
+2 503
+1 1006
fn=(4614)
1143 8040
+1 1005
+8 4535
+4 5025
cfn=(4616)
calls=1005 558
* 134755
* 1005
+3 5025
cfn=(4624)
calls=1005 1020
* 13070
* 1005
+2 4020
+2 1515
cfn=(4626)
calls=505 797
* 49244
* 1010
+3 2008
+6 21
cfn=(4628)
calls=3 882
* 296754
* 3
+2 9
cfn=(4596)
calls=3 529
* 30
+2 9
+1 15
+2 12
+3 18
cfi=(13)
cfn=(1400)
calls=3 355
* 156
+1 9
+9 12
cfn=(4778)
calls=3 1077
* 153
* 12
+11 15
cfn=(4624)
calls=3 1020
* 42
* 3
+7 3
+4 2010
+3 3000
cfn=(4628)
calls=500 882
* 438000
* 500
+2 2000
+2 3500
cfn=(4778)
calls=500 1077
* 22000
* 1500
+1 2500
+7 2010
+1 1515
cfi=(164)
cfn=(4780) ResourceOwnerEnlargePlanCacheRefs
calls=505 1097
* 11918
+1 5025
+1 2010
+1 2525
cfi=(164)
cfn=(4782) ResourceOwnerRememberPlanCacheRef
calls=505 1108
* 21715
+8 4010
+6 1005
+1 2010
fl=(105)
fn=(2062)
3289 6
+6 2
+1 8
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 2
+1 4
fn=(2606)
395 3
+6 1
cfi=(137)
cfn=(2556)
calls=1 32
* 295
* 7
+20 1
+5 2
fn=(2680)
1471 6
+6 2
cfi=(137)
cfn=(2556)
calls=2 32
* 590
* 14
+20 2
+5 4
fn=(2832) IsAutoVacuumLauncherProcess
3272 10
+1 5
+1 10
fn=(2834) IsAutoVacuumWorkerProcess
3278 12
+1 6
+1 12
fn=(2526)
3258 4
+1 7
+4 4
fn=(2604)
3204 2
+1 8
+2 1
+1 2
fn=(2270)
3308 3
+4 1
cfn=(2062)
calls=1 -23
* 66
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1035
-1 1
+5 4
+7 2
+1 4
cfi=(74)
cfn=(2272) dlist_init
calls=1 279
* 12
+1 4
cfi=(74)
cfn=(2272)
calls=1 279
* 12
+1 2
+1 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 576
* 1
+3 3
+4 2
+2 21
-1 15
cfi=(74)
cfn=(2274)
calls=3 301
* 75
-1 15
+6 2
fl=(185)
fn=(3320) PageIsVerified
82 10
+1 4
+3 2
+1 2
+1 2
+1 2
+5 8
+2 2
cfi=(53)
cfn=(1610) DataChecksumsEnabled
calls=2 4834
* 16
* 4
+14 12
+1 8
-1 4
+2 8
-1 4
+2 4
-1 4
+2 16
-1 4
+2 2
+2 12
+1 4
+41 4
fn=(5440)
663 362000
+3 271500
cfn=(5442) PageGetFreeSpace
calls=90500 -87
* 1900500
* 90500
+1 181000
+8 899000
+1 3000
-1 89000
+1 178000
+35 90500
+1 181000
fn=(5446) PageAddItemExtended
195 875000
+1 175000
+6 87500
+5 350000
+1 350000
-1 175000
+2 350000
-1 175000
+2 175000
-1 175000
+10 955000
+3 3000
-3 86000
+3 522000
+25 525000
+7 43000
+2 4450500
+1 2580000
+1 21500
-4 2902500
+6 64500
+9 132000
+5 262500
+7 525000
+12 305500
+1 396000
+2 86000
+2 86000
+2 150500
+2 64500
-4 264000
+2 462000
+2 198000
+6 787500
+2 175000
+5 2100000
+17 787500
cob=(3)
cfi=(3)
cfn=(856)
calls=87500 0
* 1575000
* 87500
+3 350000
+1 350000
+2 87500
+1 350000
fn=(5442)
579 271500
+7 271500
+1 271500
-1 271500
+3 181000
+2 271500
+2 181000
+1 181000
fn=(5494) PageInit
42 9000
+1 3000
+2 6000
+6 34500
cob=(3)
cfi=(3)
cfn=(828)
calls=1500 -51
* 1368000
* 1500
+2 3000
+1 3000
+1 9000
+1 9000
+1 7500
+2 3000
fl=(272)
fn=(4696)
877 18
+1 3
+3 9
cfi=(273) /home/mithuncy/fsm_code/src/backend/optimizer/path/../../../../src/include/nodes/pg_list.h
cfn=(4698) list_head
calls=3 78
* 24
* 12
+20 3
+1 6
fl=(62)
fn=(1322)
1329 20
+7 5
cfn=(1324) GUC_yyensure_buffer_stack
calls=5 1527
* 2127
+1 55
+3 50
+8 30
+1 5
cfn=(1326) GUC_yy_load_buffer_state
calls=5 +11
* 150
+7 5
+1 10
fn=(1324)
1527 15
+3 15
+6 1
+2 4
cfn=(1316) GUC_yyalloc
calls=1 1837
* 285
-1 1
+3 3
+3 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 15
* 1
+2 2
+1 1
+1 1
+3 20
+3 1
+2 5
+2 6
cfn=(1410) GUC_yyrealloc
calls=1 1842
* 1702
-1 1
+4 3
+4 10
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 16
* 1
+1 2
+2 10
fn=(1372) GUC_yyfree
1854 40
+1 30
cob=(3)
cfi=(3)
cfn=(590)
calls=10 0
* 1142
* 10
+1 20
fn=(1328)
754 16478
+10 7062
+2 1
+6 3
+1 1
+2 3
+3 3
+1 2
+2 10
+6 1
cfn=(1326)
calls=1 1360
* 30
+5 4873
+3 9746
+5 4873
+2 4873
+4 24365
+1 19492
-1 394420
+1 315536
+2 78561
+1 78561
+2 83757
+2 234834
+1 156556
+1 293252
-4 1620350
+6 670056
+1 83757
+2 167514
+1 4887
+1 4887
+3 14661
+2 48870
+4 9774
-6 15
+2 50
+4 14711
fi=(60)
96 11130
+4 88
+2 52
+2 24
+2 82
fe=(62)
904 10
+5 144
+3 48
+3 192
+11 35
+1 35
+1 30
+10 264
+37 24
cfn=(1330) yy_get_next_buffer
calls=24 +69
* 12837
* 114
+4 5
+13 10
+2 35
+1 5
+13 56
-1 14
+3 14
cfn=(1356) yy_get_previous_state
calls=14 1178
* 12532
* 14
+2 14
+1 14
+1 14
+4 40
-1 5
+3 5
cfn=(1356)
calls=5 1178
* 265
* 5
+2 5
+1 5
+1 5
fi=(60)
98 2519
fe=(62)
1033 2519
+1 16478
fn=(1316)
1837 44
+1 33
cob=(3)
cfi=(3)
cfn=(388)
calls=11 0
* 2272
* 11
+1 22
fn=(1318) GUC_yy_init_buffer
1422 50
+1 10
cob=(5)
cfi=(5)
cfn=(472)
calls=10 0
* 30
* 10
* 20
+2 30
cfn=(1320) GUC_yy_flush_buffer
calls=10 +24
* 510
+2 30
+1 20
+6 105
+1 10
+1 10
+3 10
+2 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
-2 10
+2 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
* 20
+1 20
fn=(1326)
1360 32
+1 112
+1 144
+1 112
+1 48
+1 32
fn=(1330)
1044 168
+1 144
+1 24
+4 288
+4 192
+22 144
+2 48
+1 1344
-1 720
+3 192
+4 45
+5 171
-1 38
+3 57
+37 38
+1 19
+3 171
cob=(5)
cfi=(5)
cfn=(472)
calls=19 0
* 57
* 19
* 304
cob=(3)
cfi=(3)
cfn=(1336)
calls=18 0
* 3210
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1531
* 23
* 91
cob=(3)
cfi=(3)
cfn=(1366)
calls=4 0
* 144
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1296
* 9
* 10
+3 133
+3 72
+2 20
+2 5
+1 15
cfn=(1368) GUC_yyrestart
calls=5 1312
* 860
* 5
+5 5
+1 35
+6 14
+2 264
+8 96
+1 216
+1 240
+2 168
+2 24
+1 168
fn=(1356)
1178 95
+4 19
+2 38
+2 2016
+1 896
+2 210
+1 210
+2 224
+2 630
+1 420
+1 840
-4 4340
+6 1792
-14 953
+17 19
+1 95
fn=(1368)
1312 25
+2 50
+6 65
cfn=(1318)
calls=5 1422
* 545
+1 5
cfn=(1326)
calls=5 +39
* 150
+1 20
fn=(1370)
1402 20
+2 10
+3 55
+1 25
+2 20
+1 20
cfn=(1372)
calls=5 1854
* 767
+2 15
cfn=(1372)
calls=5 1854
* 475
+1 10
fn=(1314)
1374 25
+3 10
cfn=(1316)
calls=5 1837
* 621
* 5
+1 10
+3 20
+5 25
cfn=(1316)
calls=5 1837
* 1476
* 10
+1 20
+3 10
+2 25
cfn=(1318)
calls=5 +30
* 400
+2 5
+1 10
fn=(1320)
1449 40
+1 20
+3 20
+6 30
+1 40
+2 40
+2 20
+1 20
+2 105
+1 5
cfn=(1326)
calls=5 1360
* 150
+1 20
fn=(1410)
1842 5
+8 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1685
* 5
+1 2
fl=(68) /home/mithuncy/fsm_code/src/backend/access/transam/../../../../src/include/pgstat.h
fn=(1598) pgstat_report_wait_end
1263 4
+1 4
+2 12
+1 2
+7 4
-11 2
+1 2
+2 6
+1 1
+7 2
fn=(1596) pgstat_report_wait_start
1239 6
+1 4
+2 12
+1 2
+7 4
-11 3
+1 2
+2 6
+1 1
+7 2
fl=(92)
fn=(3334) SerializationNeededForRead
497 33395
+2 20037
+1 13358
+33 13358
fn=(5396) RegisterPredicateLockingXid
1835 4
+9 3
+22 2
fn=(2232) CreatePredXact
563 3
+5 2
-1 1
-1 4
cfi=(126)
cfn=(2234)
calls=1 146
* 18
* 1
+4 2
+3 3
cfi=(126)
cfn=(2236)
calls=1 69
* 25
+1 6
cfi=(126)
cfn=(2230)
calls=1 90
* 23
+1 2
+1 2
fn=(2018)
1266 3
+1 1
+4 7
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+1 4
cfi=(31)
cfn=(2006)
calls=1 733
* 421
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 1
+1 4
cfi=(31)
cfn=(2006)
calls=1 733
* 438
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+7 8
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 5
+1 6
+1 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 4
cfi=(31)
cfn=(2006)
calls=1 733
* 394
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 5
+1 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(93) /home/mithuncy/fsm_code/src/backend/access/transam/slru.c
cfn=(2020) SimpleLruShmemSize
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(3380)
2498 12342
+5 10285
cfn=(3334)
calls=2057 497
* 24684
* 6171
+1 2057
+46 4114
fn=(3572)
2453 25
+3 25
cfn=(3334)
calls=5 497
* 60
* 15
+7 10
fn=(2238) OldSerXidInit
797 3
+6 1
+2 2
-1 8
cfi=(93)
cfn=(2196) SimpleLruInit
calls=1 167
* 3099
+4 1
+6 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1055
-1 1
+4 4
+5 2
+1 2
+1 2
+2 2
fn=(2222)
1063 4
+14 7
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+6 118
+1 1
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 322
* 99447
* 1
+13 4
+2 7
cfi=(31)
cfn=(836)
calls=1 910
* 400
+6 4
cfi=(31)
cfn=(2226)
calls=1 861
* 137
* 1
+1 8
+6 118
+1 1
+1 1
+1 1
+1 1
+3 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 322
* 189628
* 1
+11 5
+10 6
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 991
* 1
+4 4
+4 3
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 4
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 4
cfi=(87)
cfn=(2134) ShmemAlloc
calls=1 158
* 67
* 1
+2 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 18636
* 1
+1 2
+3 12320
-1 5600
cfi=(126)
cfn=(2230)
calls=1120 90
* 25760
-2 5604
+5 2
cfn=(2232)
calls=1 563
* 92
* 1
+1 6
+1 3
+1 3
+1 3
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 3
+1 3
+1 3
+1 3
+1 3
+3 3
+6 118
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 322
* 18266
* 1
+18 5
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1016
* 1
+4 4
+4 3
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 4
cfi=(87)
cfn=(2134)
calls=1 158
* 67
* 1
+2 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 29416
* 1
+1 2
+3 50400
-1 28000
cfi=(126)
cfn=(2230)
calls=5600 90
* 128800
-2 28004
+12 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1273
-1 1
+5 4
+1 3
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+6 1
cfn=(2238)
calls=1 797
* 4187
+1 4
fn=(3332) PredicateLockPage
2476 15324
+3 12770
cfn=(3334)
calls=2554 497
* 30648
* 7662
+8 5108
fn=(5402)
4282 9000
+3 3000
cfn=(5404) SerializationNeededForWrite
calls=1000 541
* 11000
* 3000
+49 6000
fn=(5404)
541 4000
+2 3000
+1 2000
+7 2000
fn=(3638) PreCommit_CheckForSerializationFailure
4667 12
+3 6
+1 2
+74 12
fn=(3378)
3902 24756
+7 10315
cfn=(3334)
calls=2063 497
* 24756
* 6189
+1 2063
4095 12378
fn=(3688) ReleasePredicateLocks
3223 10
+18 6
+3 2
3533 4
fl=(155)
fn=(2908)
1451 5
+1 3
+3 6
+1 6
+2 3
+1 2
fn=(3672) AtEOXact_Inval
948 10
+2 6
+1 2
+34 4
fn=(3860) CallSyscacheCallbacks
1469 60
+3 48
+3 72
+1 36
+8 24
fn=(5552) CommandEndInvalidationMessages
1084 1000
+6 1500
+1 500
+6 1000
fn=(2910)
1410 72
+1 48
+2 36
+3 60
+3 66
+5 6
+2 11
+2 10
+3 10
+1 8
+1 9
+1 9
+2 3
+1 2
-6 110
+1 88
+1 99
+1 99
+2 33
+1 22
fn=(2988)
680 12250
+1 18375
cfi=(166)
cfn=(2990)
calls=6125 74
* 754719
+42 12250
fn=(3852)
555 4088
+1 4088
+2 60
+2 12
cfi=(110)
cfn=(3002) InvalidateCatalogSnapshot
calls=12 -49
* 84
+2 96
cfi=(151)
cfn=(3856) SysCacheInvalidate
calls=12 1446
* 864
+2 96
cfn=(3860)
calls=12 1469
* 240
* 12
+3 4040
+11 4040
+2 30
+4 24
+3 24
cfi=(148)
cfn=(3862) RelationCacheInvalidateEntry
calls=6 2624
* 2333
+2 12
+2 30
+2 54
cfi=(154)
cfn=(3870)
calls=6 1768
* 210
-4 48
+8 4016
+8 5020
+1 10040
+1 5020
cfi=(140)
cfn=(3854) smgrclosenode
calls=1004 366
* 269060
* 1004
+20 2044
fn=(3652) xactGetCommittedInvalidationMessages
828 10
+4 6
+2 4
+1 4
+1 4
+35 4
fl=(235)
fn=(4186)
555 3
+1 2
+1 2
fl=(46) /home/mithuncy/fsm_code/src/backend/commands/../../../src/include/nodes/pg_list.h
fn=(5298) list_length
90 265500
+1 442500
+1 177000
fn=(966) list_head
78 265500
+1 442500
+1 177000
-2 3
+1 5
+1 2
-2 12
+1 12
+1 8
-2 9
+1 15
+1 6
fl=(309)
fn=(5310)
569 3500
+4 2000
+1 500
+25 2500
fl=(19)
fn=(612)
1005 3044
+1 3044
+1 3044
fn=(2650)
1011 6
+1 6
+1 6
fn=(3742) pg_server_to_any
635 174
+1 58
+3 145
+2 58
+18 58
fn=(3526) pg_encoding_mbcliplen
832 14
+2 2
+4 6
cfi=(43)
cfn=(3528)
calls=2 1821
* 26
* 4
+3 18
+2 2
+2 32
cfi=(43)
cfn=(3530)
calls=8 542
* 96
* 8
+1 40
+2 16
+1 24
+2 16
+1 24
-9 52
+11 2
+1 4
fn=(5288) pg_get_client_encoding
307 1000
+1 1000
+1 1000
fn=(3524) pg_mbcliplen
821 12
+1 14
cfn=(3526)
calls=2 +10
* 386
+2 4
fn=(922) SetClientEncoding
202 20
+7 20
+4 20
+2 8
+1 8
+3 1
cfn=(612)
calls=1 1005
* 6
* 1
+5 3
+4 5
+1 1
+1 1
+1 2
+44 10
fn=(3838) pg_client_to_server
546 5
+1 8
cfn=(3840) pg_any_to_server
calls=1 +15
* 2677
+1 2
fn=(3740) pg_server_to_client
624 145
+1 232
cfn=(3742)
calls=29 +10
* 493
+1 58
fn=(3518) SetDatabaseEncoding
899 4
+1 4
+3 5
+2 2
fn=(3614) InitializeClientEncoding
283 4
+2 1
+2 3
cfn=(918) PrepareClientEncoding
calls=1 104
* 27
* 2
+1 3
cfn=(922)
calls=1 -86
* 34
-1 2
+13 4
fn=(3840)
562 616007
+1 176002
+1 1000
+2 437505
+6 612507
cfi=(43)
cfn=(3842)
calls=87501 1878
* 8171650
+1 175002
+42 352004
fn=(614) SetMessageEncoding
909 6
+4 10
+2 4
fn=(918)
104 20
+4 20
+4 20
+1 8
+2 1
cfn=(612)
calls=1 1005
* 6
* 1
+5 3
+3 2
+69 10
fl=(135)
fn=(2542)
78 225
+1 371
+1 150
fl=(173)
fn=(3400) IndexScanEnd
147 10216
+1 10216
+1 10216
cfi=(13)
cfn=(952)
calls=2554 1032
* 217090
+1 10216
+3 7662
cfi=(13)
cfn=(952)
calls=2554 1032
* 217090
+1 5108
fn=(3172)
406 10296
+3 10296
+2 12865
cfi=(175) /home/mithuncy/fsm_code/src/backend/access/index/indexam.c
cfn=(3174) index_getnext
calls=2573 661
* 27488402
* 2573
+9 15431
+1 2573
+3 5
cfi=(171)
cfn=(3586)
calls=1 1848
* 2512
* 1
+2 1
+1 2
-1 2573
+1 5146
fn=(3126)
322 25490
+4 5098
+1 5098
-1 5098
+2 7647
cfi=(174) /home/mithuncy/fsm_code/src/backend/catalog/index.c
cfn=(3128) ReindexIsProcessingIndex
calls=2549 4029
* 104509
* 2549
-1 5098
+2 10196
cfi=(175)
cfn=(3132) index_open
calls=2549 152
* 7249314
* 5098
+4 5098
cfi=(13)
cfn=(940)
calls=2549 925
* 250318
* 2549
+2 7647
+1 7647
+2 5098
+2 6123
+2 6123
cfi=(110)
cfn=(3134) GetCatalogSnapshot
calls=2041 +99
* 646171
* 4082
cfi=(110)
cfn=(3142) RegisterSnapshot
calls=2041 864
* 941429
* 2041
+1 8164
+5 1016
+3 5098
+5 5098
+4 8130
+2 100494
+2 48780
+1 4065
-5 35016
+8 24390
-12 23907
+16 17843
cfi=(175)
cfn=(3156) index_beginscan
calls=2549 226
* 2701545
* 5098
+2 20392
cfi=(175)
cfn=(3166) index_rescan
calls=2549 -60
* 549783
+1 7647
+17 2549
+1 5098
fn=(3127)
322 60
+4 12
+1 10
-1 10
+2 15
cfi=(174)
cfn=(3128)
calls=5 4029
* 205
* 5
-1 10
+2 20
cfi=(175)
cfn=(3133) index_open'2
calls=5 152
* 11756
* 10
+2 1
+2 2
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 10
cfi=(13)
cfn=(940)
calls=5 925
* 460
* 6
+2 18
+1 18
+2 12
+2 15
+2 15
cfi=(110)
cfn=(3134)
calls=5 +99
* 1001
* 10
cfi=(110)
cfn=(3142)
calls=5 864
* 2215
* 5
+1 20
+5 2
+3 12
+5 10
+4 16
+2 216
+2 96
+1 8
-5 76
+8 48
-12 47
+16 35
cfi=(175)
cfn=(3156)
calls=5 226
* 4385
* 10
+2 40
cfi=(175)
cfn=(3166)
calls=5 -60
* 1003
+1 15
+11 8
cfi=(171)
cfn=(3568)
calls=1 1437
* 3108
* 2
+3 2
+3 1
+1 2
-1 5
+1 10
fn=(3162) RelationGetIndexScan
79 15324
+3 5108
cfi=(13)
cfn=(940)
calls=2554 925
* 250654
* 2554
+2 5108
+1 7662
+1 5108
+1 7662
+1 7662
+5 5108
+1 20432
cfi=(13)
cfn=(940)
calls=2554 925
* 266718
* 7662
+3 5108
+3 5108
+2 5108
+12 5108
+1 2554
cfi=(26)
cfn=(3164) TransactionStartedDuringRecovery
calls=2554 868
* 15324
* 5108
+1 25540
+2 5108
+2 5108
+1 5108
+1 5108
+1 5108
+2 15324
+1 5108
+1 5108
+1 5108
+2 2554
+1 5108
fn=(3394)
489 10220
+1 10220
+2 10216
cfi=(175)
cfn=(3396) index_endscan
calls=2554 342
* 2212136
+1 12770
cfi=(175)
cfn=(3402) index_close
calls=2554 178
* 6730973
* 2554
+3 4
cfi=(171)
cfn=(3594)
calls=1 1585
* 537
+2 10220
+1 8184
cfi=(110)
cfn=(3404) UnregisterSnapshot
calls=2046 906
* 530363
+2 7665
cfi=(13)
cfn=(952)
calls=2555 1032
* 217175
+1 5110
fl=(190)
fn=(3384)
428 15282
+1 7641
+2 7641
+1 2547
+12 2547
+2 17829
+7 7635
+1 7635
+3 43265
+1 1006
+6 4084
+2 91
-2 6178
+11 15282
+2 10188
+8 20440
+1 8176
+1 37127
+7 77
+4 14
+2 792
+2 4
+1 4
-5 293
+11 2056
+2 21
+1 7
+11 14
+3 105
+3 70
+1 70
-1 21
+3 7
+2 1120
+2 448
+1 6
+2 982
+2 141
+2 188
-11 188
+7 59
+2 177
+2 236
-11 257
+16 77
+4 507
+13 507
+1 507
+2 5070
+2 3549
-2 156430
+2 351751
+2 515
+1 515
+4 91770
+1 60240
+1 2300
+8 1030
+1 55
-1 10
+2 8
+3 4635
+2 1020
-2 3
+2 6
+6 590
+2 62
-2 29
+2 58
+1 180
+3 46905
+1 507
+2 166641
+2 90740
+1 3
-46 3
+47 3
-47 15640
+47 15640
+3 7760
+1 5094
fn=(5368) heap_fill_tuple
310 787500
+4 262500
+6 175000
+8 87500
+1 87500
+3 525000
+2 175000
+2 875000
+8 962500
-6 262500
+5 437500
-5 175000
+1 87500
-1 1137500
cfn=(5370) fill_val
calls=87500 184
* 4812500
-4 612500
+14 175000
fn=(5366) heap_compute_data_size
124 525000
+1 87500
+2 262500
+2 175000
+5 612500
+3 612500
+1 875000
+2 350000
+9 350000
+12 1225000
+2 962500
-34 612500
+39 87500
+1 175000
fn=(5364) heap_form_tuple
1025 612500
+6 87500
+1 262500
+3 175000
+9 175000
+2 612500
-2 612500
+12 87500
+2 175000
+3 525000
+2 525000
cfn=(5366)
calls=87500 124
* 6912500
* 87500
+2 175000
+6 350000
cfi=(13)
cfn=(2546)
calls=87500 956
* 13697095
* 87500
+1 525000
+7 350000
+1 525000
+1 175000
+2 350000
+1 350000
+1 350000
+2 525000
+2 787500
+1 350000
+2 1312500
cfn=(5368)
calls=87500 310
* 11637500
+8 87500
+1 350000
fn=(3484) heap_copytuple
683 2032
+3 3048
+3 3048
cfi=(13)
cfn=(940)
calls=508 925
* 62422
* 508
+1 2032
+1 3048
+1 2032
+1 2032
+1 5080
cob=(3)
cfi=(3)
cfn=(856)
calls=508 0
* 46477
* 508
+1 508
+1 1016
fn=(4020) heap_attisnull
362 12
+6 14
+8 4
+2 14
+2 36
+19 4
fn=(3562) heap_freetuple
1341 2020
+1 1515
cfi=(13)
cfn=(952)
calls=505 1032
* 42925
+1 1010
fn=(5370)
184 962500
+2 262500
+6 175000
+24 350000
+3 787500
+1 1225000
+1 437500
+71 175000
+1 262500
+1 175000
fl=(316)
fn=(5432) visibilitymap_pin
221 3000
+1 3500
+3 2000
+7 3000
cfn=(5434) vm_readbuf
calls=500 575
* 1894021
* 1000
+1 1000
fn=(5434)
575 4000
+10 2000
+6 2500
+2 2500
cfi=(140)
cfn=(5418) smgrexists
calls=500 303
* 1236914
* 1000
+1 3500
cfi=(140)
cfn=(3578) smgrnblocks
calls=500 +94
* 77000
* 1000
+7 2500
+27 3500
cfi=(50)
cfn=(3202)
calls=500 +14
* 549107
* 500
+2 5500
+7 500
+1 2000
fn=(5438) visibilitymap_pin_ok
245 2500
+1 3500
+2 2500
cfi=(50)
cfn=(3330)
calls=500 2612
* 8000
* 2500
+1 1000
fn=(5448)
170 4000
+1 3500
+1 6000
+1 2000
+1 3000
+2 500
+8 2500
cfi=(50)
cfn=(3330)
calls=500 2612
* 8000
* 1000
+3 2000
cfi=(50)
cfn=(3240)
calls=500 3553
* 82500
+1 5000
+2 5000
+2 6500
+2 1500
cfi=(50)
cfn=(5450)
calls=500 1457
* 46500
+1 500
+3 2000
cfi=(50)
cfn=(3240)
calls=500 3553
* 57000
+2 500
+1 1000
fl=(205) /home/mithuncy/fsm_code/src/backend/catalog/storage.c
fn=(3648) smgrGetPendingDeletes
389 12
+1 2
cfi=(26)
cfn=(3506) GetCurrentTransactionNestLevel
calls=2 758
* 16
* 2
+5 2
+1 10
+6 4
+2 4
+1 4
+14 4
fn=(3690) smgrDoPendingDeletes
306 10
+1 2
cfi=(26)
cfn=(3506)
calls=2 758
* 16
* 2
+4 2
+1 2
+1 2
+1 2
+2 2
+1 10
+42 4
+9 4
fl=(13)
fn=(2156)
815 4298
+6 1228
+3 1228
+2 4912
cfi=(14)
cfn=(800) AllocSetAlloc
calls=614 715
* 57065
* 614
+1 3070
+12 70934
cob=(3)
cfi=(3)
cfn=(828)
calls=24 0
* 14693
* 24
+2 614
+1 3070
fn=(430) MemoryContextInit
93 2
+6 6
cfi=(14)
cfn=(432)
calls=1 395
* 412
* 1
+8 2
+15 7
cfi=(14)
cfn=(432)
calls=1 395
* 457
* 1
+5 4
cfn=(436) MemoryContextAllowInCriticalSection
calls=1 412
* 10
+1 2
fn=(798)
772 120085
+6 34310
+3 34310
+2 137240
cfi=(14)
cfn=(800)
calls=17155 -68
* 1184368
* 17155
+1 85775
+19 17155
+1 85775
fn=(940)
925 301452
+3 100484
+5 100484
+3 100484
+2 401936
cfi=(14)
cfn=(800)
calls=50242 715
* 5459932
* 50242
+1 251210
+12 50242
+1 251210
fn=(1514) repalloc
1045 21
+1 9
cfi=(44) /home/mithuncy/fsm_code/src/backend/utils/mmgr/../../../../src/include/utils/memutils.h
cfn=(954) GetMemoryChunkContext
calls=3 113
* 27
* 3
+3 6
+8 24
cfi=(14)
cfn=(1516) AllocSetRealloc
calls=3 +12
* 2645
* 3
+1 15
+12 3
+1 15
fn=(3758)
137 8032
+4 8032
+4 10040
+1 4518
cfn=(1404) MemoryContextResetOnly
calls=1506 +10
* 346851
+1 4016
fn=(812)
330 400
+2 300
+1 200
fn=(1396)
212 6128
+8 6128
+1 15
cfn=(3732) MemoryContextDeleteChildren
calls=5 +36
* 2812
+8 4596
cfn=(1398) MemoryContextCallResetCallbacks
calls=1532 +74
* 18384
+7 6128
cfn=(1400)
calls=1532 355
* 59324
+7 3064
+2 9192
cfi=(14)
cfn=(1402) AllocSetDelete
calls=1532 628
* 557504
+3 3064
fn=(1397) MemoryContextDelete'2
212 28
+8 28
+9 21
cfn=(1398)
calls=7 +74
* 84
+7 28
cfn=(1400)
calls=7 355
* 269
+7 14
+2 42
cfi=(14)
cfn=(1402)
calls=7 628
* 2173
+3 14
fn=(1400)
355 6204
+5 6204
+4 6204
+2 4653
+2 6204
+1 138
+4 6112
+3 6204
+1 2640
+4 3102
+3 36
+1 24
+1 48
+1 48
+1 48
+1 48
+4 3078
+1 3078
+1 3078
+2 3102
fn=(3732)
257 24
+7 6
+1 28
cfn=(1397)
calls=7 -53
* 2701
-1 52
+2 12
fn=(928)
1162 8956
+1 11195
cfn=(930)
calls=2239 -14
* 369763
+1 4478
fn=(930)
1149 14110
+2 8466
cob=(3)
cfi=(3)
cfn=(424)
calls=2822 0
* 56769
* 2822
* 5644
+2 14110
cfn=(798)
calls=2822 772
* 303526
* 2822
+2 16932
cob=(3)
cfi=(3)
cfn=(856)
calls=2822 0
* 50384
* 2822
+2 2822
+1 5644
fn=(434) MemoryContextCreate
729 11466
+5 4914
+1 3276
+1 4914
+1 4914
+1 3276
+1 3276
+1 4914
+1 3276
+1 3276
+3 3276
+2 6548
+1 6548
+1 2464
+1 1848
+2 3080
-2 3063
+2 5105
+4 2
+1 2
+4 3276
fn=(952)
1032 152988
+1 114741
cfi=(44)
cfn=(954)
calls=38247 113
* 344223
* 38247
+2 305976
cfi=(14)
cfn=(956) AllocSetFree
calls=38247 -47
* 2601943
+2 76494
fn=(1398)
303 18308
+8 27462
+5 9154
fn=(436)
412 5
+3 3
+1 2
fn=(1404)
156 12152
+4 15190
+2 9114
cfn=(1398)
calls=3038 303
* 36456
+12 18228
cfi=(14)
cfn=(1406) AllocSetReset
calls=3038 566
* 732463
+1 6076
+4 6076
fn=(2546)
956 568608
+3 189536
+5 189536
+3 189536
+2 758144
cfi=(14)
cfn=(800)
calls=94768 715
* 8767717
* 94768
+1 473840
+12 2304712
cob=(3)
cfi=(3)
cfn=(828)
calls=89509 0
* 1890673
* 89509
+2 94768
+1 473840
fn=(2950)
853 51100
+6 14600
+3 14600
+2 58400
cfi=(14)
cfn=(800)
calls=7300 715
* 604347
* 7300
+1 36500
+12 891713
+2 7300
+1 36500
fl=(59)
fn=(1226) parse_bool_with_len
37 3042
+1 4563
+13 2500
cfi=(32)
cfn=(970) pg_strncasecmp
calls=500 +19
* 57500
* 1000
+2 1000
+1 1000
+1 1000
+14 15
cfi=(32)
cfn=(970)
calls=3 +1
* 165
* 6
+2 6
+1 6
+1 6
+6 32
cfi=(32)
cfn=(970)
calls=4 -9
* 248
* 8
+2 4
+1 4
+1 4
+2 16
cfi=(32)
cfn=(970)
calls=2 -15
* 150
* 4
+2 4
+1 4
+1 4
+26 1014
fn=(1224)
31 2535
+1 1521
cob=(3)
cfi=(3)
cfn=(424)
calls=507 -32
* 7605
* 507
* 3042
cfn=(1226)
calls=507 +5
* 73305
+1 1014
fl=(72)
fn=(2286)
818 3
+4 1
cfn=(2072)
calls=1 -52
* 66
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1303
-1 1
+5 4
+4 1
cfn=(2072)
calls=1 -60
* 66
* 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 58
* 1
+3 2
+2 48
+2 20
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 104
* 4
+1 8
-5 19
+8 2
fn=(3722) AtEOXact_ApplyLauncher
858 10
+6 4
+4 6
+12 6
+8 2
+1 2
+1 4
fn=(1612)
789 3
+3 3
+3 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 79
* 1
+1 1
+2 1
+1 7
cfi=(17)
cfn=(462)
calls=1 203
* 216
+1 7
cfi=(17)
cfn=(462)
calls=1 203
* 229
+1 6
cfi=(17)
cfn=(462)
calls=1 203
* 240
+2 7
cfi=(17)
cfn=(462)
calls=1 203
* 240
+2 1
+1 1
+1 1
+2 3
cfi=(73)
cfn=(1614)
calls=1 +40
* 492
+1 2
fn=(5726) IsLogicalLauncher
1088 2
+1 5
+1 2
fn=(2072)
770 9
+6 3
+1 12
+1 15
cfi=(87)
cfn=(2000)
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+2 3
+1 6
fl=(146) /home/mithuncy/fsm_code/src/backend/access/transam/../../../../src/include/storage/s_lock.h
fn=(2884) tas
225 12
+1 3
+2 15
+6 3
+1 9
fl=(157)
fn=(2922)
1239 6
+1 4
+2 12
+7 6
+1 4
fn=(2924)
1263 4
+1 4
+2 12
+7 4
+1 4
fl=(202) /home/mithuncy/fsm_code/src/backend/access/common/session.c
fn=(3616) InitializeSession
55 2
+1 4
cfi=(13)
cfn=(2156)
calls=1 815
* 148
* 1
+1 2
fl=(99)
fn=(5696) LWLockConditionalAcquire
1294 10
+8 6
+8 6
+3 10
cfn=(2172) LWLockAttemptLock
calls=2 740
* 176
* 2
+2 4
+11 12
+1 16
+3 12
+1 4
fn=(2158) LWLockRegisterTranche
603 350
+3 210
+15 490
+1 140
fn=(2170)
1122 307755
+1 123102
+1 61551
+1 61551
+27 184653
+8 184653
+26 307755
cfn=(2172)
calls=61551 740
* 5384619
* 61551
+2 246204
+3 61551
+82 369306
+1 492408
+5 369306
+3 61551
+1 123102
fn=(2172)
740 307765
+9 246212
cfi=(117) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/port/atomics.h
cfn=(2174) pg_atomic_read_u32
calls=61553 245
* 984848
* 61553
+8 123106
+2 123106
+2 148420
+1 59368
+1 59368
+4 159345
+1 63738
+1 31869
+13 223083
cfi=(117)
cfn=(2178) pg_atomic_compare_exchange_u32
calls=31869 316
* 1083546
* 207788
cfi=(117)
cfn=(2178)
calls=29684 316
* 1009256
* 123106
+3 123106
+7 123106
+7 123106
fn=(2140)
382 3
+8 4
+2 1
cfn=(2044)
calls=1 -42
* 127
* 1
+5 3
cfi=(87)
cfn=(2134)
calls=1 158
* 67
* 1
+3 1
+3 6
+2 2
+6 3
+1 2
+3 1
cfn=(2142) InitializeLWLocks
calls=1 +12
* 14926
+4 1
cfn=(2154) RegisterLWLockTranches
calls=1 +73
* 2528
+1 2
fn=(2144) LWLockInitialize
678 166230
+1 166230
cfi=(117)
cfn=(2146) pg_atomic_init_u32
calls=33246 227
* 1097118
+4 132984
+1 132984
cfi=(119)
cfn=(2152)
calls=33246 30
* 365706
+1 66492
fn=(5676) LWLockWaitListUnlock
863 4
+3 5
cfi=(117)
cfn=(5678) pg_atomic_fetch_and_u32
calls=1 362
* 28
* 1
+3 2
fn=(2142)
427 3
+1 1
cfn=(2046) NumLWLocksByNamedTranches
calls=1 -93
* 11
* 1
+7 4
+1 230
cfn=(2144)
calls=46 678
* 2944
-1 186
+4 3
+1 2
+1 512
cfn=(2144)
calls=128 678
* 8192
-1 514
+4 3
+1 2
+1 64
cfn=(2144)
calls=16 678
* 1024
-1 66
+5 1
-1 2
+2 2
+1 64
cfn=(2144)
calls=16 678
* 1024
-1 66
+4 3
+30 2
fn=(2046)
335 6
+1 3
+3 15
+3 3
+1 6
fn=(2154)
492 3
+3 3
+2 1
+2 7
cfi=(13)
cfn=(2156)
calls=1 815
* 1040
-1 1
+6 2
+1 322
cfn=(2158)
calls=46 +98
* 782
-1 140
+3 3
cfn=(2158)
calls=1 +96
* 17
+1 3
cfn=(2158)
calls=1 +95
* 17
+1 3
cfn=(2158)
calls=1 +94
* 17
+2 3
cfn=(2158)
calls=1 +92
* 17
+2 3
cfn=(2158)
calls=1 +90
* 17
+2 3
cfn=(2158)
calls=1 +88
* 17
+2 3
cfn=(2158)
calls=1 +86
* 17
+2 3
cfn=(2158)
calls=1 +84
* 17
+2 3
cfn=(2158)
calls=1 +82
* 17
+1 3
cfn=(2158)
calls=1 +81
* 17
+1 3
cfn=(2158)
calls=1 +80
* 17
+3 5
+3 2
fn=(2182)
1726 246212
+10 184659
+1 430885
+1 61553
-2 184665
+4 123106
+3 369318
+2 184659
+1 61553
+1 26
-1 184667
+9 123106
+1 148420
cfi=(117)
cfn=(2184) pg_atomic_sub_fetch_u32
calls=29684 405
* 1098308
* 59368
+2 159345
cfi=(117)
cfn=(2184)
calls=31869 405
* 1179153
* 31869
+10 246212
+5 61553
+6 123106
+12 184659
+1 123106
fn=(5670) LWLockWaitListLock
811 4
+12 5
cfi=(117)
cfn=(5672) pg_atomic_fetch_or_u32
calls=1 376
* 28
* 1
+1 4
+1 1
+28 2
fn=(2860) InitLWLockAccess
536 2
+4 2
fn=(5668) LWLockReleaseClearVar
1799 6
+1 3
cfn=(5670)
calls=1 811
* 45
+7 3
+1 3
cfn=(5676)
calls=1 863
* 40
+2 3
cfn=(2182)
calls=1 -84
* 91
+1 2
fn=(2044)
350 6
+3 2
+2 2
cfn=(2046)
calls=2 -20
* 22
* 2
+3 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 2
+3 8
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+3 10
cfi=(87)
cfn=(2000)
calls=2 493
* 28
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+3 10
+4 2
+2 2
+1 4
fn=(5784) LWLockReleaseAll
1825 2
+1 4
+6 2
fl=(118) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/port/atomics/generic.h
fn=(2176) pg_atomic_read_u32_impl
47 184659
+1 123106
+1 123106
fn=(2150) pg_atomic_write_u32_impl
56 936
+1 702
+1 468
-2 132984
+1 99738
+1 66492
fn=(2186) pg_atomic_sub_fetch_u32_impl
241 307765
+1 307765
cfi=(121) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/port/atomics/generic-gcc.h
cfn=(2188) pg_atomic_fetch_sub_u32_impl
calls=61553 -48
* 677083
* 123106
+1 123106
fn=(2148) pg_atomic_init_u32_impl
162 1170
+1 1170
cfn=(2150)
calls=234 56
* 2106
+1 468
-2 166230
+1 166230
cfn=(2150)
calls=33246 56
* 299214
+1 66492
fl=(207) /home/mithuncy/fsm_code/src/backend/access/transam/../../../../src/include/lib/ilist.h
fn=(3676) dlist_init
279 6
+1 14
+1 4
fl=(39)
fn=(1106)
815 6
+7 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+3 1
+1 2
+44 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 1
+1 2
+2 3
+1 3
+1 3
+2 1
+1 2
fn=(920)
699 24
+1 12
+6 12
+21 12
cfi=(19)
cfn=(922)
calls=4 202
* 72
* 8
+2 16
fn=(1060)
447 12
+1 9
+1 6
fn=(1190)
563 12
+1 2
cfi=(26)
cfn=(1192) IsSubTransaction
calls=2 4519
* 22
* 4
+6 6
+7 2
+1 4
fn=(1194)
526 12
+1 6
+2 7
cfi=(26)
cfn=(986) IsTransactionState
calls=1 333
* 10
* 2
+25 2
+1 4
fn=(982)
237 12
+1 6
+2 9
+1 9
+1 6
fn=(1174)
254 18
+6 18
cfi=(32)
cfn=(970)
calls=3 70
* 144
* 6
+61 18
cob=(3)
cfi=(3)
cfn=(1180)
calls=2 0
* 166
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1384
* 7
* 9
+1 15
+11 12
cfi=(30)
cfn=(790) pg_tzset
calls=3 -96
* 2488
* 3
+2 6
+6 9
cfi=(35)
cfn=(1046) pg_tz_acceptable
calls=3 1905
* 3646
* 9
+11 6
+9 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 382
* 3
* 9
+1 12
+2 12
+2 3
+1 6
fn=(1128)
745 12
+8 8
+1 2
+2 1
cfi=(26)
cfn=(986)
calls=1 333
* 10
* 3
+11 5
cfi=(151)
cfn=(3444)
calls=1 1114
* 476
* 1
+1 2
+6 8
+1 3
+1 3
+2 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+3 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 269
* 1
* 1
+1 2
+2 3
+1 3
+1 3
+2 1
+1 4
fn=(1130)
793 10
+1 4
+3 4
+1 1
+2 8
cfi=(54)
cfn=(3460) SetSessionAuthorization
calls=1 -85
* 1327
+1 4
fn=(926)
45 21
+1 6
+1 6
+1 3
+1 3
+1 3
+8 12
cfi=(13)
cfn=(928)
calls=3 1162
* 567
* 3
+3 15
cfi=(41)
cfn=(932)
calls=3 3507
* 6218
* 9
+9 9
cfi=(46)
cfn=(966)
calls=3 +8
* 30
* 6
+2 18
+4 24
cfi=(32)
cfn=(968)
calls=6 -39
* 486
* 12
+2 6
+2 3
+1 6
+2 12
cfi=(32)
cfn=(968)
calls=3 -46
* 123
* 6
+7 15
cfi=(32)
cfn=(970)
calls=3 -20
* 144
* 6
+7 12
cfi=(32)
cfn=(968)
calls=3 -60
* 123
* 6
+10 12
cfi=(32)
cfn=(968)
calls=3 -70
* 123
* 6
+7 12
cfi=(32)
cfn=(968)
calls=3 -77
* 123
* 6
+1 15
cfi=(32)
cfn=(970)
calls=3 -45
* 144
-1 6
+8 12
cfi=(32)
cfn=(968)
calls=3 -85
* 363
* 6
+4 6
+2 3
+1 6
-59 36
172 9
cfi=(13)
cfn=(952)
calls=3 1032
* 255
+1 9
cfi=(45)
cfn=(972)
calls=3 1137
* 957
+2 12
+9 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 681
* 3
* 3
+1 6
+3 21
+3 6
+1 3
+11 18
+9 48
+1 3
+3 12
cob=(3)
cfi=(3)
cfn=(590)
calls=2 0
* 178
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1324
* 7
+1 9
+5 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 291
* 3
* 3
+1 6
+2 9
+1 12
+1 9
+2 3
+1 12
fn=(1124)
591 6
+1 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 3
+1 4
+3 6
+2 1
+1 2
fn=(902)
623 24
+5 16
cfi=(40) /home/mithuncy/fsm_code/src/backend/utils/mb/encnames.c
cfn=(904) pg_valid_client_encoding
calls=4 488
* 3688
* 4
+1 8
+4 12
cfi=(40)
cfn=(916) pg_encoding_to_char
calls=4 -25
* 68
* 4
+16 12
cfi=(19)
cfn=(918)
calls=4 104
* 64
* 8
+28 24
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 88
* 4
* 8
+12 8
cob=(3)
cfi=(3)
cfn=(388)
calls=4 0
* 840
* 4
* 12
+1 16
+2 16
+2 4
+1 8
fn=(1108)
882 5
+1 2
+2 8
cfi=(54)
cfn=(1110) SetCurrentRoleId
calls=1 761
* 14
+1 2
fn=(1126)
603 5
+2 4
+2 2
+1 2
fn=(1184)
374 12
+1 9
+1 6
fn=(1034)
409 18
+6 12
cfi=(30)
cfn=(790)
calls=3 237
* 1260474
* 3
+2 6
+6 9
cfi=(35)
cfn=(1046)
calls=3 1905
* 3646
* 9
+11 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 487
* 3
* 9
+1 12
+2 12
+2 3
+1 6
fn=(1196)
487 12
+1 16
+25 2
+1 4
fn=(3746)
383 3
+4 3
cfi=(35)
cfn=(3748) pg_get_timezone_name
calls=1 1890
* 9
* 1
+2 2
+1 2
+3 2
fl=(107)
fn=(2066)
476 9
+1 3
+7 9
+3 12
cfi=(87)
cfn=(2002)
calls=3 -11
* 63
* 3
+2 15
cfi=(87)
cfn=(2000)
calls=3 +4
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 -13
* 63
* 3
+2 3
+1 6
fn=(2280)
496 3
+3 3
+4 1
cfn=(2066)
calls=1 -27
* 91
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1167
-1 1
+4 3
+2 4
+4 2
+2 4
cfn=(2066)
calls=1 -38
* 91
* 521
+2 2
+3 10
-1 130
cfi=(99)
cfn=(2144)
calls=10 678
* 640
+2 110
cfi=(128)
cfn=(2278)
calls=10 40
* 230
-4 43
+8 5
cfi=(99)
cfn=(2158)
calls=1 +79
* 17
+2 2
fl=(181)
fn=(3266) init_spin_delay
1012 36048
+1 12016
+1 12016
+1 12016
+1 18024
+1 18024
+1 18024
+1 12016
fn=(3262)
225 6008
+1 1502
+2 7510
+6 1502
+1 4506
fl=(296)
fn=(5108)
30 4
+8 9
+1 9
-1 2
+2 2
+1 2
-2 2
+3 2
+3 2
fl=(312) /home/mithuncy/fsm_code/src/backend/access/transam/varsup.c
fn=(5386) GetNewTransactionId
49 7
+7 1
cfi=(26)
cfn=(1210)
calls=1 910
* 8
* 2
+7 3
+8 1
cfi=(53)
cfn=(2878)
calls=1 7896
* 11
* 2
+3 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 3
+15 6
cfi=(168) /home/mithuncy/fsm_code/src/backend/access/transam/transam.c
cfn=(5388) TransactionIdFollowsOrEquals
calls=1 350
* 18
* 2
+80 3
cfi=(94)
cfn=(5390) ExtendCLOG
calls=1 868
* 13
+1 3
cfi=(95)
cfn=(5392) ExtendCommitTs
calls=1 785
* 12
+1 3
cfi=(96)
cfn=(5394) ExtendSUBTRANS
calls=1 325
* 13
+8 8
+36 4
+1 4
+15 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+2 1
+1 5
fl=(27)
fn=(750)
42 4
+1 4
cob=(3)
cfi=(3)
cfn=(756)
calls=1 -43
* 38
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -43
* 1390
* 6
+3 4
cob=(3)
cfi=(3)
cfn=(762)
calls=1 -46
* 21
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -46
* 1382
* 6
+1 4
cob=(3)
cfi=(3)
cfn=(762)
calls=2 -47
* 42
* 2
+8 6
cob=(3)
cfi=(3)
cfn=(768)
calls=1 -55
* 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -55
* 1316
* 6
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -56
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -59
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -60
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -63
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -64
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -67
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -68
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -71
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -72
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -75
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -76
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -79
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -80
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -83
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -84
* 20
* 2
+5 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -89
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -92
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -95
* 20
* 2
+2 4
fl=(262)
fn=(5118) contain_volatile_functions
959 4
+1 4
cfn=(5120) contain_volatile_functions_walker
calls=1 +11
* 47344
+1 2
fn=(5120)
971 5
+1 2
+3 5
cfi=(250)
cfn=(4642)
calls=1 1659
* 525
* 2
+4 4
+13 4
+7 5
cfi=(250)
cfn=(4494)
calls=1 1843
* 46790
+2 2
fn=(5121)
971 15
+1 6
+3 15
cfi=(250)
cfn=(4642)
calls=3 1659
* 46398
* 6
+4 12
+13 12
+7 15
cfi=(250)
cfn=(4495)
calls=3 1843
* 243
+2 6
fn=(5138) contain_context_dependent_node
1466 4
+1 1
+2 5
cfn=(5140) contain_context_dependent_node_walker
calls=1 +7
* 269
+1 2
fn=(5140)
1476 5
+1 2
+2 4
+2 4
+30 4
+18 5
cfi=(250)
cfn=(4494)
calls=1 1843
* 243
+2 2
fn=(5141)
1476 10
+1 4
+2 8
+2 8
+30 8
+18 10
cfi=(250)
cfn=(4495)
calls=2 1843
* 96
+2 4
fn=(4664) eval_const_expressions_mutator
2573 24
+1 6
+2 15
3835 3
+10 15
cfi=(250)
cfn=(4666)
calls=3 2429
* 228912
+1 18
fn=(4665)
2573 112
+1 28
+2 97
+4 4
+1 6
+3 12
+63 6
cfi=(246)
cfn=(4420)
calls=2 4767
* 484
* 2
+54 2
+1 3
+17 2
-6 8
cfi=(250)
cfn=(4576)
calls=1 277
* 54
* 16
cfn=(5052) simplify_function
calls=1 4197
* 226291
* 1
+10 2
+9 4
cfi=(13)
cfn=(2950)
calls=1 853
* 174
* 5
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 3
+1 4
+1 2
+4 4
+1 6
+8 6
cfi=(250)
cfn=(5042)
calls=2 1620
* 20
+6 40
cfn=(5053) simplify_function'2
calls=2 4197
* 229210
* 2
+9 4
+1 2
+7 4
+1 2
-1 2
+14 4
cfi=(13)
cfn=(2950)
calls=1 853
* 174
* 5
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 3
+1 4
+1 2
3061 2
+10 5
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 1
+11 4
cfi=(250)
cfn=(4478)
calls=1 43
* 24
* 5
cfi=(275)
cfn=(5128)
calls=1 2642
* 496
+2 7
cfi=(275)
cfn=(5126)
calls=1 2609
* 511
+3 14
cfn=(5053)
calls=1 4197
* 1364
* 1
+9 2
+41 4
cfi=(13)
cfn=(2950)
calls=1 853
* 160
* 5
+1 3
cfi=(271)
cfn=(4690)
calls=1 78
* 10
* 3
+1 4
+1 4
+1 4
+1 4
+1 2
3835 8
+10 40
cfi=(250)
cfn=(4667)
calls=8 2429
* 228743
+1 84
fn=(5046)
1160 10
+1 6
cfi=(275)
cfn=(5048) func_parallel
calls=2 1556
* 942
* 10
cfn=(5050) max_parallel_hazard_test
calls=2 -29
* 26
+2 4
fn=(5134)
1336 15
+1 9
cfi=(275)
cfn=(5136) func_strict
calls=3 1518
* 1413
* 18
+1 6
fn=(4638)
1070 12
+3 3
+1 3
+1 3
+1 15
cfn=(4640) max_parallel_hazard_walker
calls=3 +91
* 4402
+1 3
+1 6
fn=(5056) evaluate_function
4512 44
+1 32
+1 4
+1 4
+7 16
+14 16
+6 12
cfi=(271)
cfn=(4690)
calls=4 78
* 40
* 8
+2 35
+1 30
+2 4
-5 43
+14 22
+9 8
+1 8
+34 8
fn=(5058) inline_function
4639 22
+1 16
+23 8
+1 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 4
cfi=(190)
cfn=(4020)
calls=1 362
* 42
* 1
-1 2
+2 6
cfi=(271)
cfn=(4702) list_length
calls=1 90
* 10
-1 2
+2 2
+3 6
cfi=(45)
cfn=(3130)
calls=1 506
* 23
* 2
+4 1
cfi=(54)
cfn=(3464)
calls=1 381
* 5
* 6
cfi=(230)
cfn=(5060) pg_proc_aclcheck
calls=1 -21
* 51
* 2
+4 6
+7 7
cfi=(14)
cfn=(432)
calls=1 395
* 473
* 1
+3 3
cfi=(292) /home/mithuncy/fsm_code/src/backend/optimizer/util/../../../../src/include/utils/palloc.h
cfn=(5064) MemoryContextSwitchTo
calls=1 110
* 10
* 1
+3 6
cfi=(151)
cfn=(4026)
calls=1 1376
* 1690
* 1
+4 3
+2 3
cfi=(41)
cfn=(4028)
calls=1 186
* 217
* 1
+6 3
+1 2
+2 1
+1 2
+1 2
+1 2
+8 4
cfi=(13)
cfn=(2950)
calls=1 853
* 174
* 5
+1 3
+1 3
+1 2
+1 3
+1 2
+1 3
+1 3
+1 3
+1 2
+2 5
cfi=(293)
cfn=(5066)
calls=1 187
* 895
* 1
+10 3
cfi=(52)
cfn=(3880)
calls=1 633
* 15412
* 1
+1 3
cfi=(271)
cfn=(4702)
calls=1 90
* 10
* 2
+3 2
cfi=(226)
cfn=(3954)
calls=1 45
* 346
* 1
+1 3
+1 5
cfi=(293)
cfn=(5082)
calls=1 274
* 15
+2 3
cfi=(271)
cfn=(4690)
calls=1 78
* 10
* 5
cfi=(225)
cfn=(3956)
calls=1 192
* 142304
* 1
+2 3
cfi=(226)
cfn=(3962)
calls=1 78
* 106
+10 4
+1 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 3
-1 2
+2 3
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 4
cfi=(271)
cfn=(4702)
calls=1 90
* 10
-1 2
+14 4
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 7
cfi=(293)
cfn=(5112)
calls=1 1589
* 666
* 2
+5 4
cfi=(271)
cfn=(4690)
calls=1 78
* 10
* 3
+10 3
cfi=(250)
cfn=(4478)
calls=1 43
* 24
* 2
+14 4
+3 4
+1 3
cfn=(5118)
calls=1 959
* 47354
-1 2
+4 4
+1 3
cfn=(5130) contain_nonstrict_functions
calls=1 1330
* 3351
-1 2
+8 3
cfn=(5138)
calls=1 1466
* 281
* 2
+9 6
cfi=(13)
cfn=(2546)
calls=1 956
* 139
* 1
+1 8
cfn=(5142) substitute_actual_parameters
calls=1 4956
* 1154
* 1
+4 1
+1 3
cfi=(271)
cfn=(4690)
calls=1 78
* 10
* 2
+2 6
+2 16
+6 16
+25 2
-35 12
+42 3
cfi=(292)
cfn=(5064)
calls=1 110
* 10
+2 3
cfi=(246)
cfn=(4420)
calls=1 4767
* 1749
* 1
+2 3
cfi=(13)
cfn=(1396)
calls=1 212
* 297
+8 2
+2 3
cfi=(250)
cfn=(4496)
calls=1 721
* 21
* 1
+2 5
+16 4
+1 6
cfi=(254)
cfn=(5040) record_plan_function_dependency
calls=1 2553
* 12
+6 6
cfi=(45)
cfn=(4556)
calls=1 296
* 290
* 2
+1 5
cfn=(4665)
calls=1 2573
* 4769
* 1
+1 4
cfi=(45)
cfn=(4562)
calls=1 667
* 266
* 2
+2 2
+2 2
+9 8
fn=(5059) inline_function'2
4639 22
+1 16
+23 8
+7 4
4948 8
fn=(4662)
2494 15
+3 6
+1 15
+3 6
+1 3
+1 3
+1 3
+1 15
cfn=(4664)
calls=3 +68
* 228993
+1 6
fn=(4684)
1089 75
+11 75
+1 45
-1 30
+2 30
+25 30
fn=(5050)
1132 12
+1 6
+4 2
+17 2
+1 4
fn=(5054) expand_function_arguments
4291 24
+1 32
+1 4
+4 12
cfi=(271)
cfn=(4690)
calls=4 78
* 40
* 8
+2 21
+2 28
-4 43
+12 8
+6 12
cfi=(271)
cfn=(4702)
calls=4 90
* 40
* 20
+8 4
+1 8
fn=(5130)
1330 4
+1 4
cfn=(5132) contain_nonstrict_functions_walker
calls=1 +11
* 3341
+1 2
fn=(5132)
1342 5
+1 2
+2 4
+5 4
+8 4
+5 4
+7 4
+5 4
+5 4
+14 4
+5 4
+2 4
+2 4
+2 4
+11 4
+2 4
+2 4
+2 4
+2 4
+2 4
+2 4
+2 4
+2 4
+4 5
cfi=(250)
cfn=(4642)
calls=1 1659
* 529
* 2
+4 5
cfi=(250)
cfn=(4494)
calls=1 1843
* 2707
+2 2
fn=(5133)
1342 15
+1 6
+2 12
+5 12
+8 12
+5 12
+7 12
+5 12
+5 12
+14 12
+5 12
+2 12
+2 12
+2 12
+11 12
+2 12
+2 12
+2 12
+2 12
+2 12
+2 12
+2 12
+2 12
+4 15
cfi=(250)
cfn=(4642)
calls=3 1659
* 2087
* 6
+4 15
cfi=(250)
cfn=(4495)
calls=3 1843
* 319
+2 6
fn=(5142)
4956 7
+3 2
+1 2
+1 2
+2 5
cfn=(5144) substitute_actual_parameters_mutator
calls=1 +6
* 1134
+1 2
fn=(5144)
4969 5
+1 2
+2 4
+16 5
cfi=(250)
cfn=(4667)
calls=1 2429
* 1116
+2 2
fn=(5145)
4969 20
+1 8
+2 16
+2 4
+2 8
+2 20
+4 22
+4 16
cfi=(45)
cfn=(5072) list_nth
calls=2 411
* 61
* 2
+2 10
cfi=(250)
cfn=(4667)
calls=2 2429
* 1201
+2 8
fn=(4640)
1167 18
+1 6
+4 15
cfi=(250)
cfn=(4642)
calls=3 1659
* 45
* 6
+15 12
+6 12
+14 12
+9 12
+11 12
+12 12
+28 12
+21 12
+2 6
+3 12
+7 18
cfi=(250)
cfn=(4484)
calls=3 2266
* 4165
* 3
+9 12
fn=(4641)
1167 276
+1 92
+1 60
+3 80
cfi=(250)
cfn=(4642)
calls=16 1659
* 1279
* 32
+15 64
+6 64
+14 64
+9 64
+11 64
+12 64
+28 64
+2 2
+2 4
+1 2
+16 60
+18 75
cfi=(250)
cfn=(4495)
calls=9 1843
* 3948
cfi=(250)
cfn=(4494)
calls=6 1843
* 2947
+3 184
fn=(5052)
4197 15
+1 3
+17 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 342
* 1
+1 2
+2 8
+8 2
+2 6
cfn=(5054)
calls=1 +63
* 79
* 1
+1 5
cfi=(250)
cfn=(4667)
calls=1 2429
* 225553
* 1
+4 3
+5 15
cfn=(5056)
calls=1 4512
* 87
* 1
+5 8
+25 4
+1 12
cfn=(5058)
calls=1 4639
* 29
* 1
+4 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+2 1
+1 2
fn=(5053)
4197 45
+1 9
+17 12
cfi=(151)
cfn=(3444)
calls=3 1114
* 1026
* 3
+1 6
+2 24
+8 6
+2 18
cfn=(5054)
calls=3 +63
* 225
* 3
+1 15
cfi=(250)
cfn=(4667)
calls=3 2429
* 5464
* 3
+4 9
+5 45
cfn=(5056)
calls=3 4512
* 247
* 3
+5 24
+25 12
+1 36
cfn=(5059)
calls=2 4639
* 58
cfn=(5058)
calls=1 4639
* 222951
* 3
+4 9
cfi=(151)
cfn=(3418)
calls=3 1161
* 309
+2 3
+1 6
fn=(5122)
965 15
+1 9
cfi=(275)
cfn=(5124) func_volatile
calls=3 1537
* 45732
* 6
+1 6
fl=(273)
fn=(4698)
78 9
+1 15
+1 6
-2 9
+1 9
+1 6
fl=(21)
fn=(666)
1713 6
+3 22
+3 2
+1 4
fn=(656)
1571 42
+4 56
cob=(10)
cfi=(22)
cfn=(662)
calls=13 0
* 39
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1385
* 18
+2 42
+2 70
+2 14
+1 28
fn=(3772) TimestampDifferenceExceeds
1672 10
+1 10
+2 10
+1 4
fn=(2774) TimestampDifference
1646 12
+1 10
+2 4
+7 20
+1 30
+2 4
fl=(37)
fn=(884)
83 12
+4 12
+2 64
-2 56
+5 8
fn=(4294) strtoint
51 36
+3 36
cob=(3)
cfi=(3)
cfn=(1246)
calls=6 -54
* 768
* 6
* 6
+1 24
+2 6
+1 12
fl=(196) /home/mithuncy/fsm_code/src/backend/utils/adt/oid.c
fn=(3478) oideq
355 12252
+1 12252
+1 12252
+2 18387
+1 8168
fl=(298)
fn=(5538)
559 3000
+6 3000
cob=(3)
cfi=(3)
cfn=(1638)
calls=499 0
* 72854
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1430
* 504
+2 1000
fn=(5162) pg_ltoa
286 2500
+1 1000
+1 500
+6 1000
+5 1000
+10 2784
+2 13920
+1 13920
+1 8352
+1 2784
+2 1000
+4 2000
+3 500
+2 1473
+2 2946
+1 2455
-5 2973
+7 1000
fn=(5358) pg_strtoint32
200 437500
+1 175000
+1 87500
+1 87500
+3 787500
cob=(3)
cfi=(3)
cfn=(914)
calls=87500 0
* 262500
* 87500
* 962500
+4 350000
+5 350000
+4 87500
cob=(3)
cfi=(3)
cfn=(914)
calls=87500 0
* 262500
* 87500
* 1225000
+4 87500
+2 1251000
+2 1042500
cfi=(311) /home/mithuncy/fsm_code/src/backend/utils/adt/../../../../src/include/common/int.h
cfn=(5360) pg_mul_s32_overflow
calls=208500 -82
* 4587000
* 625500
+1 1251000
cfi=(311)
cfn=(5362) pg_sub_s32_overflow
calls=208500 122
* 4795500
* 208500
-1 417000
-4 1392500
cob=(3)
cfi=(3)
cfn=(914)
calls=208500 0
* 625500
* 208500
* 2293500
+10 437500
+3 612500
+3 350000
+3 525000
+2 262500
+3 175000
+15 350000
fl=(126)
fn=(2236)
69 41133
+1 41133
+1 41133
+6 54844
+1 54844
+2 82266
+1 27422
fn=(2842) SHMQueueElemInit
58 6
+2 12
+1 4
fn=(2234)
146 2920
+1 1752
+4 1752
+1 160
+2 2520
+1 1168
fn=(2230)
90 81724
+1 61293
+5 81724
+1 81724
+1 61293
+1 61293
+1 40862
fn=(5782) SHMQueueIsDetached
48 3
+2 4
+1 2
fn=(2228)
37 46734
+2 109046
+1 31156
fl=(141) /home/mithuncy/fsm_code/src/backend/storage/smgr/md.c
fn=(3582) _mdnblocks
1965 17507
+3 10004
cfi=(25)
cfn=(3584)
calls=2501 +46
* 95038
* 2501
+1 5002
+6 12505
+1 10004
fn=(3284) mdread
718 16
+11 14
cfn=(3286) _mdfd_getseg
calls=2 1838
* 6710
* 2
+3 8
+4 18
cfi=(25)
cfn=(3304)
calls=2 1836
* 969
* 2
+10 4
+25 8
fn=(3286)
1838 15020
+9 4506
+3 10514
+2 13500
+1 3000
+10 14
+4 12
cfn=(3288) mdopen
calls=2 560
* 6608
* 2
+1 4
+4 20
+85 2
+1 6008
fn=(3874) mdclose
614 5020
+1 6024
+3 2008
+1 1004
+19 2008
fn=(2826) mdinit
207 3
+1 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 1
+9 10
+28 2
fn=(3580) mdnblocks
847 12505
+1 15006
cfn=(3288)
calls=2501 560
* 1062722
* 2501
+2 2501
+18 17507
+1 22509
+4 15006
cfn=(3582)
calls=2501 1965
* 152561
* 2501
+1 5002
+2 5002
+1 15006
+18 5002
fn=(5420) mdexists
278 5000
+5 5000
cfn=(3874)
calls=1000 614
* 16000
+2 6000
cfn=(3288)
calls=1000 560
* 2723519
* 2000
+1 2000
fn=(5488) register_dirty_segment
1416 10500
+4 4500
+7 13500
cfi=(104)
cfn=(5490) ForwardFsyncRequest
calls=1500 1096
* 465000
* 3000
+1 1500
+11 6000
fn=(3288)
560 24521
+6 24521
+1 12000
+2 18036
cfi=(183) /home/mithuncy/fsm_code/src/common/relpath.c
cfn=(3290) GetRelationPath
calls=1503 140
* 2281422
* 1503
+2 6012
cfi=(25)
cfn=(3294)
calls=1503 1298
* 1028122
* 1503
+2 3006
+24 4509
cfi=(13)
cfn=(952)
calls=1503 1032
* 127755
+2 9018
cfn=(3302) _fdvec_resize
calls=1503 1738
* 218873
+1 9018
+1 4509
+1 3006
+4 1503
+1 14012
fn=(3302)
1738 9018
+1 3006
+8 10521
+3 10521
cfi=(13)
cfn=(798)
calls=1503 772
* 164765
-1 9018
+16 9018
+1 3006
fn=(5476) mdextend
497 16500
+15 3000
+7 10500
cfn=(3286)
calls=1500 1838
* 52500
* 1500
+2 6000
+4 13500
cfi=(25)
cfn=(5478)
calls=1500 1892
* 197272
* 4500
+17 12000
+1 9000
cfn=(5488)
calls=1500 1416
* 504000
+3 7500
fl=(160) /home/mithuncy/fsm_code/src/backend/access/index/amapi.c
fn=(2938) GetIndexAmRoutine
34 316
+4 316
cfi=(161)
cfn=(2940) OidFunctionCall0Coll
calls=79 1386
* 39469
* 79
+1 158
+2 474
+4 79
+1 158
fl=(170)
fn=(3514) initialize_acl
4689 2
+1 3
+6 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+4 2
fn=(5218) is_member_of_role
4932 2500
+2 1500
+4 1500
cfi=(193)
cfn=(3466)
calls=500 58
* 7000
* 1000
+1 1000
+7 1000
fn=(3022)
5191 7
+3 8
cfi=(151)
cfn=(3024)
calls=1 1227
* 51537
* 1
+2 2
+4 1
+1 4
fl=(299)
fn=(5186)
10555 2000
+6 500
+10 6000
+2 1500
+2 17676
+2 27568
+1 6176
-5 31460
+18 1500
+3 1000
+10 2500
cfi=(219) /home/mithuncy/fsm_code/src/common/keywords.c
cfn=(3912) ScanKeywordLookup
calls=500 67
* 430272
* 500
+4 1000
+4 1000
+1 1000
+18 1000
fl=(63)
fn=(1500) splitTzLine
99 2744
+7 1176
+1 1176
+2 1568
cob=(3)
cfi=(3)
cfn=(1506)
calls=391 0
* 38327
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1374
* 396
* 392
+1 784
+6 1176
cfi=(13)
cfn=(928)
calls=392 1162
* 69030
* 784
+2 1176
cob=(3)
cfi=(3)
cfn=(1506)
calls=392 0
* 47944
* 392
* 392
+1 784
+8 392
cob=(3)
cfi=(3)
cfn=(914)
calls=392 0
* 1176
* 392
* 5784
+2 580
+1 1740
cob=(3)
cfi=(3)
cfn=(1246)
calls=290 0
* 53034
* 290
* 870
+1 2030
+7 870
cob=(3)
cfi=(3)
cfn=(1506)
calls=290 0
* 28138
* 290
* 290
+1 1740
cfi=(32)
cfn=(968)
calls=290 37
* 11502
* 580
+2 192
+1 288
cob=(3)
cfi=(3)
cfn=(1506)
calls=96 0
* 8928
* 96
* 96
-3 96
+8 388
+1 388
-9 194
+19 306
cfi=(13)
cfn=(928)
calls=102 1162
* 20994
* 204
+1 204
+1 204
+1 306
cob=(3)
cfi=(3)
cfn=(1506)
calls=102 0
* 9486
* 102
* 102
+3 784
+3 1568
+6 392
+1 784
fn=(1472)
439 8
+1 2
+11 14
cfi=(14)
cfn=(432)
calls=2 -56
* 713
* 2
+3 6
cfi=(61)
cfn=(1270)
calls=2 110
* 20
* 2
+3 2
+1 16
cfi=(13)
cfn=(940)
calls=2 925
* 879
* 2
+3 14
cfn=(1474) ParseTzFile
calls=2 278
* 1510243
* 2
+3 4
+2 10
cfi=(64)
cfn=(1518)
calls=2 4508
* 71378
* 2
+1 4
+5 6
cfi=(61)
cfn=(1270)
calls=2 110
* 20
+1 6
cfi=(13)
cfn=(1396)
calls=2 212
* 1740
+2 2
+1 4
fn=(1474)
278 16
+7 2
+1 2
+9 6
+2 14
cob=(3)
cfi=(3)
cfn=(914)
calls=14 0
* 42
* 14
* 154
-2 78
+17 4
+7 8
cfi=(11)
cfn=(1428) get_share_path
calls=2 705
* 9302
+1 20
cfi=(17)
cfn=(462)
calls=2 203
* 1032
+2 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1290
* 2
+1 4
+36 2
+2 1266
+1 6330
cob=(3)
cfi=(3)
cfn=(1486)
calls=1265 0
* 308214
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1783
* 1270
* 2532
+2 6
cob=(3)
cfi=(3)
cfn=(1366)
calls=2 0
* 72
* 2
* 4
+7 2
+2 3792
cob=(3)
cfi=(3)
cfn=(424)
calls=1264 0
* 27004
* 1264
* 2528
+9 2528
+1 1264
+1 12148
-1 67016
cob=(3)
cfi=(3)
cfn=(914)
calls=13368 0
* 40104
* 13368
* 147048
+3 5056
+1 44
+1 4880
+1 828
+2 1960
cfi=(32)
cfn=(970)
calls=392 70
* 18032
* 784
+19 1960
cfi=(32)
cfn=(970)
calls=392 70
* 18032
* 784
+6 2352
cfn=(1500)
calls=392 99
* 325415
* 1176
+2 1176
cfn=(1508) validateTzEntry
calls=392 52
* 54716
* 1176
+2 3136
cfn=(1512) addToArray
calls=392 190
* 360506
* 392
+1 784
-62 3798
cob=(3)
cfi=(3)
cfn=(1480)
calls=1265 0
* 45540
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1290
* 1270
* 2532
+66 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1067
+2 2
+1 4
fn=(1508)
52 1568
+7 1568
cob=(3)
cfi=(3)
cfn=(424)
calls=392 -59
* 5880
* 392
* 784
+11 1568
+1 784
-1 784
+12 1568
+1 7130
cfi=(32)
cfn=(1510) pg_tolower
calls=1426 +40
* 19964
* 2852
-1 8698
+3 392
+1 784
fn=(1512)
190 3528
+10 1176
+1 392
+1 1176
+1 392
+2 12380
+1 24760
+3 17332
cob=(3)
cfi=(3)
cfn=(446)
calls=2476 0
* 64804
* 2476
* 2476
+1 4952
+1 3952
+1 2976
+1 5952
-10 8604
+46 1568
+2 10
+1 26
cfi=(13)
cfn=(1514)
calls=2 1045
* 2334
* 4
+3 20
+2 32
cob=(3)
cfi=(3)
cfn=(482)
calls=2 0
* 258
* 2
-2 3900
+2 6240
cob=(3)
cfi=(3)
cfn=(482)
calls=390 0
* 176242
* 390
+2 2352
cob=(3)
cfi=(3)
cfn=(856)
calls=392 0
* 7840
* 392
+2 784
+1 784
fl=(90)
fn=(3220) BufTableLookup
93 88300
+4 17660
-1 105960
cfi=(31)
cfn=(842)
calls=17660 924
* 2434297
* 17660
+7 35320
+1 3004
+2 32316
+1 35320
fn=(2014)
44 4
+1 5
cfi=(31)
cfn=(2006)
calls=1 733
* 441
+1 2
fn=(3218) BufTableHashCode
81 70640
+1 88300
cfi=(31)
cfn=(2226)
calls=17660 861
* 2472400
+1 35320
fn=(2214)
54 4
+6 1
+1 1
+1 1
+2 9
cfi=(87)
cfn=(2162)
calls=1 322
* 236609
* 1
+4 2
fn=(3278) BufTableInsert
121 9012
+8 1502
-1 10514
cfi=(31)
cfn=(842)
calls=1502 924
* 382966
* 1502
+7 4506
+3 4506
+2 1502
+1 3004
fl=(279)
fn=(4734)
154 30
+8 12
+2 12
+1 12
+30 12
fn=(4892) bms_add_member
765 2505
+4 1002
+2 1002
+1 1503
cfn=(4894) bms_make_singleton
calls=501 246
* 101202
* 501
+19 1002
fn=(4894)
246 2004
+5 1002
+2 3006
+1 3507
+1 3507
cfi=(13)
cfn=(2546)
calls=501 956
* 79659
* 501
+1 2004
+1 4509
+1 501
+1 1002
fn=(4728)
134 48
+4 24
+1 24
+5 24
fl=(285) /home/mithuncy/fsm_code/src/backend/parser/parse_relation.c
fn=(4880) refnameRangeTblEntry
89 8
+1 1
+2 2
+1 2
+2 2
+20 1
+4 2
+3 6
cfn=(4882) scanNameSpaceForRefname
calls=1 +34
* 31
* 1
+2 2
+3 2
+1 5
+4 4
-17 4
+19 1
+1 2
fn=(4882)
156 8
+1 1
+3 4
cfi=(222)
cfn=(4336)
calls=1 -82
* 8
* 4
+24 1
+1 5
fn=(4878) colNameToVar
760 10
+1 1
+1 2
+2 1
+4 4
cfi=(222)
cfn=(4336)
calls=1 78
* 8
* 4
+30 4
+3 3
-37 4
+40 1
+1 5
fn=(5250) addRangeTableEntryForRelation
1290 5500
+1 2000
cfi=(13)
cfn=(2950)
calls=500 853
* 141500
* 2500
+1 3000
+9 1000
+1 1500
+1 2000
+1 2500
+1 1500
+6 2000
cfi=(221)
cfn=(5252)
calls=500 387
* 154332
* 1000
+1 4000
cfn=(5254) buildRelationAliases
calls=500 1032
* 331668
+8 1000
+1 1500
+1 1500
+2 1000
+1 1000
+1 1000
+1 1000
+1 1000
+6 3000
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 1000
+2 500
+1 1000
fn=(5254)
1032 3500
+1 1500
+4 500
+4 1000
+9 500
+1 500
+3 1000
+2 5000
+3 2000
+8 1000
+9 2000
cfi=(13)
cfn=(928)
calls=500 +86
* 72668
* 1000
cfi=(220) /home/mithuncy/fsm_code/src/backend/nodes/value.c
cfn=(3920) makeString
calls=500 54
* 83500
* 500
+4 3000
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 1000
-26 3500
+30 1000
+5 2000
fl=(117)
fn=(5672)
376 5
+2 5
cfi=(121)
cfn=(5674) pg_atomic_fetch_or_u32_impl
calls=1 212
* 16
+1 2
fn=(2174)
245 246212
+2 184659
cfi=(118)
cfn=(2176)
calls=61553 47
* 430871
+1 123106
fn=(2178)
316 369318
+4 369318
cfi=(120) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/port/atomics/arch-x86.h
cfn=(2180) pg_atomic_compare_exchange_u32_impl
calls=61553 170
* 1231060
+1 123106
fn=(2184)
405 307765
+3 307765
cfi=(118)
cfn=(2186)
calls=61553 241
* 1538825
+1 123106
fn=(2146)
227 1170
+3 1170
cfi=(118)
cfn=(2148)
calls=234 -68
* 4914
+1 468
-4 166230
+3 166230
cfi=(118)
cfn=(2148)
calls=33246 -68
* 698166
+1 66492
fn=(5678)
362 5
+2 5
cfi=(121)
cfn=(5680) pg_atomic_fetch_and_u32_impl
calls=1 203
* 16
+1 2
fl=(168)
fn=(5690) TransactionIdAsyncCommitTree
274 7
+1 8
cfi=(94)
cfn=(5692) TransactionIdSetTreeStatus
calls=1 165
* 567
+2 2
fn=(3010) TransactionIdPrecedes
301 22472
+7 22380
+1 184
+2 27860
+1 11144
+1 11236
fn=(5704) TransactionIdLatest
367 6
+10 2
+1 4
+5 1
+1 2
fn=(5388)
350 4
+3 4
+3 5
+1 3
+1 2
fn=(3154) TransactionIdFollows
335 8188
+3 8188
+3 10235
+1 4094
+1 4094
fl=(219)
fn=(3912)
67 18168
+7 9084
cob=(3)
cfi=(3)
cfn=(424)
calls=3028 -74
* 49400
* 3028
* 3028
+2 6056
+7 6056
+2 116418
+2 72044
+1 6087
+1 24348
-6 24348
+6 53264
-6 62348
+8 9084
+5 6056
+1 21196
+1 3028
+5 352562
+1 151098
cob=(3)
cfi=(3)
cfn=(446)
calls=25183 0
* 811674
* 25183
* 25183
+1 50366
+1 4034
+1 46332
+1 44336
+2 36246
-12 78582
+15 1011
+1 6056
fl=(321)
fn=(5758)
290 6
+3 24
+1 4
fl=(18)
fn=(1010)
308 18
+1 18
cfn=(1012) check_locale
calls=3 -44
* 13409
+1 6
fn=(1014)
314 12
+1 3
+1 6
fn=(1016)
320 18
+1 18
cfn=(1012)
calls=3 -56
* 13441
+1 6
fn=(1006)
354 18
+1 15
+2 2
+1 2
+11 12
cfn=(1012)
calls=2 265
* 1066
+4 6
fn=(1008)
377 15
+6 12
cfn=(562) pg_perm_setlocale
calls=3 152
* 14972
+2 6
fn=(1012)
265 66
+4 22
+3 44
cob=(3)
cfi=(3)
cfn=(568)
calls=11 0
* 286
* 11
* 11
+1 22
+4 33
cfi=(13)
cfn=(928)
calls=11 1162
* 1603
* 11
+3 55
cob=(3)
cfi=(3)
cfn=(568)
calls=11 0
* 20088
* 11
* 11
+3 44
+4 55
cob=(3)
cfi=(3)
cfn=(568)
calls=11 0
* 18044
* 11
* 22
+2 33
cfi=(13)
cfn=(952)
calls=11 1032
* 818
+2 22
+1 22
fn=(1018)
326 12
+1 3
+1 6
fn=(1020)
332 18
+1 18
cfn=(1012)
calls=3 -68
* 13429
+1 6
fn=(562)
152 55
+6 55
cob=(3)
cfi=(3)
cfn=(568)
calls=10 0
* 14697
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 14946
* 15
* 11
+21 22
+10 22
+5 10
cfi=(16)
cfn=(460)
calls=2 46
* 356
+1 2
+5 2
cfi=(19)
cfn=(612)
calls=2 1005
* 12
* 4
cfi=(19)
cfn=(614)
calls=2 909
* 20
+4 55
+3 2
+1 2
+1 2
+2 2
+1 2
+1 2
+3 4
+1 4
+6 4
+3 1
+1 1
+1 1
+2 1
+1 1
+1 1
+2 1
+1 1
+1 1
+8 110
cfi=(17)
cfn=(462)
calls=11 -41
* 4970
+2 33
cob=(3)
cfi=(3)
cfn=(542)
calls=11 0
* 32620
* 11
* 22
+3 11
+1 22
fn=(622) check_strxfrm_bug
994 10
+2 2
+1 2
+12 4
+1 10
cob=(3)
cfi=(3)
cfn=(628)
calls=1 0
* 527
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1803
* 6
+1 8
+13 4
+1 10
cob=(3)
cfi=(3)
cfn=(628)
calls=2 0
* 726
* 2
+1 8
+3 8
+6 10
fn=(1022)
338 12
+1 3
+1 6
fl=(104)
fn=(2268)
899 3
+1 1
cfn=(2060)
calls=1 -20
* 62
* 1
+4 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1083
-1 1
+5 4
+7 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 35856
* 1
+1 2
+1 3
+2 2
fn=(5490)
1096 12000
+4 6000
+3 4500
+3 7500
cfi=(99)
cfn=(2170)
calls=1500 +16
* 205500
+3 4500
+1 6000
+7 6000
+1 6000
-1 3000
+15 21000
+1 7500
+1 4500
+1 4500
+3 3000
+1 9000
-1 4500
+3 6000
cfi=(99)
cfn=(2182)
calls=1500 1726
* 136500
+3 3000
+3 1500
+1 3000
fn=(2060)
880 6
+7 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 2
+1 4
fl=(134)
fn=(2532)
110 48
+1 32
+2 32
+1 16
+1 32
fl=(231) /home/mithuncy/fsm_code/src/backend/utils/fmgr/dfmgr.c
fn=(4032) load_external_function
109 9
+6 3
cfn=(4034) expand_dynamic_library_name
calls=1 496
* 2284
* 1
+3 3
cfn=(4040) internal_load_library
calls=1 +67
* 3768728
* 1
+3 2
+1 3
+3 5
cob=(6)
cfi=(6)
cfn=(4098) dlsym
calls=1 0
* 975
* 1
* 1
+2 2
+6 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 1
+1 4
fn=(4038) file_exists
464 10
+5 10
cfi=(9)
cfn=(490)
calls=2 0
* 34
* 4
+1 5
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+5 1
+1 8
fn=(4036) substitute_libpath_macro
566 10
+6 8
+3 6
cfi=(11)
cfn=(456) first_dir_separator
calls=2 104
* 162
* 6
+3 12
+1 10
cob=(3)
cfi=(3)
cfn=(1044)
calls=2 0
* 80
* 2
-1 4
+7 12
cfi=(81) /home/mithuncy/fsm_code/src/common/psprintf.c
cfn=(3292) psprintf
calls=2 47
* 1063
+1 8
fn=(4040)
185 5
+10 5
+6 2
+5 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+6 5
+7 2
+6 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 26
* 1
* 1
-1 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 304
* 1
* 1
+2 2
+5 55
+1 6
cob=(3)
cfi=(3)
cfn=(810)
calls=1 0
* 101
* 1
+1 3
+2 3
+2 2
+2 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 254864
* 5
* 2
+1 4
+13 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 3134
* 5
-1 1
+2 2
+2 2
cob=(12)
cfi=(233)
cfn=(4112) Pg_magic_func
calls=1 36
* 5
* 1
+2 5
+1 6
cob=(3)
cfi=(3)
cfn=(3074)
calls=1 0
* 27
* 1
-1 2
+29 5
cob=(6)
cfi=(6)
cfn=(4098)
calls=1 0
* 765
* 1
* 1
+1 3
+1 2
cob=(12)
cfi=(233)
cfn=(4114) _PG_init
calls=1 148
* 3509308
+3 3
+1 3
+3 2
+3 2
+1 4
fn=(4034)
496 4
+7 3
cfi=(11)
cfn=(456)
calls=1 104
* 81
* 3
+2 4
+8 3
cfn=(4036)
calls=1 +53
* 702
* 1
+1 3
cfn=(4038)
calls=1 -50
* 44
* 2
+2 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+3 6
cfi=(81)
cfn=(3292)
calls=1 47
* 517
* 1
+2 4
+9 3
cfn=(4036)
calls=1 +36
* 681
* 1
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfn=(4038)
calls=1 -68
* 36
* 2
+1 2
+9 2
fn=(4170) find_rendezvous_variable
681 4
+7 3
+4 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 3222
* 1
+7 7
cfi=(31)
cfn=(836)
calls=1 910
* 676
* 1
+6 4
+1 2
+2 2
+1 2
fn=(4174) lookup_external_function
172 5
+1 5
cob=(6)
cfi=(6)
cfn=(4098)
calls=1 0
* 1110
* 1
+1 2
fl=(253) /home/mithuncy/fsm_code/src/backend/rewrite/../../../src/include/nodes/pg_list.h
fn=(4506) list_head
78 45
+1 57
+1 30
fn=(4510) list_length
90 9
+1 9
+1 6
fl=(320)
fn=(5734)
162 48
+1 40
cfn=(5736) pq_sendint8
calls=8 -33
* 600
+1 16
fn=(5736)
130 48
+1 32
cfi=(80)
cfn=(1922)
calls=8 271
* 280
+1 40
cfn=(5738) pq_writeint8
calls=8 -84
* 184
+1 16
fn=(5738)
48 40
+1 16
+3 64
+1 48
+1 16
fl=(216) /home/mithuncy/fsm_code/src/backend/parser/scan.c
fn=(3900) core_yy_load_buffer_state
10519 3054
+1 2036
+1 10180
+1 14252
+1 10180
+1 5090
+1 2036
fn=(3886) core_yylex_init
11027 2036
+1 1018
+5 1527
cfi=(215) /home/mithuncy/fsm_code/src/backend/parser/scan.l
cfn=(3888) core_yyalloc
calls=509 1574
* 67697
* 1018
+2 2036
+6 3054
cob=(3)
cfi=(3)
cfn=(828)
calls=509 0
* 15291
* 509
+2 2036
cfn=(3890) yy_init_globals
calls=509 +40
* 15270
+1 1018
fn=(3898) core_yyensure_buffer_stack
10692 2036
+2 1018
+2 2036
+6 509
+2 3054
cfi=(215)
cfn=(3888)
calls=509 1574
* 61080
-1 1018
+3 2036
+3 3563
cob=(3)
cfi=(3)
cfn=(828)
calls=509 0
* 7635
* 509
+2 1527
+1 1018
+1 509
+20 1018
fn=(3890)
11083 1527
+1 1018
+5 1018
+1 1018
+1 1018
+1 1018
+1 1018
+1 1018
+2 1018
+1 1018
+1 1018
+7 1018
+1 1018
+6 509
+1 1018
fn=(3894) core_yy_scan_buffer
10742 3054
+3 1018
+1 2545
-1 1018
+2 2545
-1 1018
+5 2036
cfi=(215)
cfn=(3888)
calls=509 1574
* 67697
* 509
+1 1018
+3 2036
+1 3563
+1 1018
+1 1018
+1 2036
+1 1018
+1 1018
+1 1018
+1 1018
+2 2545
cfn=(3896) core_yy_switch_to_buffer
calls=509 10487
* 138448
+2 509
+1 1018
fn=(3896)
10487 2545
+1 1018
+7 1527
cfn=(3898)
calls=509 10692
* 88566
+1 7126
+3 6617
+8 4072
+1 1527
cfn=(3900)
calls=509 +11
* 23414
+7 1018
+1 1018
fn=(3892) core_yyset_extra
10927 2036
+1 1018
+1 1527
+1 1018
fn=(3924) yy_get_next_buffer
10217 8144
+1 2036
+1 8144
+1 2036
+4 16288
+4 10180
+2 9162
+5 1018
+8 1018
10347 7126
fn=(3908) core_yylex
9032 39259
+4 7138
+7 10707
+2 10707
+2 14276
+2 1018
+6 2036
+1 1018
+2 2036
+1 1527
+2 2036
+1 1527
+2 6617
+6 1527
cfn=(3900)
calls=509 10519
* 23414
+5 14264
+3 21396
+5 7132
+2 28528
+7 21396
+4 164364
-1 123273
-2 164364
+1 41091
-2 82182
+1 28528
+1 7132
-2 14264
+8 15282
+2 114615
+4 40750
fi=(215)
529 1518
+1 1518
+1 5566
+1 2530
+1 1518
+3 1518
+2 506
+20 12144
+1 1012
+5 2530
+4 2530
cfn=(3916) litbufdup
calls=506 1245
* 89513
* 506
+1 1012
+35 24
cfn=(4322) addlitchar
calls=6 1226
* 222
+2 6
+1 4608
cfn=(3914) addlit
calls=512 1207
* 33720
+2 512
+82 11
+1 6
cfi=(13)
cfn=(928)
calls=1 1162
* 176
* 1
+1 2
+1 3
+2 1
+8 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 42
* 1
* 2
+2 5
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
+1 2
+1 5
cfn=(3916)
calls=1 1245
* 222
* 1
+1 2
+14 9
cfn=(3914)
calls=1 1207
* 131
+2 1
826 11
+1 2
+4 11
+1 2
+36 154
+1 70
+10 12
+1 20
cob=(3)
cfi=(3)
cfn=(4330)
calls=3 0
* 132
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1340
* 8
* 4
+1 20
cob=(3)
cfi=(3)
cfn=(4330)
calls=4 0
* 176
* 4
* 4
+2 8
+6 8
+1 8
+1 8
+11 8
+1 28
-1 8
+2 28
-1 8
+28 44
+2 24
+40 8
+3 24
cfi=(13)
cfn=(928)
calls=4 1162
* 704
* 4
+1 8
+4 22
+1 14
cob=(3)
cfi=(3)
cfn=(2672)
calls=2 0
* 218
* 2
* 2
+1 4
+4 55
+1 35
cfn=(4292) process_integer_literal
calls=5 1261
* 946
* 5
+9 27
+1 11
+1 7
cfn=(4292)
calls=1 1261
* 164
* 1
+28 27775
+5 5050
-2 2525
+1 5050
-1 15150
cfi=(219)
cfn=(3912)
calls=2525 67
* 1694017
* 2525
+3 5050
+2 10085
+1 8068
+7 4572
cfi=(42)
cfn=(936)
calls=508 132
* 223465
* 508
+1 2032
+1 1016
+9 5599
+1 1018
fe=(216)
10083 7126
+3 3054
+3 10180
+11 5090
+1 5090
+1 4072
+10 15270
+36 3054
cfn=(3924)
calls=1018 +69
* 65152
* 3054
+4 1018
+13 2036
+2 4072
+1 509
+23 5599
-1 1018
+3 1527
cfn=(3926) yy_get_previous_state
calls=509 10352
* 37479
* 509
+2 1018
+1 1018
+1 509
fi=(215)
411 2537
fe=(216)
10206 3563
+1 28552
fn=(3926)
10352 2545
+3 1018
+2 2036
+2 1527
+2 18192
-2 9616
+5 509
+1 2036
fl=(217) /home/mithuncy/fsm_code/src/backend/parser/gram.y
fn=(3928) makeRawStmt
15459 2540
+1 2032
cfi=(13)
cfn=(2950)
calls=508 853
* 77724
* 2540
+2 1524
+1 1524
+1 1016
+1 508
+1 1016
fn=(3932) updateRawStmtEnd
15471 4
+6 4
+4 6
+1 2
fn=(3902) parser_init
16299 1524
+1 1016
+1 1016
fn=(4318) makeIntConst
15568 20
+1 16
cfi=(13)
cfn=(2950)
calls=4 853
* 640
* 20
+2 8
+1 12
+1 12
+2 4
+1 8
fn=(5080) makeTypeCast
15538 6
+1 4
cfi=(13)
cfn=(2950)
calls=1 853
* 160
* 5
+1 3
+1 3
+1 3
+1 1
+1 2
fn=(4334) makeColumnRef
15487 14
+7 8
cfi=(13)
cfn=(2950)
calls=2 853
* 306
* 10
+1 2
+3 6
+1 6
cfi=(222)
cfn=(4336)
calls=2 78
* 16
* 8
+33 6
cfi=(220)
cfn=(3920)
calls=2 54
* 334
* 8
cfi=(45)
cfn=(1586)
calls=2 260
* 580
* 4
+1 2
+1 4
fn=(4332) makeStringConst
15548 20
+1 16
cfi=(13)
cfn=(2950)
calls=4 853
* 640
* 20
+2 8
+1 12
+1 12
+2 4
+1 8
fl=(274)
fn=(4710) cost_qual_eval_node
3748 18
+3 6
+1 6
+1 6
+2 15
cfn=(4712) cost_qual_eval_walker
calls=3 +7
* 4202
+2 15
+1 6
fn=(4712)
3762 15
+1 6
+9 12
+61 12
+2 3
+1 4
cfi=(275)
cfn=(5150) get_func_cost
calls=1 1613
* 473
* 4
-1 4
+3 8
+1 4
-1 4
+2 4
-1 4
+8 8
+13 8
+1 4
-1 4
+14 8
+16 8
+12 8
+14 8
+1 4
-1 4
+2 4
-1 4
+2 4
-1 4
+2 4
-1 4
+6 8
+5 8
+5 8
+19 8
+13 8
+16 15
cfi=(250)
cfn=(4494)
calls=3 1843
* 3496
+2 6
fn=(4713)
3762 25
+1 10
+9 20
+61 20
+5 20
+1 8
-1 8
+2 8
-1 8
+4 3
cfi=(250)
cfn=(5042)
calls=1 1620
* 10
+1 3
+1 4
cfi=(275)
cfn=(5150)
calls=1 1613
* 473
* 4
-1 4
+3 16
+13 16
+1 8
-1 8
+14 16
+2 2
+6 7
cfi=(275)
cfn=(5126)
calls=1 2609
* 511
+2 6
cfi=(275)
cfn=(5150)
calls=1 1613
* 473
* 7
+2 4
cfi=(250)
cfn=(4478)
calls=1 43
* 24
* 5
cfi=(275)
cfn=(5128)
calls=1 2642
* 496
+2 6
cfi=(275)
cfn=(5150)
calls=1 1613
* 473
* 8
+2 12
+12 12
+14 12
+1 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+6 12
+5 12
+5 12
+19 12
+13 12
+16 25
cfi=(250)
cfn=(4495)
calls=5 1843
* 2918
+2 10
fn=(4704)
5257 18
+1 3
+4 9
+1 9
+2 12
cfi=(273)
cfn=(4698)
calls=3 78
* 30
* 6
+2 9
+2 12
+42 9
cfi=(250)
cfn=(4576)
calls=3 277
* 92
* 12
cfi=(250)
cfn=(4478)
calls=3 43
* 72
* 9
cfi=(275)
cfn=(4706) get_typavgwidth
calls=3 2324
* 1491
* 3
+2 6
+3 18
cfn=(4710)
calls=3 3748
* 4274
+1 18
+1 18
-53 21
+58 9
+2 3
+1 12
fl=(54)
fn=(1110)
761 6
+8 2
+2 3
+1 1
+15 2
fn=(1620)
1588 2
+1 1
+1 5
cfn=(1622) load_libraries
calls=1 -54
* 19
+3 1
+1 2
fn=(2846) SwitchToSharedLatch
343 2
+4 3
+2 3
+1 7
cfi=(122)
cfn=(2848)
calls=1 767
* 100
+7 3
cfi=(122)
cfn=(2850)
calls=1 +80
* 24
+1 2
fn=(3442) InitializeSessionUserId
580 6
+19 1
cfi=(155)
cfn=(2988)
calls=1 +81
* 67
+2 2
+2 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 487
* 1
+1 2
+1 1
+13 8
+1 3
+1 3
+2 2
+1 3
+3 6
cfn=(3454) SetSessionUserId
calls=1 423
* 16
+4 3
+7 3
+5 5
+16 4
+10 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 4940
+2 10
cfi=(29)
cfn=(1206)
calls=1 7172
* 1283
+4 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+1 4
fn=(3750) process_session_preload_libraries
1601 2
+1 5
cfn=(1622)
calls=1 -66
* 19
+3 5
cfn=(1622)
calls=1 -69
* 19
+3 2
fn=(1950)
1259 30
+9 25
cob=(5)
cfi=(5)
cfn=(676)
calls=5 0
* 35
* 5
* 5
+1 10
+8 10
cfi=(66) /home/mithuncy/fsm_code/src/backend/utils/init/../../../../src/include/pgstat.h
cfn=(1562) pgstat_report_wait_start
calls=5 -38
* 70
+1 30
cob=(5)
cfi=(5)
cfn=(684)
calls=5 0
* 35
* 5
* 5
+1 5
cfi=(66)
cfn=(1572) pgstat_report_wait_end
calls=5 -16
* 65
+1 10
+9 15
+6 10
+1 10
+2 116
cob=(3)
cfi=(3)
cfn=(1120)
calls=29 0
* 601
* 29
* 29
+2 58
+2 87
-6 131
+8 50
cob=(3)
cfi=(3)
cfn=(856)
calls=5 0
* 176
* 5
+1 35
+6 20
+9 60
cfi=(17)
cfn=(462)
calls=5 203
* 1635
+1 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 81
* 5
* 5
+5 20
cob=(3)
cfi=(3)
cfn=(1120)
calls=5 0
* 110
* 5
* 15
+2 2
+1 24
cfi=(17)
cfn=(462)
calls=2 203
* 400
+8 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 142
* 5
* 5
+1 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
* 5
+1 10
cfi=(66)
cfn=(1562)
calls=5 1239
* 70
+1 25
cob=(5)
cfi=(5)
cfn=(1956)
calls=4 0
* 28
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 760
* 9
* 10
+1 35
cob=(5)
cfi=(5)
cfn=(1568)
calls=5 0
* 35
* 5
-1 10
+14 5
cfi=(66)
cfn=(1572)
calls=5 -91
* 65
+1 10
cfi=(66)
cfn=(1562)
calls=5 1239
* 70
+1 15
cfi=(25)
cfn=(1574)
calls=5 334
* 95
* 10
+7 5
cfi=(66)
cfn=(1572)
calls=5 1263
* 65
+1 15
cob=(5)
cfi=(5)
cfn=(692)
calls=5 0
* 35
* 5
* 10
+7 20
fn=(3464)
381 6050
+2 3025
+1 6050
fn=(5790) SwitchBackToLocalLatch
362 2
+4 1
+2 3
+1 7
cfi=(122)
cfn=(2848)
calls=1 767
* 100
+2 3
cfi=(122)
cfn=(2850)
calls=1 +66
* 24
+1 2
fn=(1552)
1182 5
+1 8
cfn=(1554) CreateLockFile
calls=1 875
* 6817
+1 2
fn=(1622)
1536 24
+5 18
+1 3
+39 12
fn=(1554)
875 22
+30 2
cob=(3)
cfi=(3)
cfn=(654)
calls=2 0
* 10
* 2
* 2
+3 2
cob=(3)
cfi=(3)
cfn=(1560)
calls=1 0
* 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1278
* 6
* 2
+10 4
cob=(3)
cfi=(3)
cfn=(234)
calls=2 0
* 1000
* 2
* 2
+1 4
+3 2
+7 2
+8 12
cob=(5)
cfi=(5)
cfn=(676)
calls=2 0
* 14
* 2
* 2
+1 4
+1 2
1101 38
cfi=(17)
cfn=(462)
calls=2 203
* 4317
+11 8
+3 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 2
+1 4
cfi=(66)
cfn=(1562)
calls=2 1239
* 28
+1 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 52
* 2
* 12
cob=(5)
cfi=(5)
cfn=(1568)
calls=1 0
* 7
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 768
* 6
* 8
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 52
* 2
* 4
+12 2
cfi=(66)
cfn=(1572)
calls=2 1263
* 26
+2 4
cfi=(66)
cfn=(1562)
calls=2 1239
* 28
+1 6
cfi=(25)
cfn=(1574)
calls=2 334
* 38
* 4
+11 2
cfi=(66)
cfn=(1572)
calls=2 1263
* 26
+1 6
cob=(5)
cfi=(5)
cfn=(692)
calls=2 0
* 14
* 2
* 4
+16 6
+1 3
cfi=(67)
cfn=(1578)
calls=1 306
* 1479
+6 8
cfi=(13)
cfn=(928)
calls=2 -5
* 357
* 6
cfi=(45)
cfn=(1586)
calls=2 260
* 358
* 2
+1 10
fn=(3454)
423 10
+3 4
+1 4
+1 2
+3 4
+1 4
+1 4
fn=(3456)
504 2
+1 4
+1 2
fn=(3460)
715 7
+4 3
+6 5
cfn=(3454)
calls=1 423
* 16
+2 9
cfi=(29)
cfn=(1207)
calls=1 7172
* 1283
+3 4
fn=(3532) GetSessionUserId
415 4
+2 2
+1 4
fn=(4118) pg_bindtextdomain
1612 3
+11 2
fn=(1408)
193 4
+6 3
cfi=(11)
cfn=(1262)
calls=1 609
* 1488
* 1
+2 3
+2 2
+1 2
fn=(1522)
100 5
+5 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+15 4
+16 2
cob=(3)
cfi=(3)
cfn=(638)
calls=1 0
* 3
* 1
* 2
+20 4
+21 3
cfi=(65)
cfn=(1524)
calls=1 35
* 12
+2 3
cob=(3)
cfi=(3)
cfn=(710)
calls=1 0
* 3
* 1
+1 2
+4 3
cfn=(1526) ValidatePgVersion
calls=1 1459
* 3954
+1 5
fn=(2666)
1387 8
+6 10
cob=(5)
cfi=(5)
cfn=(676)
calls=2 0
* 14
* 2
* 2
+1 4
+26 4
cfi=(66)
cfn=(1562)
calls=2 1239
* 28
+1 12
cob=(5)
cfi=(5)
cfn=(684)
calls=2 0
* 14
* 2
* 2
+1 2
cfi=(66)
cfn=(1572)
calls=2 1263
* 26
+1 4
+9 6
+1 6
cob=(5)
cfi=(5)
cfn=(692)
calls=2 0
* 14
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(2672)
calls=1 0
* 225
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1488
* 6
* 2
+1 2
cob=(3)
cfi=(3)
cfn=(654)
calls=2 0
* 10
* 2
* 6
+1 4
+7 8
fn=(2710)
274 2
+1 1
+2 1
cfi=(20)
cfn=(648)
calls=1 2527
* 10687
+13 1
cfi=(67)
cfn=(2712)
calls=1 410
* 27
+3 1
cfi=(122)
cfn=(2716)
calls=1 156
* 144
+1 1
+1 3
cfi=(122)
cfn=(2718)
calls=1 -66
* 12
+9 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1265
* 5
* 2
+5 1
cfi=(102)
cfn=(2726) PostmasterDeathSignalInit
calls=1 +62
* 1456
+1 2
fn=(1542)
214 4
+3 3
cob=(3)
cfi=(3)
cfn=(510)
calls=1 0
* 5
* 1
* 2
+5 4
fn=(3458)
513 2
+1 4
+1 2
fn=(3496) SetDatabasePath
87 4
+3 5
cfi=(13)
cfn=(930)
calls=1 1149
* 178
* 1
+1 2
fn=(2964) GetUserIdAndSecContext
486 8
+1 6
+1 6
+1 4
fn=(1526)
1459 14
+8 2
+2 12
cob=(3)
cfi=(3)
cfn=(1246)
calls=2 0
* 292
* 2
* 2
+2 16
cfi=(17)
cfn=(462)
calls=2 203
* 728
+2 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1398
* 2
+1 4
+14 2
+1 12
cob=(3)
cfi=(3)
cfn=(1532)
calls=1 0
* 678
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1939
* 6
* 2
+1 12
cob=(3)
cfi=(3)
cfn=(1246)
calls=2 0
* 256
* 2
* 2
+2 12
+9 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1226
+2 6
+7 12
fn=(1964)
1192 7
+3 8
cfi=(17)
cfn=(462)
calls=1 203
* 361
+1 8
cfn=(1554)
calls=1 875
* 3281
+1 2
fl=(167)
fn=(2994) AfterTriggerBeginXact
4778 4
+4 2
+1 2
+14 4
fn=(5334) ExecBSInsertTriggers
2450 3000
+5 1500
+2 1000
+1 500
+45 2000
fn=(5508) AfterTriggerEndQuery
4830 2000
+10 2000
+2 1500
+1 500
+66 1000
fn=(3632) AfterTriggerEndXact
5030 10
+10 6
+14 2
+1 2
+8 2
+1 2
+1 2
+3 2
+1 4
fn=(3626) afterTriggerMarkEvents
4417 14
+1 2
+4 12
+39 2
+1 4
fn=(5332) MakeTransitionCaptureState
4688 3000
+8 1000
+1 1000
+69 1000
fn=(5330) AfterTriggerBeginQuery
4810 1000
+2 1500
+1 1000
fn=(5506) ExecASInsertTriggers
2508 3000
+1 1500
+2 1000
+3 1000
fn=(3624) AfterTriggerFireDeferred
4974 6
+2 2
+10 2
+1 8
+10 12
cfn=(3626)
calls=2 4417
* 34
* 4
+13 4
+2 4
fn=(5304)
2141 2500
+5 1000
+1 1000
+42 2000
fl=(280)
fn=(4732)
2109 12
+9 15
+1 3
+34 6
fn=(4760)
2228 12
+1 12
+1 6
fn=(4736)
2171 15
+5 12
+1 3
+36 6
fl=(287)
fn=(4926)
214 12162
+2 2027
+1 2027
+13 14189
+2 2027
+2 8108
+38 10135
+2 8108
+8 20270
+1 8108
+8 12162
+4 4052
+2 22286
+2 2026
+1 2026
-5 6078
+11 8108
+2 3
+1 1
+11 2
+3 15
+3 10
+1 10
-1 3
+3 1
+2 10
+2 4
+3 9
+2 3
+2 4
-11 7
+16 11
+4 2026
+13 2026
+1 2026
+2 20260
+2 8104
-2 20290
+2 8116
+7 16214
+1 8104
+1 8116
+21 18261
+2 4058
+4 12165
+1 2026
+2 28394
cob=(3)
cfi=(3)
cfn=(424)
calls=2026 0
* 31206
* 2026
* 10130
+2 4052
-2 3
+2 8110
+1 2026
-46 2026
+47 2026
-47 3
+47 3
+3 81080
+1 4054
fl=(10)
fn=(374)
61 5
+1 1
+10 4
cfi=(11)
cfn=(376) get_progname
calls=1 454
* 59185
* 1
+5 3
cfn=(414) startup_hacks
calls=1 247
* 6
+13 5
cfi=(12)
cfn=(416) save_ps_display_args
calls=1 +37
* 27284
* 1
+9 1
cfi=(13)
cfn=(430)
calls=1 -6
* 904
+11 5
cfi=(15)
cfn=(438) set_pglocale_pgservice
calls=1 566
* 28487
+24 4
cfn=(560) init_locale
calls=1 308
* 18346
+1 4
cfn=(560)
calls=1 308
* 8632
+4 4
cfn=(560)
calls=1 308
* 8269
+7 4
cfn=(560)
calls=1 308
* 3616
+1 4
cfn=(560)
calls=1 308
* 3651
+1 4
cfn=(560)
calls=1 308
* 3700
+7 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 4126
* 5
+2 1
cfi=(18)
cfn=(622)
calls=1 994
* 2210
+6 2
+2 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+5 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+16 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+8 2
+1 3
cfn=(632) check_root
calls=1 387
* 2596
+22 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+5 5
cfi=(20)
cfn=(646)
calls=1 577
* 391698069
fn=(414)
247 3
+48 1
+1 2
fn=(560)
308 36
+1 30
cfi=(18)
cfn=(562)
calls=6 152
* 46124
* 12
+4 12
fn=(632)
387 5
+2 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1278
* 5
* 2
+17 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1287
* 5
* 2
cob=(3)
cfi=(3)
cfn=(638)
calls=1 0
* 3
* 1
* 2
+17 4
fl=(206) /home/mithuncy/fsm_code/src/backend/storage/buffer/localbuf.c
fn=(3668) CheckForLocalBufferLeaks
544 6
+20 6
fn=(3666) AtEOXact_LocalBuffers
573 10
+1 2
cfn=(3668)
calls=2 -30
* 8
+1 4
fn=(5768) AtProcExit_LocalBuffers
584 2
+6 1
cfn=(3668)
calls=1 -46
* 4
+1 2
fl=(226)
fn=(4992)
147 20
+2 12
+1 12
+1 8
+1 12
+1 12
+1 12
+1 8
fn=(3962)
78 5030
+6 5030
+6 4024
+3 3018
cfi=(13)
cfn=(952)
calls=1006 1032
* 85510
+1 4024
fn=(4450) make_const
471 24
+9 32
+3 8
+2 2
+1 2
+1 2
+1 2
+51 6
+2 2
+1 2
+1 2
+1 2
+32 48
cfi=(221)
cfn=(4452)
calls=4 305
* 880
* 4
+7 12
+2 4
+1 8
fn=(5010)
162 12
+2 12
+1 8
fn=(3954)
45 4024
+3 2012
cfi=(13)
cfn=(2546)
calls=1006 956
* 313462
* 1006
+2 3018
+3 2012
+1 2012
+2 2012
+13 1006
+1 2012
fl=(306) /home/mithuncy/fsm_code/src/backend/commands/../../../src/include/utils/palloc.h
fn=(5282) MemoryContextSwitchTo
110 537000
+1 358000
+2 358000
+1 179000
+1 358000
fl=(177) /home/mithuncy/fsm_code/src/backend/access/nbtree/nbtsearch.c
fn=(3340) _bt_compare
463 265662
+1 88554
+1 177108
+10 244464
+1 394
+2 322531
+14 58642
+6 2371567
cfi=(287)
cfn=(4926)
calls=1021 214
* 227109
* 32966
+3 159725
+9 95835
+17 287505
cfi=(161)
cfn=(3342)
calls=31945 1134
* 2221793
* 31945
+5 159725
+1 146487
+4 26476
-4 18707
+4 37414
+1 55540
+2 4175
-48 104663
+52 1551
+1 59036
fn=(3180) _bt_first
569 15324
+1 7662
+1 7662
+10 2554
+2 2554
+7 22986
+6 7662
cfi=(111)
cfn=(3182)
calls=2554 757
* 1141821
+6 12770
+9 10216
+64 2554
+1 10216
+12 2554
+1 2554
+2 2554
+7 10216
+2 42800
+6 8146
+25 8146
+2 24438
+6 12219
+1 8146
+2 1004
+1 1004
+10 14284
+1 7595
-1 3038
+7 4557
+1 1519
+1 1519
+10 32584
+14 7142
+1 3571
+3 1004
+2 1004
+1 1506
+4 502
-99 1004
799 502
698 7142
799 3571
+8 5108
+22 5108
+2 16292
+4 20365
+91 44803
+1 8146
-1 8146
+5 32584
cfi=(175)
cfn=(3188) index_getprocinfo
calls=4073 -72
* 157732
* 4073
+1 24438
+2 8146
-2 73314
cfi=(178) /home/mithuncy/fsm_code/src/backend/access/common/scankey.c
cfn=(3190) ScanKeyEntryInitializeWithInfo
calls=4073 109
* 321767
-4 4073
-99 23954
978 15324
+32 4104
+15 2052
+1 2052
+2 2052
+18 502
+1 502
+1 502
+12 28094
cfn=(3194) _bt_search
calls=2554 99
* 11533376
* 2554
+4 7662
cfi=(111)
cfn=(3328)
calls=2554 176
* 263621
+2 7662
+6 24
cfi=(92)
cfn=(3572)
calls=4 2453
* 108
+6 12
cfi=(162) /home/mithuncy/fsm_code/src/backend/access/nbtree/nbtree.c
cfn=(3606) _bt_parallel_done
calls=4 721
* 64
+1 40
+2 8
+3 12750
cfi=(50)
cfn=(3330)
calls=2550 2612
* 40800
* 15300
cfi=(92)
cfn=(3332)
calls=2550 2476
* 71400
+3 12750
cfn=(3336) _bt_initialize_more_data
calls=2550 1981
* 43350
+3 20400
cfn=(3338) _bt_binsrch
calls=2550 358
* 5791173
* 2550
+20 5100
+5 7650
+5 15300
cfn=(3348) _bt_readpage
calls=2550 +97
* 2057936
* 7650
+6 2560
cfi=(50)
cfn=(3240)
calls=512 3553
* 57856
+1 2560
cfn=(3602) _bt_steppage
calls=512 1375
* 190934
* 1536
+1 1016
+5 12228
cfn=(3358) _bt_drop_lock_and_maybe_pin
calls=2038 58
* 790744
+5 24504
+1 12252
+1 8168
+3 2042
+1 10216
fn=(3552) _bt_next
1162 95
+1 57
+7 38
+2 209
+2 20
cfn=(3602)
calls=4 1375
* 410
* 12
+1 8
+13 180
+1 90
+1 60
+3 15
+1 38
fn=(3324) _bt_moveright
253 55913
+20 20332
+4 8158
-4 1004
+4 37589
+1 30498
cfi=(186) /home/mithuncy/fsm_code/src/backend/access/nbtree/../../../../src/include/storage/bufmgr.h
cfn=(3326) TestForOldSnapshot
calls=5083 -12
* 55913
+1 30498
+2 20332
+1 2941
+5 4284
+21 27846
cfn=(3340)
calls=2142 463
* 480467
* 4284
+10 30498
+4 5083
+1 10166
fn=(3358)
58 10210
+1 10210
cfi=(50)
cfn=(3240)
calls=2042 3553
* 230746
+2 10210
+1 8168
-1 4084
+2 6126
-1 4084
+3 8168
cfi=(50)
cfn=(3360)
calls=2042 3316
* 492122
+1 4084
+2 4084
fn=(3602)
1375 2580
+1 1548
+1 516
+1 516
+5 2064
+7 2064
+15 1032
+3 2064
+18 1548
+4 1032
+3 4112
cfi=(50)
cfn=(3360)
calls=512 3316
* 123392
* 1536
+28 3096
cfn=(3604) _bt_readnextpage
calls=516 +21
* 39060
* 1548
+1 1024
+3 24
cfn=(3358)
calls=4 58
* 1552
+2 4
+1 1032
fn=(3338)
358 45747
+8 45747
+1 30498
+2 30498
+1 8568
-1 2941
+1 47345
+9 15249
+15 15249
+2 20332
+2 4079
-2 1004
+2 1004
+2 328512
+4 219008
cfn=(3340)
calls=27376 +59
* 6719107
* 27376
+2 82128
+1 53740
+2 27882
-11 97377
+21 30498
+1 5100
+8 5066
+1 10166
fn=(3604)
1482 3612
+1 1548
+4 516
+2 1548
+2 1032
+8 4078
+2 1536
cfi=(162)
cfn=(3606)
calls=512 721
* 8192
+1 5120
+1 1024
+3 12
+2 24
cfi=(179) /home/mithuncy/fsm_code/src/backend/access/nbtree/nbtpage.c
cfn=(3198) _bt_getbuf
calls=4 730
* 5238
* 8
+1 48
+1 28
cfi=(186)
cfn=(3326)
calls=4 266
* 44
+1 24
+2 24
+2 28
cfi=(92)
cfn=(3332)
calls=4 2476
* 112
+3 32
cfn=(3348)
calls=2 1217
* 1748
* 10
cfn=(3348)
calls=2 1217
* 1390
* 8
+1 8
1649 4
+1 2064
fn=(3194)
99 25540
+1 2554
+1 2554
+3 12770
cfi=(179)
cfn=(3196) _bt_getroot
calls=2554 253
* 3579073
* 5108
+3 10216
+1 8
+26 86411
cfn=(3324)
calls=5083 253
* 825806
* 10166
+5 60996
+1 30498
+1 30498
+1 2550
+47 5100
-41 22797
cfn=(3338)
calls=2533 358
* 2083048
* 2533
+1 22797
+1 17731
+1 25330
+1 10132
cfi=(50)
cfn=(3330)
calls=2533 2612
* 40528
* 2533
+12 5066
cfi=(13)
cfn=(940)
calls=2533 925
* 264439
* 2533
+1 7599
+1 7599
+1 7599
+1 7599
+7 15198
+4 17731
cfi=(179)
cfn=(3246) _bt_relandgetbuf
calls=2533 866
* 4260413
* 5066
+3 5066
+1 2533
+23 2550
+1 5108
fn=(3336)
1981 10200
+2 5100
+2 5100
+1 7650
+7 5100
+1 5100
+1 5100
fn=(3348)
1217 17878
+1 7662
+15 30648
+1 15324
+3 10216
+8 15324
+1 8576
-1 410
+1 19518
+6 10216
cfi=(50)
cfn=(3330)
calls=2554 2612
* 40864
* 5108
+7 10216
cfi=(50)
cfn=(3350) BufferGetLSNAtomic
calls=2554 2839
* 122592
* 5108
+7 10216
+3 5108
+8 5108
+3 2554
+2 10216
+2 2554
+2 36768
cfi=(111)
cfn=(3352)
calls=4596 +87
* 1485456
* 4596
+1 9192
+3 12342
cfn=(3356) _bt_saveitem
calls=2057 +57
* 69938
+1 2057
+2 18384
+3 5078
+1 2539
+3 2057
-16 13833
+20 5108
+1 10216
+1 7662
+34 15324
+1 5108
fn=(3356)
1347 16456
+1 22627
+2 12342
+1 6171
+1 8228
+8 4114
fl=(45)
fn=(972)
1137 2052
+1 2052
cfn=(974) list_free_private
calls=513 -31
* 108777
+1 1026
fn=(5074) list_nth_cell
387 2012
+9 2515
+1 1506
+2 9
+3 1
+1 1006
fn=(962) new_list
64 22836
+4 11418
cfi=(13)
cfn=(940)
calls=5709 925
* 701897
* 5709
+1 11418
+3 11418
cfi=(13)
cfn=(940)
calls=5709 925
* 688328
* 5709
+1 17127
+1 11418
+1 17127
+1 17127
+2 5709
+1 11418
fn=(5072)
411 2515
+2 2515
cfn=(5074)
calls=503 -26
* 7049
* 503
+1 1006
fn=(4560)
1164 16
+5 8
+3 16
cfn=(962)
calls=4 64
* 1411
* 4
+1 16
+6 24
+2 12
+1 16
+1 4
+4 8
cfi=(13)
cfn=(940)
calls=4 925
* 430
* 4
+1 16
+1 12
+2 8
+1 12
-9 16
+12 8
+1 12
+3 4
+1 8
fn=(4562)
667 16
+3 8
+3 12
cfi=(47)
cfn=(976)
calls=4 78
* 40
* 24
cfn=(4564) list_delete_cell
calls=4 529
* 587
+1 8
fn=(1586)
260 7775
+3 3110
+1 3102
cfn=(962)
calls=1551 64
* 421717
* 3102
+2 12
cfn=(1966) new_head_cell
calls=4 90
* 545
+2 6220
+2 1555
+1 3110
fn=(974)
1107 3084
+5 1542
cfi=(47)
cfn=(976)
calls=514 78
* 5134
* 514
+1 514
+2 1034
+2 1551
+1 1034
+1 4
cfi=(13)
cfn=(952)
calls=1 -87
* 72
+1 1551
cfi=(13)
cfn=(952)
calls=517 -88
* 43945
-7 2062
+10 1028
+1 1533
cfi=(13)
cfn=(952)
calls=511 -92
* 43435
+1 1028
fn=(1988)
1151 4
+5 4
cfn=(974)
calls=1 -49
* 288
+1 2
fn=(4554)
165 5
+3 2
+1 2
cfn=(962)
calls=1 64
* 272
* 2
+4 4
+2 1
+1 2
fn=(4564)
529 3030
+9 2020
+2 1506
cfn=(972)
calls=502 1137
* 111444
+1 1004
+7 15
+2 6
+3 12
+2 12
+3 9
cfi=(13)
cfn=(952)
calls=3 1032
* 255
+1 3
+1 1010
fn=(5258) lappend_int
147 5000
+3 2000
+1 2000
cfn=(962)
calls=1000 -87
* 272000
* 2000
+4 4000
+2 1000
+1 2000
fn=(5532)
591 2505
+7 501
+1 1503
cfi=(47)
cfn=(976)
calls=501 78
* 5010
* 1002
+2 2004
+1 3006
cfn=(4564)
calls=501 -73
* 119739
* 501
-3 1002
+10 1002
fn=(964) new_tail_cell
109 2364
+3 1182
cfi=(13)
cfn=(940)
calls=591 925
* 72476
* 591
+1 1182
+2 2364
+1 1773
+1 2955
+1 1182
fn=(4556)
296 10
+3 4
+1 2
cfn=(962)
calls=1 64
* 272
* 2
+2 3
cfn=(1966)
calls=1 90
* 144
+2 8
+2 2
+1 4
fn=(5290) list_member_int
486 2500
+6 1500
cfi=(47)
cfn=(976)
calls=500 78
* 5000
* 1000
+2 2000
+1 1000
-3 1000
+7 1000
fn=(1966)
90 20
+3 10
cfi=(13)
cfn=(940)
calls=5 925
* 584
* 5
+1 20
+2 15
+1 25
+1 10
fn=(5208) list_concat
322 2500
+1 1000
+1 1000
+14 1000
fn=(960)
129 18715
+3 7486
+1 6304
cfn=(962)
calls=3152 -69
* 842987
* 6304
+2 1773
cfn=(964)
calls=591 -26
* 86069
+2 14972
+2 3743
+1 7486
fn=(3130)
506 12785
+6 7671
cfi=(47)
cfn=(976)
calls=2557 78
* 20458
* 5114
+2 4
-2 5119
+6 2557
+1 5114
fl=(110)
fn=(3152) xmin_cmp
945 12282
+1 6141
+1 6141
+2 14329
cfi=(168)
cfn=(3010)
calls=2047 301
* 34799
* 4094
+2 14329
cfi=(168)
cfn=(3154)
calls=2047 335
* 34799
* 4094
+3 2047
+1 4094
fn=(3412) FreeSnapshot
716 12200
+5 9150
cfi=(13)
cfn=(952)
calls=3050 1032
* 259250
+1 6100
fn=(5546) SnapshotSetCommandId
545 1500
+1 2000
+3 1500
+1 1500
+1 1500
+3 1000
fn=(3000) HistoricSnapshotActive
2025 8300
+1 12450
+1 8300
fn=(3142)
864 8188
+1 4094
+3 10235
cfn=(3144) RegisterSnapshotOnOwner
calls=2047 +9
* 917471
+1 4094
fn=(3146) CopySnapshot
661 12200
+9 6100
-1 18300
+2 12200
+3 15250
cfi=(13)
cfn=(798)
calls=3050 +98
* 295592
* 3050
+1 18300
cob=(3)
cfi=(3)
cfn=(856)
calls=3050 0
* 182330
* 3050
+2 6100
+1 6100
+1 6100
+3 12200
+7 6100
+8 12200
+8 6100
+2 3050
+1 6100
fn=(3996)
734 4012
+5 4012
cfi=(13)
cfn=(798)
calls=1003 +33
* 91335
* 1003
+6 3009
+1 3009
cfn=(3146)
calls=1003 -85
* 192606
* 3009
+4 3009
+1 1003
cfi=(26)
cfn=(3506)
calls=1003 +7
* 8024
* 2006
+2 5015
+2 2006
+1 3009
+1 2
+1 2006
fn=(3404)
906 8188
+1 4094
+3 10235
cfn=(3406) UnregisterSnapshotFromOwner
calls=2047 +9
* 504050
+1 4094
fn=(3720) AtEOXact_Snapshot
1060 14
+10 6
+6 2
+5 6
+31 2
cfn=(3002)
calls=2 511
* 156
+3 4
+4 6
+4 10
+8 2
+1 2
+1 2
+2 2
+1 2
+2 2
+7 4
+4 4
fn=(2074)
252 6
+3 2
+1 6
+4 2
+1 4
fn=(2288)
268 3
+7 1
cfn=(2074)
calls=1 -23
* 10
* 4
cfi=(87)
cfn=(2168)
calls=1 +98
* 1088
-1 1
+4 4
+2 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+2 2
fn=(3136) GetNonHistoricCatalogSnapshot
463 10208
+8 7656
+1 6144
cfi=(151)
cfn=(3472) RelationInvalidatesSnapshotsOnly
calls=2048 1470
* 32768
* 2048
-1 4096
+2 6141
cfi=(151)
cfn=(3474) RelationHasSysCache
calls=2047 1493
* 310735
* 2047
-1 4094
+4 7656
+3 1008
cfi=(100)
cfn=(3004) GetSnapshotData
calls=504 1520
* 278838
* 504
+14 2520
cfi=(176) /home/mithuncy/fsm_code/src/backend/lib/pairingheap.c
cfn=(3138) pairingheap_add
calls=504 113
* 18144
+3 2552
+1 5104
fn=(4630)
852 1008
+1 1512
+1 1008
fn=(5214)
782 1500
+16 2000
+1 1000
cfi=(26)
cfn=(3012) GetCurrentCommandId
calls=500 662
* 4500
* 500
+1 500
cfi=(26)
cfn=(1210)
calls=500 910
* 4000
* 1000
+2 2000
+1 1000
fn=(3002)
511 2038
+1 3057
+2 2520
cfi=(176)
cfn=(3410) pairingheap_remove
calls=504 171
* 25200
+1 504
+1 504
cfn=(3414) SnapshotResetXmin
calls=504 979
* 4551
+2 2038
fn=(3144)
877 10235
+3 4094
+4 14329
cfn=(3146)
calls=2047 661
* 437816
* 2047
+3 6141
cfi=(164)
cfn=(3148) ResourceOwnerEnlargeSnapshots
calls=2047 1187
* 47718
+1 10235
+1 10235
cfi=(164)
cfn=(3150) ResourceOwnerRememberSnapshot
calls=2047 1198
* 88021
+2 8188
+1 10235
cfi=(176)
cfn=(3138)
calls=2047 113
* 262036
+2 2047
+1 4094
fn=(3760) InvalidateCatalogSnapshotConditionally
532 4
+1 6
+4 4
fn=(2998)
305 2008
+7 1004
cfn=(3000)
calls=1004 2025
* 7028
* 2008
+7 4016
+6 2
cfn=(3002)
calls=2 511
* 14
+5 2
cfi=(26)
cfn=(1210)
calls=2 910
* 16
* 4
+11 6
+15 4
cfi=(100)
cfn=(3004)
calls=2 1520
* 1575
* 2
+2 2
+1 4
+3 3006
+4 1002
cfn=(3002)
calls=1002 511
* 40080
+2 2004
cfi=(100)
cfn=(3004)
calls=1002 1520
* 552914
* 1002
+2 1002
+1 2008
fn=(3134)
441 10208
+8 2552
cfn=(3000)
calls=2552 2025
* 17864
* 5104
+3 7656
cfn=(3136)
calls=2552 +11
* 702263
+1 5104
fn=(3406)
919 10235
+1 4094
+6 10235
cfi=(164)
cfn=(3408) ResourceOwnerForgetSnapshot
calls=2047 1207
* 143290
+2 10235
+1 8188
+1 10235
cfi=(176)
cfn=(3410)
calls=2047 171
* 67571
+2 16376
+2 6141
cfn=(3412)
calls=2047 716
* 192418
+1 2047
cfn=(3414)
calls=2047 +44
* 18891
+2 4094
fn=(3998) GetActiveSnapshot
840 4
+3 4
+1 4
fn=(3414)
979 10662
+3 10662
+1 3538
+2 48
+2 6
+1 3
+3 26
cfi=(176)
cfn=(3416) pairingheap_first
calls=13 131
* 91
* 26
+3 91
cfi=(168)
cfn=(3010)
calls=13 301
* 221
* 26
+2 7108
fn=(4848)
813 3009
+3 3009
+4 5015
+2 5015
+1 3009
-1 2006
+2 4012
cfn=(3412)
calls=1003 716
* 94282
+2 3009
cfi=(13)
cfn=(952)
calls=1003 1032
* 85255
+1 2006
+1 3009
+1 1
+2 1
cfn=(3414)
calls=1 979
* 48
* 1002
cfn=(3414)
calls=1002 979
* 9018
+1 2006
fl=(130)
fn=(2390) dsm_impl_posix_resize
352 5
+4 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1326
* 5
* 1
+11 2
+9 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1410
* 5
* 1
+1 2
+7 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+4 1
+1 2
fn=(2348) dsm_impl_posix
214 10
+6 8
cfi=(17)
cfn=(462)
calls=1 -17
* 676
+3 4
+32 5
+1 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 8015
* 5
* 3
+14 2
+21 5
cfn=(2390)
calls=1 +61
* 2777
* 2
+26 9
cob=(3)
cfi=(3)
cfn=(598)
calls=1 0
* 33
* 1
* 1
+2 2
+17 3
+1 3
+1 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
+2 1
+1 4
fn=(2346)
161 9
+5 7
+4 10
cfn=(2348)
calls=1 +44
* 11586
* 1
+23 2
fl=(175)
fn=(3166)
314 20432
+2 15324
+6 10216
+6 5108
+2 5108
+2 25540
cfi=(162)
cfn=(3168) btrescan
calls=2554 +62
* 463950
+2 5108
fn=(3396)
342 10216
+2 15324
+3 10216
+2 8152
cfi=(50)
cfn=(3360)
calls=2038 3316
* 491158
+1 4076
+4 14266
cfi=(162)
cfn=(3398) btendscan
calls=2038 +99
* 727044
* 3612
cfi=(162)
cfn=(3398)
calls=516 +99
* 179750
+3 10216
cfi=(148)
cfn=(3096)
calls=2554 1983
* 227306
+2 10216
+4 7662
cfi=(173)
cfn=(3400)
calls=2554 147
* 487814
+1 5108
fn=(3158) index_beginscan_internal
272 25540
+4 12770
+2 15324
+6 7662
cfi=(148)
cfn=(3076)
calls=2554 1970
* 224752
+5 20432
cfi=(162)
cfn=(3160) btbeginscan
calls=2554 +58
* 2307506
* 2554
+3 7662
+1 7662
+2 2554
+1 5108
fn=(3156)
226 20432
+3 20432
cfn=(3158)
calls=2554 +43
* 2639526
* 2554
+6 7662
+1 7662
+2 2554
+1 5108
fn=(3176) index_getnext_tid
528 12865
+4 15438
+10 23157
cfi=(162)
cfn=(3178) btgettuple
calls=2573 215
* 23391495
* 2573
+3 5146
+3 10292
+3 2064
+2 16
cfi=(50)
cfn=(3360)
calls=4 3316
* 964
+1 8
+2 1032
+3 28798
+3 4114
+1 5146
fn=(3132)
152 15294
+3 12745
cfi=(171)
cfn=(3037)
calls=1005 1125
* 2838699
cfi=(171)
cfn=(3036)
calls=1544 1125
* 4354537
* 2549
+2 12745
+7 2549
+1 10196
fn=(3133)
152 30
+3 25
cfi=(171)
cfn=(3037)
calls=5 1125
* 11646
* 5
+2 25
+7 5
+1 20
fn=(3402)
178 12770
+1 7662
+5 7662
cfi=(148)
cfn=(3094)
calls=2554 2003
* 250292
+2 5108
+1 12770
cfi=(159)
cfn=(3102)
calls=2554 -5
* 6429601
+1 5108
fn=(3362) index_fetch_heap
585 8228
+1 6171
+1 2057
+4 10285
+3 6171
+4 18513
-2 16456
cfi=(50)
cfn=(3248) ReleaseAndReadBuffer
calls=2057 1522
* 2265793
* 4114
+7 8228
+1 14343
cfi=(188)
cfn=(3364)
calls=2049 75
* 172116
+4 10285
cfi=(50)
cfn=(3240)
calls=2057 3553
* 333234
+6 16456
-5 32912
cfi=(171)
cfn=(3372)
calls=2057 2053
* 692719
* 2057
+6 10285
cfi=(50)
cfn=(3240)
calls=2057 3553
* 232441
+2 4114
+6 18513
+1 22627
+1 6171
+17 4114
fn=(3188)
859 32584
+5 20365
+4 32584
+2 12219
+4 28511
+3 16292
+2 87
+5 203
+8 58
+4 203
cfi=(161)
cfn=(3116)
calls=29 135
* 2407
+3 4073
+1 8146
fn=(3174)
661 12865
+6 10292
+13 12865
cfn=(3176)
calls=2573 528
* 23503108
* 2573
+3 5146
+1 516
+13 1032
-5 6171
cfn=(3362)
calls=2057 585
* 3918403
* 2057
+1 4114
+1 4114
+4 5146
fl=(271)
fn=(4690)
78 36
+1 60
+1 24
-2 45
+1 63
+1 30
-2 27
+1 39
+1 18
-2 27
+1 45
+1 18
fn=(4702)
90 21
+1 35
+1 14
-2 9
+1 15
+1 6
fl=(314) /home/mithuncy/fsm_code/src/backend/storage/freespace/freespace.c
fn=(5424) fsm_get_child
527 12500
+5 7500
+1 15000
+2 2500
+1 5000
fn=(5408) GetPageWithFreeSpace
133 2500
+1 1500
cfn=(5410) fsm_space_needed_to_cat
calls=500 424
* 8500
* 500
+2 2500
cfn=(5412) fsm_search
calls=500 704
* 4680120
+1 1000
fn=(5410)
424 8000
+4 4000
+3 4000
+3 8000
+2 4000
+3 2000
+1 4000
fn=(5414) fsm_readbuf
546 64000
+1 24000
cfn=(5416) fsm_logical_to_physical
calls=8000 447
* 591000
* 8000
+3 36000
cfi=(140)
cfn=(3204) smgropen
calls=500 153
* 252335
* 2500
cfi=(140)
cfn=(3208) smgrsetowner
calls=500 209
* 21000
+8 40000
+1 22500
-1 15000
+3 2500
cfi=(140)
cfn=(5418)
calls=500 303
* 1543605
* 1000
+1 3500
cfi=(140)
cfn=(3578)
calls=500 688
* 77000
* 1000
+7 40000
+29 56000
cfi=(50)
cfn=(3202)
calls=8000 +44
* 8598640
* 8000
+1 88000
+7 8000
+1 32000
fn=(5454) fsm_space_avail_to_cat
384 4500
+5 3000
+3 4500
+6 3000
+3 1500
+1 3000
fn=(5416)
447 24000
+9 16000
+1 16000
+1 27000
-1 60000
+4 8000
+1 16000
+2 120000
+1 168000
-3 88000
+10 16000
+3 16000
+1 16000
fn=(5426) fsm_get_heap_blk
498 2500
+2 2000
+1 1000
fn=(5412)
704 12000
+1 2000
+1 4000
+6 2000
+3 12000
cfn=(5414)
calls=2000 546
* 4318952
-3 3500
+3 21000
cfn=(5414)
calls=3500 546
* 4198126
* 5500
+3 11000
+2 22000
cfi=(50)
cfn=(3240)
calls=5500 3553
* 891000
+2 5500
-1 44000
cfi=(315) /home/mithuncy/fsm_code/src/backend/storage/freespace/fsmpage.c
cfn=(5422) fsm_search_avail
calls=5500 160
* 247000
* 5500
+3 11000
+1 25000
cfi=(315)
cfn=(5464) fsm_get_max_avail
calls=2500 139
* 25000
* 2500
+1 7500
cfi=(50)
cfn=(3610)
calls=2500 3339
* 950000
* 9000
cfi=(50)
cfn=(3610)
calls=3000 3339
* 1120500
* 5500
+5 11000
+6 9000
+1 3000
cfn=(5426)
calls=500 498
* 5500
* 500
+2 15000
cfn=(5424)
calls=2500 527
* 42500
* 5000
+2 7500
+6 3000
+19 5000
cfn=(5466) fsm_get_parent
calls=1000 509
* 30000
* 1000
+1 8000
cfn=(5458) fsm_set_and_search
calls=1000 -95
* 2436019
+9 5000
+4 2000
+2 3500
+1 4000
fn=(5452) RecordAndGetPageWithFreeSpace
151 10500
+1 4500
cfn=(5454)
calls=1500 384
* 19500
* 3000
+1 4500
cfn=(5410)
calls=1500 424
* 25500
* 3000
+6 7500
cfn=(5456) fsm_get_location
calls=1500 483
* 49500
* 1500
+2 16500
cfn=(5458)
calls=1500 673
* 3232983
* 1500
+6 3000
+3 9000
cfn=(5412)
calls=1500 704
* 9877477
+1 3000
fn=(5456)
483 6000
+3 1500
+1 15000
+1 22500
+2 1500
+1 3000
fn=(5458)
673 25000
+3 2500
+2 15000
cfn=(5414)
calls=2500 546
* 3018502
* 2500
+1 10000
cfi=(50)
cfn=(3240)
calls=2500 3553
* 412500
+2 22500
+2 15000
cfi=(315)
cfn=(5460) fsm_set_avail
calls=2500 64
* 973500
* 5000
+1 10000
cfi=(50)
cfn=(5462) MarkBufferDirtyHint
calls=2500 3386
* 127500
+2 5000
+4 1500
-1 12000
cfi=(315)
cfn=(5422)
calls=1500 160
* 42000
* 1500
+5 4500
cfi=(50)
cfn=(3610)
calls=1500 3339
* 571500
* 3000
cfi=(50)
cfn=(3610)
calls=1000 3339
* 381000
+2 2500
+1 5000
fn=(5466)
509 4000
+5 3000
+1 7000
+1 13000
+2 1000
+1 2000
fl=(16)
fn=(460)
46 2400
+1 960
+1 960
+1 960
+3 960
+2 480
+2 38324
+1 480
-3 10452
+8 960
+8 2400
+1 960
fl=(132)
fn=(2518)
26 8
+4 10
cob=(5)
cfi=(5)
cfn=(2428)
calls=2 -30
* 40
* 2
* 2
+1 4
+2 16
cob=(5)
cfi=(5)
cfn=(2428)
calls=2 -33
* 40
* 2
* 4
+2 2
+7 4
fl=(245)
fn=(4416)
78 6
+1 10
+1 4
-2 3000
+1 4000
+1 2000
-2 1509
+1 2515
+1 1006
-2 3012
+1 5020
+1 2008
-2 6
+1 10
+1 4
-2 6051
+1 10085
+1 4034
fn=(4612)
90 6
+1 10
+1 4
-2 1500
+1 2500
+1 1000
-2 1515
+1 2525
+1 1010
fl=(85)
fn=(1996)
51 4
+1 2
+1 4
fn=(2004)
40 2
+1 1
cfn=(1996)
calls=1 +10
* 5
* 2
+1 2
fl=(32)
fn=(968)
37 1605
+3 1605
+1 1605
+2 963
-3 770
+1 770
+2 462
+2 536
+2 693
+3 924
+1 454
+1 12
+3 693
+1 1065
+2 524
+1 108
+2 216
-1 154
+2 642
fn=(834) pg_toupper
106 425
+1 282
+1 224
+1 87
+2 85
+1 170
fn=(970)
70 7890
+1 1315
+2 16710
+1 16710
+2 10026
+2 3280
+1 1596
+1 66
+3 1712
+1 62
+1 2367
+3 2460
+1 4030
+2 5072
-20 19255
+23 509
+1 2630
fn=(1510)
123 7130
+1 5704
+1 2852
+3 1426
+1 2852
fl=(84)
fn=(3050)
1023 27420
+1 20565
cfi=(126)
cfn=(2228)
calls=6855 37
* 82260
+1 13710
+1 13710
fn=(2022)
103 3
+1 1
+3 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 3
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 5
cfi=(87)
cfn=(2000)
calls=1 493
* 14
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 5
cfi=(87)
cfn=(2000)
calls=1 493
* 14
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(3678) ProcReleaseLocks
772 10
+1 6
+3 2
cfn=(3680) LockErrorCleanup
calls=2 -80
* 52
+2 20
cfi=(91)
cfn=(3684)
calls=2 2090
* 811381
+2 6
cfi=(91)
cfn=(3684)
calls=2 2090
* 10061
+1 4
fn=(2240)
163 4
+6 5
+4 5
cfi=(87)
cfn=(2168)
calls=1 373
* 907
-1 1
+7 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 5
cfi=(117)
cfn=(2146)
calls=1 +39
* 33
+1 5
cfi=(117)
cfn=(2146)
calls=1 +38
* 33
+10 4
cfi=(87)
cfn=(2134)
calls=1 -41
* 67
* 1
+1 24
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 10775
* 1
+1 3
+2 4
+10 7
cfi=(87)
cfn=(2134)
calls=1 -55
* 67
* 1
+1 27
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 163
* 1
+1 3
+2 2
+9 464
+2 696
cfi=(86)
cfn=(2242) PGSemaphoreCreate
calls=116 +24
* 6487
* 116
+1 928
cfi=(122)
cfn=(2192)
calls=116 +32
* 1276
+1 1044
cfi=(99)
cfn=(2144)
calls=116 678
* 7424
+2 812
+10 348
+3 800
+1 700
+1 900
+2 96
+3 32
+1 28
+1 36
+2 36
+3 64
+1 56
+1 64
+4 232
+1 24128
cfi=(126)
cfn=(2228)
calls=1856 37
* 22272
-1 5800
+4 928
cfi=(127)
cfn=(2252)
calls=116 +10
* 1392
+6 1044
cfi=(117)
cfn=(2146)
calls=116 -48
* 3828
+1 1044
cfi=(117)
cfn=(2146)
calls=116 -49
* 3828
-59 467
+66 6
+1 7
+3 2
cfi=(87)
cfn=(2134)
calls=1 158
* 67
* 1
+1 2
+1 4
fn=(2868) InitProcessPhase2
465 2
+6 3
cfi=(100)
cfn=(2870) ProcArrayAdd
calls=1 277
* 331
+5 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(5778)
800 6
+7 1
cfi=(56)
cfn=(5780) SyncRepCleanupAtProcExit
calls=1 364
* 20
+17 1
cfi=(99)
cfn=(5784)
calls=1 1825
* 8
+3 1
cfi=(128)
cfn=(5786)
calls=1 199
* 10
+3 3
+4 1
cfi=(106)
cfn=(5788) ReplicationSlotCleanup
calls=1 480
* 435
+8 4
+33 1
cfi=(54)
cfn=(5790)
calls=1 362
* 142
+1 2
+1 1
+1 4
cfi=(122)
cfn=(5792)
calls=1 317
* 7
+2 3
+1 3
cfi=(142) /home/mithuncy/fsm_code/src/backend/storage/lmgr/../../../../src/include/storage/s_lock.h
cfn=(2836) tas
calls=1 225
* 14
* 2
+7 4
+6 4
+1 3
+4 5
cfi=(143) /home/mithuncy/fsm_code/src/backend/storage/lmgr/s_lock.c
cfn=(5794) update_spins_per_delay
calls=1 208
* 16
* 1
+2 2
+7 4
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 3
+1 1
cfi=(102)
cfn=(5796) MarkPostmasterChildInactive
calls=1 290
* 12
+3 3
+2 4
fn=(2830) InitProcess
296 4
+7 3
+3 3
+4 1
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 3
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+2 3
+3 3
+9 3
cfi=(142)
cfn=(2836)
calls=1 -99
* 14
* 2
+2 4
cfi=(143)
cfn=(2838) set_spins_per_delay
calls=1 197
* 7
+2 3
+2 3
+2 4
+1 2
+15 11
+14 5
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 3
+1 1
cfi=(102)
cfn=(2840) MarkPostmasterChildActive
calls=1 257
* 12
+6 3
cfi=(126)
cfn=(2842)
calls=1 58
* 11
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 3
+2 2
+1 2
+1 2
+1 2
+1 3
+1 2
+1 2
+2 1
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+2 2
+1 2
+1 2
+1 2
+10 2
+3 2
+1 2
+1 4
cfi=(126)
cfn=(2842)
calls=1 58
* 11
+3 2
+1 2
+8 2
+3 2
+1 2
+1 2
+1 2
+1 2
+8 4
cfi=(122)
cfn=(2844)
calls=1 297
* 13
+1 1
cfi=(54)
cfn=(2846)
calls=1 -91
* 144
+7 4
cfi=(86)
cfn=(2852) PGSemaphoreReset
calls=1 285
* 893
+5 3
cfi=(67)
cfn=(2110)
calls=1 -84
* 32
+6 1
cfi=(99)
cfn=(2860)
calls=1 +84
* 4
+1 1
cfi=(144) /home/mithuncy/fsm_code/src/backend/storage/lmgr/deadlock.c
cfn=(2862) InitDeadLockChecking
calls=1 144
* 1785
+1 4
fn=(3680)
696 9
+4 9
+2 3
cfi=(91)
cfn=(3682)
calls=3 1667
* 30
+3 9
+2 12
+44 6
fn=(1994)
129 2
+5 2
+1 2
fn=(5774)
789 5
+2 4
cfi=(100)
cfn=(5776) ProcArrayRemove
calls=1 335
* 313
+1 2
fl=(137)
fn=(2556)
32 33
+15 33
cob=(3)
cfi=(3)
cfn=(2562)
calls=10 -47
* 540
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -47
* 1314
* 15
+1 33
cob=(3)
cfi=(3)
cfn=(2562)
calls=11 -48
* 594
* 11
+13 11
cob=(5)
cfi=(5)
cfn=(2570) fork
calls=10 -61
* 1845
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -61
* 2261
* 15
* 11
+1 22
+23 2
cob=(3)
cfi=(3)
cfn=(234)
calls=1 -85
* 500
* 1
* 1
+2 2
+31 11
+1 22
fl=(138)
fn=(2804)
526 24
+8 4
+3 12
cfn=(2768) find_active_timeout
calls=4 83
* 58
* 4
+1 8
+1 6
cfn=(2806) remove_timeout_index
calls=2 121
* 42
+3 16
+1 16
+3 12
+2 8
fn=(2768)
83 18
+3 12
+2 12
+1 4
-3 18
+6 4
+1 12
fn=(2772) schedule_alarm
186 8
+1 6
+6 110
+3 14
cfi=(21)
cfn=(2774)
calls=2 1646
* 80
+7 6
+3 4
+1 6
+32 2
+3 10
cob=(3)
cfi=(3)
cfn=(2780)
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1310
* 6
* 4
+3 4
fn=(2766) enable_timeout
139 12
+11 6
cfn=(2768)
calls=2 -67
* 22
* 2
+1 4
+7 10
+13 8
+1 10
+1 10
+2 10
cfn=(2770) insert_timeout
calls=2 -74
* 56
+1 4
fn=(2770)
101 10
+3 10
+4 14
+3 12
+2 6
+1 4
fn=(2758)
341 6
+4 2
+2 2
+2 4
+2 192
+1 160
+1 160
+1 160
+1 160
-6 100
+9 2
+3 6
cfi=(28)
cfn=(784)
calls=2 41
* 348
+1 4
fn=(2764)
429 10
+5 2
+3 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 2
+1 12
+1 12
cfn=(2766)
calls=2 139
* 154
+3 6
cfn=(2772)
calls=2 186
* 1575
+1 4
fn=(2762)
374 30
+5 10
+14 25
+2 5
+1 20
fn=(2806)
121 8
+3 10
+4 14
+3 6
+1 4
fn=(5712) handle_sig_alarm
260 4
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+7 3
+6 3
cfi=(122)
cfn=(2850)
calls=1 437
* 49
+5 3
+41 3
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 2
fl=(163) /home/mithuncy/fsm_code/src/backend/access/transam/../../../../src/include/utils/palloc.h
fn=(2968) MemoryContextSwitchTo
110 24
+1 16
+2 16
+1 8
+1 16
fl=(228) /home/mithuncy/fsm_code/src/backend/access/common/printtup.c
fn=(3986) SetRemoteDestReceiverParams
107 4
+1 2
+5 3
+2 4
+12 2
fn=(3984) printtup_create_DR
79 4
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 243
* 1
+2 2
+1 2
+1 2
+1 2
+1 3
+6 4
+2 2
+1 2
+1 2
+1 2
+2 1
+1 2
fn=(5612) printtup_destroy
558 4
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 2
fl=(230)
fn=(5062) pg_proc_aclmask
3983 24
+9 9
cfi=(193)
cfn=(3466)
calls=3 58
* 42
* 6
+1 6
+36 12
fn=(4014) pg_language_aclcheck
4668 6
+1 6
cfn=(4016) pg_language_aclmask
calls=1 4037
* 33
* 2
+1 2
+3 2
fn=(4016)
4037 8
+9 3
cfi=(193)
cfn=(3466)
calls=1 58
* 14
* 2
+1 2
+36 4
fn=(4550)
4694 12
+1 12
cfn=(4552) pg_namespace_aclmask
calls=2 4173
* 66
* 4
+1 4
+3 4
fn=(5264)
3833 4000
+12 2000
cfi=(151)
cfn=(3444)
calls=500 1114
* 12620095
* 500
+1 1000
+5 4000
+10 2000
+1 2500
cfi=(172)
cfn=(5266) IsSystemClass
calls=500 80
* 56000
-1 1000
+15 1500
cfi=(193)
cfn=(3466)
calls=500 58
* 7000
* 1000
+5 1500
cfi=(151)
cfn=(3418)
calls=500 1161
* 51500
+1 1000
+39 2000
fn=(4552)
4173 16
+9 6
cfi=(193)
cfn=(3466)
calls=2 58
* 28
* 4
+1 4
+64 8
fn=(5060)
4656 18
+1 18
cfn=(5062)
calls=3 3983
* 99
* 6
+1 6
+3 6
fl=(311)
fn=(5362)
122 1042500
+4 1459500
+2 834000
+5 834000
+1 208500
+2 417000
fn=(5360)
145 1042500
+4 1251000
+2 834000
+5 834000
+1 208500
+2 417000
fl=(203) /home/mithuncy/fsm_code/src/backend/commands/tablecmds.c
fn=(3634) PreCommit_on_commit_actions
13150 6
+2 2
+1 2
+2 6
cfi=(46)
cfn=(966)
calls=2 78
* 16
* 8
+38 4
+3 4
+42 4
fn=(3702) AtEOXact_on_commit_actions
13250 10
+4 2
+1 6
cfi=(46)
cfn=(966)
calls=2 78
* 16
* 2
+2 6
+24 4
fl=(11)
fn=(376)
454 4
+4 3
cfn=(378) last_dir_separator
calls=1 139
* 106
* 1
+1 2
+1 2
+8 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 59053
* 5
* 1
+1 2
+13 1
+1 2
fn=(716)
759 5
+1 7
cfn=(526) make_relative_path
calls=1 541
* 4595
+1 2
fn=(1428)
705 15
+1 21
cfn=(526)
calls=3 541
* 13911
+1 6
fn=(378)
139 9
+2 3
+2 9
+1 392
+1 22
-2 502
+3 3
+1 6
fn=(458)
220 88
+1 33
+1 24
cfi=(16)
cfn=(460)
calls=4 46
* 2252
+8 11
+1 2
-1 62
+3 44
+5 22
-2 77
cob=(3)
cfi=(3)
cfn=(424)
calls=11 0
* 221
* 11
* 66
cob=(3)
cfi=(3)
cfn=(424)
calls=11 0
* 221
* 11
* 110
cfi=(17)
cfn=(462)
calls=11 -33
* 5975
+5 55
fn=(484)
255 88
+4 22
+28 66
cfn=(486) trim_trailing_separator
calls=22 900
* 1006
+5 44
+6 44
+1 22
+3 4451
+2 2559
+2 4265
-7 5206
+9 44
+12 44
+1 22
+3 66
cob=(3)
cfi=(3)
cfn=(424)
calls=22 0
* 456
* 22
* 22
+2 220
cob=(3)
cfi=(3)
cfn=(446)
calls=22 0
* 690
* 22
* 44
+2 88
cob=(3)
cfi=(3)
cfn=(446)
calls=22 0
* 506
* 22
* 44
+7 220
cob=(3)
cfi=(3)
cfn=(446)
calls=22 0
* 638
* 22
* 44
+1 88
cob=(3)
cfi=(3)
cfn=(446)
calls=22 0
* 511
* 22
-1 44
+6 44
+13 44
+11 44
fn=(524) get_etc_path
714 5
+1 7
cfn=(526)
calls=1 541
* 4662
+1 2
fn=(1262)
609 10
+4 4
+3 8
+5 1
+3 3
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 304
* 1
* 1
+1 2
+12 5
cob=(3)
cfi=(3)
cfn=(454)
calls=1 0
* 34
* 1
* 2
+1 1
+23 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
* 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 1
+1 2
+12 7
cfi=(17)
cfn=(1138)
calls=1 231
* 445
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 116
* 1
* 1
+4 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 420
* 1
* 1
+1 2
+14 6
cfn=(484)
calls=2 255
* 2040
+2 2
+1 8
fn=(456)
104 15
+3 15
+1 112
+1 10
-2 135
+4 10
fn=(526)
541 35
+10 5
+1 10
+2 1295
+1 80
+1 1740
+1 5
-5 2470
+7 10
+2 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 105
* 5
* 25
+6 30
cfi=(16)
cfn=(460)
calls=5 46
* 3270
+1 15
cfn=(528) trim_directory
calls=5 869
* 635
+1 15
cfn=(484)
calls=5 255
* 4527
+5 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 105
* 5
* 10
+1 10
+1 30
-1 10
+2 55
cfn=(530) dir_strcmp
calls=5 -85
* 340
-1 10
+3 25
+1 15
cfn=(486)
calls=5 900
* 280
+1 45
cfn=(458)
calls=5 220
* 2156
+1 15
cfn=(484)
calls=5 255
* 5735
+1 5
+6 10
fn=(528)
869 20
+5 20
+4 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 105
* 5
* 45
+3 345
+3 45
+3 15
+2 10
+1 10
fn=(530)
492 20
+1 5
+4 60
-2 30
+9 30
-11 140
+13 20
+2 20
+2 5
+1 10
fn=(486)
900 108
+4 81
cob=(3)
cfi=(3)
cfn=(424)
calls=27 0
* 561
* 27
* 81
+1 81
+1 54
+1 10
-1 229
+2 54
fl=(26)
fn=(3644) RecordTransactionCommit
1122 8
+1 2
cfn=(3646) GetTopTransactionIdIfAny
calls=2 387
* 10
* 2
+1 6
+1 2
+5 2
+1 2
+1 2
+4 8
cfi=(205)
cfn=(3648)
calls=2 389
* 60
* 2
+1 6
cfn=(3650) xactGetCommittedChildren
calls=2 5234
* 32
* 2
+1 6
+1 10
cfi=(155)
cfn=(3652)
calls=2 828
* 32
* 2
+2 8
+6 8
+8 2
+17 2
+13 4
+1 1
+10 6
+7 1
cfi=(50)
cfn=(5630) BufmgrCommit
calls=1 2598
* 4
+19 3
+1 2
+2 1
cfn=(5632) SetCurrentTransactionStopTimestamp
calls=1 746
* 28
+2 22
cfn=(5634) XactLogCommitRecord
calls=1 5264
* 1507
+7 2
+15 4
+1 2
+2 10
cfi=(95)
cfn=(5686) TransactionTreeSetCommitTsData
calls=1 148
* 19
+30 2
+1 3
+1 2
+23 3
cfi=(53)
cfn=(5688) XLogSetAsyncXactLSN
calls=1 2643
* 88
+7 2
+1 6
cfi=(168)
cfn=(5690)
calls=1 274
* 584
+7 2
+2 2
+1 3
+4 6
cfi=(168)
cfn=(5704)
calls=1 367
* 15
* 1
+11 2
+4 2
+3 1
+3 6
+3 2
+1 8
fn=(3764) IsTransactionOrTransactionBlock
4464 4
+1 4
+2 8
+1 4
+3 4
fn=(3770) GetCurrentTransactionStopTimestamp
720 4
+1 6
+1 2
+1 1
cfi=(21)
cfn=(656)
calls=1 1571
* 22
+1 4
fn=(4004)
4446 2
+1 2
+2 8
+1 2
+3 2
fn=(5548) AtCCI_LocalCache
1362 1000
+6 500
cfi=(150)
cfn=(5550)
calls=500 440
* 5000
+5 500
cfi=(155)
cfn=(5552)
calls=500 1084
* 4000
+1 1000
fn=(5650) GetCurrentTransactionIdIfAny
417 2
+1 2
+1 2
fn=(1210)
910 5118
+1 10236
+1 5118
fn=(4830)
919 6008
+7 4506
+7 500
cfn=(1210)
calls=500 -23
* 4000
* 2500
+3 1500
+1 1500
+7 500
+3 1500
cfi=(110)
cfn=(5546)
calls=500 545
* 9000
+8 500
cfn=(5548)
calls=500 1362
* 12000
+2 6008
fn=(5382)
400 1500
+1 1000
+2 2000
+1 3
cfn=(5384) AssignTransactionId
calls=1 +68
* 2580
+1 1000
+1 1000
fn=(3646)
387 4
+1 2
+1 4
fn=(736)
624 2072
+1 2072
+2 2072
+1 2072
fn=(2960) StartTransactionCommand
2697 6
+1 4
+2 14
+7 2
cfn=(2962) StartTransaction
calls=2 1800
* 390751
+1 4
+1 2
+51 6
cfi=(163)
cfn=(2968)
calls=2 110
* 20
+1 4
fn=(2996) ShowTransactionState
5100 16
+2 24
+2 8
fn=(3762) IsAbortedTransactionBlockState
353 6
+1 6
+2 12
+1 6
-1 6
+4 3
+1 6
fn=(5750) AbortOutOfAnyTransaction
4342 3
+1 2
+3 1
cfn=(5752) AtAbort_Memory
calls=1 1639
* 21
+7 7
+3 4
+18 1
+58 4
+6 1
cfn=(5754) AtCleanup_Memory
calls=1 1729
* 45
+1 2
fn=(986)
333 26
+1 26
+9 52
+1 26
fn=(2958) SetCurrentStatementStartTimestamp
734 4
+1 6
+1 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 2
+3 4
fn=(2962)
1800 6
+7 2
+1 4
+13 4
+1 4
+7 4
+1 4
+1 4
+1 4
+1 4
+6 14
cfi=(54)
cfn=(2964)
calls=2 486
* 24
+13 2
cfi=(53)
cfn=(2878)
calls=2 7896
* 22
* 4
+7 4
+1 4
+2 4
+1 4
+1 2
+1 2
+5 4
+1 2
+1 2
+1 2
+5 2
+1 4
+5 2
cfn=(2966) AtStart_Memory
calls=2 991
* 1112
+1 2
cfn=(2970) AtStart_ResourceOwner
calls=2 1038
* 1424
+6 4
+1 2
cfi=(101)
cfn=(2976) GetNextLocalTransactionId
calls=2 770
* 22
* 2
+5 6
cfi=(91)
cfn=(2978)
calls=2 4297
* 496
+7 6
+13 6
+2 2
cfi=(165)
cfn=(2980)
calls=2 424
* 18
* 6
+1 6
+6 6
cfi=(38)
cfn=(2982) pgstat_report_xact_timestamp
calls=2 3193
* 52
+2 2
+5 2
cfi=(29)
cfn=(2984)
calls=2 5542
* 16
+1 2
cfn=(2986) AtStart_Cache
calls=2 982
* 387363
+1 2
cfi=(167)
cfn=(2994)
calls=2 4778
* 12
+6 4
+2 4
cfn=(2996)
calls=2 5100
* 24
+1 4
fn=(3164)
868 5108
+1 5108
+1 5108
fn=(5384)
472 4
+1 5
+2 1
+10 1
cfn=(1210)
calls=1 910
* 8
* 5
+9 2
+33 2
+12 3
cfi=(312)
cfn=(5386)
calls=1 49
* 370
* 2
+1 4
+1 3
+2 2
+7 4
+1 4
cfi=(92)
cfn=(5396)
calls=1 1835
* 9
+7 2
+1 3
+2 4
cfi=(159)
cfn=(5398) XactLockTableInsert
calls=1 +20
* 2136
+2 2
+20 2
+34 2
fn=(5754)
1729 2
+7 3
cfi=(163)
cfn=(2968)
calls=1 110
* 10
+5 3
+1 3
cfi=(13)
cfn=(3758)
calls=1 137
* 15
+5 3
+2 1
+1 1
+1 2
+1 2
fn=(1192)
4519 4
+1 4
+2 8
+3 2
+1 4
fn=(3792) TransactionBlockStatusCode
4478 6
+1 4
+2 14
+4 4
+27 4
fn=(5682) MarkCurrentTransactionIdLoggedIfAny
428 2
+1 4
+1 2
+1 2
fn=(3630) CallXactCallbacks
3360 16
+3 12
+1 16
cob=(12)
cfi=(244) /home/mithuncy/fsm_code/src/pl/plpgsql/src/pl_exec.c
cfn=(5628) plpgsql_xact_cb
calls=2 8134
* 28
-1 18
+2 8
fn=(3650)
5234 6
+1 4
+2 8
+1 6
+4 4
+1 4
fn=(3788) GetCurrentStatementStartTimestamp
708 8
+1 4
+1 8
fn=(2970)
1038 6
+1 4
+10 6
cfi=(164)
cfn=(2972) ResourceOwnerCreate
calls=2 422
* 1382
* 4
+2 6
+1 6
+1 6
+1 4
fn=(3012)
662 10032
+2 5016
+9 500
+2 500
+1 1000
-1 2008
+1 4016
fn=(3620) CommitTransactionCommand
2768 6
+1 4
+2 14
+19 2
cfn=(3622) CommitTransaction
calls=2 1954
* 869886
+1 4
+1 2
3001 4
fn=(3730) AtCommit_Memory
1381 4
+5 6
cfi=(163)
cfn=(2968)
calls=2 110
* 20
+6 6
cfi=(13)
cfn=(1396)
calls=2 212
* 1188
+1 2
+1 2
+1 4
+1 4
fn=(4162) RegisterXactCallback
3326 5
+4 1
-1 3
cfi=(13)
cfn=(798)
calls=1 772
* 91
* 1
+2 3
+1 3
+1 3
+1 2
+1 2
fn=(4166) RegisterSubXactCallback
3381 5
+4 1
-1 3
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+2 3
+1 3
+1 3
+1 2
+1 2
fn=(2966)
991 6
+1 4
+9 6
+2 7
cfi=(14)
cfn=(432)
calls=1 395
* 493
-1 1
+16 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
-1 2
+9 4
+1 6
+3 6
cfi=(163)
cfn=(2968)
calls=2 110
* 20
+1 4
fn=(5634)
5264 13
+13 1
+3 2
+1 2
+6 2
+2 2
+2 3
+2 4
+7 3
+7 5
+7 2
+6 2
+6 2
+6 2
+11 3
+8 3
+5 1
cfi=(147) /home/mithuncy/fsm_code/src/backend/access/transam/xloginsert.c
cfn=(5636) XLogBeginInsert
calls=1 121
* 35
+2 4
cfi=(147)
cfn=(5640) XLogRegisterData
calls=1 324
* 37
+2 3
+3 4
+3 4
+8 4
+8 4
+7 4
+7 4
+4 2
cfi=(147)
cfn=(5642) XLogSetRecordFlags
calls=1 398
* 8
+2 4
cfi=(147)
cfn=(5644) XLogInsert
calls=1 416
* 1336
+1 2
fn=(2986)
982 4
+1 2
cfi=(155)
cfn=(2988)
calls=2 680
* 387353
+1 4
fn=(3506)
758 3032
+1 3032
+2 3032
+1 3032
fn=(3622)
1954 6
+1 4
+4 10
+3 4
+3 4
cfn=(2996)
calls=2 5100
* 24
+5 8
+16 2
cfi=(167)
cfn=(3624)
calls=2 4974
* 76
+7 4
cfi=(156) /home/mithuncy/fsm_code/src/backend/utils/mmgr/portalmem.c
cfn=(3628) PreCommit_Portals
calls=2 671
* 876
* 6
+1 2
+3 10
cfn=(3630)
calls=2 3360
* 48
+11 2
cfn=(1210)
calls=2 910
* 16
* 4
+4 4
cfi=(167)
cfn=(3632)
calls=2 5030
* 32
+6 2
cfi=(203)
cfn=(3634)
calls=2 13150
* 52
+3 4
cfi=(204)
cfn=(3636)
calls=2 584
* 22
+7 2
cfi=(92)
cfn=(3638)
calls=2 4667
* 32
+7 2
cfi=(113)
cfn=(3640) PreCommit_Notify
calls=2 776
* 30
+3 6
+3 8
cfi=(150)
cfn=(3642)
calls=2 477
* 44
+6 4
+1 4
+2 8
+6 2
cfn=(3644)
calls=2 1122
* 2572
* 4
+24 10
cfi=(100)
cfn=(3654) ProcArrayEndTransaction
calls=2 398
* 346
+18 6
cfn=(3630)
calls=2 3360
* 50
+3 12
cfi=(164)
cfn=(3656) ResourceOwnerRelease
calls=2 481
* 260
+5 4
cfi=(50)
cfn=(3662) AtEOXact_Buffers
calls=2 2422
* 54
+3 4
cfi=(148)
cfn=(3670) AtEOXact_RelationCache
calls=2 2828
* 44
+9 4
cfi=(155)
cfn=(3672)
calls=2 948
* 22
+2 2
cfi=(98)
cfn=(3674) AtEOXact_MultiXact
calls=2 1663
* 64
+2 12
cfi=(164)
cfn=(3656)
calls=2 481
* 821682
+3 12
cfi=(164)
cfn=(3656)
calls=2 481
* 350
+13 4
cfi=(205)
cfn=(3690)
calls=2 306
* 58
+2 2
cfi=(113)
cfn=(3692) AtCommit_Notify
calls=2 875
* 24
+1 6
cfi=(29)
cfn=(3694)
calls=2 5576
* 32
+1 4
cfi=(165)
cfn=(3696)
calls=2 303
* 60
+1 2
cfi=(208)
cfn=(3700)
calls=2 612
* 10
+1 4
cfi=(203)
cfn=(3702)
calls=2 13250
* 46
+1 8
cfi=(55)
cfn=(3704)
calls=2 3962
* 30
+1 2
cfi=(140)
cfn=(3706) AtEOXact_SMgr
calls=2 814
* 16
+1 4
cfi=(25)
cfn=(3708)
calls=2 2762
* 72
+1 2
cfi=(209) /home/mithuncy/fsm_code/src/backend/utils/time/combocid.c
cfn=(3712) AtEOXact_ComboCid
calls=2 184
* 16
+1 4
cfi=(31)
cfn=(3714) AtEOXact_HashTables
calls=2 1835
* 30
+1 4
cfi=(38)
cfn=(3716) AtEOXact_PgStat
calls=2 -92
* 40066
+1 6
cfi=(110)
cfn=(3720)
calls=2 1060
* 226
+1 4
cfi=(72)
cfn=(3722)
calls=2 858
* 34
+1 4
cfi=(38)
cfn=(2982)
calls=2 3193
* 52
+2 2
+1 6
cfi=(164)
cfn=(3724) ResourceOwnerDelete
calls=2 688
* 876
+1 4
+1 2
+1 2
+2 2
cfn=(3730)
calls=2 1381
* 1236
+2 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+2 2
+1 2
+6 4
+2 6
+1 4
fn=(5632)
746 2
+1 1
cfi=(21)
cfn=(656)
calls=1 1571
* 22
* 1
+1 2
fn=(5752)
1639 2
+9 3
+1 3
cfi=(163)
cfn=(2968)
calls=1 110
* 10
* 1
+3 2
fl=(101)
fn=(5772)
337 5
+1 2
+6 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 9
+3 3
+3 2
+1 2
+1 2
+1 2
+1 2
+3 4
+2 40
-2 14
+5 3
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 2
fn=(2992)
540 30780
+6 12312
+1 55404
+13 30780
+1 12248
+2 160
cfi=(99)
cfn=(2170)
calls=32 1122
* 4352
+11 64
+3 128
cfi=(116) /home/mithuncy/fsm_code/src/backend/storage/ipc/../../../../src/include/storage/s_lock.h
cfn=(2138) tas
calls=32 225
* 448
* 64
+1 96
+1 64
+2 128
+22 32
+1 32
+2 26572
+1 5110
-3 7254
+13 128
+1 3
+2 62
+2 124
cfi=(99)
cfn=(2182)
calls=31 1726
* 2790
* 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 90
+1 32
+1 12312
fn=(2872) SharedInvalBackendInit
259 6
+2 1
+1 2
+7 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+3 2
+2 27
-2 19
+9 2
+2 6
+2 9
+2 6
+15 8
+3 3
+3 3
+3 3
+1 3
+1 4
+1 2
+1 2
+1 2
+1 3
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+3 4
cfi=(67)
cfn=(2110)
calls=1 +40
* 32
+2 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 86
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 105
+1 4
fn=(2976)
770 4
+6 8
+1 4
+2 2
+1 4
fn=(2262)
220 3
+6 1
cfn=(2052)
calls=1 -21
* 62
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 964
-1 1
+2 3
+4 2
+1 2
+1 2
+1 2
+1 3
+1 2
+5 2
+2 784
+1 784
+1 784
+1 784
+1 784
+1 784
+1 784
-8 564
+10 2
fn=(2052)
205 6
+3 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 2
+1 4
fl=(143)
fn=(2838)
197 3
+1 2
+1 2
fn=(5794)
208 3
+11 11
+1 2
fn=(3272) finish_spin_delay
176 18024
+1 24032
+3 18024
+1 63
+7 12016
fl=(144)
fn=(2862)
144 3
+4 3
cfi=(145)
cfn=(2864)
calls=1 -38
* 10
* 1
+6 5
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 1
+1 8
cfi=(13)
cfn=(940)
calls=1 925
* 94
* 1
+6 2
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 1
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+9 12
cfi=(13)
cfn=(940)
calls=1 925
* 123
-1 1
+2 5
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+10 2
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 755
* 1
+10 3
+2 5
cfi=(13)
cfn=(940)
calls=1 925
* 286
-1 1
+3 3
cfi=(145)
cfn=(2864)
calls=1 -88
* 10
+1 2
fl=(195) /home/mithuncy/fsm_code/src/backend/access/nbtree/nbtcompare.c
fn=(3548) btint2cmp
83 4722
+1 4722
+1 4722
+2 7870
+1 3148
fn=(3476) btoidcmp
268 57363
+1 57363
+1 57363
+2 57363
+1 16934
+1 31962
+1 6290
+2 7509
+1 38242
fl=(258)
fn=(4558)
110 24
+1 16
+2 16
+1 8
+1 16
fl=(305) /home/mithuncy/fsm_code/src/backend/utils/misc/rls.c
fn=(5274) check_enable_rls
53 4500
+1 1500
cfi=(54)
cfn=(3464)
calls=500 381
* 2500
* 1000
+8 1000
+4 2000
cfi=(151)
cfn=(3444)
calls=500 1114
* 171104
* 500
+1 1000
+2 4000
+2 1500
+1 1500
+2 1500
cfi=(151)
cfn=(3418)
calls=500 1161
* 51500
+3 2000
+1 1000
+55 2500
fl=(74)
fn=(1618)
575 4
+1 4
+1 3
+3 2
fn=(2692)
359 6
+1 10
+1 10
+1 4
fn=(2274)
301 15
+1 12
+3 12
+1 9
+1 12
+1 9
+3 6
-10 20
+1 16
+3 16
+1 12
+1 16
+1 12
+3 8
fn=(2272)
279 6
+1 14
+1 4
fl=(211) /home/mithuncy/fsm_code/src/backend/tcop/../../../src/include/utils/palloc.h
fn=(3756) MemoryContextSwitchTo
110 24
+1 16
+2 16
+1 8
+1 16
-5 15
+1 10
+2 10
+1 5
+1 10
fl=(222)
fn=(4876) list_length
90 3
+1 5
+1 2
-2 3
+1 5
+1 2
fn=(4336)
78 12
+1 12
+1 8
-2 6
+1 6
+1 4
-2 60
+1 60
+1 40
-2 12
+1 20
+1 8
-2 6
+1 10
+1 4
-2 21
+1 33
+1 14
-2 6
+1 6
+1 4
-2 36
+1 60
+1 24
fn=(3930)
84 3
+1 5
+1 2
-2 3
+1 5
+1 2
fl=(182)
fn=(3270)
212 24032
+1 60080
+1 12016
fl=(189)
fn=(3376) XidInMVCCSnapshot
1476 10245
+12 12294
cfi=(168)
cfn=(3010)
calls=2049 301
* 34603
* 4098
+1 4098
+95 4098
fn=(3374)
965 12342
+1 6171
+5 12342
1073 12342
+1 12294
cfn=(3376)
calls=2049 1476
* 69436
-1 4098
+7 12342
+1 4114
+67 4114
fl=(290)
fn=(4958)
311 35
+1 7
+9 21
cfi=(291)
cfn=(4960)
calls=7 671
* 3346
* 7
+1 14
+1 14
+83 14
fl=(148)
fn=(3094)
2003 22488
+2 16866
cfn=(3096)
calls=5622 -22
* 500358
+8 11244
fn=(3544) AllocateRelationDesc
380 2008
+6 1506
cfi=(152)
cfn=(2898)
calls=502 110
* 5020
* 502
+5 1004
cfi=(13)
cfn=(2546)
calls=502 956
* 255982
* 502
+3 1004
+14 1004
cfi=(13)
cfn=(940)
calls=502 925
* 61715
* 502
+2 3012
cob=(3)
cfi=(3)
cfn=(856)
calls=502 0
* 37404
* 502
+3 1506
+3 2510
cfi=(158)
cfn=(2928)
calls=502 46
* 76332
* 1004
+2 1506
+2 1506
cfi=(152)
cfn=(2898)
calls=502 110
* 5020
+2 502
+1 1004
fn=(3566) RelationInitIndexAccessInfo
1342 6
+22 2
-1 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 28392
* 1
+2 2
+3 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
* 1
+1 3
cfi=(190)
cfn=(3484)
calls=1 683
* 237
* 2
+1 11
+1 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
+1 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+5 7
cfi=(151)
cfn=(3444)
calls=1 1114
* 17287
* 1
+1 2
+3 8
+1 4
+1 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+2 5
+1 6
+3 5
+7 7
cfi=(14)
cfn=(432)
calls=1 395
* 623
* 1
+3 3
+1 7
cfi=(13)
cfn=(930)
calls=1 1149
* 192
* 5
cfi=(13)
cfn=(812)
calls=1 330
* 9
+6 3
cfn=(2936) InitIndexAmRoutine
calls=1 -88
* 798
+7 7
cfi=(13)
cfn=(2156)
calls=1 815
* 138
-1 2
+3 7
cfi=(13)
cfn=(2156)
calls=1 815
* 138
-1 2
+3 4
+1 2
+2 3
+3 7
cfi=(13)
cfn=(2156)
calls=1 815
* 165
-1 2
+3 11
cfi=(13)
cfn=(2156)
calls=1 815
* 923
-1 3
+10 7
cfi=(13)
cfn=(2156)
calls=1 815
* 138
-1 2
+4 7
cfi=(13)
cfn=(2156)
calls=1 815
* 142
-1 2
+8 16
cfn=(3596) GetPgIndexDescriptor
calls=1 3907
* 1974
* 6
cfi=(190)
cfn=(3384)
calls=1 428
* 1618
* 1
+5 2
+1 10
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 12
* 1
+7 18
cfn=(3596)
calls=1 3907
* 8
* 6
cfi=(190)
cfn=(3384)
calls=1 428
* 1513
* 1
+5 2
+7 14
cfn=(3598) IndexSupportInitialize
calls=1 +46
* 56321
+7 18
cfn=(3596)
calls=1 3907
* 8
* 6
cfi=(190)
cfn=(3384)
calls=1 428
* 1605
* 1
+5 2
+1 10
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 12
* 1
+5 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 5
fn=(3596)
3907 6
+4 9
+1 3
cfn=(3558) BuildHardcodedDescriptor
calls=1 -48
* 1962
* 1
+3 1
+1 2
-1 2
+1 4
fn=(3598)
1515 11
+3 2
+4 14
+4 18
cfn=(3600) LookupOpclassInfo
calls=2 +36
* 56167
* 2
+4 16
+1 16
+1 4
+1 4
+1 4
-1 20
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 28
* 2
-15 11
+19 2
fn=(2888) RelationCacheInitialize
3440 3
+6 3
+1 1
cfi=(149)
cfn=(2890)
calls=1 630
* 443
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 3136
* 1
+6 1
cfi=(150)
cfn=(2892)
calls=1 585
* 12
+1 2
fn=(2936)
1318 316
+8 316
cfi=(160)
cfn=(2938)
calls=79 34
* 41049
* 79
+3 395
cfi=(13)
cfn=(798)
calls=79 772
* 9638
* 79
+2 474
cob=(3)
cfi=(3)
cfn=(856)
calls=79 0
* 7116
* 79
+1 237
+2 237
cfi=(13)
cfn=(952)
calls=79 1032
* 6715
+1 158
fn=(3498) RelationCacheInitializePhase3
3536 3
+4 8
+5 1
cfi=(150)
cfn=(3500)
calls=1 626
* 1691
+5 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
* 1
+7 3
+1 2
cfn=(2926) load_relcache_init_file
calls=1 5326
* 681293
* 1
-1 2
+17 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
+3 3
+28 4
+34 4
+36 5
cfi=(31)
cfn=(3502)
calls=1 1380
* 53
+2 1
+2 375
+1 125
+5 375
cfn=(3076)
calls=125 1970
* 11000
+5 625
+50 625
+7 625
+15 625
+11 625
+9 625
+10 375
cfn=(3096)
calls=125 1983
* 11125
+3 250
3677 378
cfi=(31)
cfn=(3508)
calls=126 1390
* 14998
* 378
3806 2
+14 2
fn=(3558)
3864 10
+5 6
cfi=(152)
cfn=(2898)
calls=2 110
* 20
* 2
+2 6
cfi=(158)
cfn=(2928)
calls=2 46
* 306
* 2
+1 4
+1 4
+2 4
+2 1060
cob=(3)
cfi=(3)
cfn=(856)
calls=53 0
* 2813
* 53
+2 477
-4 218
+8 4
+4 6
cfi=(152)
cfn=(2898)
calls=2 110
* 20
+2 2
+1 4
fn=(3866) RelationClearRelation
2313 30
+18 24
cfi=(140)
cfn=(3872) smgrclose
calls=1 312
* 499
+6 20
+2 15
cfn=(3868) RelationReloadNailed
calls=5 2155
* 63450
+1 5
2546 10
fn=(3867) RelationClearRelation'2
2313 6
+18 4
+6 4
+2 3
cfn=(3869) RelationReloadNailed'2
calls=1 2155
* 20568
+1 1
2546 2
fn=(2916) RelationCacheInitializePhase2
3477 3
+6 1
cfi=(150)
cfn=(2918)
calls=1 605
* 1580
+6 3
+6 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
* 1
+6 2
cfn=(2926)
calls=1 5326
* 120179
* 3
+16 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
+1 2
fn=(3862)
2624 24
+3 36
cfi=(31)
cfn=(836)
calls=6 910
* 1205
* 33
+2 12
+2 9
+1 9
cfn=(3864) RelationFlushRelation
calls=3 -76
* 993
+2 12
fn=(3538) ScanPgRelation
310 4032
+13 1512
+6 4032
cfi=(178)
cfn=(3482) ScanKeyInit
calls=504 81
* 57456
+11 1512
cfi=(171)
cfn=(3034)
calls=501 1307
* 1377129
cfi=(171)
cfn=(3035)
calls=3 1307
* 27348
* 504
+7 1008
+3 1008
cfi=(110)
cfn=(3134)
calls=504 +91
* 103320
* 504
+3 4032
-1 4536
cfi=(173)
cfn=(3127)
calls=1 -30
* 3425
cfi=(173)
cfn=(3126)
calls=503 -30
* 2232523
* 504
+5 1512
cfi=(173)
cfn=(3172)
calls=504 +49
* 5059067
* 504
+5 1008
+1 1512
cfi=(190)
cfn=(3484)
calls=504 683
* 132805
* 504
+3 1512
cfi=(173)
cfn=(3394)
calls=504 489
* 1845554
+1 2016
cfi=(171)
cfn=(3092)
calls=504 1283
* 1330877
+2 504
+1 1008
fn=(3539) ScanPgRelation'2
310 8
+13 3
+6 8
cfi=(178)
cfn=(3482)
calls=1 81
* 114
+11 3
cfi=(171)
cfn=(3035)
calls=1 1307
* 1450
* 1
+7 2
+3 2
cfi=(110)
cfn=(3134)
calls=1 +91
* 205
* 1
+3 8
-1 9
cfi=(173)
cfn=(3126)
calls=1 -30
* 3946
* 1
+5 3
cfi=(173)
cfn=(3172)
calls=1 +49
* 10897
* 1
+5 2
+1 3
cfi=(190)
cfn=(3484)
calls=1 683
* 243
* 1
+3 3
cfi=(173)
cfn=(3394)
calls=1 489
* 2775
+1 4
cfi=(171)
cfn=(3092)
calls=1 1283
* 557
+2 1
+1 2
fn=(3600)
1562 12
+9 6
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 2754
* 1
+4 3
+4 14
cfi=(31)
cfn=(836)
calls=2 910
* 1345
* 2
+4 8
+3 2
+1 3
+2 2
+2 6
cfi=(13)
cfn=(2156)
calls=1 815
* 153
-1 3
+22 8
+1 2
+9 7
+10 9
cfi=(178)
cfn=(3482)
calls=1 81
* 114
+4 3
cfi=(171)
cfn=(3034)
calls=1 1307
* 2497
* 1
+1 9
cfi=(173)
cfn=(3127)
calls=1 322
* 4458
* 1
+3 3
cfi=(173)
cfn=(3172)
calls=1 406
* 10415
* 3
+2 8
+2 4
+1 4
+5 3
cfi=(173)
cfn=(3394)
calls=1 489
* 3059
+1 4
cfi=(171)
cfn=(3092)
calls=1 1283
* 1743
+6 3
+5 2
-3 8
cfi=(178)
cfn=(3482)
calls=1 81
* 114
+7 2
-3 9
cfi=(178)
cfn=(3482)
calls=1 81
* 114
+7 2
-3 9
cfi=(178)
cfn=(3482)
calls=1 81
* 114
+4 3
cfi=(171)
cfn=(3034)
calls=1 1307
* 2503
* 1
+1 9
cfi=(173)
cfn=(3127)
calls=1 322
* 4709
* 1
+3 1
+2 16
+2 8
+1 4
-1 4
+5 16
+1 4
-1 2
-9 6
cfi=(173)
cfn=(3172)
calls=2 406
* 1432
* 3
cfi=(173)
cfn=(3172)
calls=1 406
* 15703
* 9
+13 3
cfi=(173)
cfn=(3394)
calls=1 489
* 2804
+1 4
cfi=(171)
cfn=(3092)
calls=1 1283
* 1743
+3 2
+1 1
+1 4
fn=(3670)
2828 10
+16 6
+10 10
+11 6
+10 2
+1 2
+1 2
+1 2
+1 4
fn=(2926)
5326 12
+12 4
+1 7
cfi=(17)
cfn=(462)
calls=1 203
* 360
* 1
+3 9
cfi=(17)
cfn=(462)
calls=1 203
* 470
+3 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1330
* 2
+1 4
+8 2
+1 10
cfi=(13)
cfn=(940)
calls=2 925
* 215
* 2
+1 2
+1 6
+3 14
cob=(3)
cfi=(3)
cfn=(1336)
calls=2 0
* 722
* 2
* 4
+2 6
+3 2
+9 14
cob=(3)
cfi=(3)
cfn=(1336)
calls=2 0
* 216
* 2
* 875
cob=(3)
cfi=(3)
cfn=(1336)
calls=125 0
* 13680
* 125
* 127
+1 254
+2 4
5651 5
5383 375
+4 375
+2 1
+1 7
cfi=(13)
cfn=(1514)
calls=1 1045
* 437
* 1
+3 10
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1240
cfi=(13)
cfn=(940)
calls=124 925
* 15252
* 375
+3 750
cob=(3)
cfi=(3)
cfn=(1336)
calls=125 0
* 37364
* 125
* 375
+4 875
cob=(3)
cfi=(3)
cfn=(1336)
calls=125 0
* 13500
* 125
* 250
+3 375
cfi=(13)
cfn=(940)
calls=125 925
* 13019
* 125
+1 750
cob=(3)
cfi=(3)
cfn=(1336)
calls=125 0
* 24148
* 125
* 375
+3 375
+3 625
cfi=(158)
cfn=(2928)
calls=125 46
* 19974
* 250
+1 375
+2 625
+1 375
+3 125
+1 250
+2 6633
+2 4221
cob=(3)
cfi=(3)
cfn=(1336)
calls=603 0
* 65387
* 603
* 1206
+2 1809
+2 3618
cob=(3)
cfi=(3)
cfn=(1336)
calls=603 0
* 108068
* 603
* 1809
+3 4824
-11 4243
+15 875
cob=(3)
cfi=(3)
cfn=(1336)
calls=125 0
* 13500
* 125
* 250
+2 375
+10 250
+4 250
+2 94
cfi=(13)
cfn=(2546)
calls=47 956
* 8131
* 47
+2 94
+1 188
+7 625
+11 312
+1 13
+3 91
cob=(3)
cfi=(3)
cfn=(1336)
calls=13 0
* 1404
* 13
* 455
cob=(3)
cfi=(3)
cfn=(1336)
calls=65 0
* 7020
* 65
* 156
+3 234
cfi=(13)
cfn=(940)
calls=78 925
* 9594
* 156
+1 546
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 17283
* 78
* 234
+4 468
+1 858
+6 546
cfi=(14)
cfn=(432)
calls=78 395
* 38052
* 78
+3 234
+1 546
cfi=(13)
cfn=(930)
calls=78 1149
* 14640
* 390
cfi=(13)
cfn=(812)
calls=78 330
* 702
+9 234
cfn=(2936)
calls=78 1318
* 66090
+3 546
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8424
* 78
* 156
+3 390
cfi=(13)
cfn=(798)
calls=78 772
* 8671
* 78
+1 468
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8480
* 78
* 234
+3 234
+3 546
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8424
* 78
* 156
+3 390
cfi=(13)
cfn=(798)
calls=78 772
* 8671
* 78
+1 468
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8620
* 78
* 234
+3 234
+3 546
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8424
* 78
* 156
+2 390
cfi=(13)
cfn=(798)
calls=78 772
* 9516
* 78
+1 468
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 9408
* 78
* 234
+3 234
+3 546
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8424
* 78
* 156
+3 390
cfi=(13)
cfn=(798)
calls=78 772
* 8671
* 78
+1 468
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8480
* 78
* 234
+3 234
+3 546
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8424
* 78
* 156
+3 390
cfi=(13)
cfn=(798)
calls=78 772
* 8502
* 78
+1 468
cob=(3)
cfi=(3)
cfn=(1336)
calls=78 0
* 8513
* 78
* 234
+3 234
+3 702
+2 858
cfi=(13)
cfn=(2156)
calls=78 815
* 41957
-1 234
+6 188
+1 9
+22 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+1 18
+5 18
+1 36
-20 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+1 232
+5 232
+1 464
+1 66
+2 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 206
+1 927
-18 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 44
+1 3448
+7 375
cfi=(159)
cfn=(2930) RelationInitLockInfo
calls=125 69
* 2125
+1 375
cfn=(2932) RelationInitPhysicalAddr
calls=125 1255
* 12798
5365 125
5637 125
+16 4
+14 4
+16 4
+2 1625
cfi=(31)
cfn=(836)
calls=125 910
* 41835
* 1500
-2 506
+5 6
cfi=(13)
cfn=(952)
calls=2 1032
* 170
+1 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1046
+2 4
+1 2
+2 1
+1 4
+12 8
fn=(3096)
1983 33208
+2 41510
+1 24906
+1 41510
cfi=(164)
cfn=(3098) ResourceOwnerForgetRelationRef
calls=8302 1072
* 581140
+1 16604
fn=(3864)
2556 12
+1 12
+1 6
-1 6
+21 15
+2 15
cfn=(3866)
calls=3 2313
* 921
+2 6
fn=(3868)
2155 20
+7 15
cfn=(2932)
calls=5 1255
* 485
+3 10
+8 5
cfi=(26)
cfn=(986)
calls=5 333
* 50
* 23
+1 3
+2 10
+17 6
+9 4
+2 12
cfn=(3538)
calls=2 310
* 62446
* 2
+2 16
+1 14
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 119
* 2
+1 6
cfi=(190)
cfn=(3562)
calls=2 1341
* 188
+6 4
+3 10
fn=(3869)
2155 4
+7 3
cfn=(2932)
calls=1 1255
* 75
+3 2
+8 1
cfi=(26)
cfn=(986)
calls=1 333
* 10
* 7
+3 5
+17 3
+9 2
+2 6
cfn=(3539)
calls=1 310
* 20253
* 1
+2 8
+1 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 79
* 1
+1 3
cfi=(190)
cfn=(3562)
calls=1 1341
* 94
+6 2
+3 2
fn=(3066)
1904 14396
+9 21594
cfi=(31)
cfn=(836)
calls=3599 910
* 764042
* 23687
+2 7198
+2 9291
cfn=(3076)
calls=3097 +53
* 273142
+2 15485
+7 10
+1 6
-1 4
+4 8
cfn=(3866)
calls=2 2313
* 63132
+12 6194
+7 2008
cfn=(3536) RelationBuildDesc
calls=502 1070
* 36466849
* 502
+1 1004
+1 1506
cfn=(3076)
calls=502 +19
* 44176
+1 502
+1 7198
fn=(3067)
1904 8092
+9 12138
cfi=(31)
cfn=(836)
calls=2023 910
* 433935
* 14161
+2 4046
+2 6069
cfn=(3076)
calls=2023 +53
* 178024
+2 10115
+7 5
+1 3
-1 2
+4 4
cfn=(3867)
calls=1 2313
* 20588
+12 4046
+11 4046
fn=(3076)
1970 33208
+1 24906
cfi=(164)
cfn=(3078) ResourceOwnerEnlargeRelationRefs
calls=8302 1052
* 191552
+1 41510
+1 24906
+1 41510
cfi=(164)
cfn=(3082) ResourceOwnerRememberRelationRef
calls=8302 1063
* 356986
+1 16604
fn=(3536)
1070 3012
+9 2510
cfn=(3538)
calls=502 310
* 12140322
* 502
+5 1004
+6 4016
+1 1506
+7 1506
cfn=(3544)
calls=502 380
* 462557
* 502
+5 1506
+7 1004
+1 1004
+1 1004
+1 1004
+1 4020
+4 1004
+1 1004
+1 502
+37 1506
cfn=(3546) RelationBuildTupleDesc
calls=502 492
* 13699186
+5 2510
+4 1004
+1 1004
+3 2510
+3 1004
+2 2510
+3 1004
+3 1004
+1 1004
+3 2510
+7 1004
+1 1004
+1 1004
+1 1004
+6 2510
+1 3
cfn=(3566)
calls=1 1342
* 112787
+3 2510
cfn=(3554) RelationParseRelOptions
calls=502 435
* 9716617
+5 1506
cfi=(159)
cfn=(2930)
calls=502 69
* 8534
+5 1506
cfn=(2932)
calls=502 +40
* 21618
+3 1004
+5 1506
cfi=(190)
cfn=(3562)
calls=502 1341
* 47188
+14 1004
+1 4016
cfi=(31)
cfn=(836)
calls=502 910
* 188255
* 3514
+3 1004
+2 502
+1 1004
fn=(3554)
435 2510
+4 1004
+6 5020
+7 501
+1 501
+3 4
+1 1
+10 1
cfn=(3556) GetPgClassDescriptor
calls=1 3894
* 8
* 501
cfn=(3556)
calls=501 3894
* 7071
* 3012
cfi=(199) /home/mithuncy/fsm_code/src/backend/access/common/reloptions.c
cfn=(3560) extractRelOptions
calls=502 1000
* 9552613
* 502
+8 1004
+3 1500
-1 2500
cfi=(13)
cfn=(798)
calls=500 772
* 60969
* 1000
+2 5000
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 25391
* 500
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
* 500
+2 1004
fn=(3556)
3894 1004
+4 1506
+1 3
cfn=(3558)
calls=1 -35
* 3059
* 1
+3 1
+1 2
-1 501
+1 1002
fn=(2932)
1255 2532
+1 3165
+1 126
+2 1836
+1 2532
+1 63
+2 1836
+2 3165
+12 594
cfi=(110)
cfn=(3000)
calls=594 2025
* 4158
* 1188
+20 3564
+7 117
-1 234
cfi=(150)
cfn=(2934)
calls=39 160
* 8366
-1 78
+3 156
+4 1266
fn=(3546)
492 2510
+7 502
+1 502
+1 502
+3 3012
+1 1506
+2 2008
cfi=(13)
cfn=(798)
calls=502 772
* 45806
* 502
+2 1004
+10 1004
-3 4016
cfi=(178)
cfn=(3482)
calls=502 81
* 57228
+4 4016
cfi=(178)
cfn=(3482)
calls=502 81
* 57228
+10 1506
cfi=(171)
cfn=(3034)
calls=501 1307
* 1387407
cfi=(171)
cfn=(3035)
calls=1 1307
* 2503
* 502
+1 5020
cfi=(173)
cfn=(3127)
calls=1 322
* 4209
cfi=(173)
cfn=(3126)
calls=501 322
* 2508765
* 502
+9 2510
+2 502
+5 4040
+2 2020
+1 4040
+5 8080
cob=(3)
cfi=(3)
cfn=(856)
calls=505 0
* 27593
* 505
+5 2020
+1 4
+3 2020
+14 2020
+50 505
+1 1010
+1 502
-88 1515
cfi=(173)
cfn=(3172)
calls=505 406
* 6164662
* 1515
+94 1506
cfi=(173)
cfn=(3394)
calls=502 489
* 1977183
+1 2008
cfi=(171)
cfn=(3092)
calls=502 1283
* 1342511
+2 1004
+23 2510
+1 1506
+5 4012
+1 2505
+2 4
+2 2
+11 2
+2 3
+2 5
+9 2
-9 1
+13 1503
cfi=(13)
cfn=(952)
calls=501 1032
* 42585
+1 1503
+2 2008
fl=(180)
fn=(3236)
170 181590
+12 72636
-5 326862
+7 72636
+1 72636
fn=(3260)
190 6008
+2 7510
+6 1502
+1 3004
fl=(198) /home/mithuncy/fsm_code/src/backend/utils/adt/int.c
fn=(5356) int4in
265 350000
+1 262500
+2 262500
cfi=(298)
cfn=(5358)
calls=87500 -68
* 26748000
* 87500
+1 175000
fn=(3550) int2gt
464 1515
+1 1515
+1 1515
+2 2525
+1 1010
fn=(5160) int4out
276 2000
+1 1500
+1 1000
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+2 2500
cfi=(298)
cfn=(5162)
calls=500 +6
* 62107
+1 500
+1 1000
fl=(246)
fn=(4420)
4767 60
+3 30
+4 15
cfi=(52)
cfn=(4006)
calls=15 3263
* 405
+2 120
4954 6
cfn=(5038) _copyParam
calls=2 1407
* 384
* 2
+1 2
+20 3
cfn=(5036) _copyOpExpr
calls=1 1550
* 1699
* 1
+1 1
5126 27
cfn=(4426) _copyList
calls=9 4660
* 30303
* 9
+1 9
+25 9
cfn=(4422) _copyRawStmt
calls=3 3036
* 10456
* 3
+1 3
5657 15
+1 30
fn=(4421) copyObjectImpl'2
4767 1192
+3 596
+1 414
+3 91
cfi=(52)
cfn=(4006)
calls=91 3263
* 2457
+2 728
+6 9
cfn=(4772) _copyPlannedStmt
calls=3 79
* 9200
* 3
+1 3
+5 9
cfn=(4774) _copyResult
calls=3 155
* 7640
* 3
+1 3
4951 39
cfn=(4520) _copyConst
calls=13 1369
* 4717
* 13
+1 13
+2 12
cfn=(5038)
calls=4 1407
* 768
* 4
+1 4
+14 9
cfn=(5034) _copyFuncExpr
calls=3 1513
* 9190
* 3
+1 3
+5 9
cfn=(5036)
calls=3 1550
* 4570
* 3
+1 3
+32 6
cfn=(5146) _copyCoerceViaIO
calls=2 1753
* 880
* 2
+1 2
+65 27
cfn=(4518) _copyTargetEntry
calls=9 2117
* 14673
* 9
+1 9
+8 18
cfn=(4516) _copyFromExpr
calls=6 2169
* 1206
* 6
+1 6
+35 9
cfn=(4862) _copyValue
calls=3 4713
* 1318
* 3
+1 3
+6 69
cfn=(4427) _copyList'2
calls=19 4660
* 36276
cfn=(4426)
calls=4 4660
* 9448
* 23
+1 23
+22 18
cfn=(4514) _copyQuery
calls=6 2991
* 17719
* 6
+1 6
+14 9
cfn=(4424) _copySelectStmt
calls=3 3093
* 9757
* 3
+1 3
5500 3
cfn=(4864) _copyAExpr
calls=1 2553
* 2689
* 1
+1 1
+2 3
cfn=(4866) _copyColumnRef
calls=1 2567
* 1203
* 1
+1 1
+5 12
cfn=(4430) _copyAConst
calls=4 2589
* 1869
* 4
+1 4
+2 3
cfn=(4860) _copyFuncCall
calls=1 2620
* 5031
* 1
+1 1
+14 9
cfn=(4428) _copyResTarget
calls=3 2681
* 6895
* 3
+1 3
5657 91
+1 596
fn=(4516)
2169 24
+1 24
cfi=(13)
cfn=(2950)
calls=6 853
* 918
* 30
+2 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+2 6
+1 12
fn=(4774)
155 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 690
* 15
+5 15
cfn=(4776) CopyPlanFields
calls=3 -45
* 6839
+5 12
cfn=(4421)
calls=3 4767
* 30
* 6
+2 3
+1 6
fn=(4422)
3036 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 459
* 15
+2 12
cfn=(4421)
calls=3 4767
* 9907
* 6
+1 12
+1 12
+2 3
+1 6
fn=(4428)
2681 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 501
* 15
+2 21
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 6247
* 6
+1 12
+2 3
+1 6
fn=(4518)
2117 36
+1 36
cfi=(13)
cfn=(2950)
calls=9 853
* 1566
* 45
+2 36
cfn=(4421)
calls=9 4767
* 10960
* 18
+1 36
+1 72
cfi=(13)
cfn=(928)
calls=9 1162
* 1670
* 27
+1 36
+1 36
+1 36
+1 36
+2 9
+1 18
fn=(4866)
2567 4
+1 4
cfi=(13)
cfn=(2950)
calls=1 853
* 153
* 5
+2 4
cfn=(4421)
calls=1 4767
* 1024
* 2
+1 4
+2 1
+1 2
fn=(5038)
1407 24
+1 24
cfi=(13)
cfn=(2156)
calls=6 815
* 912
* 30
+2 24
+1 24
+1 24
+1 24
+1 24
+1 24
+2 6
+1 12
fn=(4776)
116 15
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
cfn=(4421)
calls=3 4767
* 6428
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfi=(279)
cfn=(4728)
calls=3 +5
* 30
* 6
+1 12
cfi=(279)
cfn=(4728)
calls=3 +4
* 30
* 6
+1 6
fn=(4424)
3093 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 774
* 15
+2 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 8173
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
+1 12
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+2 3
+1 6
fn=(4862)
4713 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 438
* 15
+4 12
+1 18
+8 24
cfi=(13)
cfn=(928)
calls=3 1162
* 766
* 9
+1 3
+9 3
+1 6
fn=(5034)
1513 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 522
* 15
+2 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
cfn=(4421)
calls=3 4767
* 8506
* 6
+1 12
+2 3
+1 6
fn=(5036)
1550 16
+1 16
cfi=(13)
cfn=(2950)
calls=4 853
* 696
* 20
+2 16
+1 16
+1 16
+1 16
+1 16
+1 16
+1 16
cfn=(4421)
calls=4 4767
* 5373
* 8
+1 16
+2 4
+1 8
fn=(4514)
2991 24
+1 24
cfi=(13)
cfn=(2950)
calls=6 853
* 1926
* 30
+2 24
+1 24
+1 24
+1 24
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 1506
* 12
+1 24
cfn=(4421)
calls=6 4767
* 12079
* 12
+1 24
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
cfn=(4421)
calls=6 4767
* 60
* 12
+1 24
+1 24
+2 6
+1 12
fn=(4860)
2620 4
+1 4
cfi=(13)
cfn=(2950)
calls=1 853
* 430
* 5
+2 4
cfn=(4421)
calls=1 4767
* 786
* 2
+1 4
cfn=(4421)
calls=1 4767
* 3719
* 2
+1 4
cfn=(4421)
calls=1 4767
* 10
* 2
+1 4
cfn=(4421)
calls=1 4767
* 10
* 2
+1 4
+1 4
+1 4
+1 4
+1 4
cfn=(4421)
calls=1 4767
* 10
* 2
+1 4
+2 1
+1 2
fn=(4430)
2589 16
+1 16
cfi=(13)
cfn=(2950)
calls=4 853
* 1312
* 20
+3 16
+1 28
+3 8
+1 2
+4 16
cfi=(13)
cfn=(928)
calls=2 1162
* 399
* 6
+1 2
+10 16
+2 4
+1 8
fn=(4520)
1369 52
+1 52
cfi=(13)
cfn=(2950)
calls=13 853
* 2619
* 65
+2 52
+1 52
+1 52
+1 52
+2 80
+6 30
+7 14
+1 14
-1 42
cfi=(257)
cfn=(4546)
calls=7 129
* 1332
* 14
+5 28
+1 28
+1 28
+2 7
+1 14
-5 24
+1 24
+1 24
+2 6
+1 12
fn=(4426)
4660 65
+7 52
cfi=(13)
cfn=(2950)
calls=13 853
* 1989
* 65
+1 52
+2 26
cfi=(13)
cfn=(940)
calls=13 925
* 1599
* 117
cfn=(4421)
calls=13 +97
* 34881
* 13
+1 39
+1 52
+2 13
+2 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 8
cfn=(4421)
calls=1 +91
* 490
* 1
+1 3
+1 3
-4 28
+6 26
+1 39
+2 13
+1 52
fn=(4427)
4660 95
+7 76
cfi=(13)
cfn=(2950)
calls=19 853
* 3229
* 95
+1 76
+2 38
cfi=(13)
cfn=(940)
calls=19 925
* 2337
* 171
cfn=(4421)
calls=19 +97
* 20333
* 19
+1 57
+1 76
+2 19
+2 14
cfi=(13)
cfn=(940)
calls=7 925
* 861
* 56
cfn=(4421)
calls=7 +91
* 8433
* 7
+1 21
+1 21
-4 52
+6 38
+1 57
+2 19
+1 76
fn=(4772)
79 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 732
* 15
+2 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
cfn=(4421)
calls=3 4767
* 7790
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfi=(279)
cfn=(4728)
calls=3 +38
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
cfn=(4421)
calls=3 4767
* 30
* 6
+1 12
+1 12
+2 3
+1 6
fn=(4864)
2553 4
+1 4
cfi=(13)
cfn=(2950)
calls=1 853
* 167
* 5
+2 4
+1 4
cfn=(4421)
calls=1 4767
* 786
* 2
+1 4
cfn=(4421)
calls=1 4767
* 441
* 2
+1 4
cfn=(4421)
calls=1 4767
* 1253
* 2
+1 4
+2 1
+1 2
fn=(5146)
1753 8
+1 8
cfi=(13)
cfn=(2950)
calls=2 853
* 320
* 10
+2 8
cfn=(4421)
calls=2 4767
* 484
* 4
+1 8
+1 8
+1 8
+1 8
+2 2
+1 4
fl=(49)
fn=(990)
652 12
+2 3
+1 6
fn=(988)
592 21
+5 3
cfi=(26)
cfn=(986)
calls=3 333
* 30
* 6
+49 3
+1 12
fl=(158)
fn=(2928)
46 2592
+21 3888
-1 1944
cfi=(13)
cfn=(940)
calls=648 925
* 81289
* 648
+6 1944
+1 1296
+1 1296
+1 1296
+1 1296
+2 648
+1 1296
fn=(3090)
151 80
+2 48
+3 64
cfn=(2928)
calls=16 46
* 2368
* 16
+5 32
-2 64
+1 32
-1 80
cob=(3)
cfi=(3)
cfn=(856)
calls=16 0
* 7891
* 16
+5 32
+2 32
cfi=(13)
cfn=(2546)
calls=16 956
* 2706
* 16
+2 64
+2 128
+11 64
+17 128
+15 48
+4 64
+1 64
+2 16
+1 64
fn=(5516)
391 2000
+3 2500
cfi=(164)
cfn=(5518) ResourceOwnerForgetTupleDesc
calls=500 1161
* 35000
+1 4500
+2 1000
fn=(4578)
602 30
+15 33
+2 6
+7 6
+2 12
+1 18
cfi=(187)
cfn=(4544)
calls=3 253
* 290
+2 6
+1 6
+1 9
+2 9
+1 9
+2 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+3 12
cfi=(151)
cfn=(3444)
calls=3 1114
* 1026
* 3
+1 6
+2 24
+2 9
+1 12
+1 12
+1 12
+1 12
+1 12
+2 9
cfi=(151)
cfn=(3418)
calls=3 1161
* 309
+1 6
fn=(4580)
763 18
+8 33
+1 6
fn=(5322)
373 2000
+3 1500
cfi=(164)
cfn=(5324) ResourceOwnerEnlargeTupleDescs
calls=500 1141
* 11803
+1 2500
+1 2500
cfi=(164)
cfn=(5326) ResourceOwnerRememberTupleDesc
calls=500 1152
* 21500
+1 1000
fl=(66)
fn=(1562)
1239 63
+1 42
+2 126
+1 21
+7 42
fn=(1572)
1263 42
+1 42
+2 126
+1 21
+7 42
fl=(303) /home/mithuncy/fsm_code/src/backend/utils/adt/arrayutils.c
fn=(5242) ArrayGetNItems
76 3000
+6 1000
+2 500
+1 1000
+5 4000
+6 5500
+2 1000
+1 2000
-14 3500
+21 1500
+5 500
+1 2000
fl=(209)
fn=(3712)
184 4
+5 2
+2 2
+1 2
+1 2
+1 4
fl=(252) /home/mithuncy/fsm_code/src/backend/rewrite/rewriteHandler.c
fn=(4508) fireRIRrules
1727 18
+1 9
+8 3
+1 15
cfi=(253)
cfn=(4510)
calls=3 90
* 24
* 6
1865 12
cfi=(253)
cfn=(4506)
calls=3 78
* 24
* 12
+12 12
+10 3
+1 12
cfi=(253)
cfn=(4506)
calls=3 78
* 24
* 12
+95 3
+1 12
fn=(4502) QueryRewrite
3690 12
+1 9
+19 12
cfn=(4504) RewriteQuery
calls=3 3297
* 1050
* 3
+9 3
+1 9
cfi=(253)
cfn=(4506)
calls=3 78
* 30
* 6
+2 9
+2 12
cfn=(4508)
calls=3 1727
* 201
* 3
+2 9
+2 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
-8 21
+27 9
+1 3
+1 3
+2 9
cfi=(253)
cfn=(4506)
calls=3 78
* 30
* 6
+2 9
+2 12
+4 3
+2 3
-10 6
+23 12
+3 3
+1 6
fn=(4504)
3297 21
+1 9
+1 3
+1 3
+1 3
+1 3
+1 3
+8 12
cfi=(253)
cfn=(4506)
calls=3 78
* 24
* 12
+63 6
3632 12
+2 12
+9 9
+3 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
+12 12
+17 3
+1 15
fl=(257)
fn=(4546)
129 7196
+3 2056
+1 1548
+1 1024
+3 14
+2 28
+18 105
+1 21
cfi=(13)
cfn=(940)
calls=7 925
* 861
* 7
+1 42
cob=(3)
cfi=(3)
cfn=(856)
calls=7 0
* 128
* 7
+1 21
+9 3030
cfn=(4548) datumGetSize
calls=505 62
* 10605
* 505
+2 1515
cfi=(13)
cfn=(940)
calls=505 925
* 62084
* 505
+1 3030
cob=(3)
cfi=(3)
cfn=(856)
calls=505 0
* 12120
* 505
+1 1010
+2 505
+1 1010
-1 523
+1 1046
fn=(4548)
62 4040
+3 1010
+8 1010
+3 2020
+33 505
+1 2020
fl=(42)
fn=(958)
188 144
+1 36
+20 72
fn=(934)
222 344
+2 332
+1 160
+1 160
+1 160
+2 12
+1 80
+1 172
fn=(938) downcase_identifier
141 4144
+5 2590
cfi=(13)
cfn=(940)
calls=518 925
* 63351
* 518
+1 518
cfi=(43)
cfn=(942)
calls=518 1834
* 9324
* 1554
+11 1036
+2 35814
+2 21092
+1 48
+1 11989
+2 35814
-8 25430
+10 2590
+2 1036
+3 518
+1 1036
fn=(936)
132 3626
+1 3108
cfn=(938)
calls=518 +8
* 218402
+1 1036
fl=(53)
fn=(1588)
4934 5
+2 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+1 1
cfn=(1590) ReadControlFile
calls=1 4552
* 4857
+1 2
fn=(2026) XLOGChooseNumBuffers
4874 2
+3 6
+1 7
+2 2
+2 1
+1 2
fn=(5658) XLogBytePosToRecPtr
1961 6
+7 12
+1 12
+2 4
+8 2
+1 2
+2 14
+1 22
+2 18
+3 14
+2 2
+1 4
fn=(5664) GetXLogBuffer
1850 4
+11 6
+12 12
+19 2
+1 7
+2 8
+1 3
+42 1
+7 3
+1 7
+5 4
+1 2
fn=(1610)
4834 5114
+2 10228
+1 5114
fn=(2880) InitXLOGAccess
8143 3
+1 2
+3 3
+4 3
+3 1
cfn=(2882) GetRedoRecPtr
calls=1 +15
* 36
+2 8
+3 1
cfi=(147)
cfn=(2886) InitXLogInsert
calls=1 1029
* 5871
+1 2
fn=(5638) XLogInsertAllowed
7991 4
+6 6
+1 4
+5 1
cfn=(2878)
calls=1 7896
* 11
* 2
+7 1
+1 1
+1 4
fn=(1074)
2286 15
+1 6
+1 3
cfn=(1076) CalculateCheckpointSegments
calls=3 -31
* 78
+1 6
fn=(1590)
4552 5
+9 3
cfi=(25)
cfn=(1592)
calls=1 921
* 45
* 1
+2 2
+6 2
cfi=(68)
cfn=(1596)
calls=1 1239
* 14
+1 6
cob=(5)
cfi=(5)
cfn=(684)
calls=1 0
* 7
* 1
* 1
+1 2
+13 1
cfi=(68)
cfn=(1598)
calls=1 1263
* 13
+2 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
+9 4
+9 4
+9 1
+1 6
cfi=(69) /home/mithuncy/fsm_code/src/port/pg_crc32c_sse42_choose.c
cfn=(1600) pg_comp_crc32c_choose
calls=1 55
* 612
* 1
+3 1
+2 4
+9 4
+7 4
+7 6
+5 4
+7 4
+7 4
+7 4
+7 4
+7 4
+7 4
+9 5
+16 5
+15 3
+2 15
+7 7
cfi=(17)
cfn=(462)
calls=1 203
* 562
+1 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 1621
+4 12
+4 12
+5 5
-1 4
+4 1
cfn=(1076)
calls=1 2257
* 26
+3 1
cfn=(1610)
calls=1 +76
* 8
* 8
cfi=(29)
cfn=(1206)
calls=1 7172
* 1763
+2 5
fn=(2882)
8169 3
+8 4
cfi=(146)
cfn=(2884)
calls=1 225
* 14
* 2
+1 3
+1 2
+2 3
+1 2
+2 1
+1 2
fn=(5662) CopyXLogRecordToWAL
1475 9
+11 2
+1 3
cfn=(5664)
calls=1 1850
* 59
* 1
+1 11
+9 1
+1 1
+2 6
+1 6
+2 8
+41 14
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 30
* 2
+1 6
+1 6
+1 4
+1 4
+2 6
-52 6
+61 2
+47 4
+3 3
+2 2
fn=(1076)
2257 8
+17 44
+1 12
-1 8
+4 12
+2 12
+2 8
fn=(2474)
12232 2
+1 2
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 9
* 1
+1 2
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 9
* 1
+1 2
fn=(2682)
12243 6
+3 8
cfi=(9)
cfn=(490)
calls=2 0
* 38
* 4
+1 8
cfi=(9)
cfn=(490)
calls=2 0
* 38
-1 4
+4 2
+1 4
fn=(5646) GetFullPageWriteInfo
8197 4
+1 3
+1 3
+1 2
fn=(2024)
4945 6
+9 6
+4 1
cfn=(2026)
calls=1 -84
* 20
* 8
cfi=(17)
cfn=(462)
calls=1 203
* 472
+1 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 2192
+5 2
+3 6
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 8
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+8 2
+1 4
fn=(5652) XLogInsertRecord
976 7
+1 2
+3 3
+1 4
+1 7
+4 2
+6 1
cfn=(5638)
calls=1 7991
* 11
* 3
+35 3
+1 2
+3 1
cfn=(5654) WALInsertLockAcquire
calls=1 1618
* 168
+18 5
+5 8
+2 3
+1 2
-1 2
+1 2
+16 2
+4 8
cfn=(5656) ReserveXLogInsertLocation
calls=1 1250
* 238
+2 1
+3 2
+6 3
+1 6
cfi=(71)
cfn=(1608)
calls=1 23
* 65
* 1
+1 1
+1 3
+6 9
cfn=(5662)
calls=1 1475
* 196
+8 4
+2 5
+2 7
+15 1
cfn=(5666) WALInsertLockRelease
calls=1 1692
* 219
+2 1
cfi=(26)
cfn=(5682)
calls=1 428
* 10
+2 3
+5 7
+16 2
+78 2
+1 2
+2 1
+1 2
fn=(5654)
1618 3
+16 3
+1 8
+1 2
+6 8
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
* 1
+1 4
+12 2
fn=(5666)
1692 3
+1 3
+14 6
-1 9
cfi=(99)
cfn=(5668)
calls=1 +93
* 196
+4 2
fn=(5688)
2643 4
+1 2
+3 4
cfi=(146)
cfn=(2884)
calls=1 225
* 14
* 2
+1 5
+1 3
+1 4
+1 3
+1 2
+7 4
+15 4
+1 4
cfi=(122)
cfn=(2850)
calls=1 437
* 31
+1 2
fn=(2190)
4986 3
+25 1
cfn=(2024)
calls=1 -66
* 199
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 839
-1 1
+3 2
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 980
-1 1
+3 6
+14 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 72
* 1
+6 2
+2 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 81
* 1
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+8 3
+1 3
+1 8
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 464
* 1
+1 4
+5 3
-1 3
+2 5
+2 1
+2 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+1 2
+2 64
cfi=(99)
cfn=(2144)
calls=8 678
* 512
+1 48
+1 48
-4 26
+12 4
+1 3
+1 9
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 458768
* 1
+6 4
+1 2
+1 2
+1 2
+2 2
+1 2
+1 2
+1 4
cfi=(122)
cfn=(2192)
calls=1 261
* 11
+1 2
fn=(2878)
7896 32061
+6 42748
+1 21372
+7 2
+2 3
+8 4
+7 1
+1 1
cfn=(2880)
calls=1 8143
* 5930
+9 1
+2 21374
fn=(5660) XLogBytePosToEndRecPtr
2001 3
+7 6
+1 6
+2 2
+11 1
+1 1
+2 7
+1 11
+2 2
+3 9
+3 7
+2 1
+1 2
fn=(1198)
4890 12
+4 8
+6 3
+1 2
+13 4
+3 1
+1 4
fn=(5656)
1250 7
+1 2
+5 4
+15 3
cfi=(146)
cfn=(2884)
calls=1 225
* 14
* 2
+2 3
+1 5
+1 3
+1 3
+1 3
+2 2
+2 3
cfn=(5658)
calls=1 1961
* 56
* 2
+1 3
cfn=(5660)
calls=1 2001
* 58
* 2
+1 3
cfn=(5658)
calls=1 1961
* 56
* 2
+9 2
fn=(1204)
10087 6
+1 3
+21 4
fl=(247)
fn=(4468)
2455 48
+1 4
+2 4
+2 4
+1 4
+7 20
cfn=(4470) flatten_grouping_sets
calls=4 2077
* 164
* 4
+10 20
+7 12
cfi=(222)
cfn=(4336)
calls=4 78
* 32
* 16
+50 8
+1 12
+2 4
+1 16
fn=(4472)
1713 56
+3 16
+1 16
+10 16
fn=(4438)
120 20
+12 12
cfi=(222)
cfn=(4336)
calls=4 -54
* 32
* 16
+27 24
cfn=(4440) setNamespaceLateralState
calls=4 1663
* 100
+1 8
fn=(4470)
2077 28
+2 4
cfi=(52)
cfn=(4006)
calls=4 3263
* 108
+2 8
+1 8
+83 8
fn=(4440)
1663 32
+3 12
cfi=(222)
cfn=(4336)
calls=4 78
* 32
* 16
+7 8
fn=(4466)
2557 36
+1 4
+3 12
cfi=(222)
cfn=(4336)
calls=4 78
* 32
* 16
+16 4
+1 8
fn=(4474)
2588 36
+1 4
+1 4
+3 12
cfi=(222)
cfn=(4336)
calls=4 78
* 32
* 16
2784 4
+1 24
fn=(4464)
1686 56
+3 16
+1 16
+7 16
fl=(288) /home/mithuncy/fsm_code/src/backend/parser/parse_func.c
fn=(4980) make_fn_arguments
1823 21
+2 3
+2 9
cfi=(222)
cfn=(4336)
calls=3 78
* 30
* 6
+3 84
+2 12
+6 16
+18 20
-3 4
+2 20
-2 36
cfi=(289)
cfn=(4982)
calls=4 159
* 3450
* 4
+7 12
+3 4
-36 20
+36 2
-36 16
+38 6
fn=(5016) ParseFuncOrColumn
80 13
+1 3
+1 6
+1 1
+1 9
+1 9
+1 9
+1 9
+1 6
+6 1
+12 1
+6 6
+11 3
cfi=(222)
cfn=(4876)
calls=1 -33
* 10
* 2
+20 1
+1 3
cfi=(222)
cfn=(4336)
calls=1 -66
* 10
* 2
+2 6
+1 6
cfi=(250)
cfn=(4478)
calls=2 43
* 48
* 2
+2 6
+2 4
+7 12
-14 10
+25 1
+1 3
cfi=(222)
cfn=(4336)
calls=1 -92
* 10
* 2
+2 6
+2 8
+19 4
-23 12
+31 2
+2 3
cfi=(222)
cfn=(4336)
calls=1 78
* 10
* 2
+15 3
-4 2
+11 2
+30 6
cfi=(226)
cfn=(4992)
calls=1 147
* 24
+7 5
-3 1
-2 23
cfn=(5018) func_get_detail
calls=1 1390
* 63273
* 1
+7 3
cfi=(226)
cfn=(5010)
calls=1 162
* 8
+7 2
+14 2
+10 2
+8 2
+7 2
+6 2
+6 2
+6 2
+6 2
+11 2
631 2
+1 3
cfi=(222)
cfn=(4336)
calls=1 78
* 8
* 4
+22 7
cfi=(289)
cfn=(4978)
calls=1 1677
* 103
* 1
+7 6
cfn=(4980)
calls=1 1823
* 1847
+7 3
+10 6
+36 7
+13 3
+4 2
+2 4
cfi=(13)
cfn=(2950)
calls=1 853
* 174
* 5
+2 3
+1 3
+1 3
+1 3
+1 2
+2 3
+1 3
+2 2
-12 1
883 3
+3 1
+1 6
fn=(5018)
1390 12
+8 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+3 9
cfi=(55)
cfn=(5020)
calls=1 925
* 40403
* 1
+8 3
+4 9
cob=(3)
cfi=(3)
cfn=(3074)
calls=1 0
* 25
* 1
* 2
-2 3
-2 4
+8 2
+41 2
+59 2
+5 6
cfn=(4946) func_match_argtypes
calls=1 908
* 120
* 1
+6 2
+1 3
+21 2
+11 4
+8 2
+4 4
+1 4
+1 4
+7 4
+16 2
-1 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 22471
* 1
+2 2
+3 8
+1 4
+1 4
+1 4
+2 6
+68 5
+6 1
+1 1
+13 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+1 2
+4 2
fn=(4968) func_select_candidate
992 7
+19 2
+21 1
+1 2
+2 16
+1 8
cfi=(275)
cfn=(4936)
calls=1 2267
* 488
* 4
+4 3
+1 1
-8 11
+16 1
+1 1
+1 1
+1 3
+4 6
+1 2
+1 4
+2 20
+1 18
-1 4
-2 22
+8 10
+2 2
+1 2
+1 2
+1 2
+3 3
+2 3
+1 2
+1 1
-24 3
-2 2
+2 3
-2 4
+31 2
+1 2
+2 2
+10 2
+1 10
cfi=(289)
cfn=(4970)
calls=2 2082
* 22900
* 6
-1 11
+2 1
+1 1
+1 1
+1 3
+4 6
+1 2
+1 4
+2 20
+2 22
+1 26
cfi=(289)
cfn=(4974)
calls=2 2101
* 44601
-1 4
-4 22
+10 10
+2 2
+1 2
+1 2
+1 2
+2 3
+2 3
+1 2
+1 1
-25 3
-2 2
+2 3
-2 4
+31 2
+1 2
+2 2
+9 2
+22 1
+1 2
+4 10
+1 1
+1 1
+1 3
+1 3
+1 1
+1 3
+4 6
+1 14
+1 12
cfi=(275)
cfn=(4972)
calls=2 2446
* 22636
+3 10
+3 4
+1 5
+2 6
+8 3
+11 1
-32 3
-2 2
+2 3
-2 4
+38 7
-48 11
+56 2
+3 1
+1 2
+1 1
+1 3
+4 2
+2 6
+1 4
+2 15
+1 1
+1 14
+1 12
cfi=(275)
cfn=(4972)
calls=2 2446
* 958
+3 12
+2 1
+1 1
+2 9
-13 14
+19 4
+3 2
+1 2
+5 2
+1 5
-34 6
-2 6
+43 2
+2 2
+2 2
+3 2
+1 2
+61 4
fn=(4946)
908 14
+3 2
+2 4
+2 6
+4 36
+1 84
cfi=(289)
cfn=(4948)
calls=12 545
* 271714
* 24
+3 12
+1 9
+1 3
-8 6
-2 6
+2 18
-2 22
+14 2
+1 4
fl=(112)
fn=(2296)
136 3
+5 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1251
-1 1
+5 4
+5 4
+1 4
+2 2
+2 140
+7 40
+1 40
+1 40
+1 40
+3 193
-1 2
+3 2
-3 38
+3 191
-1 2
-16 3
+16 38
-16 59
+22 2
fn=(2078)
127 2
+1 1
+1 2
fl=(174)
fn=(3128)
4029 10216
+1 7662
+1 12770
cfi=(45)
cfn=(3130)
calls=2554 506
* 58742
-1 10216
+2 5108
fl=(220)
fn=(3920)
54 4040
+1 4040
cfi=(13)
cfn=(2950)
calls=1010 853
* 147460
* 5050
+2 2020
+1 3030
+1 1010
+1 2020
fl=(283)
fn=(4840) CheckExprStillValid
1765 15
+1 3
+5 9
+1 9
+1 9
+2 6
+2 63
+2 45
cfn=(4842) ExecEvalStepOp
calls=9 2167
* 1245
* 54
+26 9
-30 57
+33 6
fn=(4844) ExecJustConst
2004 10
+1 6
+2 8
+1 4
+1 4
fn=(4820) ExecReadyInterpretedExpr
169 12
+2 3
cfn=(4822) ExecInitInterpreter
calls=3 2133
* 29172
+11 18
+9 6
+10 18
+7 12
+49 12
+1 6
-1 4
+3 4
+1 2
+12 2
+2 35
+2 45
-4 29
+7 6
+4 2
+1 6
fn=(4842)
2167 45
+2 54
+5 15
+1 35
cob=(3)
cfi=(3)
cfn=(284)
calls=5 0
* 1045
* 5
* 5
+6 15
+3 8
+1 18
fn=(4822)
2133 9
+3 9
+5 4
cfn=(4824) ExecInterpExpr
calls=1 299
* 18
-1 1
+4 2
+2 946
+1 516
-3 260
+7 5
cfi=(36)
cfn=(864)
calls=1 114
* 27396
+6 6
fn=(4824)
299 3507
403 2505
+1 2
+6 1500
+1 1500
+1 1500
+1 1500
+1 1500
+3 4000
+7 500
620 1500
+3 1000
+1 2500
cfi=(41)
cfn=(5168)
calls=500 5304
* 2505625
* 500
+1 2000
+1 2500
+2 2000
+5 1500
+1 1500
+5 1000
+2 7000
-2 7000
+8 1000
+1 2500
cfi=(41)
cfn=(5164)
calls=500 +35
* 150802
* 500
+1 2000
+1 2500
+3 2000
976 3500
cob=(12)
cfi=(244)
cfn=(5158) plpgsql_param_eval_var
calls=500 6429
* 17500
+1 2000
+70 2500
+9 1500
+1 2500
+1 1000
+2 1000
+1 3000
cfi=(198)
cfn=(5160)
calls=500 276
* 132607
* 500
+7 4000
+5 1500
+1 1500
+1 2500
+3 1000
+1 3000
cfi=(41)
cfn=(5002)
calls=500 512
* 96802
* 500
+1 2000
+15 2000
1734 2000
+1 1000
+1 2004
fn=(4826)
2116 2480
+1 1240
+1 1240
+2 3720
+1 764
+1 1428
+1 466
+1 5
+1 1240
fn=(4838) ExecInterpExprStillValid
1745 18
+5 15
cfn=(4840)
calls=3 +15
* 1530
+3 15
+3 21
cfn=(4824)
calls=1 299
* 6348
cfn=(4844)
calls=2 2004
* 32
+1 6
fl=(48)
fn=(1168)
1165 7
+5 4
cfi=(13)
cfn=(928)
calls=1 -8
* 143
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 45
* 3
+14 1
cfi=(26)
cfn=(986)
calls=1 333
* 10
* 2
+74 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 35
+2 1
+1 4
fn=(1170)
1270 5
+1 2
+9 2
+3 3
cfi=(25)
cfn=(1172)
calls=1 2650
* 14
+1 2
fn=(984)
1070 7
+5 1
cfi=(26)
cfn=(986)
calls=1 333
* 10
* 2
+25 1
+1 4
fl=(96)
fn=(2200)
192 3
+1 1
+2 2
-1 8
cfi=(93)
cfn=(2196)
calls=1 -27
* 4802
+4 1
+1 2
fn=(5394)
325 4
+7 6
+2 1
+10 2
fn=(2036)
186 2
+1 3
cfi=(93)
cfn=(2020)
calls=1 -41
* 52
+1 2
fl=(131)
fn=(2476)
1536 2
+1 2
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 9
* 1
+1 2
fn=(2478)
546 4
+4 4
+1 2
730 4
fl=(178)
fn=(3482)
81 13707
+1 3046
+1 4569
+1 4569
+1 3046
+1 3046
+1 4569
+1 9138
cfi=(161)
cfn=(2943) fmgr_info'2
calls=2 +37
* 164
cfi=(161)
cfn=(2942)
calls=1521 +37
* 124722
+1 3046
fn=(3190)
109 40730
+1 12219
+1 12219
+1 12219
+1 12219
+1 12219
+1 12219
+1 28511
cfi=(161)
cfn=(3192) fmgr_info_copy
calls=4073 612
* 171066
+1 8146
fl=(183)
fn=(3290)
140 12024
+3 3006
+5 4
+4 10
cfi=(81)
cfn=(3292)
calls=2 47
* 1499
* 4
+2 3002
+3 3002
+2 3002
+1 9000
cfi=(81)
cfn=(3292)
calls=1000 47
* 1616135
* 2000
+4 3006
cfi=(81)
cfn=(3292)
calls=501 47
* 620217
* 1002
+42 1503
+1 3006
fn=(3494) GetDatabasePath
108 5
+1 2
+6 2
+3 5
cfi=(81)
cfn=(3292)
calls=1 -71
* 755
* 1
+8 2
fl=(264)
fn=(4658) list_length
90 9
+1 9
+1 6
fn=(4648)
78 18
+1 18
+1 12
-2 9
+1 9
+1 6
-2 9
+1 9
+1 6
fl=(267)
fn=(4678)
56 21
+1 9
+8 15
+3 9
cfi=(268)
cfn=(4680)
calls=3 1121
* 2943
* 3
+8 15
+2 21
cfi=(262)
cfn=(4684)
calls=3 1089
* 57
-1 6
+7 9
-1 6
-1 12
cfi=(270)
cfn=(4686) create_result_path
calls=3 1441
* 786
* 3
-1 12
cfi=(270)
cfn=(4688)
calls=3 423
* 1020
+6 9
cfi=(270)
cfn=(4692)
calls=3 245
* 1092
+6 6
+1 18
cfi=(261)
cfn=(4694)
calls=3 3442
* 336
+2 6
243 6
fl=(51)
fn=(1026)
78 6
+1 8
+1 4
fl=(87)
fn=(2162)
322 56
+11 21
cfi=(31)
cfn=(2164) hash_select_dirsize
calls=7 780
* 1164
* 42
+1 14
+1 7
+3 35
cfi=(31)
cfn=(2166) hash_get_shared_size
calls=7 804
* 70
* 42
cfn=(2168)
calls=7 +35
* 6821
* 7
+8 21
+4 21
+2 42
cfi=(31)
cfn=(794)
calls=7 -35
* 691873
+1 14
fn=(2132)
113 3
+1 2
+9 2
cfn=(2130) ShmemAllocUnlocked
calls=1 228
* 32
* 1
+2 2
+8 6
-1 1
+2 7
+3 2
+1 1
+7 2
cfn=(2134)
calls=1 +13
* 67
-1 1
+2 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 16
* 1
+1 2
fn=(2160)
273 3
+12 1
+1 1
+1 1
+2 8
cfn=(2162)
calls=1 +33
* 3234
* 1
+3 2
fn=(2168)
373 364
+4 260
cfi=(99)
cfn=(2170)
calls=52 1122
* 7124
+2 156
+2 2
+5 3
+18 3
cfn=(2134)
calls=1 158
* 67
* 1
+1 3
+1 2
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 2
+5 51
-1 306
cfi=(31)
cfn=(836)
calls=51 910
* 37238
* 51
+3 102
+9 204
+20 153
cfn=(2136) ShmemAllocNoError
calls=51 177
* 2601
* 51
+1 102
+11 153
+1 153
+3 204
cfi=(99)
cfn=(2182)
calls=51 1726
* 4641
+6 51
+1 208
fn=(2000)
493 636
+3 408
+1 16
+1 294
+2 490
+4 98
+1 424
fn=(2002)
476 912
+3 608
+2 912
+4 152
+1 608
fn=(2136)
177 2008
+16 2008
+4 1506
cfi=(116)
cfn=(2138)
calls=502 +28
* 7028
* 1004
+2 1506
+2 2008
+1 2008
+2 2008
+1 2008
+5 1004
+5 502
+1 1004
fn=(2126)
98 3
+1 2
+2 2
+1 2
+1 5
+1 2
fn=(2134)
158 40
+3 24
cfn=(2136)
calls=8 +16
* 408
* 8
+1 16
+5 8
+1 32
fn=(2130)
228 10
+8 8
+4 6
+2 8
+1 8
+5 6
+2 8
+4 2
+1 8
fl=(119)
fn=(2152)
30 99738
+1 199476
+1 66492
-2 60
+1 120
+1 40
fl=(153)
fn=(3452)
386 10490
+2 8392
+1 2097
+2 3
cfn=(5562)
calls=1 -32
* 15
+1 5
cfn=(3386)
calls=1 -91
* 25
+3 4196
fn=(2902)
575 308
+1 308
+1 231
+3 154
fn=(3388) dlist_init
279 3444
+1 8036
+1 2296
fn=(5562)
359 3084
+1 5140
+1 5140
+1 2056
-3 9
+1 15
+1 15
+1 6
fn=(2900)
555 3
+1 2
+1 2
fn=(3386)
301 12910
+1 10328
+1 3444
cfn=(3388)
calls=1148 -24
* 13776
+2 10328
+1 7746
+1 10328
+1 7746
+3 5164
fn=(4598)
318 15
+1 12
+3 9
+1 12
+1 12
+1 9
+3 6
fl=(218) /home/mithuncy/fsm_code/src/backend/parser/gram.c
fn=(3904) base_yyparse
24993 3556
+17 1016
+40 508
+17 508
+2 2032
+1 2032
+1 2032
+1 508
+4 508
+1 508
+1 508
+1 508
+1 1524
+1 508
+8 12757
+3 51028
+2 89299
-2 2032
+2 3556
+68 26530
+1 508
45285 508
+1 508
25165 12757
+11 51028
+1 25514
+1 5101
+5 15312
+3 21270
cfi=(214) /home/mithuncy/fsm_code/src/backend/parser/parser.c
cfn=(3906) base_yylex
calls=3545 84
* 3535710
* 3545
+3 15312
+2 6368
+5 54576
+6 12128
+1 12128
-1 3184
+1 64432
+2 17740
+1 7096
+2 6
+2 3
+1 3
+5 7090
+7 3545
+2 7090
+2 14180
+2 14180
+1 3545
+7 46045
+1 18418
+2 9209
+8 46045
+10 73672
+3 18418
-13 15
+10 24
+3 75718
+2 46057
fi=(217)
786 2540
fe=(218)
25271 508
fi=(217)
802 5
+3 8
cfi=(222)
cfn=(3930)
calls=1 84
* 10
* 4
cfn=(3932)
calls=1 15471
* 16
+2 4
+3 4
fe=(218)
25287 1
fi=(217)
814 2032
+1 2540
cfn=(3928)
calls=508 15459
* 90424
* 1524
cfi=(45)
cfn=(1586)
calls=508 260
* 147289
* 508
fe=(218)
25298 508
fi=(217)
946 1
fe=(218)
25304 1
fi=(217)
2967 2000
cfi=(13)
cfn=(2950)
calls=500 853
* 90500
* 2500
+1 2500
+1 1000
+1 2500
+1 2500
+1 2500
+1 2500
+2 2000
+6 1000
+2 2500
+2 2500
+2 2000
+1 3500
cfi=(45)
cfn=(5208)
calls=500 322
* 5500
* 1000
+1 1000
fe=(218)
28020 500
fi=(217)
3013 500
fe=(218)
28049 500
fi=(217)
3019 500
fe=(218)
28067 500
fi=(217)
3028 1500
fe=(218)
28073 500
fi=(217)
3033 1500
fe=(218)
28091 500
fi=(217)
3039 4000
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 500
fe=(218)
28103 500
fi=(217)
3040 500
fe=(218)
28109 500
fi=(217)
3062 2000
cfi=(220)
cfn=(3920)
calls=500 54
* 83500
* 2000
cfi=(221)
cfn=(3922)
calls=500 546
* 99000
* 500
fe=(218)
28149 500
fi=(217)
3105 500
fe=(218)
28227 500
fi=(217)
3113 500
fe=(218)
28241 500
fi=(217)
3766 500
fe=(218)
29139 500
fi=(217)
6323 4
cfi=(220)
cfn=(3920)
calls=1 54
* 167
* 3
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 1
fe=(218)
32771 1
fi=(217)
8176 4
cfi=(13)
cfn=(2950)
calls=1 853
* 146
* 5
+1 4
+1 2
fe=(218)
35480 1
fi=(217)
8183 5
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 1
fe=(218)
35486 1
fi=(217)
8190 6
cfi=(220)
cfn=(3920)
calls=1 54
* 167
* 4
cfi=(221)
cfn=(3922)
calls=1 546
* 198
* 1
fe=(218)
35500 1
fi=(217)
11182 21
fe=(218)
39478 7
fi=(217)
11273 28
cfi=(13)
cfn=(2950)
calls=7 853
* 2355
* 35
+1 35
+1 35
+1 35
+1 35
+1 35
+1 35
+1 28
+1 14
fe=(218)
39589 7
fi=(217)
11400 7
fe=(218)
39750 7
fi=(217)
11481 7
fe=(218)
39891 7
fi=(217)
11486 2
fe=(218)
39903 2
fi=(217)
11638 7
fe=(218)
40113 7
fi=(217)
11690 7
fe=(218)
40199 7
fi=(217)
11763 7
fe=(218)
40315 7
fi=(217)
12200 7
fe=(218)
40903 7
fi=(217)
12426 4
+1 4
fe=(218)
41192 1
fi=(217)
12466 1
fe=(218)
41258 1
fi=(217)
12470 3
fe=(218)
41264 1
fi=(217)
12522 8
cfi=(220)
cfn=(3920)
calls=1 54
* 167
* 3
cfi=(45)
cfn=(1586)
calls=1 260
* 161
* 2
cfi=(221)
cfn=(5078)
calls=1 456
* 206
* 1
+1 4
+1 4
fe=(218)
41351 1
fi=(217)
12529 1
fe=(218)
41363 1
fi=(217)
12901 42
fe=(218)
41883 14
fi=(217)
12903 11
cfn=(5080)
calls=1 15538
* 187
* 1
fe=(218)
41889 1
fi=(217)
12957 45
cfi=(221)
cfn=(4338)
calls=3 33
* 575
* 3
fe=(218)
42001 3
fi=(217)
13398 6
fe=(218)
42693 2
fi=(217)
13399 24
fe=(218)
42699 8
fi=(217)
13402 8
cfi=(13)
cfn=(2156)
calls=2 815
* 306
* 10
+1 10
+1 8
+1 8
+8 4
fe=(218)
42718 2
fi=(217)
13452 6
fe=(218)
42768 2
fi=(217)
13552 24
cfi=(221)
cfn=(4340)
calls=2 585
* 458
* 2
+1 10
+1 4
fe=(218)
42909 2
fi=(217)
13617 8
+9 10
+20 10
+1 8
+1 4
fe=(218)
43015 2
fi=(217)
13965 2
fe=(218)
43568 2
fi=(217)
13970 2
fe=(218)
43580 2
fi=(217)
13979 7
fe=(218)
43592 7
fi=(217)
14013 2
fe=(218)
43643 2
fi=(217)
14246 12
cfi=(220)
cfn=(3920)
calls=3 54
* 501
* 9
cfi=(45)
cfn=(1586)
calls=3 260
* 870
* 3
fe=(218)
44026 3
fi=(217)
14294 10
cfi=(45)
cfn=(1586)
calls=2 260
* 580
* 2
fe=(218)
44104 2
fi=(217)
14298 16
cfi=(45)
cfn=(960)
calls=2 129
* 326
* 2
fe=(218)
44112 2
fi=(217)
14304 12
fe=(218)
44120 4
fi=(217)
14518 16
cfn=(4334)
calls=2 15487
* 1314
* 2
fe=(218)
44465 2
fi=(217)
14564 2
fe=(218)
44543 2
fi=(217)
14579 21
fe=(218)
44555 7
fi=(217)
14584 35
cfi=(45)
cfn=(1586)
calls=7 260
* 2030
* 7
fe=(218)
44567 7
fi=(217)
14614 28
cfi=(13)
cfn=(2950)
calls=7 853
* 1169
* 35
+1 14
+1 14
+1 28
+1 28
fe=(218)
44609 7
fi=(217)
14656 3500
cfi=(221)
cfn=(5206)
calls=500 422
* 108000
* 500
fe=(218)
44645 500
fi=(217)
14700 3
fe=(218)
44710 1
fi=(217)
14715 8
cfi=(220)
cfn=(3920)
calls=2 54
* 334
* 6
cfi=(45)
cfn=(1586)
calls=2 260
* 580
* 2
fe=(218)
44728 2
fi=(217)
14729 28
cfn=(4318)
calls=4 15568
* 740
* 4
fe=(218)
44745 4
fi=(217)
14737 28
cfn=(4332)
calls=4 15548
* 740
* 4
fe=(218)
44761 4
fi=(217)
14822 12
fe=(218)
44888 4
fi=(217)
14823 1515
fe=(218)
44894 505
fi=(217)
14920 1506
fe=(218)
45012 502
fi=(217)
14927 9
fe=(218)
45030 3
fi=(217)
14944 4
cfi=(13)
cfn=(928)
calls=1 1162
* 176
* 1
fe=(218)
45078 1
+22 1016
+15 15240
+1 1016
+3 4064
+1 4064
+6 5080
+2 10160
+1 2032
-14 122940
+1 8196
+3 32784
+1 32784
+6 40980
+2 81960
+1 71625
+1 20480
+4 4096
-2 30696
+2 5116
45306 1016
+10 7620
+2 508
+3 5080
-1 8128
cfn=(3934) yydestruct
calls=1016 24971
* 11176
+2 3048
-4 4572
+7 1524
+7 508
+1 3048
fn=(3934)
24971 7112
+4 2032
+7 2032
fl=(265)
fn=(4656)
1474 12
+10 15
cfi=(264)
cfn=(4658)
calls=3 90
* 24
* 3
+1 15
cfi=(264)
cfn=(4648)
calls=3 78
* 24
* 3
+1 15
+7 6
fl=(276)
fn=(4714)
2987 15
+3 9
+6 12
+1 6
3717 6
fl=(286) /home/mithuncy/fsm_code/src/backend/parser/parse_oper.c
fn=(4914) find_oper_cache_entry
1078 8
+3 6
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 2725
* 1
+4 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+3 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+6 12
cfi=(31)
cfn=(836)
calls=2 910
* 1333
* 2
+3 4
+1 4
+3 4
fn=(5012) oprid
246 6
+1 16
+1 4
fn=(4904) oper
379 20
+4 2
+1 2
+5 20
cfn=(4906) make_oper_cache_key
calls=2 1035
* 800
* 2
+2 4
+2 6
cfn=(4914)
calls=2 1078
* 4363
* 2
+1 6
+11 12
cfn=(4916) binary_oper_exact
calls=2 270
* 62958
* 2
+1 6
+8 5
cfi=(55)
cfn=(4940)
calls=1 1568
* 66688
* 1
+3 2
+8 2
+2 2
+2 2
+1 2
+1 6
cfn=(4944) oper_select_candidate
calls=1 323
* 364092
* 1
+4 6
+1 10
cfi=(151)
cfn=(3444)
calls=2 1114
* 52497
* 2
+2 4
+2 4
+1 10
cfn=(4976) make_oper_cache_entry
calls=2 1118
* 3235
* 2
+5 2
+1 4
fn=(4976)
1118 10
+5 12
cfi=(31)
cfn=(836)
calls=2 910
* 3201
* 2
+3 6
+1 4
fn=(4916)
270 12
+2 2
+3 6
+2 2
+1 2
+2 2
+6 12
cfi=(55)
cfn=(4918)
calls=2 1465
* 62410
* 2
+1 4
+1 2
+2 2
+3 3
cfi=(275)
cfn=(4936)
calls=1 2267
* 488
* 1
+2 3
+8 1
+1 4
fn=(4902) make_op
749 22
+13 4
+7 4
+10 6
cfi=(250)
cfn=(4478)
calls=2 43
* 48
* 2
+1 6
cfi=(250)
cfn=(4478)
calls=2 43
* 48
* 2
+1 18
cfn=(4904)
calls=2 379
* 554784
* 2
+3 16
+3 8
+11 4
+8 4
+11 8
cfi=(45)
cfn=(1586)
calls=2 260
* 518
* 10
cfi=(45)
cfn=(1586)
calls=2 260
* 322
* 2
+1 4
+1 4
+1 6
+1 6
+1 2
+8 16
cfi=(289)
cfn=(4978)
calls=2 1677
* 724
* 2
+7 12
cfi=(288)
cfn=(4980)
calls=2 1823
* 1928
+3 8
cfi=(13)
cfn=(2950)
calls=2 +13
* 317
* 10
+1 6
cfn=(5012)
calls=2 246
* 26
* 4
+1 8
+1 6
+1 8
cfi=(275)
cfn=(5014) get_func_retset
calls=2 1499
* 44994
* 4
+2 6
+1 6
+3 8
+7 6
cfi=(151)
cfn=(3418)
calls=2 1161
* 206
+2 2
+1 10
fn=(4906)
1035 18
+5 12
cfi=(55)
cfn=(4908)
calls=2 2792
* 110
+3 292
+3 12
cfi=(16)
cfn=(460)
calls=2 46
* 132
+1 6
+1 6
+2 6
+12 10
cfi=(55)
cfn=(4912)
calls=2 4304
* 186
* 4
+5 2
+1 4
fn=(4944)
323 7
+7 6
cfi=(288)
cfn=(4946)
calls=1 908
* 271846
* 1
+4 2
+5 2
+10 6
cfi=(288)
cfn=(4968)
calls=1 992
* 92210
* 1
+2 3
+2 4
+1 2
+5 2
fl=(52)
fn=(2812)
3730 8
+4 1
+1 1
+3 4
+3 1
+5 4
+6 7
cfn=(2814) process_postgres_switches
calls=1 3470
* 155
+3 3
+11 4
+20 3
+4 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+2 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+7 3
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
* 1
+3 1
cfi=(138)
cfn=(2758)
calls=1 341
* 653
+8 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+6 3
cfi=(28)
cfn=(784)
calls=1 41
* 177
+4 1
cfi=(27)
cfn=(750)
calls=1 42
* 359
+2 3
+3 3
cob=(3)
cfi=(3)
cfn=(768)
calls=1 0
* 10
* 1
+3 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+2 4
+24 1
cfi=(75)
cfn=(2816) BaseInit
calls=1 547
* 3453
+12 1
cfi=(84)
cfn=(2830)
calls=1 296
* 3097
+4 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+9 8
cfi=(75)
cfn=(2866) InitPostgres
calls=1 589
* 1546683
+9 3
+2 3
cfi=(13)
cfn=(1396)
calls=1 212
* 1332
+1 1
+3 1
+6 1
cfi=(29)
cfn=(3734)
calls=1 5858
* 17295
+6 6
+4 3
+7 1
cfi=(54)
cfn=(3750)
calls=1 1601
* 52
+5 3
+4 4
cfi=(191)
cfn=(3430)
calls=1 88
* 137
+1 6
cfi=(210)
cfn=(3752)
calls=1 146
* 74
+1 6
cfi=(210)
cfn=(3752)
calls=1 146
* 74
+1 3
cfi=(191)
cfn=(3436)
calls=1 299
* 335
+5 3
+9 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 1
+10 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 1
+3 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+1 2
cfi=(80)
cfn=(1888)
calls=1 47
* 154
+1 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+5 4
+25 4
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 42
* 1
* 2
4101 2
+2 4
+1 1
+12 1
+6 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
-6 1
+6 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+1 6
cfi=(13)
cfn=(3758)
calls=2 137
* 210
+2 6
cfi=(80)
cfn=(1888)
calls=2 47
* 308
+6 2
cfi=(110)
cfn=(3760)
calls=2 532
* 14
+15 6
+2 2
cfi=(26)
cfn=(3762)
calls=2 353
* 30
* 4
+13 2
cfi=(26)
cfn=(3764)
calls=2 4464
* 24
* 4
+15 2
cfi=(113)
cfn=(3766) ProcessCompletedNotifies
calls=2 1102
* 20
+1 4
cfi=(38)
cfn=(3768) pgstat_report_stat
calls=2 813
* 103286
+2 6
cfi=(12)
cfn=(2802) set_ps_display
calls=2 332
* 364
+1 6
cfi=(38)
cfn=(3786) pgstat_report_activity
calls=2 2991
* 134
+3 6
cfi=(212)
cfn=(3790) ReadyForQuery
calls=2 251
* 1652
+1 2
+9 2
+5 6
cfn=(3810) ReadCommand
calls=2 510
* 88738
* 1
+11 3
+1 1
+5 2
+10 3
+10 3
+3 7
+7 1
cfi=(26)
cfn=(2958)
calls=1 734
* 31
+2 3
cfi=(191)
cfn=(3836) pq_getmsgstring
calls=1 582
* 2774
* 1
+1 3
cfi=(191)
cfn=(3846) pq_getmsgend
calls=1 638
* 15
+2 3
+6 3
cfn=(3848) exec_simple_query
calls=1 985
* 377802643
+2 1
+2 1
4483 1
fn=(3850) start_xact_command
2571 4
+1 8
+2 1
cfi=(26)
cfn=(2960)
calls=1 2697
* 388607
+2 1
+10 1
cfn=(3876) enable_statement_timeout
calls=1 4698
* 47
* 1
cfn=(3876)
calls=1 4698
* 47
+1 4
fn=(1064)
3326 18
+1 15
+1 3
cfn=(1066)
calls=3 4517
* 1357
* 3
+2 18
+7 3
+1 6
fn=(3878) drop_unnamed_stmt
2670 3
+2 3
+7 2
fn=(4008) stack_is_too_deep
3277 1514
+7 4542
+5 1514
+11 2271
+20 757
+1 1514
fn=(1066)
4517 15
+5 15
+4 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1310
* 5
* 2
+2 3
+3 4
+3 2
+2 1
+9 2
-9 4
+9 8
fn=(3806)
577 30
+1 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 12
+2 18
+35 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 12
+1 12
fn=(2414)
3210 2
+8 2
+4 2
+5 1
+1 2
fn=(3966)
947 3024
+1 504
+3 1512
cfi=(223)
cfn=(3942)
calls=504 78
* 5040
* 1008
+2 1512
+3 2016
+3 2004
cfi=(13)
cfn=(2950)
calls=501 853
* 122244
* 2505
+1 1002
+1 2004
+1 2004
+1 2004
+1 2505
+4 18
cfn=(4632) pg_plan_query
calls=3 862
* 272170
* 3
+3 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 2505
cfi=(45)
cfn=(960)
calls=501 129
* 145290
* 504
-20 3528
+23 504
+1 1008
fn=(5722) ProcessInterrupts
2973 6
+2 6
+2 1
+2 3
+2 1
+1 1
+1 1
cfi=(84)
cfn=(3680)
calls=1 696
* 26
+2 3
+2 3
+4 1
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+4 1
cfi=(319) /home/mithuncy/fsm_code/src/backend/replication/logical/worker.c
cfn=(5724) IsLogicalWorker
calls=1 1766
* 7
* 2
+4 1
cfi=(72)
cfn=(5726)
calls=1 1088
* 9
* 2
+11 3
+8 3
+11 6
cfi=(57)
cfn=(1548)
calls=1 232
* 361
* 5
cfi=(57)
cfn=(1882)
calls=1 785
* 789
* 3
cfi=(57)
cfn=(5728)
calls=1 571
* 18
* 4
cfi=(57)
cfn=(1896)
calls=1 411
* 84014
fn=(2794)
531 40
+1 8
cob=(5)
cfi=(5)
cfn=(472)
calls=8 0
* 24
* 8
* 16
+2 24
+3 19
cfn=(5722)
calls=1 2973
* 85287
+3 15
+4 15
+3 6
+16 7
cob=(5)
cfi=(5)
cfn=(472)
calls=7 0
* 21
* 7
* 14
+1 14
fn=(2814)
3470 9
+1 3
+1 1
+4 2
+2 1
+3 2
+18 1
+8 7
cob=(3)
cfi=(3)
cfn=(1254)
calls=1 0
* 106
* 1
* 3
3682 8
+3 5
+23 1
+4 5
fn=(3880)
633 2020
+5 1515
+3 1515
cfi=(214)
cfn=(3882) raw_parser
calls=505 37
* 6391747
* 505
+2 1515
+24 505
+1 1010
fn=(4006)
3263 3028
+1 757
cfn=(4008)
calls=757 +13
* 12112
* 1514
+9 3028
fn=(3810)
510 8
+3 6
+1 6
cfn=(3812) SocketBackend
calls=2 333
* 88713
* 2
+3 1
+1 2
fn=(3848)
985 6
+1 2
+4 2
+1 1
+7 2
+2 4
cfi=(38)
cfn=(3786)
calls=1 2991
* 250
+8 2
+10 1
cfn=(3850)
calls=1 2571
* 388665
+8 1
cfn=(3878)
calls=1 2670
* 8
+5 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
* 1
+6 3
cfn=(3880)
calls=1 633
* 8621
* 1
+3 3
cfn=(3938) check_log_statement
calls=1 2182
* 11
* 2
+12 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+10 3
cfi=(223)
cfn=(3940)
calls=1 90
* 10
* 3
+5 3
cfi=(223)
cfn=(3942)
calls=1 78
* 10
* 2
+2 3
+1 1
+15 4
cfi=(224)
cfn=(3944)
calls=1 2083
* 17
* 1
+2 4
cfi=(12)
cfn=(2802)
calls=1 332
* 174
+2 5
cfi=(212)
cfn=(3946) BeginCommand
calls=1 104
* 6
+10 1
cfi=(26)
cfn=(3762)
calls=1 353
* 15
* 2
+9 1
cfn=(3850)
calls=1 2571
* 56
+9 2
+4 3
+5 3
cfi=(225)
cfn=(3948)
calls=1 358
* 18
* 2
+12 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
* 1
+2 7
cfn=(3950)
calls=1 683
* 1235
* 1
+3 5
cfn=(3966)
calls=1 947
* 607
* 1
+4 2
+4 3
+6 4
cfi=(156)
cfn=(3968) CreatePortal
calls=1 176
* 1897
* 1
+2 2
+7 9
cfi=(156)
cfn=(3972) PortalDefineQuery
calls=1 287
* 27
+10 6
cfi=(227)
cfn=(3974) PortalStart
calls=1 445
* 220
+8 1
+1 5
+13 5
cfi=(227)
cfn=(3980) PortalSetResultFormat
calls=1 625
* 16
+5 3
cfi=(212)
cfn=(3982)
calls=1 114
* 291
* 1
+1 2
+1 5
cfi=(228)
cfn=(3986)
calls=1 107
* 15
+5 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+5 12
cfi=(227)
cfn=(3988) PortalRun
calls=1 689
* 376458294
+8 5
cfi=(228)
cfn=(5612)
calls=1 558
* 94
+2 4
cfi=(156)
cfn=(5614) PortalDrop
calls=1 466
* 78816
+2 4
+11 2
+2 1
cfn=(5624) finish_xact_command
calls=1 2591
* 862715
* 1
+25 5
cfi=(212)
cfn=(5708) EndCommand
calls=1 167
* 270
1067 7
1273 1
cfn=(5624)
calls=1 2591
* 15
+5 2
+6 5
cfn=(5710) check_log_duration
calls=1 2220
* 18
* 5
+16 2
+5 1
+1 5
fn=(4632)
862 18
+4 12
+8 9
+4 18
cfi=(261)
cfn=(4634)
calls=3 268
* 272083
* 3
+2 9
+49 9
+5 3
+1 6
fn=(5710)
2220 7
+1 6
+45 1
+1 4
fn=(3950)
683 4008
+9 1503
+3 4008
cfi=(225)
cfn=(3952)
calls=501 103
* 443886
* 501
+3 1503
+6 1503
cfn=(3964) pg_rewrite_query
calls=501 +66
* 159819
* 501
+4 501
+1 1002
fn=(5626) disable_statement_timeout
4719 4
+1 6
+6 4
fn=(1072)
3343 12
+1 12
+2 6
+1 6
fn=(3938)
2182 4
+3 3
+1 2
+14 2
fn=(4432)
722 24
+12 9
+3 6
cfi=(226)
cfn=(3954)
calls=3 45
* 1038
* 3
+1 9
+1 9
+1 18
cob=(12)
cfi=(234) /home/mithuncy/fsm_code/src/pl/plpgsql/src/pl_comp.c
cfn=(4434) plpgsql_parser_setup
calls=3 1052
* 54
+2 15
cfi=(225)
cfn=(3956)
calls=3 192
* 605787
* 3
+2 9
+3 9
cfi=(226)
cfn=(3962)
calls=3 78
* 318
+2 9
+6 9
cfn=(3964)
calls=3 +15
* 2472
* 3
+4 3
+1 6
fn=(5720) die
2762 4
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+3 4
+2 1
+1 1
+4 3
cfi=(122)
cfn=(2850)
calls=1 437
* 49
+8 6
+3 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 2
fn=(3964)
770 2016
+3 1512
+4 1512
+3 2016
+3 2004
cfi=(45)
cfn=(1586)
calls=501 260
* 145290
* 1002
+5 9
cfi=(252)
cfn=(4502)
calls=3 3690
* 2391
* 3
+3 1512
+57 1512
+4 504
+1 1008
fn=(3812)
333 10
+6 6
+1 2
cfi=(58)
cfn=(2784)
calls=2 1211
* 24
+1 2
cfi=(58)
cfn=(3814)
calls=2 1001
* 88295
* 1
+2 2
+29 7
+3 1
+1 4
+24 1
+89 4
+2 4
cfi=(58)
cfn=(3834)
calls=1 1273
* 340
* 2
+5 3
+2 1
+1 4
fn=(3876)
4698 4
+4 6
+9 6
cfi=(138)
cfn=(2804)
calls=2 526
* 74
+1 4
fn=(5624)
2591 4
+2 2
cfn=(5626)
calls=2 4719
* 14
+2 6
+2 1
cfi=(26)
cfn=(3620)
calls=1 2768
* 862698
+13 1
+2 4
fl=(191)
fn=(3836)
582 5
+4 7
+7 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 41
* 1
* 1
+1 8
+4 7
+2 5
cfi=(19)
cfn=(3838)
calls=1 -54
* 2692
+1 4
fn=(3430)
88 96
+1 48
cfi=(80)
cfn=(1888)
calls=16 -42
* 2061
+7 48
+1 32
fn=(3436)
299 64
+2 192
cfi=(58)
cfn=(3438)
calls=16 1561
* 3718
+2 64
cfi=(13)
cfn=(952)
calls=16 1032
* 1360
+1 32
+1 32
fn=(3738)
198 145
+1 87
cob=(3)
cfi=(3)
cfn=(424)
calls=29 0
* 503
* 29
* 29
+3 145
cfi=(19)
cfn=(3740)
calls=29 624
* 928
* 29
+1 87
+7 203
cfi=(80)
cfn=(3744) appendBinaryStringInfoNT
calls=29 +31
* 2369
+1 58
fn=(3846)
638 5
+1 6
+4 4
fl=(36)
fn=(864)
114 63
+14 672
+1 32
-1 44
+1 88
+2 20
+1 45
+2 381
cfn=(872) swapfunc
calls=9 -47
* 756
-1 66
-1 421
cfi=(151)
cfn=(2904) oid_compare
calls=13 1543
* 252
cfi=(29)
cfn=(866)
calls=18 4918
* 3824
* 62
-1 163
+4 4
+2 56
+1 280
+2 29930
cfi=(283)
cfn=(4826)
calls=108 2116
* 1950
cfi=(151)
cfn=(2904)
calls=49 1543
* 919
cfi=(29)
cfn=(866)
calls=2836 4918
* 654117
* 5986
+2 51
+1 51
-5 26870
+8 112
+1 5
+1 357
+1 102
+2 100
+1 350
+1 100
+2 84
+2 273
cfn=(870) med3
calls=21 -51
* 3582
* 21
+1 294
cfn=(870)
calls=21 -52
* 3198
* 21
+1 336
cfn=(870)
calls=21 -53
* 3927
* 21
+2 126
cfn=(870)
calls=21 -55
* 2959
* 174
cfn=(870)
calls=29 -55
* 8560
* 50
+2 588
cfn=(872)
calls=15 -76
* 1228
+1 306
+1 459
+3 51
+2 3480
+2 40
cfn=(872)
calls=5 -85
* 420
+1 10
+2 10
-7 15
+7 3470
-7 18624
cfi=(283)
cfn=(4826)
calls=44 2116
* 798
cfi=(151)
cfn=(2904)
calls=251 1543
* 4843
cfi=(29)
cfn=(866)
calls=1772 4918
* 142373
* 6201
+9 339
+2 3774
+2 32
cfn=(872)
calls=4 -94
* 336
+1 12
+2 12
-7 12
+7 5649
-7 19716
cfi=(283)
cfn=(4826)
calls=42 2116
* 1008
cfi=(151)
cfn=(2904)
calls=301 1543
* 5932
cfi=(29)
cfn=(866)
calls=1832 4918
* 141191
* 6525
+9 1017
+1 51
+5 306
+1 510
+1 152
-6 3364
cfn=(872)
calls=76 87
* 6384
+1 576
+1 864
+1 288
-23 288
+26 500
cfn=(872)
calls=50 87
* 2676
+1 663
+1 142
cfn=(872)
calls=4 87
* 336
+1 255
+1 255
+1 153
+3 102
+1 144
cfn=(865) pg_qsort'2
calls=16 -89
* 251878
+1 102
+4 204
+1 136
+1 34
+6 51
+1 192
cfn=(865)
calls=16 114
* 2618153
+1 51
+4 68
+1 17
+3 18
fn=(865)
114 938
+14 5454
+1 146
-1 405
+1 810
+2 635
+1 1044
+2 6576
cfn=(872)
calls=121 -47
* 9876
-1 1095
-1 8079
cfi=(283)
cfn=(4826)
calls=18 2116
* 378
cfi=(151)
cfn=(2904)
calls=179 1543
* 3449
cfi=(29)
cfn=(866)
calls=397 4918
* 79346
* 1188
-1 4021
+4 127
+2 351
+1 1755
+2 65930
cfi=(283)
cfn=(4826)
calls=146 2116
* 2694
cfi=(151)
cfn=(2904)
calls=63 1543
* 1224
cfi=(29)
cfn=(866)
calls=6384 4918
* 1454144
* 13186
+2 344
+1 344
-5 58698
+8 702
+1 7
+1 2408
+1 688
+2 638
+1 2233
+1 638
+2 60
+2 195
cfn=(870)
calls=15 -51
* 3487
* 15
+1 210
cfn=(870)
calls=15 -52
* 2570
* 15
+1 240
cfn=(870)
calls=15 -53
* 3454
* 15
+2 90
cfn=(870)
calls=15 -55
* 2267
* 1824
cfn=(870)
calls=304 -55
* 126094
* 319
+2 4242
cfn=(872)
calls=46 -76
* 3512
+1 2064
+1 3096
+3 344
+2 1880
+2 32
cfn=(872)
calls=4 -85
* 336
+1 8
+2 8
-7 12
+7 1872
-7 16428
cfi=(283)
cfn=(4826)
calls=54 2116
* 1086
cfi=(151)
cfn=(2904)
calls=289 1543
* 5606
cfi=(29)
cfn=(866)
calls=1469 4918
* 203269
* 5436
+9 916
+2 11196
+2 120
cfn=(872)
calls=15 -94
* 1260
+1 45
+2 45
-7 45
+7 16749
-7 56517
cfi=(283)
cfn=(4826)
calls=136 2116
* 3216
cfi=(151)
cfn=(2904)
calls=305 1543
* 5952
cfi=(29)
cfn=(866)
calls=5729 4918
* 570796
* 18510
+9 2748
+1 344
+5 2064
+1 3440
+1 1031
-6 6881
cfn=(872)
calls=111 87
* 9068
+1 1144
+1 1716
+1 572
-23 572
+26 3430
cfn=(872)
calls=343 87
* 14130
+1 4472
+1 838
cfn=(872)
calls=15 87
* 1260
+1 1720
+1 1720
+1 1032
+3 861
+1 459
cfn=(865)
calls=51 -89
* 136876
+1 861
+4 1722
+1 1148
+1 287
+6 171
+1 612
cfn=(865)
calls=51 114
* 1631422
+1 171
+4 228
+1 57
+3 268
fn=(870)
106 3339
+1 2862
cfi=(283)
cfn=(4826)
calls=18 2116
* 324
cfi=(151)
cfn=(2904)
calls=61 1543
* 1184
cfi=(29)
cfn=(866)
calls=398 4918
* 35394
+2 954
-1 2400
cfi=(283)
cfn=(4826)
calls=18 2116
* 372
cfi=(151)
cfn=(2904)
calls=33 1543
* 648
cfi=(29)
cfn=(866)
calls=349 4918
* 28318
* 2660
cfi=(283)
cfn=(4826)
calls=8 2116
* 192
cfi=(151)
cfn=(2904)
calls=21 1543
* 404
cfi=(29)
cfn=(866)
calls=281 4918
* 65827
* 1420
+1 462
cfi=(151)
cfn=(2904)
calls=28 1543
* 541
cfi=(29)
cfn=(866)
calls=49 4918
* 5860
* 508
cfi=(151)
cfn=(2904)
calls=19 1543
* 364
cfi=(29)
cfn=(866)
calls=40 4918
* 4857
* 254
+1 954
fn=(872)
87 4908
+1 1636
+1 10072
+2 33326
+1 1636
fl=(109)
fn=(2284)
54 3
+4 1
cfn=(2070)
calls=1 -15
* 33
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1005
-1 1
+3 4
+3 4
cfn=(2070)
calls=1 -20
* 33
* 19
cob=(3)
cfi=(3)
cfn=(828)
calls=1 -63
* 254
* 1
+1 2
+1 2
+1 2
+2 2
fn=(2070)
43 9
+1 3
+2 12
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+2 3
+1 6
fl=(194)
fn=(3470)
42 11034
+1 7356
+2 11034
+1 11034
+1 11034
+1 11034
+1 11034
+1 3678
+1 7356
fl=(319)
fn=(5724)
1766 2
+1 3
+1 2
fl=(40)
fn=(916)
608 12
+1 16
+2 20
+3 12
+3 8
fn=(908) clean_encoding_name
526 20
+4 20
+2 26
cob=(3)
cfi=(3)
cfn=(914)
calls=25 0
* 75
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1355
* 30
* 286
+2 184
+1 176
+2 12
-7 146
+10 8
+1 4
+1 8
fn=(904)
488 16
+3 12
cfn=(906) pg_char_to_encoding
calls=4 +61
* 3620
* 12
+3 16
+3 4
+1 8
fn=(906)
552 20
+1 4
+1 4
+1 24
+6 24
+3 12
cob=(3)
cfi=(3)
cfn=(424)
calls=4 0
* 60
* 4
* 8
+11 20
cfn=(908)
calls=4 -49
* 2350
* 4
+2 4
+2 264
+1 240
+2 48
+2 60
cob=(3)
cfi=(3)
cfn=(446)
calls=10 0
* 220
* 10
* 10
+1 20
+1 12
+2 40
+1 40
+2 30
-14 72
+17 16
fl=(50)
fn=(994)
468 4
+1 2
+7 7
+35 2
+1 6
-1 7
+3 3
+3 10
+1 2
fn=(2876) InitBufferPoolBackend
2468 2
+1 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(3216) BufferAlloc
997 176600
+14 158940
+3 52980
cfi=(90)
cfn=(3218)
calls=17660 81
* 2666660
* 17660
+1 141280
+3 70640
cfi=(99)
cfn=(2170)
calls=17660 1122
* 2401760
+1 88300
cfi=(90)
cfn=(3220)
calls=17660 93
* 2769837
* 17660
+1 35320
+7 96948
+2 80790
cfn=(3222) PinBuffer
calls=16158 1578
* 5001063
* 16158
+3 48474
cfi=(99)
cfn=(2182)
calls=16158 1726
* 1454220
+2 32316
+2 64632
+19 32316
+7 4506
cfi=(99)
cfn=(2182)
calls=1502 1726
* 135180
+9 1502
cfn=(3226) ReservePrivateRefCountEntry
calls=1502 187
* 13518
+6 7510
cfi=(89)
cfn=(3256)
calls=1502 202
* 387503
* 1502
+5 4506
+3 4506
cfn=(3274) PinBuffer_Locked
calls=1502 1663
* 199766
+9 6008
+78 6008
+34 6008
cfi=(99)
cfn=(2170)
calls=1502 -84
* 205774
+2 1502
+2 1502
+10 10514
cfi=(90)
cfn=(3278)
calls=1502 121
* 419014
* 1502
+2 3004
+51 4506
cfn=(3264)
calls=1502 4099
* 136696
* 1502
+8 4506
+1 12016
+1 1502
+24 10514
+1 4506
+3 7504
+1 8
+2 4500
+2 12000
cfi=(123)
cfn=(3276)
calls=1500 262
* 31500
* 16
cfi=(123)
cfn=(3276)
calls=2 262
* 42
+2 3004
+7 4506
cfi=(99)
cfn=(2182)
calls=1502 1726
* 136682
+7 6008
cfn=(3280) StartBufferIO
calls=1502 3882
* 449112
* 3004
+1 4506
+4 1502
+1 35320
fn=(3280)
3882 9012
+11 13518
cfi=(99)
cfn=(2170)
calls=1502 1122
* 205774
+2 4506
cfn=(3264)
calls=1502 4099
* 136696
* 1502
+2 6008
+1 1502
+15 15020
+8 1502
+1 12016
cfi=(123)
cfn=(3276)
calls=1502 262
* 31542
+2 3004
+1 3004
+2 1502
+1 3004
fn=(5450)
1457 10000
+5 5000
+3 5000
+6 17500
+6 10000
cfi=(123)
cfn=(3230)
calls=2500 245
* 40000
* 2500
+3 10000
+3 5000
+3 2500
+2 17500
cfi=(123)
cfn=(3234)
calls=2500 316
* 85000
* 5000
+2 2500
+6 11500
+2 4500
+1 4500
+1 4500
+3 5000
fn=(3222)
1578 80790
+1 64632
+4 64632
cfn=(3224) GetPrivateRefCountEntry
calls=16158 279
* 1955118
* 16158
+2 32316
+5 16158
cfn=(3226)
calls=16158 187
* 185937
+1 48474
cfn=(3228) NewPrivateRefCountEntry
calls=16158 253
* 226212
* 16158
+2 64632
cfi=(123)
cfn=(3230)
calls=16158 245
* 258528
* 16158
+3 64632
+3 32316
+3 16158
+2 32316
+3 78290
+1 42
+8 2500
+4 113106
cfi=(123)
cfn=(3234)
calls=16158 316
* 549372
* 32316
+3 80790
+1 32316
+10 80790
+2 80790
cfi=(164)
cfn=(3238) ResourceOwnerRememberBuffer
calls=16158 906
* 710952
+1 16158
+1 32316
fn=(3224)
279 244908
+11 81636
+2 804620
+2 804620
+1 49320
-5 490428
+15 48474
+1 32316
+44 81636
fn=(3264)
4099 24032
+4 36048
cfi=(181)
cfn=(3266)
calls=6008 1012
* 138184
+5 30040
cfi=(123)
cfn=(3268)
calls=6008 376
* 168224
* 6008
+2 24032
+1 6008
+3 18024
cfi=(143)
cfn=(3272)
calls=6008 176
* 72159
+1 12016
+1 12016
fn=(3664) CheckForBufferLeaks
2497 6
+34 6
fn=(2218) WritebackContextInit
4239 4
+3 3
+1 2
+1 2
fn=(3212) ReadBuffer_common
706 194260
+5 88300
+2 35320
+3 52980
cfi=(164)
cfn=(3214) ResourceOwnerEnlargeBuffers
calls=17660 893
* 406817
+2 52980
+10 35320
+1 7500
cfi=(140)
cfn=(3578)
calls=1500 -41
* 1231848
* 1500
+2 35320
+17 176600
cfn=(3216)
calls=17660 997
* 17720351
* 17660
+2 52980
+1 64632
+1 3004
+1 6000
+1 4
+2 6
+6 52980
+2 64632
+3 32316
+1 48474
+2 48474
+15 64632
+2 32316
+3 32316
+4 64632
+70 13518
+2 3004
+3 33000
cob=(3)
cfi=(3)
cfn=(828)
calls=1500 0
* 1368000
* 1500
+2 10500
cfi=(140)
cfn=(5474) smgrextend
calls=1500 617
* 876772
* 1500
+15 8
+7 6
+3 12
cfi=(140)
cfn=(3282) smgrread
calls=2 642
* 7797
+2 6
+9 10
cfi=(185)
cfn=(3320)
calls=2 82
* 138
* 6
+31 6008
+6 3004
+11 7510
cfn=(3322) TerminateBufferIO
calls=1502 3949
* 357490
+3 4506
+1 4506
+11 4506
+1 70640
fn=(3330)
2612 582753
+5 388502
+3 1359757
+3 388502
+1 388502
fn=(5630)
2598 2
+2 2
fn=(3240)
3553 191680
+4 76672
+3 268352
+2 76672
+1 76672
cfi=(99)
cfn=(2182)
calls=19168 1726
* 1731620
* 19168
+1 38336
+1 63340
cfi=(99)
cfn=(2170)
calls=12668 1122
* 1722848
* 12668
+1 13000
+1 32500
cfi=(99)
cfn=(2170)
calls=6500 1122
* 890500
* 6500
+3 76672
fn=(3250) UnpinBuffer
1701 126960
+2 84640
+3 84640
cfn=(3224)
calls=21160 279
* 598840
* 21160
+3 42320
+1 105800
cfi=(164)
cfn=(3252) ResourceOwnerForgetBuffer
calls=21160 915
* 1517360
+3 105800
+1 84640
+15 70640
cfi=(123)
cfn=(3230)
calls=17660 245
* 282560
* 17660
+3 70640
+3 35320
+2 17660
+2 123620
cfi=(123)
cfn=(3234)
calls=17660 316
* 600440
* 35320
+2 17660
+4 70640
+24 52980
cfn=(3254) ForgetPrivateRefCountEntry
calls=17660 382
* 264900
+2 42320
fn=(3350)
2839 10216
+1 17878
+1 22986
+7 2554
cfi=(53)
cfn=(1610)
calls=2554 4834
* 20432
* 17878
+1 25540
+11 5108
fn=(3662)
2422 10
+1 2
cfn=(3664)
calls=2 +74
* 8
+2 6
cfi=(206)
cfn=(3666)
calls=2 573
* 24
+3 4
fn=(5462)
3386 15000
+2 22500
+2 5000
+3 5000
+6 17500
+17 10000
cfi=(123)
cfn=(3230)
calls=2500 245
* 40000
* 7500
+96 5000
fn=(3202)
642 158940
+5 70904
cfi=(140)
cfn=(3204)
calls=33 153
* 19908
* 165
cfi=(140)
cfn=(3208)
calls=33 209
* 1386
+7 88300
+9 158940
+1 247240
cfn=(3212)
calls=17660 +42
* 23398101
* 17660
+2 52980
+1 145422
+1 16158
+1 64632
-1 1502
+1 6008
fn=(3226)
187 52980
+2 52980
+1 16159
+9 3002
+4 15005
+2 12004
+2 3002
+1 1501
-9 7502
+47 35320
fn=(3322)
3949 10514
+5 4506
cfn=(3264)
calls=1502 4099
* 136696
* 1502
+4 1502
+1 3004
+3 3004
+1 12016
cfi=(123)
cfn=(3276)
calls=1502 262
* 31542
+2 1502
+2 12016
cfi=(99)
cfn=(2182)
calls=1502 1726
* 136682
+1 3004
fn=(5430) IncrBufferRefCount
3354 14000
+2 10500
cfi=(164)
cfn=(3214)
calls=3500 893
* 80500
+1 7000
+6 14000
cfn=(3224)
calls=3500 279
* 84000
* 3500
+2 17500
+2 17500
cfi=(164)
cfn=(3238)
calls=3500 906
* 154000
+1 7000
fn=(5762)
2478 5
+1 1
cfn=(5764) AbortBufferIO
calls=1 3981
* 14
+1 1
cfn=(5766) UnlockBuffers
calls=1 3525
* 9
+2 1
cfn=(3664)
calls=1 +15
* 4
+3 1
cfi=(206)
cfn=(5768)
calls=1 584
* 9
+1 2
fn=(2828) InitBufferPoolAccess
2444 3
+3 4
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 16
* 1
+2 118
+1 1
+1 1
+2 6
cfi=(31)
cfn=(794)
calls=1 317
* 2722
* 1
+2 2
fn=(3610)
3339 40016
+1 40016
cfn=(3240)
calls=10004 3553
* 1134952
+1 30012
cfn=(3360)
calls=10004 -25
* 2314964
+1 20008
fn=(3228)
253 52980
+7 35320
+1 17660
+3 52980
+1 35320
+2 17660
+1 35320
fn=(3248)
1522 27654
+1 4609
+3 9218
+3 5134
+12 17969
+2 10268
+1 32
-1 16
+1 96
+1 16
-1 16
+2 16
+1 10236
cfn=(3250)
calls=2559 1701
* 568098
+4 23005
cfn=(3200) ReadBuffer
calls=4601 595
* 5007773
+1 9218
fn=(3254)
382 70640
+3 70640
+3 35320
+7 52980
+15 35320
fn=(3360)
3316 74404
+1 37202
+3 37202
+9 167409
cfn=(3250)
calls=18601 1701
* 3906422
+1 37202
fn=(3576)
2795 5
+2 12
cfi=(140)
cfn=(3204)
calls=1 153
* 468
* 5
cfi=(140)
cfn=(3208)
calls=1 209
* 42
+2 6
cfi=(140)
cfn=(3578)
calls=1 688
* 2004
+1 2
fn=(5764)
3981 5
+1 2
+2 2
+43 5
fn=(3200)
595 35795
+1 50113
cfn=(3202)
calls=7159 +46
* 7697975
+1 14318
fn=(3274)
1663 6008
+15 6008
cfi=(123)
cfn=(3230)
calls=1502 245
* 24032
* 1502
+2 1502
+1 12016
cfi=(123)
cfn=(3276)
calls=1502 262
* 31542
+2 6008
+2 4506
cfn=(3228)
calls=1502 253
* 21028
* 1502
+1 7510
+2 7510
cfi=(164)
cfn=(3238)
calls=1502 906
* 66088
+1 3004
fn=(5766)
3525 3
+1 2
+2 2
+18 2
fl=(70) /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/cpuid.h
fn=(1604) __get_cpuid
264 9
+1 3
+2 4
cfn=(1606) __get_cpuid_max
calls=1 -60
* 18
* 2
+3 11
+1 1
+1 4
fn=(1606)
207 5
+40 7
+2 2
+3 1
+1 3
fl=(186)
fn=(3326)
266 30522
+3 15261
+7 10174
fl=(300)
fn=(5216)
796 5000
+2 1500
+1 2500
+3 500
+6 2000
+2 2000
+11 1500
cfi=(54)
cfn=(3464)
calls=500 381
* 2500
* 1500
cfi=(170)
cfn=(5218)
calls=500 4932
* 15500
* 1500
+7 2000
+9 2000
+2 2500
+9 3000
cfi=(171)
cfn=(5220)
calls=500 1336
* 64920070
* 500
+2 1500
+2 4000
cfi=(285)
cfn=(5250)
calls=500 1290
* 815500
* 500
+2 3000
+2 1500
+1 3500
cfn=(5256) CopyGetAttnums
calls=500 4827
* 168000
* 500
+1 1500
cfi=(46)
cfn=(966)
calls=500 78
* 5000
* 1000
+2 2000
+3 1000
+1 3000
cfi=(279)
cfn=(4892)
calls=500 -99
* 108500
* 1500
-6 3500
+10 2500
cfi=(304)
cfn=(5260)
calls=500 571
* 12804595
+16 3000
cfi=(305)
cfn=(5274)
calls=500 53
* 250604
* 1000
+93 500
+16 1000
+5 1500
+2 1000
cfi=(224)
cfn=(5276)
calls=500 258
* 10000
+2 8000
cfn=(5278) BeginCopyFrom
calls=500 3152
* 2545960
* 500
+2 1500
cfn=(5300) CopyFrom
calls=500 2285
* 274352386
* 1000
+1 1500
cfn=(5534) EndCopyFrom
calls=500 3635
* 541506
* 500
+16 1000
+1 4000
cfi=(171)
cfn=(3092)
calls=500 1283
* 56500
+1 2500
fn=(5256)
4827 7000
+1 1000
+2 2000
+3 3000
+3 2000
+2 11000
+2 6000
cfi=(45)
cfn=(5258)
calls=1000 147
* 290000
* 1000
-4 8000
+55 1000
+1 4000
fn=(5344) NextCopyFromRawFields
3395 528000
+8 354000
+7 440000
+3 264000
cfn=(5346) CopyReadLine
calls=88000 3651
* 45312500
* 88000
+7 178000
+1 1000
+3 350000
+1 262500
cfn=(5354) CopyReadAttributesCSV
calls=87500 4355
* 14824500
* 175000
+4 350000
+1 262500
+1 87500
+1 176000
fn=(5284) ProcessCopyOptions
1047 5000
+1 500
+4 1000
+3 1500
+2 1000
+3 1500
cfi=(46)
cfn=(966)
calls=500 78
* 5000
* 1000
+2 1500
+2 2500
cob=(3)
cfi=(3)
cfn=(446)
calls=500 0
* 26000
* 500
* 1000
+2 1500
cfi=(307)
cfn=(5286)
calls=500 50
* 11000
* 500
+2 1000
+5 500
+1 2000
cob=(3)
cfi=(3)
cfn=(446)
calls=500 0
* 11000
* 500
* 1000
+2 2000
cob=(3)
cfi=(3)
cfn=(446)
calls=500 0
* 11000
* 500
* 1000
+1 1500
+4 500
-21 3500
1238 2000
+5 2000
+6 2000
+1 4000
+2 2000
+1 4000
+1 2000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1500
+2 2000
+2 2000
+1 1000
+1 2000
+1 2000
+4 2000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1000
+6 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
* 1000
+1 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
-1 1000
+6 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
* 1000
+1 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
-1 1000
+16 2500
+8 2500
+6 2500
+5 4000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1000
+5 6000
+6 2500
+5 4000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1000
+6 2500
+4 4000
+6 2500
+4 2000
+6 2500
+5 2000
+6 4500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
* 1000
+6 2000
+1 4500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
-1 1000
+5 2500
fn=(5342) NextCopyFrom
3448 704000
+4 264000
+1 264000
+1 264000
+2 264000
+1 264000
+2 352000
+1 264000
+1 352000
cfi=(46)
cfn=(5298)
calls=88000 90
* 880000
* 88000
+3 3168000
+1 1672000
cob=(3)
cfi=(3)
cfn=(828)
calls=88000 0
* 1760000
* 88000
+2 440000
+9 528000
cfn=(5344)
calls=88000 -81
* 63653500
* 264000
+1 1000
+3 525000
+5 87500
+3 350000
cfi=(46)
cfn=(966)
calls=87500 78
* 875000
* 175000
+2 262500
+1 262500
+1 875000
+2 262500
+5 787500
+2 350000
+7 350000
+2 175000
+9 875000
+13 350000
+1 262500
+1 612500
+2 437500
-2 1225000
cfi=(161)
cfn=(5000) InputFunctionCall
calls=87500 1710
* 31560500
* 87500
+4 175000
+1 437500
+1 175000
+1 175000
-53 700000
3614 437500
+13 87500
+1 352000
fn=(5536) EndCopy
1736 2500
+1 2000
+6 4000
cfi=(25)
cfn=(1374)
calls=500 2385
* 255022
* 1000
+7 2000
cfi=(13)
cfn=(1396)
calls=500 212
* 224484
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 2000
fn=(5278)
3152 6000
+2 1500
+13 5500
cfn=(5280) BeginCopy
calls=500 1401
* 1105500
* 500
+1 2000
cfi=(306)
cfn=(5282)
calls=500 110
* 5000
* 500
+3 1000
+1 1000
+1 3000
+1 1000
+1 1000
+1 1000
+3 2000
cfi=(80)
cfn=(1888)
calls=500 47
* 77000
+1 2000
cfi=(80)
cfn=(1888)
calls=500 47
* 77000
+1 1000
+1 1000
cfi=(13)
cfn=(940)
calls=500 925
* 175748
* 1000
+1 3000
+3 1000
+1 2000
+2 2000
+1 1500
+1 500
+1 500
+8 3500
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+2 1000
+2 5500
+3 2000
+4 2000
+5 2000
-1 4000
cfi=(275)
cfn=(5126)
calls=500 2609
* 255500
+2 6500
cfi=(161)
cfn=(2942)
calls=500 125
* 41000
+3 3000
cfi=(45)
cfn=(5290)
calls=500 486
* 15000
* 1500
-18 3500
+55 1500
+1 1500
+1 1500
+1 1500
+1 1500
+1 1500
+1 1500
+2 1000
+5 1000
+10 1500
cfi=(13)
cfn=(928)
calls=500 1162
* 102500
* 1000
+2 2000
+13 2500
cfi=(25)
cfn=(1278)
calls=500 2186
* 258417
* 1000
+1 2000
+14 2000
cob=(3)
cfi=(3)
cfn=(1940)
calls=500 0
* 3000
* 500
* 2000
cfi=(9)
cfn=(5292)
calls=500 0
* 8795
* 1000
+6 2000
+7 2000
+43 2500
+2 2000
cfi=(46)
cfn=(5298)
calls=500 90
* 5000
* 500
+2 1500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 1000
+3 1500
cfi=(306)
cfn=(5282)
calls=500 110
* 5000
+2 500
+1 2500
fn=(5534)
3635 2000
+3 1500
cfn=(5536)
calls=500 1736
* 537006
+1 1000
fn=(5280)
1401 5500
+7 1000
cfi=(13)
cfn=(2546)
calls=500 956
* 270500
* 500
+6 3500
cfi=(14)
cfn=(432)
calls=500 395
* 53500
* 1000
+4 2000
cfi=(306)
cfn=(5282)
calls=500 110
* 5000
* 500
+3 3000
cfn=(5284)
calls=500 1047
* 303500
+3 1000
+4 1500
+2 2500
1570 3500
cfn=(5256)
calls=500 4827
* 168000
* 1000
+2 1500
+3 2000
cfi=(13)
cfn=(2546)
calls=500 956
* 73000
* 1000
+1 2000
+7 2000
+22 2000
cfi=(13)
cfn=(2546)
calls=500 956
* 73000
* 1000
+1 2000
+22 2000
cfi=(13)
cfn=(2546)
calls=500 956
* 73000
* 1000
+1 2000
+22 2000
+24 2000
+1 500
cfi=(19)
cfn=(5288)
calls=500 307
* 3000
* 1000
+8 1500
cfi=(19)
cfn=(612)
calls=500 1005
* 3000
* 1000
+1 500
cfi=(43)
cfn=(942)
calls=500 1834
* 9000
-1 2500
-1 1000
+4 4000
+2 1000
+2 1500
cfi=(306)
cfn=(5282)
calls=500 110
* 5000
+2 500
+1 2000
fn=(5300)
2285 3000
+7 500
+1 500
cfi=(243)
cfn=(4366)
calls=500 86
* 335353
* 500
+4 1000
+2 500
+1 500
+2 1000
cfi=(26)
cfn=(3012)
calls=500 662
* 5000
* 500
+1 500
+3 500
+1 500
+3 500
+4 500
+1 500
+1 500
+1 500
+1 500
+1 1000
+9 3000
+29 2000
+51 3000
+1 1500
-1 1000
+2 1500
-1 1000
+19 2000
+46 2000
cfi=(13)
cfn=(2950)
calls=500 853
* 134500
* 2500
+1 4000
cfi=(304)
cfn=(5302)
calls=500 1286
* 148000
+5 1000
+3 2000
cfi=(304)
cfn=(5308)
calls=500 1081
* 25500
+2 2000
cfi=(310)
cfn=(5312)
calls=500 150
* 10000
+2 1500
+1 1000
+1 1500
+2 3000
cfi=(243)
cfn=(5314)
calls=500 720
* 163500
+3 3000
cfi=(260)
cfn=(5316)
calls=500 1683
* 336803
* 500
+3 2500
cfi=(260)
cfn=(5316)
calls=500 1683
* 212500
* 1000
+7 2000
cfi=(13)
cfn=(2950)
calls=500 853
* 211500
* 2500
+1 1000
+1 1500
+1 1000
+1 2000
+2 2000
+6 500
cfi=(167)
cfn=(5330)
calls=500 4810
* 3500
+12 1000
-1 4000
cfi=(167)
cfn=(5332)
calls=500 4688
* 6000
-1 3000
+9 3000
+9 2000
+12 1000
+12 2000
+1 1000
-1 1000
+42 1000
+6 500
+2 1000
cfi=(13)
cfn=(940)
calls=500 925
* 336812
* 500
+3 3500
+3 3500
+9 2500
cfi=(167)
cfn=(5334)
calls=500 2450
* 8000
+2 3000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+1 2500
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+2 500
cfi=(171)
cfn=(5336)
calls=500 2377
* 725526
* 500
+1 3500
cfi=(243)
cfn=(5340)
calls=500 415
* 377817
* 500
+3 500
+1 1000
+1 1000
+1 1000
+7 264000
+2 176000
+7 4500
cfi=(13)
cfn=(3758)
calls=500 137
* 7500
+4 880000
cfi=(306)
cfn=(5282)
calls=88000 110
* 880000
+2 528000
cfn=(5342)
calls=88000 3448
* 118822000
* 264000
+1 500
2985 1500
2671 525000
cfi=(190)
cfn=(5364)
calls=87500 1025
* 42834595
* 87500
+6 437500
+3 262500
cfi=(306)
cfn=(5282)
calls=87500 110
* 875000
+3 175000
+1 525000
cfi=(260)
cfn=(5372)
calls=87500 1275
* 6825000
+3 175000
2859 87500
+3 175000
+10 350000
+2 175000
+11 350000
+1 350000
-1 175000
+10 350000
+9 175000
+3 175000
+1 1500
+1 4500
+1 2000
+8 1000
-9 783000
+1 348000
+8 436500
+62 87500
+2 87500
+5 1000
+8 8000
cfn=(5378) CopyFromInsertBatch
calls=500 +69
* 91203117
+7 1000
+2 1500
cfi=(171)
cfn=(5502)
calls=500 2391
* 282604
+2 1500
cfi=(306)
cfn=(5282)
calls=500 110
* 5000
+6 2000
+4 3500
cfi=(167)
cfn=(5506)
calls=500 2508
* 6500
+3 1500
cfi=(167)
cfn=(5508)
calls=500 4830
* 7000
+2 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 36000
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 36000
+2 2500
cfi=(260)
cfn=(5510)
calls=500 1113
* 131000
+3 2000
+5 1500
cfi=(310)
cfn=(5520)
calls=500 225
* 8500
+3 1000
+4 1500
cfi=(304)
cfn=(5522)
calls=500 1454
* 11000
+2 1500
cfi=(243)
cfn=(5524)
calls=500 195
* 659259
+6 2000
+3 500
+1 2500
fn=(5348) CopyReadLineText
3740 528000
+4 88000
+1 88000
+1 88000
+4 88000
+1 88000
+1 88000
+1 88000
+1 88000
+2 352000
+2 352000
+1 352000
+2 264000
+1 88000
+3 88000
+23 264000
+1 264000
+1 264000
+17 1480500
+2 4000
+6 3000
cfn=(5350) CopyLoadRawBuf
calls=1000 749
* 345500
* 3000
+1 500
+1 500
+1 1500
+6 1000
-7 500
+1 1500
+6 1000
+2 500
+1 500
+2 500
+4 1000
+1 4000
+2 2000
-3 591000
+1 2364000
+2 1182000
+11 1184000
+13 592000
+2 888000
+2 888000
+1 296000
+8 592000
+5 592000
+56 1379500
+2 700000
+9 175000
+2 87500
+7 417000
4072 834000
+11 208500
+1 208500
+5 1664500
cfi=(80)
cfn=(1920) appendBinaryStringInfo
calls=87500 215
* 7615000
* 262500
+2 87500
+1 437500
-1 500
+1 2500
fn=(5350)
749 4000
+4 6000
+8 1000
+2 13000
cfn=(5352) CopyGetData
calls=1000 567
* 303500
* 1000
+2 2000
+1 6000
+1 2000
+1 3000
+1 2000
+1 2000
fn=(5352)
567 8000
+1 1000
+2 6000
+3 8000
cob=(3)
cfi=(3)
cfn=(1336)
calls=1000 0
* 226500
* 1000
* 1000
+1 4000
cob=(3)
cfi=(3)
cfn=(1366)
calls=1000 0
* 36000
* 1000
* 2000
+4 2000
+1 1000
+1 1000
+88 1000
+1 4000
fn=(5354)
4355 437500
+1 350000
+1 350000
+1 350000
+10 350000
+9 350000
cfi=(80)
cfn=(1890)
calls=87500 63
* 1050000
+9 525000
+2 262500
+3 262500
+1 612500
+3 87500
+3 87500
+1 87500
+6 350000
+8 175000
+1 700000
+16 175000
+1 262500
-1 417000
+1 625500
+1 87500
+1 1042500
+2 625500
+6 625500
+6 1042500
+1 208500
+48 350000
+3 437500
+1 700000
+4 87500
+2 350000
+1 87500
+4 87500
+2 700000
+2 175000
+1 350000
fn=(5378)
3064 4500
+4 1500
+6 1000
+1 1500
+6 5000
cfi=(306)
cfn=(5282)
calls=500 110
* 5000
* 500
+1 5000
cfi=(171)
cfn=(5380)
calls=500 2699
* 91164617
+6 1500
cfi=(306)
cfn=(5282)
calls=500 110
* 5000
+6 2000
+22 2000
+14 1500
+1 1500
+1 1000
fn=(5346)
3651 352000
+3 352000
cfi=(80)
cfn=(1890)
calls=88000 63
* 1056000
+1 176000
+3 176000
+3 264000
cfn=(5348)
calls=88000 +79
* 28620000
* 88000
+2 176000
+7 2000
+14 350000
+5 437500
+1 612500
+1 87500
+22 352000
+4 792000
cfi=(19)
cfn=(3840)
calls=88000 562
* 10539000
* 88000
+3 352000
+10 176000
+2 88000
+1 176000
fl=(82)
fn=(1912) _conv
501 294
+3 294
cfi=(17)
cfn=(1138)
calls=42 231
* 20595
+1 252
cfn=(1914) _add
calls=42 +5
* 2100
+1 84
fn=(1914)
510 240
+1 48
+1 102
-1 1950
+2 48
+1 96
fn=(1910) _yconv
527 60
+5 156
+1 180
+1 78
+1 12
+5 12
+5 12
+2 12
+3 36
cfn=(1912)
calls=6 -49
* 3366
* 6
+2 12
+1 60
cfn=(1912)
calls=6 -52
* 3366
* 6
+1 6
+1 12
fn=(1906)
123 42
+2 6
+2 60
cfn=(1908) _fmt
calls=6 +10
* 27075
* 6
+1 30
+2 12
+1 24
+1 12
fn=(1908)
137 48
+1 6
+2 450
+3 378
+55 42
cfn=(1912)
calls=6 501
* 3384
* 6
+1 6
+18 42
cfn=(1912)
calls=6 501
* 3384
* 6
+1 6
+42 42
cfn=(1912)
calls=6 501
* 3366
* 6
+1 6
+2 54
cfn=(1912)
calls=6 501
* 3384
* 6
+1 6
+17 42
cfn=(1912)
calls=6 501
* 3369
* 6
+1 6
434 66
cfn=(1910)
calls=6 +93
* 7392
* 6
+3 6
+2 24
+1 42
cfn=(1914)
calls=6 +70
* 384
* 6
+7 6
+45 180
+2 360
138 534
496 6
+1 12
fl=(98)
fn=(2042)
1804 3
+8 7
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(3674)
1663 4
+8 12
+1 12
+6 2
+1 4
cfi=(207)
cfn=(3676)
calls=2 279
* 24
+1 2
+1 4
fn=(2202)
1821 3
+5 1
+1 1
+4 2
-2 8
cfi=(93)
cfn=(2196)
calls=1 167
* 2548
+6 2
-2 8
cfi=(93)
cfn=(2196)
calls=1 167
* 3462
+7 3
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1091
* 1
+3 4
+5 10
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 15
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 114
* 1
+9 3
+1 8
+1 2
fl=(120)
fn=(2180)
170 307765
+12 123106
-5 553977
+7 123106
+1 123106
fl=(251)
fn=(4488) assign_list_collations
156 20
+3 12
cfi=(222)
cfn=(4336)
calls=4 -81
* 40
* 8
+2 12
+2 20
cfn=(4490) assign_expr_collations
calls=4 +15
* 4863
-4 28
+6 8
fn=(4500) merge_collation_state
762 165
+6 60
+3 21
+1 21
+1 21
+2 14
+6 32
+3 31
+6 8
+26 2
-28 10
+51 75
fn=(4486)
127 180
+2 72
+1 56
+6 32
+3 32
+1 20
cfn=(4488)
calls=4 +16
* 5011
* 4
+2 20
cfn=(4490)
calls=4 +36
* 648
+2 8
+1 72
fn=(4482)
102 20
+7 24
cfi=(250)
cfn=(4484)
calls=4 2266
* 6587
+5 8
fn=(4492) assign_collations_walker
256 64
+7 16
+8 24
+1 8
+1 8
+1 8
+2 8
+1 8
+8 80
445 20
cfi=(250)
cfn=(4494)
calls=4 1843
* 4427
+9 8
+1 8
+1 8
+15 8
+10 4
+7 20
cfi=(250)
cfn=(4494)
calls=4 1843
* 424
+10 8
742 40
cfn=(4500)
calls=4 +20
* 124
+7 4
+1 48
fn=(4493)
256 152
+7 38
+1 16
+7 33
+1 11
+1 11
+1 11
+2 11
+1 11
+8 166
555 21
cfi=(250)
cfn=(4496)
calls=7 721
* 147
* 7
+11 14
+1 6
+2 4
+1 12
cfi=(250)
cfn=(4498)
calls=4 1193
* 96
* 9
cfi=(250)
cfn=(4498)
calls=3 1193
* 72
* 7
+1 7
+15 32
+90 20
cfi=(250)
cfn=(4495)
calls=4 1843
* 3215
+3 4
+6 12
cfi=(250)
cfn=(4478)
calls=4 43
* 96
* 8
cfi=(275)
cfn=(5028)
calls=4 2791
* 1896
* 4
+1 8
+3 12
+3 6
+1 6
+1 9
+10 2
+1 1
+1 3
cfi=(250)
cfn=(4498)
calls=1 1193
* 71
* 2
+16 8
+3 20
cfi=(250)
cfn=(5030)
calls=4 974
* 76
+6 12
+3 20
cfi=(250)
cfn=(5032)
calls=4 1129
* 69
+2 4
+6 40
cfn=(4500)
calls=4 +20
* 126
* 70
cfn=(4500)
calls=7 +20
* 210
+7 11
+1 114
fn=(4490)
178 40
+4 16
+1 8
+1 8
+1 8
+3 40
cfn=(4492)
calls=8 +68
* 5375
+1 16
fl=(28)
fn=(784)
41 95
+5 38
+1 76
cob=(3)
cfi=(3)
cfn=(756)
calls=19 -47
* 722
* 19
+1 19
+2 38
+1 3
+2 6
cob=(5)
cfi=(5)
cfn=(782) sigaction
calls=1 -53
* 109
* 1
* 108
cob=(5)
cfi=(5)
cfn=(782)
calls=18 -53
* 1962
* 18
* 38
+2 19
+4 38
fn=(776)
72 35
+4 14
+1 28
cob=(3)
cfi=(3)
cfn=(756)
calls=7 -77
* 266
* 7
+1 7
+2 14
+1 3
+2 6
cob=(5)
cfi=(5)
cfn=(782)
calls=1 -83
* 109
* 1
* 36
cob=(5)
cfi=(5)
cfn=(782)
calls=5 -83
* 545
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -83
* 922
* 10
* 14
+2 7
+1 14
fl=(77)
fn=(1974) getaddrinfo_unix
167 6
+5 2
+2 69
+2 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+3 2
+6 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 22
* 1
+2 3
+3 3
+6 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1498
* 5
* 1
+1 2
+3 3
cob=(3)
cfi=(3)
cfn=(1722)
calls=1 0
* 355
* 1
* 1
+1 2
+6 2
+1 3
+1 3
+1 2
+1 2
+1 3
+2 2
+1 3
+1 2
+2 6
cob=(3)
cfi=(3)
cfn=(810)
calls=1 0
* 62
* 1
+6 1
+1 2
fn=(1630)
59 77
+4 22
+3 44
+1 6
cfn=(1974)
calls=1 167
* 2104
* 1
+4 130
cob=(3)
cfi=(3)
cfn=(1636)
calls=9 -71
* 21987
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -71
* 92076
* 14
* 10
+3 10
+1 22
fn=(1942)
89 55
+2 22
+3 1
+2 2
+2 3
+1 4
cob=(3)
cfi=(3)
cfn=(590)
calls=1 -99
* 85
* 1
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 89
* 1
-6 5
+13 20
+1 30
cob=(3)
cfi=(3)
cfn=(1948)
calls=9 0
* 2789
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1580
* 14
+2 22
fn=(1832)
126 27
+4 18
+1 10
cfn=(2760) getnameinfo_unix
calls=1 235
* 457
* 2
+6 20
cob=(3)
cfi=(3)
cfn=(1838)
calls=1 0
* 1800
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 2205
* 6
* 2
+5 6
+8 3
+1 6
fn=(2760)
235 9
+4 8
+4 2
+2 8
cfi=(17)
cfn=(462)
calls=1 -42
* 232
* 1
+1 5
+4 2
+2 10
cfi=(17)
cfn=(462)
calls=1 -49
* 171
* 1
+1 5
+4 1
+1 2
fl=(94)
fn=(2030) CLOGShmemBuffers
684 4
+1 34
+1 4
fn=(2194)
699 4
+1 1
+2 2
-1 2
cfn=(2030)
calls=1 -17
* 21
* 8
cfi=(93)
cfn=(2196)
calls=1 167
* 4671
+2 4
fn=(5698) TransactionIdSetPageStatusInternal
348 9
+18 8
cfi=(93)
cfn=(5700) SimpleLruReadPage
calls=1 +11
* 111
* 1
+11 2
+3 2
+2 5
+10 6
cfn=(5702) TransactionIdSetStatusBit
calls=1 573
* 84
+4 5
+6 6
+1 2
fn=(5702)
573 6
+1 4
+1 4
+5 11
+1 9
+8 3
+14 3
+1 7
+1 6
+1 3
+10 2
+2 7
+2 9
+1 8
+2 2
fn=(5694) TransactionIdSetPageStatus
277 11
+19 8
+2 3
-1 2
+2 9
cob=(3)
cfi=(3)
cfn=(3074)
calls=1 0
* 13
* 1
-1 2
+17 5
cfi=(99)
cfn=(5696)
calls=1 1294
* 129
* 2
+3 10
cfn=(5698)
calls=1 +30
* 241
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 1
+16 2
fn=(5390)
868 4
+7 6
+2 1
+10 2
fn=(5692)
165 8
+1 3
+10 5
+9 3
+5 11
cfn=(5694)
calls=1 +87
* 534
* 1
+38 2
fn=(2028)
693 2
+1 1
cfn=(2030)
calls=1 -10
* 21
* 3
cfi=(93)
cfn=(2020)
calls=1 146
* 59
+1 2
fl=(121)
fn=(5680)
203 4
+1 10
+1 2
fn=(2188)
194 246212
+1 307765
+1 123106
fn=(5674)
212 4
+1 10
+1 2
fl=(15)
fn=(448)
130 12
+5 8
cob=(3)
cfi=(3)
cfn=(454)
calls=1 0
* 34
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1294
* 6
* 4
+10 6
cfi=(11)
cfn=(456)
calls=2 -41
* 54
* 4
+2 8
+3 12
cfi=(11)
cfn=(458)
calls=2 +70
* 4184
+1 6
cfi=(11)
cfn=(484)
calls=2 255
* 2197
+2 6
cfn=(488) validate_exec
calls=2 -84
* 2684
* 4
+1 6
cfn=(504) resolve_symlinks
calls=2 +79
* 7080
* 2
+63 8
fn=(488)
69 8
+24 10
cfi=(9)
cfn=(490)
calls=2 -93
* 1318
* 4
+3 8
+8 8
cob=(3)
cfi=(3)
cfn=(502)
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1265
* 6
* 8
+1 8
cob=(3)
cfi=(3)
cfn=(502)
calls=2 0
* 10
* 2
* 8
+5 12
+1 4
fn=(504)
233 10
+19 8
cob=(3)
cfi=(3)
cfn=(454)
calls=2 0
* 68
* 2
* 4
+12 6
cfi=(11)
cfn=(378)
calls=2 139
* 840
* 2
+1 4
+2 4
+1 6
cob=(3)
cfi=(3)
cfn=(510)
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1258
* 6
* 4
+6 8
+5 10
cfi=(9)
cfn=(512)
calls=2 0
* 1325
* 4
+1 4
-1 4
+17 12
cfi=(16)
cfn=(460)
calls=2 46
* 300
+2 8
cob=(3)
cfi=(3)
cfn=(454)
calls=2 0
* 68
* 2
* 4
+6 12
cfi=(11)
cfn=(458)
calls=2 -84
* 857
+1 6
cfi=(11)
cfn=(484)
calls=2 -50
* 2197
+2 6
cob=(3)
cfi=(3)
cfn=(510)
calls=2 0
* 10
* 2
* 4
+8 2
+1 8
fn=(438)
566 5
+8 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1325
* 5
* 2
+15 5
cfn=(448)
calls=1 130
* 13165
* 2
+19 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1709
* 5
* 2
+2 5
cfi=(11)
cfn=(524)
calls=1 714
* 4676
+3 8
cfi=(17)
cfn=(462)
calls=1 203
* 1676
+1 4
cfi=(11)
cfn=(484)
calls=1 255
* 1165
+1 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 296
* 1
* 1
+1 2
+1 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 4409
* 5
+2 2
fl=(227)
fn=(3976)
220 2016
+10 1512
cfi=(223)
cfn=(3940)
calls=504 90
* 5040
* 1008
+2 1512
cfi=(223)
cfn=(3942)
calls=504 78
* 5040
* 1008
+2 2016
+2 1006
+2 2012
+2 2012
+2 12
+3 6
+2 2000
+2 2000
cfi=(224)
cfn=(3978)
calls=500 1747
* 9000
* 1000
+3 1000
+4 4
+2 2
+2 4
+2 4
+7 4
+2 4
cfi=(224)
cfn=(3978)
calls=1 1747
* 18
* 2
+3 2
+52 1008
fn=(3980)
625 7
+5 4
+1 1
+29 4
fn=(3988)
689 10
+15 2
+1 2
+2 3
+10 3
cfi=(156)
cfn=(3990) MarkPortalActive
calls=1 393
* 26
+4 3
+16 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 8
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 4
+2 2
+1 4
+1 3
+1 3
+2 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+2 6
+44 10
cfn=(3992) PortalRunMulti
calls=1 1206
* 376458078
+4 3
cfi=(156)
cfn=(5608) MarkPortalDone
calls=1 412
* 30
+3 1
+1 1
+28 4
+2 4
+1 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
* 1
+3 2
+1 3
+1 3
+3 2
+2 3
+5 1
+1 2
fn=(3974)
445 11
+14 2
+1 2
+1 2
+1 8
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 4
+2 2
+1 4
+1 3
+1 3
+2 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
* 1
+3 3
+5 4
cfn=(3976)
calls=1 220
* 84
* 2
+5 7
586 2
+1 1
+15 4
+2 3
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+2 2
+1 2
+1 2
+2 3
+1 7
fn=(3994) PortalRunUtility
1134 10
+1 3
+14 4
+1 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+3 2
-2 2
+3 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-10 2
+12 1
cfi=(110)
cfn=(2998)
calls=1 305
* 588
* 1
+2 2
+5 3
cfi=(110)
cfn=(3996)
calls=1 734
* 390
+2 1
cfi=(110)
cfn=(3998)
calls=1 840
* 6
* 2
+5 17
cfi=(224)
cfn=(4000)
calls=1 345
* 376456472
+9 4
cfi=(211)
cfn=(3756)
calls=1 110
* 10
+7 3
cfi=(110)
cfn=(4630)
calls=1 852
* 7
* 2
+1 1
cfi=(110)
cfn=(3998)
calls=1 840
* 6
-1 2
+2 1
cfi=(110)
cfn=(4848)
calls=1 813
* 264
+1 2
fn=(3992)
1206 11
+1 1
+13 4
+2 4
+7 4
cfi=(223)
cfn=(3942)
calls=1 78
* 10
* 2
+2 3
+5 3
+2 4
+79 4
+4 10
cfn=(3994)
calls=1 1134
* 376457838
* 1
+16 4
+8 4
cfi=(13)
cfn=(3732)
calls=1 257
* 11
1229 7
1349 2
+15 6
+2 4
+1 6
cob=(3)
cfi=(3)
cfn=(810)
calls=1 0
* 14
* 1
+1 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+3 4
fl=(12)
fn=(416)
127 6
+1 2
+1 2
+9 1
+7 2
+2 26
+1 42
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 34
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1291
* 7
* 6
-3 15
+6 2
+10 2
+2 600
+1 840
cob=(3)
cfi=(3)
cfn=(424)
calls=60 0
* 1502
* 60
* 120
-3 548
+6 3
+1 8
+5 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1445
* 5
* 1
+1 2
+5 2
+2 780
cob=(3)
cfi=(3)
cfn=(384)
calls=60 0
* 17739
* 60
* 60
+1 480
-3 548
+9 6
+1 2
+22 6
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 1
+1 2
+5 2
+2 39
cob=(3)
cfi=(3)
cfn=(384)
calls=3 0
* 732
* 3
* 3
+1 24
-3 15
+9 6
+11 2
+4 1
+1 4
fn=(2800)
251 7
+7 4
+4 3
+5 3
+18 2
+1 18
-1 11
+20 4
+2 12
cfi=(17)
cfn=(462)
calls=1 203
* 923
* 1
+11 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 23
* 1
* 3
+2 4
cfn=(2802)
calls=1 +12
* 743
+2 2
fn=(2802)
332 30
+3 36
+4 20
+5 15
+5 50
cfi=(16)
cfn=(460)
calls=5 46
* 624
+2 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 118
* 5
* 5
+26 20
+1 80
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 480
* 4
+2 10
+22 10
fl=(201)
fn=(3592)
266 12
+3 6
+7 4
fl=(100)
fn=(3004)
1520 7540
+1 3016
+5 1508
+1 1508
+1 1508
+1 1508
+1 1508
+15 6032
+7 2
cfn=(3006) GetMaxSnapshotXidCount
calls=2 -85
* 12
* 8
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 573
* 2
* 2
-1 4
+2 8
+6 2
cfn=(3008) GetMaxSnapshotSubxidCount
calls=2 -81
* 20
* 8
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 587
* 2
* 2
-1 4
+2 8
+10 7540
cfi=(99)
cfn=(2170)
calls=1508 1122
* 205088
+3 4524
+2 4524
+3 6032
+2 1508
cfi=(53)
cfn=(2878)
calls=1508 7896
* 16588
* 3016
+2 7540
+2 4524
+8 4524
+1 3016
+2 42938
+1 55206
+7 36804
+5 18402
+1 12268
+1 6344
-1 3172
+5 18402
+8 12268
+1 8982
+1 6134
-31 30568
1720 4524
+1 4524
+2 6032
+1 15
+2 12
cfi=(99)
cfn=(2182)
calls=3 *
* 270
* 6020
cfi=(99)
cfn=(2182)
calls=1505 *
* 135450
+7 7540
cfi=(168)
cfn=(3010)
calls=1508 301
* 25636
* 3016
+4 7540
+1 4524
+4 3016
+5 3016
+6 3016
+4 3016
+2 4524
+1 4524
+1 4524
+1 4524
+1 4524
+2 3016
cfi=(26)
cfn=(3012)
calls=1508 662
* 13572
* 3016
+6 3016
+1 3016
+1 3016
+2 4524
+6 3016
+1 4524
+14 1508
+1 6032
fn=(2254)
223 3
+8 3
-3 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 888
-1 1
+7 4
+5 2
+1 5
+1 8
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+3 3
+1 3
+3 3
+5 6
-2 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1069
-1 1
+7 6
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1166
-1 1
+7 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+1 2
fn=(2870)
277 5
+1 2
+3 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 6
+22 2
+6 16
-6 4
+11 3
-1 20
cob=(3)
cfi=(3)
cfn=(482)
calls=1 0
* 19
* 1
+2 7
+1 5
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 4
fn=(3006)
1467 4
+1 4
+1 4
fn=(3008)
1478 4
+1 12
+1 4
fn=(2048)
181 3
+6 1
+1 7
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+18 3
+4 6
-2 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 6
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 1
+1 2
fn=(5776)
335 5
+1 2
+9 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 2
+15 2
+2 9
+4 4
-1 20
cob=(3)
cfi=(3)
cfn=(482)
calls=1 0
* 12
* 1
+2 7
+1 5
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 1
-10 4
+18 2
fn=(3654)
398 10
+1 20
+2 4
+15 5
cfi=(99)
cfn=(5696)
calls=1 1294
* 129
* 2
+2 6
cfn=(5706) ProcArrayEndTransactionInternal
calls=1 +35
* 56
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
* 1
+14 2
+1 2
+2 6
+1 2
+1 2
+5 4
fn=(5706)
453 6
+1 2
+1 2
+1 2
+2 6
+1 2
+1 2
+3 2
+1 2
+3 6
cfi=(168)
cfn=(3010)
calls=1 301
* 17
* 2
+2 3
+1 2
fl=(315)
fn=(5422)
160 56000
+1 63000
+1 21000
+11 28000
+1 8000
+7 9000
+1 15000
+2 3000
+43 6000
+1 3000
+2 18000
+1 3000
-3 6000
+17 9000
+48 9000
+10 15000
+2 3000
+1 14000
fn=(5460)
64 17500
+1 7500
+1 7500
+5 12500
+3 7500
+3 12500
+8 2500
+4 17500
+1 10000
+1 7500
+2 12500
+1 7500
-9 17000
+4 119000
+1 68000
+1 51000
+2 85000
+1 51000
+1 156000
+3 97500
+1 58500
+1 1000
+2 92500
+1 37000
+6 10000
+3 2500
+1 5000
fn=(5464)
139 7500
+1 7500
+2 5000
+1 5000
fl=(95)
fn=(5392)
785 4
+9 5
+1 1
+18 2
fn=(2034) CommitTsShmemBuffers
471 4
+1 34
+1 4
fn=(2032)
480 2
+1 1
cfn=(2034)
calls=1 -10
* 21
* 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 1
+2 2
fn=(2198)
491 4
+3 1
+2 2
-1 2
cfn=(2034)
calls=1 -24
* 21
* 8
cfi=(93)
cfn=(2196)
calls=1 167
* 3371
+4 5
cfi=(87)
cfn=(2168)
calls=1 373
* 983
* 1
+4 4
+4 2
+1 3
+1 2
+1 2
+4 4
fn=(5686)
148 11
+13 5
+1 1
+62 2
fl=(249)
fn=(5084) transformParamRef
812 14
+7 8
+1 14
cfi=(293)
cfn=(5086)
calls=2 405
* 1381
* 4
+4 4
+6 2
+1 10
fn=(4448) transformExprRecurse
165 28
+3 8
+4 4
cfi=(52)
cfn=(4006)
calls=4 3263
* 108
+2 56
+12 4
+1 6
+2 14
cfi=(226)
cfn=(4450)
calls=2 471
* 522
* 2
+1 2
+22 2
+2 7
+3 5
cfn=(4870) transformAExprOp
calls=1 849
* 137929
* 1
+1 1
+40 1
+8 5
cfn=(4868) transformFuncCall
calls=1 1445
* 595337
* 1
+1 1
379 4
+1 20
fn=(4449) transformExprRecurse'2
165 49
+3 14
+4 7
cfi=(52)
cfn=(4006)
calls=7 3263
* 189
+2 117
+3 5
cfn=(4872) transformColumnRef
calls=1 510
* 959
* 1
+1 1
+3 10
cfn=(5084)
calls=2 812
* 1437
* 2
+1 2
+4 4
+1 6
+2 14
cfi=(226)
cfn=(4450)
calls=2 471
* 520
* 2
+1 2
+13 5
cfn=(5090) transformTypeCast
calls=1 2663
* 59947
* 1
+1 1
+8 2
+2 7
+3 5
cfn=(4870)
calls=1 849
* 528548
* 1
+1 1
+40 1
379 7
+1 35
fn=(5090)
2663 7
+2 3
+8 7
cfi=(291)
cfn=(5092)
calls=1 295
* 53483
+7 7
+11 4
+27 5
cfn=(4449)
calls=1 165
* 767
* 1
+2 3
cfi=(250)
cfn=(4478)
calls=1 43
* 24
* 1
+1 2
+8 3
+1 2
+3 11
cfi=(289)
cfn=(5102)
calls=1 83
* 5608
* 1
+5 2
+8 1
+1 5
fn=(4446)
147 24
+6 12
+1 12
+2 20
cfn=(4448)
calls=4 +9
* 734068
* 4
+2 12
+2 4
+1 8
fn=(4872)
510 8
+1 1
+1 1
+1 1
+1 1
+9 1
+6 4
+2 7
cob=(12)
cfi=(234)
cfn=(4874) plpgsql_pre_column_ref
calls=1 1065
* 16
* 1
+1 2
+27 4
cfi=(222)
cfn=(4876)
calls=1 90
* 10
* 6
+4 4
cfi=(222)
cfn=(4336)
calls=1 78
* 10
* 2
+3 3
+3 8
cfi=(285)
cfn=(4878)
calls=1 760
* 47
* 1
+2 2
+13 9
cfi=(285)
cfn=(4880)
calls=1 89
* 76
* 1
+3 2
+4 1
761 4
+4 7
cob=(12)
cfi=(234)
cfn=(4884) plpgsql_post_column_ref
calls=1 1079
* 704
* 1
+1 2
+1 3
+12 2
+28 1
+1 6
fn=(4868)
1445 5
+1 3
+5 1
+1 4
cfi=(222)
cfn=(4336)
calls=1 78
* 10
* 2
+3 4
-1 8
cfn=(4449)
calls=2 165
* 528955
* 10
cfi=(45)
cfn=(960)
calls=2 129
* 453
* 2
-2 12
+14 4
+13 12
cfi=(288)
cfn=(5016)
calls=1 80
* 65850
+7 2
fn=(4870)
849 10
+1 6
+1 6
+3 6
+27 6
+18 12
+17 12
+16 6
+2 10
cfn=(4449)
calls=2 165
* 1137
* 2
+1 10
cfn=(4449)
calls=2 165
* 61043
* 2
+2 24
cfi=(286)
cfn=(4902)
calls=2 749
* 604177
* 2
+8 2
+1 4
fl=(278)
fn=(4724)
2579 21
+5 3
+3 12
+37 6
fl=(93)
fn=(2318) SlruSelectLRUPage
967 10
+1 6
+7 2
+1 2
+1 2
+1 2
+1 2
+1 2
+3 4
+2 81
+1 63
-1 18
+2 2
-4 48
+34 6
+1 2
+5 9
+1 2
-6 4
+79 4
fn=(2326) SlruPhysicalWritePage
720 7
+1 3
+1 6
+1 7
+1 3
+2 1
+7 4
+40 2
+14 2
+19 11
cfi=(17)
cfn=(462)
calls=1 203
* 759
+1 4
cfi=(25)
cfn=(2328)
calls=1 2236
* 122
* 1
+1 2
+7 2
+19 7
cob=(5)
cfi=(5)
cfn=(1956)
calls=1 0
* 7
* 1
* 2
+9 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 1
+1 2
cfi=(68)
cfn=(1596)
calls=1 1239
* 14
+1 12
cob=(5)
cfi=(5)
cfn=(1568)
calls=1 0
* 7
* 1
* 2
+12 1
cfi=(68)
cfn=(1598)
calls=1 1263
* 13
+6 2
+2 2
cfi=(68)
cfn=(1596)
calls=1 1239
* 14
+1 4
+8 1
cfi=(68)
cfn=(1598)
calls=1 1263
* 13
+2 3
cfi=(25)
cfn=(2332)
calls=1 2413
* 74
* 2
+8 1
+1 2
fn=(2020)
146 56
+4 14
+1 84
+1 84
+1 70
+1 84
+1 84
+1 84
+2 28
+1 14
+2 16
+1 4
-1 96
+1 24
fn=(2316) SimpleLruZeroPage
264 5
+1 3
+4 5
cfn=(2318)
calls=1 967
* 229
* 1
+7 8
+1 7
+1 6
+1 24
+3 28
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 912
* 1
+3 5
cfn=(2320) SimpleLruZeroLSNs
calls=1 +20
* 14
+3 3
+2 1
+1 2
fn=(5700)
377 8
+1 3
+9 5
cfn=(2318)
calls=1 967
* 42
* 1
+3 9
+1 7
-1 2
+7 9
+1 7
-1 2
+9 12
+1 2
+43 2
fn=(2314) SlruInternalDeleteSegment
1248 5
+3 11
cfi=(17)
cfn=(462)
calls=1 203
* 464
+1 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+2 3
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 5
* 1
+1 2
fn=(2322) SimpleLruWritePage
579 5
+1 6
cfn=(2324) SlruInternalWritePage
calls=1 -72
* 1760
+1 2
fn=(2300) SlruScanDirectory
1377 6
+1 1
+6 4
cfi=(25)
cfn=(718)
calls=1 2447
* 340
* 1
+1 1
+4 12
cob=(3)
cfi=(3)
cfn=(424)
calls=3 0
* 45
* 3
* 3
+2 14
+1 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1321
* 5
-1 2
+3 6
cob=(3)
cfi=(3)
cfn=(1246)
calls=1 0
* 171
* 1
* 1
+1 3
+2 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 79
* 10
cfi=(57)
cfn=(2086)
calls=1 -61
* 96
+2 7
cfn=(2312) SlruScanDirCbDeleteAll
calls=1 -45
* 564
* 1
+1 2
-15 24
cfi=(25)
cfn=(2302)
calls=4 2513
* 589
* 12
+19 3
cfi=(25)
cfn=(738)
calls=1 2565
* 194
+2 1
+1 2
fn=(2324)
508 6
+1 3
+1 8
+4 10
+10 9
+1 7
-1 2
+2 7
-1 2
+8 7
+1 6
+3 9
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+3 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 118
+3 6
cfn=(2326)
calls=1 720
* 1129
* 1
+3 4
+9 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+6 4
+3 7
+2 8
cfi=(99)
cfn=(2182)
calls=1 1726
* 118
+3 4
+2 2
fn=(2312)
1354 7
+1 5
cfn=(2314)
calls=1 1248
* 549
+2 1
+1 2
fn=(2196)
167 63
+4 35
cfn=(2020)
calls=7 -25
* 371
* 42
cfi=(87)
cfn=(2168)
calls=7 373
* 6530
* 7
+4 28
+9 35
cob=(3)
cfi=(3)
cfn=(828)
calls=7 0
* 154
* 7
+2 21
+2 21
+1 21
+2 14
+4 14
+1 7
+1 35
+1 42
+1 35
+1 42
+1 35
+1 35
+1 35
+1 42
+1 35
+1 42
+3 35
+1 42
+2 14
+2 5
+1 7
+4 7
cfi=(16)
cfn=(460)
calls=1 46
* 94
* 42
cfi=(16)
cfn=(460)
calls=6 46
* 1208
+1 21
+2 28
+1 14
+2 1408
cfi=(99)
cfn=(2144)
calls=128 678
* 8192
+3 1024
+1 896
+1 768
+1 896
+1 128
-9 533
+20 14
-1 35
cfi=(99)
cfn=(2158)
calls=7 603
* 119
+7 21
+1 14
+1 84
cob=(3)
cfi=(3)
cfn=(950)
calls=7 0
* 604
* 7
* 35
+1 14
fn=(2320)
305 5
+1 3
+2 4
+3 2
fl=(199)
fn=(5244) parse_one_reloption
1157 10000
+4 1000
+2 4000
+6 8000
+1 5000
cfi=(13)
cfn=(940)
calls=1000 925
* 94500
* 1000
+1 13000
cob=(3)
cfi=(3)
cfn=(856)
calls=1000 0
* 13000
* 1000
+1 5000
+2 6000
+4 3000
cfi=(59)
cfn=(1224)
calls=500 31
* 88500
* 500
+1 1000
+6 500
+3 1500
+2 3500
cfi=(29)
cfn=(1240)
calls=500 5995
* 99000
* 500
+1 1000
+5 1000
+9 500
+38 2000
+1 2000
+1 4000
+1 3000
cfi=(13)
cfn=(952)
calls=1000 1032
* 72000
+1 5000
fn=(5236) initialize_reloptions
474 4
+4 1
+1 2
+4 6
-4 76
+6 2
+4 21
-4 241
+6 2
+4 7
-4 79
+6 2
+4 2
-4 29
+6 2
+2 3
+3 2
-1 6
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+3 1
+1 2
+2 78
+1 42
+1 90
cob=(3)
cfi=(3)
cfn=(424)
calls=6 0
* 110
* 6
* 6
+1 6
-5 76
+8 2
+2 273
+1 147
+1 315
cob=(3)
cfi=(3)
cfn=(424)
calls=21 0
* 419
* 21
* 21
+1 21
-5 241
+8 2
+2 84
+1 49
+1 105
cob=(3)
cfi=(3)
cfn=(424)
calls=7 0
* 131
* 7
* 7
+1 7
-5 79
+8 2
+2 24
+1 14
+1 30
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 38
* 2
* 2
+1 2
-5 29
+8 5
+7 6
+3 1
+1 4
fn=(5234) parseRelOptions
1065 4500
+1 500
+1 500
+4 1500
+1 1
cfn=(5236)
calls=1 474
* 3117
+4 1000
+1 180000
+1 9000
-2 166000
+4 1000
+2 4000
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+2 1500
+2 180000
+2 144000
+1 90000
+1 9000
-6 166000
+12 1500
+2 1500
cfi=(161)
cfn=(5008)
calls=500 1918
* 96000
* 500
+4 6000
cfi=(302) /home/mithuncy/fsm_code/src/backend/utils/adt/arrayfuncs.c
cfn=(5240) deconstruct_array
calls=500 3462
* 165500
+3 1000
+2 8000
+1 10000
+4 2000
+2 24000
+2 13000
+1 18000
cob=(3)
cfi=(3)
cfn=(1044)
calls=1000 0
* 47000
* 1000
-1 2000
+3 14000
cfn=(5244)
calls=1000 +38
* 450000
+2 1000
-9 7000
+13 3000
-20 5500
+36 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 1500
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+3 1500
+1 500
+1 2000
fn=(5246) allocateReloptStruct
1258 3000
+1 1000
+3 1000
+1 117000
-1 37500
+4 1500
cfi=(13)
cfn=(2546)
calls=500 956
* 99000
+1 1000
fn=(5230) heap_reloptions
1456 4000
+3 3500
+15 3000
cfn=(5232) default_reloptions
calls=500 1359
* 8465618
* 500
+8 1000
fn=(5248) fillRelOptions
1285 5000
+2 1000
+2 1000
+3 9000
+2 18000
+2 1795500
cob=(3)
cfi=(3)
cfn=(446)
calls=85500 0
* 3193500
* 85500
* 171000
+3 99000
+3 123000
+3 10000
+1 9000
+1 5500
-1 1500
-1 1000
+3 500
-3 1000
+3 500
+2 70000
+1 19500
+1 65000
-1 6500
-1 13000
+3 6500
-3 1000
+3 500
+2 10000
+1 2000
+1 10000
-1 1000
-1 2000
+3 1000
+24 9000
+1 9000
-49 333000
+52 18000
-57 37500
+61 2000
+1 1000
fn=(3560)
1000 3012
+6 9032
cfi=(190)
cfn=(3384)
calls=500 428
* 1045935
* 502
+4 1506
+1 4
+2 4000
+3 4500
+6 4000
cfn=(5230)
calls=500 1456
* 8477618
* 500
+1 500
+17 500
+1 1004
fn=(5232)
1359 3500
+44 3000
cfn=(5234)
calls=500 1065
* 1994618
* 500
+3 1500
+3 2500
cfn=(5246)
calls=500 1258
* 261000
* 500
+2 5000
cfn=(5248)
calls=500 1285
* 6148000
+3 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+2 500
+1 1000
fl=(229)
fn=(4012)
2093 8
+1 4
cfi=(13)
cfn=(2950)
calls=1 853
* 153
* 5
+2 1
+1 1
+7 4
cfi=(46)
cfn=(966)
calls=1 78
* 10
* 2
+2 3
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 2
+4 3
-10 7
+25 2
+1 5
+7 2
+3 1
+3 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 33203
* 1
+1 2
+7 8
+1 4
+1 4
+1 3
+2 4
+5 1
cfi=(54)
cfn=(3464)
calls=1 381
* 5
* 7
cfi=(230)
cfn=(4014)
calls=1 4668
* 51
* 1
+2 2
+1 1
+12 3
+1 2
+6 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+3 5
cfi=(161)
cfn=(4018) OidFunctionCall1Coll
calls=1 1406
* 376422206
+1 5
fl=(313)
fn=(5406)
317 20000
+1 10000
+1 2000
+2 2000
+1 2000
+5 8000
+8 4000
+7 46000
+3 4000
+3 2000
+15 10000
+6 12000
+1 6000
cfi=(50)
cfn=(3330)
calls=1500 2612
* 24000
* 3000
+2 3000
+2 5000
+6 3500
cfi=(314)
cfn=(5408)
calls=500 133
* 4696620
* 500
+7 1000
+10 2000
+15 4000
+3 12000
cfn=(5428) ReadBufferBI
calls=2000 82
* 849365
* 2000
+1 26000
+1 3000
cfi=(316)
cfn=(5432)
calls=500 221
* 1907521
+1 8000
cfi=(50)
cfn=(3240)
calls=2000 3553
* 330000
* 2000
+50 4000
+1 20000
cfn=(5436) GetVisibilityMapPins
calls=2000 125
* 106500
* 2000
+12 18000
+1 6000
cfi=(185)
cfn=(5440)
calls=2000 663
* 94000
* 2000
+1 10000
+3 4000
+1 1000
+9 6000
cfi=(50)
cfn=(3240)
calls=1500 3553
* 171000
+1 3000
+1 4500
cfi=(50)
cfn=(3360)
calls=1500 3316
* 220500
* 1500
+8 6000
+7 12000
cfi=(314)
cfn=(5452)
calls=1500 151
* 13272460
* 1500
397 7000
527 19500
+8 3000
+2 6000
+2 6000
cfi=(159)
cfn=(5468) ConditionalLockRelationForExtension
calls=1500 418
* 3206110
* 4500
+35 7500
cfn=(5428)
calls=1500 82
* 7691587
* 1500
+6 3000
+6 6000
cfi=(50)
cfn=(3240)
calls=1500 3553
* 247500
+8 3000
+1 6000
cfi=(159)
cfn=(5492) UnlockRelationForExtension
calls=1500 450
* 2867238
+7 13500
+2 6000
+5 7500
cfi=(185)
cfn=(5494)
calls=1500 42
* 1456500
+2 4500
cfi=(185)
cfn=(5440)
calls=1500 +52
* 63000
* 3000
+15 13500
cfi=(50)
cfn=(3330)
calls=1500 2612
* 24000
* 1500
+2 1500
+1 8000
fn=(5428)
82 21000
+4 7000
+4 14000
+2 12000
cfi=(50)
cfn=(3330)
calls=3000 2612
* 48000
* 6000
+2 6000
cfi=(50)
cfn=(5430)
calls=1500 3354
* 175500
+1 4500
+3 6000
cfi=(50)
cfn=(3360)
calls=1500 3316
* 361500
+1 3000
+4 13500
cfi=(50)
cfn=(3202)
calls=1500 642
* 7066087
* 4500
cfi=(50)
cfn=(3202)
calls=500 642
* 535365
* 2000
+4 6000
cfi=(50)
cfn=(5430)
calls=2000 3354
* 234000
+1 6000
+2 2000
+1 7000
fn=(5436)
125 18000
+10 22000
+1 7000
cfi=(316)
cfn=(5438)
calls=500 245
* 20000
* 3500
-1 4000
+4 6000
-2 4000
+3 16000
+1 2000
+28 4000
fn=(5444)
40 700000
+11 787500
+2 875000
cfi=(185)
cfn=(5446)
calls=87500 195
* 24622500
* 87500
+3 175000
+4 262500
cfi=(50)
cfn=(3330)
calls=87500 2612
* 1400000
* 612500
cfi=(50)
cfn=(3330)
calls=87500 2612
* 1400000
* 525000
+7 350000
+2 787500
+1 612500
+2 525000
+2 175000
fl=(80)
fn=(1892)
121 108
+11 126
+1 36
+3 216
cfi=(81)
cfn=(1894) pvsnprintf
calls=18 -29
* 8924
* 18
+2 72
+3 108
+1 36
+12 36
fn=(1918)
164 2545
+1 1527
cob=(3)
cfi=(3)
cfn=(424)
calls=509 0
* 9659
* 509
* 3054
cfn=(1920)
calls=509 +50
* 44816
+1 1018
fn=(1924)
176 180
+2 210
+4 240
+1 150
+1 210
+1 60
fn=(3744)
241 174
+4 145
cfn=(1922)
calls=29 +26
* 1015
+3 348
cob=(3)
cfi=(3)
cfn=(856)
calls=29 0
* 426
* 29
+1 174
+1 58
fn=(1888)
47 6140
+1 1535
+2 6140
cfi=(13)
cfn=(940)
calls=1535 925
* 188472
* 3070
+1 4605
+1 4605
cfn=(1890)
calls=1535 +11
* 18420
+1 3070
fn=(1926)
79 132
+1 12
cob=(5)
cfi=(5)
cfn=(472)
calls=12 -80
* 36
* 12
* 24
+8 12
cob=(5)
cfi=(5)
cfn=(472)
calls=12 -88
* 36
* 12
* 24
+1 72
+1 72
cfn=(1892)
calls=12 +31
* 5880
* 12
+3 24
+6 24
fn=(1920)
215 528072
+4 440060
cfn=(1922)
calls=88012 +52
* 3080420
+3 1056144
cob=(3)
cfi=(3)
cfn=(856)
calls=88012 0
* 1147242
* 88012
+1 528072
+7 616084
+1 176024
fn=(1890)
63 531108
+1 531108
+1 354072
+1 354072
+1 354072
fn=(1922)
271 616385
+7 176110
+2 880550
+7 528330
+4 352220
+1 88055
+22 440275
fl=(192)
fn=(3432)
146 5
+1 4
cfi=(80)
cfn=(1922)
calls=1 271
* 35
+1 5
cfn=(3434) pq_writeint32
calls=1 -72
* 23
+1 2
fn=(3434)
76 4
+1 3
+3 8
+1 6
+1 2
fl=(113)
fn=(2298)
444 3
+11 6
cfi=(87)
cfn=(2000)
calls=1 +38
* 23
* 1
+1 4
cfi=(87)
cfn=(2002)
calls=1 +20
* 21
* 1
+3 5
cfi=(87)
cfn=(2168)
calls=1 -86
* 1061
-1 1
+3 4
+5 4
+1 4
+1 2
+2 2
+2 791
+1 791
+1 1582
-4 455
+11 1
+2 2
-1 8
cfi=(93)
cfn=(2196)
calls=1 167
* 2104
+3 1
+2 4
+5 4
cfi=(93)
cfn=(2300)
calls=1 1377
* 3533
+3 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+1 5
cfi=(93)
cfn=(2316)
calls=1 264
* 1254
* 1
+2 4
cfi=(93)
cfn=(2322)
calls=1 +81
* 1773
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+2 2
fn=(2080)
427 3
+4 6
cfi=(87)
cfn=(2000)
calls=1 +62
* 23
* 1
+1 4
cfi=(87)
cfn=(2002)
calls=1 +44
* 21
* 1
+2 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 +42
* 21
* 1
+2 1
+1 2
fn=(3640)
776 8
+3 12
+1 2
+84 8
fn=(3766)
1102 6
+5 8
+1 2
+50 4
fn=(3692)
875 6
+7 12
+1 2
+30 4
fl=(142)
fn=(2836)
225 8
+1 2
+2 10
+6 2
+1 6
fl=(159)
fn=(5492)
450 7500
+3 15000
+4 9000
cfi=(91)
cfn=(3104)
calls=1500 1885
* 2832738
+1 3000
fn=(2930)
69 1881
+4 2508
+2 3135
+1 63
+2 1818
+1 1254
fn=(3102)
182 25610
+3 51220
+2 30732
cfi=(91)
cfn=(3104)
calls=5122 1885
* 12761437
+1 10244
fn=(3038)
106 28110
+5 28110
cfn=(3040) SetLocktagRelationOid
calls=5622 -24
* 718340
+2 50598
cfi=(91)
cfn=(3044)
calls=5622 738
* 11822332
* 5622
+18 11244
+2 5621
cfi=(155)
cfn=(2988)
calls=5621 680
* 376607
+1 16863
cfi=(91)
cfn=(3064)
calls=5621 1709
* 39347
+2 11244
fn=(3040)
87 28110
+3 16866
cfi=(172)
cfn=(3042) IsSharedRelation
calls=5622 225
* 560924
* 11244
+1 36
+2 11208
+2 78456
+1 11208
-1 252
+1 36
fn=(3486) LockSharedObject
966 8
+3 9
+6 6
cfi=(91)
cfn=(3488)
calls=1 712
* 2117
+3 1
cfi=(155)
cfn=(2988)
calls=1 680
* 67
+1 2
fn=(5468)
418 7500
+3 15000
+4 9000
cfi=(91)
cfn=(3488)
calls=1500 712
* 3168610
* 3000
+1 3000
fn=(5398)
581 4
+3 7
+2 6
cfi=(91)
cfn=(3488)
calls=1 712
* 2117
+1 2
fl=(162)
fn=(3178)
215 12865
+1 7719
+4 5146
+7 10292
+17 10292
+1 12770
cfi=(177)
cfn=(3180)
calls=2554 569
* 23308895
* 5108
+6 76
+21 95
cfi=(177)
cfn=(3552)
calls=19 1162
* 1232
* 19
+4 5146
+1 2057
+2 2064
+2 2573
+1 5146
fn=(2948) bthandler
107 316
+1 316
cfi=(13)
cfn=(2950)
calls=79 853
* 23669
* 395
+2 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+2 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+2 79
+1 158
fn=(3160)
347 15324
+8 15324
cfi=(173)
cfn=(3162)
calls=2554 79
* 739570
* 2554
+3 5108
cfi=(13)
cfn=(940)
calls=2554 925
* 1097307
* 2554
+1 25540
+1 25540
+1 10216
+1 22986
cfi=(13)
cfn=(940)
calls=2554 925
* 266309
* 7662
+4 5108
+1 5108
+1 5108
+1 5108
+2 5108
+1 5108
+7 15324
+2 10216
+2 7662
+2 2554
+1 5108
fn=(3398)
453 10216
+1 7662
+3 10216
+3 8152
+2 8152
+3 5108
+1 10216
+5 10216
+1 10216
cfi=(13)
cfn=(952)
calls=2554 1032
* 217090
+2 10216
+2 10216
+2 10216
+3 7662
cfi=(13)
cfn=(952)
calls=2554 1032
* 566132
+1 5108
fn=(3168)
394 20432
+1 7662
+3 10216
+9 5108
+1 5108
+1 10216
+1 25540
+18 10216
+10 15324
+3 5108
-2 30648
cob=(3)
cfi=(3)
cfn=(482)
calls=2554 0
* 146487
* 2554
+3 5108
+3 7662
cfi=(111)
cfn=(3170)
calls=2554 204
* 151453
+1 5108
fn=(3606)
721 2064
+1 1548
+1 1548
+2 516
+3 1032
+1 516
+22 1032
fl=(176)
fn=(3410)
171 12755
+10 10204
+2 1512
cfn=(3490) pairingheap_remove_first
calls=504 -37
* 17640
+1 504
+7 6141
+1 6141
+6 10235
+1 8188
+10 4094
+12 6141
+1 4094
+1 20
+2 5102
fn=(3490)
146 2016
+7 1512
+1 1512
+2 2520
cfn=(3492) merge_children
calls=504 +79
* 5544
* 1008
+1 2016
+6 504
+1 1008
fn=(3492)
235 2520
+6 1008
+1 1008
+43 1008
fn=(3416)
131 39
+3 26
+1 26
fn=(3138)
113 12755
+1 5102
+3 17857
cfn=(3140) merge
calls=2551 -37
* 218956
* 5102
+1 7653
+1 7653
+1 5102
fn=(3140)
80 15306
+1 5102
+1 1008
+1 4094
+4 16376
cfi=(110)
cfn=(3152)
calls=2047 945
* 137149
* 4094
+10 8188
+1 20
+1 15
+1 20
+1 15
+2 5
+1 10
-5 6126
+1 8168
+1 6126
+2 2042
+1 5092
fl=(200) /home/mithuncy/fsm_code/src/backend/catalog/pg_db_role_setting.c
fn=(3564) ApplySetting
222 32
+5 32
cfi=(178)
cfn=(3482)
calls=4 81
* 456
+5 36
cfi=(178)
cfn=(3482)
calls=4 81
* 456
+6 40
cfi=(173)
cfn=(3126)
calls=4 +84
* 178041
* 4
+2 16
cfi=(173)
cfn=(3172)
calls=4 406
* 13442
* 12
+20 12
cfi=(173)
cfn=(3394)
calls=4 489
* 11156
+1 8
fl=(236)
fn=(4188)
110 6012
+1 4008
+2 4008
+1 2004
+1 4008
-5 3042
+1 2028
+2 2028
+1 1014
+1 2028
fl=(270)
fn=(4688)
423 30
+1 6
+1 6
+10 18
+3 48
+10 6
+1 24
cfi=(271)
cfn=(4690)
calls=6 78
* 48
* 24
623 12
+3 12
+3 36
cfi=(45)
cfn=(1586)
calls=6 260
* 1740
* 18
+8 12
fn=(4686)
1441 21
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 606
* 15
+2 6
+1 9
+1 9
+1 6
+1 6
+1 12
+1 6
+1 6
+1 9
+3 9
+1 12
+1 12
+1 9
-1 6
+7 6
+10 3
+1 6
fn=(4692)
245 36
+9 36
+3 45
+1 9
+2 36
cfi=(271)
cfn=(4690)
calls=9 78
* 90
* 18
+2 27
+3 36
+51 18
+2 36
+1 9
-59 63
+86 18
+1 45
cfi=(45)
cfn=(1586)
calls=9 -87
* 2610
* 9
+6 18
+4 27
+1 27
+1 18
+1 27
+1 18
fn=(4720)
2388 21
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 627
* 15
+1 9
+2 6
+1 9
+1 9
+2 6
+1 6
+1 6
+1 12
-1 6
+2 18
cfi=(262)
cfn=(4684)
calls=3 1089
* 57
-1 15
-1 6
+3 12
+2 12
+2 9
+11 9
cfi=(277)
cfn=(4722)
calls=3 6698
* 36
* 6
+4 6
+5 12
+1 6
+1 15
-1 9
+2 6
+1 15
-1 3
+2 24
-1 3
-1 9
+21 3
+1 6
fl=(17)
fn=(476) dopr_outch
1395 13055
+1 25804
+10 18277
+1 5222
fn=(1138)
231 638
+4 348
+1 348
cfn=(1140) pg_vsprintf
calls=58 -21
* 27546
* 58
+2 58
+1 116
fn=(1916) dopr_outchmulti
1411 138
+2 46
+2 105
cfn=(476)
calls=21 -20
* 378
+1 21
+3 2
+4 8
+1 9
+2 2
+1 4
+11 8
+1 16
cob=(3)
cfi=(3)
cfn=(828)
calls=2 0
* 41
* 2
+1 14
+1 4
-22 8
+24 46
fn=(2432)
265 33
+4 18
+1 18
cfn=(2434) pg_vfprintf
calls=3 -27
* 3114
* 3
+2 3
+1 6
fn=(464) pg_vsnprintf
175 14686
+10 4196
+5 8392
+1 10490
+1 2098
+1 2098
+1 2098
+1 12588
cfn=(466) dopr
calls=2098 377
* 2067895
+1 4196
+1 18882
+1 2098
-1 2098
+2 4196
fn=(1238) trailing_pad
1512 17940
+1 7176
+2 7176
fn=(466)
377 12954
+1 2159
cob=(5)
cfi=(5)
cfn=(472)
calls=2158 0
* 6474
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 941
* 2163
* 4318
+1 2159
+27 2159
+2 2159
+3 18948
+3 22985
cob=(3)
cfi=(3)
cfn=(536)
calls=4596 0
* 105951
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1328
* 4601
* 4597
+3 45970
cfn=(474) dostr
calls=4597 1358
* 258488
+1 18388
+3 18388
+1 30
+1 9134
+8 9414
+1 4304
+3 2152
+3 8608
-3 2555
+3 10220
+2 1119
+1 17896
+2 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 30
* 2
-2 2234
+2 3351
cob=(3)
cfi=(3)
cfn=(424)
calls=1117 0
* 17003
* 1117
* 6714
cfn=(474)
calls=1119 1358
* 82353
+1 4476
+2 1119
+3 32292
+1 17940
+1 10764
+1 14352
+2 25164
+1 29358
+10 196
+1 49
+11 490
+1 49
-1 510
+1 51
+85 1012
+3 506
+1 506
+20 316
+2 158
+3 158
+2 158
+11 158
+2 158
+1 76
+2 1194
+2 30
cfn=(1230) fmtint
calls=2 1015
* 586
-2 219
+2 1095
cfn=(1230)
calls=73 1015
* 19308
* 60
cfn=(1230)
calls=4 1015
* 1390
+2 79
+5 14036
+2 7018
+3 7018
+2 7018
+11 7018
+2 7018
+1 9538
+2 57133
+2 45105
cfn=(1230)
calls=3007 1015
* 869005
* 7530
cfn=(1230)
calls=502 1015
* 127784
+2 3509
+83 14352
408 29593
738 4318
fn=(474)
1358 55824
+2 18608
+2 18130
cfn=(476)
calls=2590 +33
* 61980
+1 2590
+3 6714
+4 26844
+1 59985
+2 92
+1 13422
+11 26844
+1 53688
cob=(3)
cfi=(3)
cfn=(482)
calls=6710 0
* 117358
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1310
* 6715
+1 46977
+1 20133
+1 13422
-23 26850
+25 18608
fn=(1232) adjust_sign
1448 395
+1 158
+5 158
+2 79
+1 158
fn=(462)
203 6292
+4 3432
+1 3432
cfn=(464)
calls=572 -33
* 316995
* 572
+2 572
+1 1144
fn=(1236) leading_pad
1476 25116
+3 14398
+2 42
+6 84
+2 147
cfn=(1916)
calls=21 -78
* 753
+1 42
+3 84
+1 84
-1 14268
+1 14268
+2 14
cfn=(1916)
calls=2 -85
* 99
+1 6
+2 7176
+8 7176
fn=(1140)
215 348
+3 232
+1 58
+1 58
+1 58
+1 58
+1 348
cfn=(466)
calls=58 377
* 25516
+1 116
+1 522
+1 58
-1 58
+2 116
fn=(1230)
1015 35880
+4 3588
+1 3588
+2 3588
+4 25116
+4 79
+1 79
+1 79
+6 3508
+1 3508
+1 3508
+6 1
+1 1
+1 1
+1 1
+11 7808
cfn=(1232)
calls=79 1448
* 948
* 158
+3 7176
+9 7178
+7 217971
+1 67068
+1 33534
+3 28704
+2 28704
cfn=(1234) compute_padlen
calls=3588 1462
* 64533
* 3588
+2 21528
cfn=(1236)
calls=3588 1476
* 83757
+2 7176
+3 39468
cfn=(474)
calls=3588 1358
* 255253
+2 17940
cfn=(1238)
calls=3588 1512
* 32292
* 3588
+1 7176
fn=(1234)
1462 17940
+3 17940
+1 7176
+1 3537
+1 7176
+2 3588
+1 7176
fn=(2434)
243 18
+4 6
+5 12
+1 9
+1 6
+1 3
+1 3
+1 18
cfn=(466)
calls=3 377
* 931
+2 9
cfn=(2436) flushbuffer
calls=3 +40
* 2081
+1 12
+1 6
fn=(2436)
299 12
+1 24
+6 21
+4 24
cob=(3)
cfi=(3)
cfn=(2442)
calls=2 0
* 272
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1667
* 7
* 3
+1 24
+1 9
+3 12
+1 6
fl=(30)
fn=(788)
364 2
+8 2
cfn=(790)
calls=1 237
* 15784
* 1
+1 2
+1 2
fn=(1426) pg_TZDIR
44 4
+6 3
+3 3
cfi=(11)
cfn=(1428)
calls=1 705
* 4651
+1 2
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -54
* 23
* 1
* 5
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -54
* 23
* 1
* 5
cfi=(16)
cfn=(460)
calls=1 -8
* 164
+2 1
+1 1
+5 4
fn=(792) init_timezone_hashtable
203 3
+3 118
+2 1
+1 1
+2 6
cfi=(31)
cfn=(794)
calls=1 317
* 5889
* 1
+4 3
+3 1
+1 2
fn=(790)
237 35
+7 21
cob=(3)
cfi=(3)
cfn=(424)
calls=7 0
* 121
* 7
* 14
+3 21
+1 1
cfn=(792)
calls=1 -45
* 6025
* 3
+9 14
+1 7
+1 850
cfi=(32)
cfn=(834)
calls=85 106
* 1273
* 85
-1 368
+2 14
+2 42
cfi=(31)
cfn=(836)
calls=7 910
* 3628
* 7
+4 14
+3 15
+6 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 44
* 2
* 4
+2 6
cfi=(35)
cfn=(846) tzparse
calls=1 938
* 1484
* 3
+6 5
cob=(3)
cfi=(3)
cfn=(810)
calls=1 0
* 14
* 1
* 1
+2 6
cfi=(35)
cfn=(1420) tzload
calls=1 589
* 1248581
* 2
+12 12
cfi=(31)
cfn=(836)
calls=2 910
* 1144
* 2
+6 12
cob=(3)
cfi=(3)
cfn=(810)
calls=2 0
* 76
* 2
+1 14
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 14724
* 2
+2 4
+1 28
fn=(1424) pg_open_tzfile
77 6
+7 1
cfn=(1426)
calls=1 -40
* 4891
* 6
cfi=(16)
cfn=(460)
calls=1 -38
* 836
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -85
* 23
* 1
* 3
+2 6
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -87
* 19
* 1
* 3
+10 2
+18 2
+6 4
cob=(3)
cfi=(3)
cfn=(1120)
calls=1 0
* 14
* 1
* 4
cob=(3)
cfi=(3)
cfn=(1120)
calls=1 0
* 27
* 1
* 2
+1 4
+1 6
+2 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 1
+1 3
+1 3
-1 8
cfn=(1430) scan_directory_ci
calls=1 +27
* 30383
* 3
+1 3
-1 8
cfn=(1430)
calls=1 +27
* 8834
* 6
+4 10
+1 12
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 34
* 2
* 8
+1 4
+1 3
+3 1
-1 1
+3 2
+1 10
cfi=(16)
cfn=(460)
calls=1 -93
* 304
+2 6
cob=(5)
cfi=(5)
cfn=(676)
calls=1 0
* 7
* 1
+1 4
fn=(1430)
153 16
+1 2
+4 6
cfi=(25)
cfn=(718)
calls=2 2447
* 608
* 2
+2 2
+6 564
+1 4
+2 548
cob=(3)
cfi=(3)
cfn=(424)
calls=137 0
* 2411
* 137
* 548
+1 104
cfi=(32)
cfn=(970)
calls=13 70
* 1131
-1 26
+4 16
cfi=(16)
cfn=(460)
calls=2 46
* 328
+1 2
+1 2
-15 846
cfi=(25)
cfn=(1432)
calls=141 2528
* 31111
* 423
+19 6
cfi=(25)
cfn=(738)
calls=2 2565
* 368
+2 2
+1 4
fl=(38)
fn=(3716)
2058 10
+7 4
+1 8
+9 4
+1 4
+6 4
+6 1500
+3 2000
+3 3500
+1 3500
+1 3500
+1 1000
+2 2000
+1 2000
+7 1000
+1 3000
-1 1500
+3 1000
+1 2500
-1 1500
+3 1000
+1 2500
+1 1000
-1 500
-1 2000
+11 1000
-42 2502
+45 2
+3 2
cfn=(3718) pgstat_clear_snapshot
calls=2 5615
* 22
+1 4
fn=(3780) pgstat_setheader
4156 272
+1 204
+1 136
fn=(3718)
5615 4
+2 6
+4 2
+1 2
+1 2
+1 2
+1 4
fn=(888)
3164 12
+1 6
+3 6
+1 1
+3 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 30
* 2
* 12
cfi=(19)
cfn=(3524)
calls=2 821
* 416
* 2
+7 10
+2 16
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 24
* 2
+1 12
+2 10
+1 6
fn=(3086)
1715 22488
+1 16866
+1 22488
+3 16352
+1 5108
+9 39354
+11 22488
+1 15261
-1 10174
+2 5083
+3 4312
cfn=(3088) get_tabstat_entry
calls=539 +8
* 313975
* 1078
+1 11244
fn=(5498) add_tabstat_xact_level
1885 2500
+8 1500
cfn=(5500) get_tabstat_stack_level
calls=500 -30
* 7633
* 500
+4 500
-1 1500
cfi=(13)
cfn=(2156)
calls=500 815
* 95000
* 500
+3 1500
+1 2000
+1 1500
+1 2000
+1 1500
+1 1500
+1 1000
fn=(3088)
1754 3234
+9 1617
+4 10
cob=(3)
cfi=(3)
cfn=(828)
calls=2 0
* 52
* 2
+1 2
+1 2
+2 12
cfi=(31)
cfn=(794)
calls=2 317
* 5594
* 2
+9 14
cfi=(31)
cfn=(836)
calls=2 910
* 1805
* 3759
cfi=(31)
cfn=(836)
calls=537 910
* 249991
* 539
+1 2156
+3 1078
+6 2156
+8 1617
+4 4
cfi=(13)
cfn=(2156)
calls=1 815
* 1637
-1 1
+5 2
+1 1
-1 1076
+1 538
+2 4400
+2 20
cfi=(13)
cfn=(2156)
calls=5 815
* 8774
-1 10
+3 15
-6 20
+6 3285
-6 6536
+13 7546
+1 1617
+1 1617
+5 1617
+2 539
+1 1078
fn=(5760)
2953 5
+1 2
+8 3
+1 2
cfn=(3768)
calls=1 813
* 25
+7 5
+2 2
+2 5
+1 2
fn=(3778) pgstat_send_tabstat
920 272
+5 204
+7 272
+2 201
+1 201
+1 201
+1 201
+1 67
+1 67
+1 67
+1 134
+4 2
+1 2
+1 2
+1 2
+3 3
+1 8
+3 4
cfn=(3780)
calls=1 4156
* 9
-4 201
+1 536
+3 268
cfn=(3780)
calls=67 4156
* 603
+1 340
cfn=(3782) pgstat_send
calls=68 4169
* 2448
+1 136
fn=(3782)
4169 340
+3 204
+3 204
+5 476
cob=(5)
cfi=(5)
cfn=(2502)
calls=68 0
* 816
* 68
* 68
+1 136
+7 136
fn=(3784) pgstat_send_funcstats
964 6
+8 6
+40 4
fn=(2256)
2637 3
+7 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1064
-1 1
+3 4
+5 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 4279
* 1
+4 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1270
-1 1
+3 4
+2 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 849
* 1
+3 2
+1 2
+2 1428
+1 119
-3 599
+8 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1259
-1 1
+3 4
+2 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 849
* 1
+3 2
+1 2
+2 1428
+1 119
-3 599
+9 2
-1 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+3 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1118
-1 1
+5 4
+2 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 13344
* 1
+3 2
+1 2
+2 1428
+1 357
-3 599
+28 2
fn=(2608)
728 3
+8 3
+9 2
cob=(10)
cfi=(22)
cfn=(1810)
calls=1 0
* 3
* 1
* 1
+1 7
+3 2
+8 1
cfi=(137)
cfn=(2556)
calls=1 32
* 295
* 7
+25 1
+5 2
fn=(2914) pgstat_initialize
2750 2
+2 3
+3 13
+19 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(3768)
813 15
+12 21
+1 1
-1 2
+1 3
+1 2
-1 2
+2 1
+6 2
cfi=(26)
cfn=(3770)
calls=2 720
* 39
* 2
+1 8
+1 12
cfi=(21)
cfn=(3772)
calls=2 1672
* 34
* 2
-1 4
+3 4
+9 6
+1 6
cfi=(31)
cfn=(3774) hash_destroy
calls=2 -33
* 972
+1 2
+8 4
+1 2
+1 2
+1 2
+2 6
+2 14
+2 5390
+11 3234
cob=(3)
cfi=(3)
cfn=(3074)
calls=539 0
* 23118
* 539
* 1078
+2 2
+5 3222
+1 5830
+1 2120
+1 4240
cob=(3)
cfi=(3)
cfn=(856)
calls=530 0
* 30406
* 530
-3 7
+1 77
+1 28
+1 56
cob=(3)
cfi=(3)
cfn=(856)
calls=7 0
* 407
* 7
+2 4833
+2 195
cfn=(3778)
calls=65 +29
* 6175
+1 130
-28 2723
+32 217
cob=(3)
cfi=(3)
cfn=(828)
calls=7 0
* 7196
* 7
+2 14
-36 39
+43 6
+2 6
cfn=(3778)
calls=2 +13
* 190
+1 6
+1 3
cfn=(3778)
calls=1 +11
* 86
+3 2
cfn=(3784)
calls=2 +52
* 16
+1 6
fn=(3786)
2991 15
+1 6
+3 3
+4 6
+3 12
+28 3
cfi=(26)
cfn=(3788)
calls=3 708
* 15
* 3
+1 6
+7 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 41
* 1
* 8
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 41
* 1
* 2
+2 1
cfi=(21)
cfn=(656)
calls=1 1571
* 22
* 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 3
+5 15
+2 9
+1 9
+2 6
+2 8
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 68
* 1
+1 6
+1 3
+3 5
+1 2
-1 10
+1 4
fn=(2050)
2609 3
+4 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+3 2
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 2
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 2
-1 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+7 1
+1 2
fn=(2480)
356 4
+2 1
+8 1
+17 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 7
cfi=(77)
cfn=(1630)
calls=1 59
* 10405
* 1
+1 5
+16 3
+4 4
+4 3
+7 6
cob=(3)
cfi=(3)
cfn=(1656)
calls=1 0
* 5
* 1
* 4
+12 9
cob=(3)
cfi=(3)
cfn=(1802)
calls=1 0
* 5
* 1
* 2
+10 1
+1 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1340
* 5
* 2
+16 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 790
* 5
* 2
+16 1
+3 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 758
* 5
* 2
+19 27
+1 21
+2 1
+1 1
+1 9
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1276
* 5
* 1
+1 2
+3 2
+9 21
+16 3
+3 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 777
* 5
* 2
+12 3
+11 1
408 2
564 5
+8 3
cfi=(132)
cfn=(2518)
calls=1 26
* 67
* 3
+18 1
+2 9
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1326
* 5
* 2
+8 1
+1 4
+8 5
cfi=(77)
cfn=(1942)
calls=1 89
* 228
* 1
+22 4
fn=(3618) pgstat_bestart
2790 3
+14 3
+1 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 70
* 1
* 1
+10 2
+5 3
+2 1
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 2
+5 1
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+5 3
+5 3
+8 3
+33 5
+1 5
+2 3
+1 3
+1 2
+1 2
+1 2
+1 3
+3 4
+3 1
cfi=(54)
cfn=(3532)
calls=1 415
* 5
* 3
+4 24
+1 7
+4 3
+16 2
+2 2
+1 3
+1 3
+2 4
+1 4
+1 7
+1 2
+1 2
+8 5
+3 3
+1 3
cfn=(888)
calls=1 3164
* 281
+1 2
fn=(5500)
1863 2000
+3 1000
+1 2996
+3 1
-1 3
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+3 3
+1 3
+1 2
+1 2
+2 1
+1 2
-1 499
+1 998
fn=(2982)
3193 12
+1 8
+2 24
+8 20
+1 12
+1 20
+1 8
fn=(5496)
1912 2500
+1 1500
+2 1000
+3 500
cfi=(26)
cfn=(3506)
calls=500 758
* 4000
* 500
+2 2000
+2 2500
cfn=(5498)
calls=500 -37
* 120633
+2 4000
+2 1000
fl=(14)
fn=(432)
395 16380
+33 6548
+2 3068
+1 412
+2 204
+2 2
+5 3276
+2 8180
+2 6544
+3 4542
+1 6056
+1 7570
+3 4542
+3 13626
cfi=(13)
cfn=(434)
calls=1514 729
* 76222
+6 3028
+5 124
+2 248
+1 10
+2 488
+6 366
cob=(3)
cfi=(3)
cfn=(388)
calls=122 0
* 26185
* 122
* 6
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 404
* 2
* 124
+1 248
+17 372
+1 372
+1 496
+1 620
+1 248
+1 248
+6 372
+2 372
+3 12276
+2 372
+1 372
+1 372
+1 372
+21 248
+1 124
+2 1536
-2 768
+1 768
-1 884
+1 372
-1 248
+5 1116
cfi=(13)
cfn=(434)
calls=124 729
* 6492
+6 124
+1 8190
fn=(956)
988 191240
+1 76496
+1 114744
+15 229488
+6 9162
+7 12216
+1 12216
-1 6108
+2 6108
+1 6108
-1 9162
-1 6108
+6 12216
+1 18324
+3 12216
+1 2530
+4 1518
cob=(3)
cfi=(3)
cfn=(590)
calls=506 0
* 58844
* 506
* 7644
cob=(3)
cfi=(3)
cfn=(590)
calls=2548 0
* 345718
* 2548
* 3054
+5 140776
cfn=(802) AllocSetFreeIndex
calls=35194 338
* 747739
* 35194
+2 246358
+10 211164
+2 76496
fn=(1406)
566 12152
+1 6076
+11 300762
+2 9114
+3 12152
+2 3038
+2 15234
+2 20312
+3 9114
+8 9114
+1 6076
+1 9114
+8 6120
cob=(3)
cfi=(3)
cfn=(590)
calls=2040 0
* 267429
* 2040
+2 10156
-27 16232
+31 12152
+1 6076
fn=(1516)
1069 18
+1 6
+1 9
+6 9
+15 9
+45 12
+7 6
+9 8
+1 8
-1 4
+2 4
+1 4
-1 6
-1 4
+6 8
+1 6
+1 10
cob=(3)
cfi=(3)
cfn=(556)
calls=2 0
* 2062
* 2
* 2
+1 4
+6 18
+3 6
+1 6
+1 8
+1 10
+3 8
+2 6
+38 4
+18 5
cfn=(800)
calls=1 715
* 91
* 1
+3 2
+23 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 202
* 1
+3 5
cfn=(956)
calls=1 988
* 58
+2 1
+2 6
fn=(800)
715 850400
+1 340160
+13 680320
+2 14260
+1 10695
+1 10695
cob=(3)
cfi=(3)
cfn=(388)
calls=3565 0
* 1069810
* 3565
* 3565
+1 7130
+2 10695
+1 32085
+2 10695
+1 10695
+1 10695
+16 14260
+2 14260
+1 17825
+1 14260
+1 2052
+1 17825
+18 10695
+9 499545
cfn=(802)
calls=166515 338
* 3530798
* 166515
+1 999090
+1 333030
+4 196994
+2 84426
+22 84426
+6 968611
+7 691865
+2 1106984
+2 553492
+14 1611
+2 5157
+1 5157
cfn=(802)
calls=1719 338
* 37446
* 1719
+7 13752
+2 1639
+2 11473
+3 4917
+5 11473
+1 9834
+2 4917
+4 11473
+1 9834
-30 3278
+17 240
+5 560
+1 480
+2 240
+4 560
+1 480
-30 3382
+34 1611
+7 276746
+8 4833
+1 8055
+1 9666
+1 8
+6 6
+1 2
-1 4827
+1 1609
+1 508
-1 6357
+4 4833
cob=(3)
cfi=(3)
cfn=(388)
calls=1611 0
* 353549
* 1611
* 1611
+6 4833
+8 3222
+3 4833
+1 6444
+1 8055
+6 3222
+1 6444
+1 6444
+1 6444
+1 4833
+6 4833
+5 11277
+3 4833
+1 4833
+21 3222
+1 3222
-31 410286
+5 957334
+3 410286
+1 410286
+21 273524
+1 336938
fn=(802)
338 610284
+5 406856
+2 764308
+11 573231
+1 1338669
+5 12351
+2 12351
+1 24702
-1 191077
+1 382154
fn=(1402)
628 6156
+1 3078
+1 4617
+13 6156
+2 9234
+6 7695
+1 4596
cfi=(13)
cfn=(1404)
calls=1532 156
* 488904
+6 6156
+16 6156
+1 4617
+1 7695
+2 1539
+20 3078
fl=(69)
fn=(1600)
55 6
+1 1
cfn=(1602) pg_crc32c_sse42_available
calls=1 -21
* 76
* 2
+1 2
+4 6
cfi=(71)
cfn=(1608)
calls=1 -38
* 517
+1 2
fn=(1602)
35 3
+1 4
+3 11
cfi=(70)
cfn=(1604)
calls=1 264
* 52
+7 4
+1 2
fl=(75)
fn=(2810)
466 7
+3 3
cfi=(80)
cfn=(1888)
calls=1 47
* 154
+2 5
+37 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 4
fn=(2816)
547 2
+5 1
cfn=(2818) InitCommunication
calls=1 439
* 8
+1 1
cfi=(57)
cfn=(2820)
calls=1 1846
* 11
+3 1
cfi=(25)
cfn=(2822)
calls=1 761
* 348
+1 1
cfi=(140)
cfn=(2824) smgrinit
calls=1 118
* 202
+1 1
cfi=(50)
cfn=(2828)
calls=1 2444
* 2875
+1 2
fn=(2866)
589 12
+1 4
+5 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 4
cfi=(57)
cfn=(2086)
calls=1 1336
* 105
+7 1
cfi=(84)
cfn=(2868)
calls=1 465
* 373
+8 1
+2 2
cfi=(101)
cfn=(2872)
calls=1 259
* 591
+2 7
+4 3
cfi=(103)
cfn=(2874)
calls=1 106
* 127
+6 4
+2 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+1 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+1 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+1 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+7 1
cfi=(50)
cfn=(2876)
calls=1 2468
* 39
+5 3
+8 1
cfi=(53)
cfn=(2878)
calls=1 7896
* 5951
* 1
+30 1
cfi=(148)
cfn=(2888)
calls=1 3440
* 3728
+1 1
cfi=(151)
cfn=(2894) InitCatalogCache
calls=1 999
* 208712
+1 1
cfi=(154)
cfn=(2906)
calls=1 131
* 515
+3 1
cfi=(156)
cfn=(2912) EnablePortalManager
calls=1 105
* 3542
+3 4
+1 1
cfi=(38)
cfn=(2914)
calls=1 2750
* 55
+6 1
cfi=(148)
cfn=(2916)
calls=1 3477
* 121800
+10 3
cfi=(67)
cfn=(2956)
calls=1 334
* 32
+3 1
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 2
+16 4
+3 1
cfi=(26)
cfn=(2958)
calls=1 +8
* 31
+1 1
cfi=(26)
cfn=(2960)
calls=1 2697
* 2206
+8 1
+2 1
cfi=(110)
cfn=(2998)
calls=1 305
* 1079
+10 3
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+5 4
+11 3
+17 3
cfn=(3014) PerformAuthentication
calls=1 185
* 53056
+1 5
cfi=(54)
cfn=(3442)
calls=1 580
* 6976
+1 1
cfi=(193)
cfn=(3462)
calls=1 48
* 29517
* 1
+7 7
+17 3
+13 7
+8 3
+16 3
+29 2
+5 2
+5 3
cfn=(3480) GetDatabaseTuple
calls=1 96
* 26124
* 1
+1 2
+4 8
+1 3
+1 3
+2 6
cfi=(16)
cfn=(460)
calls=1 46
* 150
* 1
+59 4
+1 6
cfi=(159)
cfn=(3486)
calls=1 +15
* 2210
+15 3
+8 1
cfi=(110)
cfn=(3002)
calls=1 511
* 78
+7 4
+4 3
cfn=(3480)
calls=1 96
* 19436
* 1
+1 2
+1 9
-1 2
+2 9
-1 2
+12 5
cfi=(183)
cfn=(3494)
calls=1 108
* 772
* 1
+2 4
+2 4
cob=(3)
cfi=(3)
cfn=(502)
calls=1 0
* 5
* 1
* 2
+16 3
cfi=(54)
cfn=(1526)
calls=1 1459
* 2699
+3 3
cfi=(54)
cfn=(3496)
calls=1 87
* 190
+8 1
cfi=(148)
cfn=(3498)
calls=1 3536
* 726234
+3 1
cfi=(170)
cfn=(3514)
calls=1 4689
* 76
+8 4
+1 6
cfn=(3516) CheckMyDatabase
calls=1 316
* 45268
+7 3
+1 5
cfn=(3520) process_startup_options
calls=1 +38
* 5518
+3 1
cfi=(54)
cfn=(3532)
calls=1 415
* 5
* 5
cfn=(3534) process_settings
calls=1 1153
* 270987
+3 3
+9 1
cfi=(55)
cfn=(3612)
calls=1 4206
* 99
+3 1
cfi=(19)
cfn=(3614)
calls=1 283
* 80
+3 1
cfi=(202)
cfn=(3616)
calls=1 55
* 157
+3 4
+1 1
cfi=(38)
cfn=(3618)
calls=1 2790
* 510
+3 4
+1 1
cfi=(26)
cfn=(3620)
calls=1 2768
* 7224
+1 5
fn=(3516)
316 10
+7 5
cfi=(151)
cfn=(3444)
calls=1 1114
* 28484
* 1
+1 2
+2 8
+3 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+17 4
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 3
+5 5
+11 4
+18 4
+13 4
cfi=(19)
cfn=(3518)
calls=1 899
* 15
+2 1
cfi=(19)
cfn=(2650)
calls=1 1011
* 6
* 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 2150
+3 1
cfi=(19)
cfn=(2650)
calls=1 1011
* 6
* 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 3247
+4 3
+1 3
+2 4
cfi=(18)
cfn=(562)
calls=1 152
* 3389
* 2
+7 4
cfi=(18)
cfn=(562)
calls=1 152
* 3631
* 2
+8 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 1784
+1 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 1386
+2 1
cfi=(18)
cfn=(622)
calls=1 994
* 930
+2 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+1 5
fn=(3520)
1088 6
+4 5
+6 4
+31 4
cfi=(197)
cfn=(3522)
calls=1 78
* 10
* 1
+1 1
+5 6
+1 6
+2 6
+1 6
+2 12
cfi=(29)
cfn=(1206)
calls=2 7172
* 5443
-11 6
+13 2
fn=(5748)
1187 5
+2 1
cfi=(26)
cfn=(5750)
calls=1 4342
* 91
+6 3
cfi=(91)
cfn=(3684)
calls=1 2090
* 8931
+1 2
fn=(3534)
1153 5
+4 4
+3 3
cfi=(171)
cfn=(3034)
calls=1 1307
* 64351
* 1
+3 2
cfi=(110)
cfn=(3134)
calls=1 441
* 54
* 2
cfi=(110)
cfn=(3142)
calls=1 864
* 438
* 1
+3 7
cfi=(200)
cfn=(3564)
calls=1 222
* 172552
+1 7
cfi=(200)
cfn=(3564)
calls=1 222
* 10397
+1 8
cfi=(200)
cfn=(3564)
calls=1 222
* 10397
+1 8
cfi=(200)
cfn=(3564)
calls=1 222
* 10397
+2 3
cfi=(110)
cfn=(3404)
calls=1 906
* 298
+1 4
cfi=(171)
cfn=(3092)
calls=1 1283
* 2046
+1 2
fn=(1624)
525 2
+4 7
+4 3
+2 2
fn=(3014)
185 4
+2 1
+46 5
cfi=(138)
cfn=(2764)
calls=1 429
* 257
+5 3
cfi=(169)
cfn=(3016)
calls=1 348
* 52465
+5 3
cfi=(138)
cfn=(2804)
calls=1 526
* 68
+2 3
+60 3
cfi=(12)
cfn=(2802)
calls=1 +27
* 241
+2 1
+1 2
fn=(2818)
439 2
+4 4
+8 2
fn=(3480)
96 8
+9 16
cfi=(178)
cfn=(3482)
calls=2 -24
* 228
+10 6
cfi=(171)
cfn=(3034)
calls=2 1307
* 5732
* 2
+1 20
cfi=(173)
cfn=(3126)
calls=2 322
* 10124
* 2
+5 6
cfi=(173)
cfn=(3172)
calls=2 406
* 18080
* 2
+3 4
+1 6
cfi=(190)
cfn=(3484)
calls=2 683
* 506
* 2
+3 6
cfi=(173)
cfn=(3394)
calls=2 489
* 6719
+1 8
cfi=(171)
cfn=(3092)
calls=2 1283
* 4077
+2 2
+1 4
fl=(81)
fn=(1894)
107 12208
+3 9156
cfi=(17)
cfn=(464)
calls=1526 +65
* 1839016
* 1526
+3 7630
+11 6104
+3 4578
+24 6104
fn=(3292)
47 16588
+1 1508
cob=(5)
cfi=(5)
cfn=(472)
calls=1508 -48
* 4524
* 1508
* 3016
+1 1508
+12 4524
cfi=(13)
cfn=(940)
calls=1508 925
* 287902
* 1508
+3 1508
cob=(5)
cfi=(5)
cfn=(472)
calls=1508 -64
* 4524
* 1508
* 3016
+1 9048
+1 9048
cfn=(1894)
calls=1508 +41
* 1877398
* 1508
+3 4524
+1 3016
+6 3016
fl=(88)
fn=(2010)
162 3
+1 1
+3 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 1
cfi=(89)
cfn=(2012)
calls=1 455
* 516
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+11 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(2204)
69 3
+8 9
cfi=(87)
cfn=(2168)
calls=1 373
* 1091
-1 1
+6 9
cfi=(87)
cfn=(2168)
calls=1 373
* 994
-1 1
+6 9
cfi=(87)
cfn=(2168)
calls=1 373
* 1032
-1 1
+5 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+1 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+10 10
cfi=(87)
cfn=(2168)
calls=1 373
* 1055
-1 1
+4 12
+13 2
+2 98304
+2 163840
+2 81920
cfi=(123)
cfn=(2206)
calls=16384 227
* 540672
+1 32768
+2 49152
+6 65536
+2 81920
cfi=(99)
cfn=(2144)
calls=16384 678
* 1048576
+3 147456
cfi=(99)
cfn=(2144)
calls=16384 678
* 1048576
-20 65539
+25 7
+4 10
cfi=(89)
cfn=(2212)
calls=1 476
* 237901
+3 3
cfi=(50)
cfn=(2218)
calls=1 4239
* 11
+2 2
fl=(136)
fn=(2550)
116 48
+4 16
+6 48
cob=(3)
cfi=(3)
cfn=(1246)
calls=8 0
* 1108
* 8
* 8
+1 64
+4 32
+7 16
+2 20
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 60
* 4
+2 8
+1 44
+4 12
+1 24
cob=(3)
cfi=(3)
cfn=(856)
calls=4 0
* 56
* 4
* 4
+10 16
+2 20
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 56
* 4
+1 8
+2 128
+2 128
+1 256
+6 64
-11 200
+13 24
cob=(3)
cfi=(3)
cfn=(856)
calls=4 0
* 72
* 4
* 4
+8 32
+1 8
+1 16
fl=(125) /home/mithuncy/fsm_code/src/backend/utils/hash/../../../../src/include/storage/s_lock.h
fn=(2216) tas
225 116332
+1 29083
+2 145415
+6 29083
+1 87249
fl=(156)
fn=(3628)
671 12
+1 2
+4 10
cfi=(31)
cfn=(3502)
calls=2 1380
* 106
+2 8
cfi=(31)
cfn=(3508)
calls=2 1390
* 722
* 6
+84 2
+1 8
fn=(3970) GetPortalByName
131 4
+3 2
+1 6
cfi=(31)
cfn=(836)
calls=1 910
* 225
* 5
+4 1
+1 2
fn=(5614)
466 7
+7 4
+8 4
+16 4
+12 7
cfi=(31)
cfn=(836)
calls=1 910
* 343
* 3
+3 3
cfn=(5616) PortalReleaseCachedPlan
calls=1 308
* 10
+8 4
+31 4
+1 2
-1 2
+3 5
+2 7
cfi=(164)
cfn=(3656)
calls=1 -75
* 130
+3 7
cfi=(164)
cfn=(3656)
calls=1 -78
* 76658
+3 7
cfi=(164)
cfn=(3656)
calls=1 -81
* 175
+3 4
cfi=(164)
cfn=(3724)
calls=1 688
* 892
+2 2
+7 4
+11 4
+4 4
cfi=(13)
cfn=(1396)
calls=1 212
* 428
+3 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 4
fn=(2912)
105 3
+5 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
+4 1
+1 1
+6 6
cfi=(31)
cfn=(794)
calls=1 317
* 3092
* 1
+2 2
fn=(3968)
176 9
+5 3
cfn=(3970)
calls=1 -50
* 245
* 1
+1 2
+15 4
cfi=(13)
cfn=(2156)
calls=1 815
* 319
* 1
+3 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 2
+5 4
cfi=(164)
cfn=(2972)
calls=1 422
* 732
* 2
+4 2
+1 2
+1 1
cfi=(26)
cfn=(736)
calls=1 624
* 8
* 2
+1 4
+1 2
+1 2
+1 2
+1 2
+1 2
+1 1
cfi=(26)
cfn=(3788)
calls=1 708
* 5
* 2
+3 7
cfi=(31)
cfn=(836)
calls=1 910
* 380
* 10
+3 7
cfi=(13)
cfn=(812)
calls=1 330
* 9
+2 1
+1 4
fn=(5616)
308 4
+1 4
+12 2
fn=(3990)
393 5
+2 4
+5 2
+1 1
cfi=(26)
cfn=(736)
calls=1 624
* 8
* 2
+1 4
fn=(3972)
287 8
+7 3
+1 3
+1 3
+1 3
+1 3
+1 2
+1 2
fn=(5608)
412 4
+3 2
+10 4
+2 5
cfi=(318)
cfn=(5610)
calls=1 266
* 11
+1 2
+2 2
fl=(215)
fn=(3888)
1574 7635
+1 4581
cfi=(13)
cfn=(940)
calls=1527 925
* 181204
+1 3054
fn=(4292)
1261 30
+4 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 6
+1 36
cfi=(37)
cfn=(4294)
calls=6 51
* 894
* 6
+1 30
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 18
+6 18
+1 6
+1 12
fn=(3914)
1207 3591
+2 5130
+10 7182
cob=(3)
cfi=(3)
cfn=(856)
calls=513 0
* 11279
* 513
+1 4104
+1 2052
fn=(3884) scanner_init
1148 3563
+1 1527
cob=(3)
cfi=(3)
cfn=(424)
calls=509 0
* 13243
* 509
* 509
+3 1527
cfi=(216)
cfn=(3886)
calls=509 11027
* 112510
* 1018
+3 2545
cfi=(216)
cfn=(3892)
calls=509 10927
* 5599
+2 1527
+1 1527
+2 1527
+1 1527
+1 1527
+5 2036
cfi=(13)
cfn=(940)
calls=509 925
* 62576
* 1018
+1 1527
+1 3563
cob=(3)
cfi=(3)
cfn=(856)
calls=509 0
* 13329
* 509
+1 6108
+1 4072
cfi=(216)
cfn=(3894)
calls=509 10742
* 238721
+3 1018
+1 2545
cfi=(13)
cfn=(940)
calls=509 925
* 62576
* 1018
+1 1018
+2 509
+1 1018
fn=(3916)
1245 2028
+1 2028
+3 2535
cfi=(13)
cfn=(940)
calls=507 925
* 62330
* 507
+1 4563
cob=(3)
cfi=(3)
cfn=(856)
calls=507 0
* 11181
* 507
+1 2535
+1 507
+1 1014
fn=(3936) scanner_finish
1187 2036
+11 2545
+2 2545
+2 1018
fn=(4322)
1226 42
+2 54
+7 60
+1 42
+1 24
fl=(308)
fn=(5306)
378 2000
+2 3000
+1 1000
+3 1000
fl=(44)
fn=(954)
113 114750
+14 114750
+4 38250
+1 76500
fl=(76)
fn=(1626)
78 6
+1 10
+1 4
fl=(292)
fn=(5064)
110 6
+1 4
+2 4
+1 2
+1 4
fl=(147)
fn=(5636)
121 2
+6 1
cfi=(53)
cfn=(5638)
calls=1 7991
* 23
* 3
+3 3
+3 1
+1 2
fn=(5642)
398 4
+2 2
+1 2
fn=(5644)
416 7
+4 4
+7 4
+11 3
+19 5
cfi=(53)
cfn=(5646)
calls=1 8197
* 12
+2 9
cfn=(5648) XLogRecordAssemble
calls=1 +27
* 225
* 1
+3 7
cfi=(53)
cfn=(5652)
calls=1 976
* 1037
* 1
+1 2
+2 1
cfn=(5684) XLogResetInsertion
calls=1 194
* 15
+2 1
+1 2
fn=(2886)
1029 2
+2 3
+2 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
+5 3
+3 4
cfi=(13)
cfn=(2156)
calls=1 815
* 5021
-1 1
+3 1
+2 3
+2 4
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+2 1
+6 3
+1 4
cfi=(13)
cfn=(2156)
calls=1 815
* 259
* 1
+2 2
fn=(5648)
486 9
+2 1
+3 1
+3 2
+8 2
+1 1
+2 1
+1 1
+1 2
+8 6
+8 2
+1 5
738 5
+1 1
-1 2
+9 3
+2 3
+8 4
+1 5
+2 3
+1 2
+1 2
+2 2
+2 5
+1 2
+10 1
+1 9
cfi=(71)
cfn=(1608)
calls=1 23
* 55
* 1
+1 3
+1 9
cfi=(71)
cfn=(1608)
calls=1 23
* 41
* 1
-1 7
+8 1
cfi=(26)
cfn=(5650)
calls=1 417
* 6
* 2
+1 3
+1 3
+1 3
+1 2
+1 3
+2 1
+1 2
fn=(5684)
194 2
+3 5
+3 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 2
fn=(5640)
324 5
+5 4
+2 11
+2 3
+1 3
+7 3
+1 2
+2 4
+1 2
fl=(151)
fn=(3444)
1114 13100
+5 18340
cfi=(149)
cfn=(3446)
calls=2620 +58
* 13972665
+1 5240
fn=(3418)
1161 12496
+1 9372
cfi=(149)
cfn=(3420)
calls=3124 1452
* 293656
+1 6248
fn=(3474)
1493 6141
+1 2047
+1 6141
+2 2047
+2 128568
+2 53570
+1 4094
+1 43335
+1 10220
+2 18336
-9 32142
+13 4094
fn=(3026) SearchSysCache
1104 8040
+4 10050
cfi=(149)
cfn=(3028)
calls=1005 +55
* 26869824
+1 2010
fn=(3472)
1470 6144
+1 18372
+11 2038
-11 60
+11 9
-2 2
+5 2047
+1 4096
fn=(2894)
999 3
+10 3
+2 2
+2 385
+4 385
-4 1463
cfi=(149)
cfn=(2896)
calls=77 778
* 89548
* 231
+6 385
+4 231
+1 385
-1 154
+2 231
+1 385
-1 154
+2 231
+1 385
-1 154
-16 233
+26 7
cfi=(36)
cfn=(864)
calls=1 114
* 33366
+2 3
+2 608
+1 315
-3 307
+5 3
+2 7
cfi=(36)
cfn=(864)
calls=1 114
* 76446
+2 3
+2 1224
+1 854
-3 615
+5 3
+2 1
+1 2
fn=(3856)
1446 60
+1 48
+4 60
+3 84
cfi=(149)
cfn=(3858)
calls=12 562
* 588
+1 24
fn=(4026)
1376 40
+7 20
+1 15
-1 10
+3 30
+6 215
cfi=(190)
cfn=(3384)
calls=3 428
* 5247
* 3
+3 10
fn=(4920)
1427 32
+1 16
+1 12
-1 8
+4 40
cfi=(149)
cfn=(4922)
calls=4 +90
* 166795
+2 8
fn=(2904)
1543 6448
+1 4836
+1 4836
+2 4836
+1 168
+1 6970
+1 3224
fn=(3024)
1227 10050
+5 8040
cfn=(3026)
calls=1005 1104
* 26889924
* 1005
+1 2010
+1 1002
+1 22292
cfi=(190)
cfn=(3384)
calls=502 428
* 48192
* 1006
+4 1512
cfn=(3418)
calls=504 -78
* 51912
+1 504
+1 2010
fn=(4952)
1125 54
+5 72
cfi=(149)
cfn=(4954)
calls=9 +55
* 119758
+1 18
fl=(281)
fn=(4812) ExecInitExprRec
645 24
+1 42
+3 3
cfi=(52)
cfn=(4006)
calls=3 3263
* 81
+4 6
+1 6
+3 24
+60 4
+2 2
+1 6
+1 6
+2 10
cfn=(4814) ExprEvalPushStep
calls=2 2133
* 370
+1 2
881 2
+2 13
cfn=(5152) ExecInitFunc
calls=1 2160
* 7585
+3 5
cfn=(4814)
calls=1 2133
* 57
+1 1
2123 12
fn=(4813) ExecInitExprRec'2
645 24
+1 42
+3 3
cfi=(52)
cfn=(4006)
calls=3 3263
* 81
+4 6
+1 6
+3 24
+72 2
+3 4
+16 4
+1 4
+6 6
+2 8
cob=(12)
cfi=(244)
cfn=(5154) plpgsql_param_compile
calls=1 6355
* 247
+10 1
+6 1
892 2
+2 13
cfn=(5153) ExecInitFunc'2
calls=1 2160
* 5970
+3 5
cfn=(4814)
calls=1 2133
* 57
+1 1
1245 2
+7 7
cfn=(4813)
calls=1 645
* 343
+10 1
+3 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 1
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 964
* 1
+2 4
cfi=(250)
cfn=(4478)
calls=1 43
* 24
* 5
cfi=(275)
cfn=(5128)
calls=1 2642
* 496
+2 5
cfi=(161)
cfn=(2942)
calls=1 125
* 82
+1 3
+1 13
+5 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 1
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 1399
* 1
+2 7
cfi=(275)
cfn=(5126)
calls=1 2609
* 511
+2 5
cfi=(161)
cfn=(2942)
calls=1 125
* 82
+1 3
+1 13
+8 2
+1 4
+1 2
+1 2
+1 2
+2 5
cfn=(4814)
calls=1 2133
* 57
+1 2
2123 12
fn=(4814)
2133 45
+1 36
+2 6
+1 18
cfi=(13)
cfn=(940)
calls=3 925
* 369
* 9
+2 36
+7 135
cob=(3)
cfi=(3)
cfn=(856)
calls=9 0
* 216
* 9
+1 18
fn=(4810) ExecPushExprSlots
2281 15
+1 42
+2 3
+1 3
+3 12
+10 12
+10 12
+10 6
fn=(4816) ExecReadyExpr
627 12
+1 9
cfi=(282)
cfn=(4818)
calls=3 157
* 36
* 6
+3 9
cfi=(283)
cfn=(4820)
calls=3 169
* 29394
+1 6
fn=(4804) ExecInitExprWithParams
158 15
+2 42
+3 6
+4 12
cfi=(13)
cfn=(2950)
calls=3 853
* 690
* 15
+1 9
+1 6
+1 9
+3 15
cfn=(4806) ExecInitExprSlots
calls=3 2263
* 1008
+3 24
cfn=(4812)
calls=3 645
* 8261
+3 3
+1 15
cfn=(4814)
calls=3 2133
* 171
+2 9
cfn=(4816)
calls=3 627
* 29472
+2 3
+1 6
fn=(5152)
2160 11
+1 3
cfi=(245)
cfn=(4612)
calls=1 90
* 10
* 1
+8 1
cfi=(54)
cfn=(3464)
calls=1 381
* 5
* 6
cfi=(230)
cfn=(5060)
calls=1 4656
* 51
* 1
+1 2
+2 3
+8 2
+9 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 2
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 964
* 2
+1 3
+1 3
+3 5
cfi=(161)
cfn=(2942)
calls=1 125
* 82
+1 3
+3 16
+4 4
+1 3
+3 4
+9 1
+1 3
cfi=(245)
cfn=(4416)
calls=1 78
* 10
* 2
+2 6
+2 8
+6 2
+2 7
+1 7
+4 15
cfn=(4813)
calls=1 645
* 6114
+3 2
-20 12
+24 6
+2 4
+3 3
+9 5
fn=(5153)
2160 11
+1 3
cfi=(245)
cfn=(4612)
calls=1 90
* 10
* 1
+8 1
cfi=(54)
cfn=(3464)
calls=1 381
* 5
* 6
cfi=(230)
cfn=(5060)
calls=1 4656
* 51
* 1
+1 2
+2 3
+8 2
+9 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 2
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 964
* 2
+1 3
+1 3
+3 5
cfi=(161)
cfn=(2942)
calls=1 125
* 82
+1 3
+3 16
+4 4
+1 3
+3 4
+9 1
+1 3
cfi=(245)
cfn=(4416)
calls=1 78
* 10
* 2
+2 6
+2 8
+6 2
+2 7
+1 7
+4 15
cfn=(4813)
calls=1 645
* 4497
+3 2
-20 12
+24 6
+2 6
+1 3
+11 5
fn=(4806)
2263 15
+1 9
+5 15
cfn=(4808) get_last_attnums_walker
calls=3 +56
* 843
+2 15
cfn=(4810)
calls=3 +10
* 105
+1 6
fn=(4808)
2325 15
+1 6
+2 12
+30 12
+2 12
+2 12
+2 15
cfi=(250)
cfn=(4494)
calls=3 1843
* 753
+2 6
fn=(4809)
2325 25
+1 10
+2 20
+30 20
+2 20
+2 20
+2 25
cfi=(250)
cfn=(4495)
calls=5 1843
* 672
+2 10
fl=(140)
fn=(3578)
688 12505
+1 35014
cfi=(141)
cfn=(3580)
calls=2501 847
* 1335331
+1 5002
fn=(3208)
209 2670
+13 2136
+3 1602
cfn=(3210) remove_from_unowned_list
calls=534 +56
* 11748
+3 1602
+1 1602
+1 1068
fn=(3210)
281 1602
+4 2670
+4 1602
+2 2136
+1 1068
+1 534
-8 1068
+11 1068
fn=(3282)
642 14
+1 28
cfi=(141)
cfn=(3284)
calls=2 +75
* 7751
+1 4
fn=(5798)
136 5
+3 2
+2 10
-2 7
+5 2
fn=(3706)
814 4
+5 8
+5 4
fn=(3206) add_to_unowned_list
260 1602
+2 1602
+1 1068
+1 1068
fn=(3872)
312 4
+4 2
+1 56
cfi=(141)
cfn=(3874)
calls=4 614
* 64
-1 14
+3 3
+2 2
+4 1
-1 5
cfi=(31)
cfn=(836)
calls=1 910
* 340
* 2
+9 2
+1 2
+1 2
fn=(2824)
118 3
+3 2
+2 10
+1 9
cfi=(141)
cfn=(2826)
calls=1 +83
* 134
-3 7
+7 3
cfi=(67)
cfn=(1578)
calls=1 306
* 32
+1 2
fn=(3854)
366 7028
+4 3012
+3 6024
cfi=(31)
cfn=(836)
calls=1004 910
* 247976
* 1004
+3 2008
+2 2008
fn=(5418)
303 5000
+1 14000
cfi=(141)
cfn=(5420)
calls=1000 -26
* 2759519
+1 2000
fn=(5474)
617 13500
+1 22500
cfi=(141)
cfn=(5476)
calls=1500 497
* 837772
+2 3000
fn=(3204)
153 4272
+5 1602
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 3181
* 1
+2 1
+4 4
+1 2
+1 7
cfi=(31)
cfn=(836)
calls=1 910
* 1403
-2 2132
+1 1066
+1 3731
cfi=(31)
cfn=(836)
calls=533 910
* 219405
* 534
+5 2136
+5 1068
+1 1068
+1 1068
+1 1068
+1 1068
+3 1068
+1 10680
-1 7476
+4 1602
cfn=(3206)
calls=534 +65
* 5340
+3 534
+1 1068
fl=(164)
fn=(4782)
1108 2525
+1 3030
cfn=(3084) ResourceArrayAdd
calls=505 263
* 15150
+1 1010
fn=(3390)
982 12496
+1 12496
cfn=(3080) ResourceArrayEnlarge
calls=3124 208
* 41249
+1 6248
fn=(3724)
688 12
+21 15
+8 12
cfn=(3726) ResourceOwnerNewParent
calls=3 +32
* 60
+3 12
cfn=(3728) ResourceArrayFree
calls=3 402
* 208
+1 12
cfn=(3728)
calls=3 402
* 208
+1 12
cfn=(3728)
calls=3 402
* 119
+1 12
cfn=(3728)
calls=3 402
* 208
+1 12
cfn=(3728)
calls=3 402
* 119
+1 12
cfn=(3728)
calls=3 402
* 119
+1 12
cfn=(3728)
calls=3 402
* 208
+1 12
cfn=(3728)
calls=3 402
* 30
+1 12
cfn=(3728)
calls=3 402
* 30
+1 12
cfn=(3728)
calls=3 402
* 30
+2 9
cfi=(13)
cfn=(952)
calls=3 1032
* 255
+1 6
fn=(5324)
1141 2000
+1 2000
cfn=(3080)
calls=500 208
* 6803
+1 1000
fn=(2972)
422 15
+3 12
cfi=(13)
cfn=(2156)
calls=3 815
* 1630
* 3
+2 9
+2 6
+2 3
+1 4
+1 3
+3 5
cfn=(2974) ResourceArrayInit
calls=1 189
* 9
* 10
cfn=(2974)
calls=2 189
* 18
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+1 15
cfn=(2974)
calls=3 189
* 27
+2 3
+1 6
fn=(3078)
1052 33208
+1 33208
cfn=(3080)
calls=8302 208
* 108532
+1 16604
fn=(3098)
1072 41510
+1 49812
cfn=(3100) ResourceArrayRemove
calls=8302 301
* 448308
* 24906
+3 16604
fn=(3656)
481 72
+2 54
cfn=(3658) ResourceOwnerReleaseInternal
calls=9 +8
* 899111
+1 18
fn=(3084)
263 178210
+6 142568
+3 142568
+15 106926
+1 249494
+1 178210
+1 71284
fn=(3100)
301 178210
+3 106926
+5 142568
+2 142568
+1 249494
-1 71284
+3 519630
+1 173210
+2 173210
+1 69284
+2 2000
+2 9000
+2 15000
+1 5000
+2 5000
+1 2000
-8 4000
+37 71284
fn=(3106)
953 38115
+3 30492
+1 7328
+3 1475
+2 2065
+2 3540
+1 1475
+1 295
-6 590
+11 15246
fn=(3252)
915 105800
+1 148120
cfn=(3100)
calls=21160 301
* 1157640
* 63480
+3 42320
fn=(3392)
993 15620
+1 18744
cfn=(3084)
calls=3124 263
* 93720
+1 6248
fn=(3658)
491 72
+7 54
+7 18
+1 18
+2 18
+11 21
cfn=(3660) ResourceArrayGetAny
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 9
+7 12
+2 6
+7 6
+2 6
cfi=(84)
cfn=(3678)
calls=2 772
* 821542
+1 6
cfi=(92)
cfn=(3688)
calls=2 3223
* 22
* 2
+19 4
+2 1
+1 2
+8 2
+1 5
cfi=(91)
cfn=(5618)
calls=1 2489
* 76594
* 1
+5 6
+9 21
cfn=(3660)
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 6
+10 21
cfn=(3660)
calls=3 370
* 36
* 6
+11 45
+3 18
+1 18
fn=(3728)
402 120
+1 120
+1 44
cfi=(13)
cfn=(952)
calls=11 1032
* 935
+1 60
fn=(4924)
1017 16
+1 16
cfn=(3080)
calls=4 208
* 355
+1 8
fn=(4794)
1117 2525
+1 3030
cfn=(3100)
calls=505 301
* 27270
* 1515
+3 1010
fn=(3080)
208 142568
+7 213852
+1 35631
+2 33
+1 33
+3 44
+1 66
cfi=(13)
cfn=(798)
calls=11 772
* 1094
* 11
+2 22
+1 1232
-1 737
+4 33
+1 33
+1 55
+1 22
+2 22
+20 71284
fn=(3148)
1187 8188
+1 8188
cfn=(3080)
calls=2047 208
* 27248
+1 4094
fn=(3238)
906 105800
+1 148120
cfn=(3084)
calls=21160 263
* 634800
+1 42320
fn=(4780)
1097 2020
+1 2020
cfn=(3080)
calls=505 208
* 6868
+1 1010
fn=(3060)
933 30492
+3 30492
+1 7296
+2 1308
+1 2275
+5 1625
+1 650
-1 10
+1 14596
fn=(3082)
1063 41510
+1 49812
cfn=(3084)
calls=8302 263
* 249060
+1 16604
fn=(3408)
1207 10235
+1 12282
cfn=(3100)
calls=2047 301
* 110538
* 6141
+3 4094
fn=(3660)
370 120
+1 120
+1 60
+23 60
fn=(5326)
1152 2500
+1 3000
cfn=(3084)
calls=500 263
* 15000
+1 1000
fn=(5620)
739 3
+1 2
+1 2
fn=(3726)
749 12
+1 9
+2 6
+2 4
+1 5
+16 6
+9 6
+1 6
+2 6
fn=(4934)
1037 20
+1 24
cfn=(3100)
calls=4 301
* 216
* 12
+3 8
fn=(3422)
1002 15620
+1 18744
cfn=(3100)
calls=3124 301
* 168696
* 9372
+3 6248
fn=(4930)
1028 20
+1 24
cfn=(3084)
calls=4 263
* 120
+1 8
fn=(5518)
1161 2500
+1 3000
cfn=(3100)
calls=500 301
* 27000
* 1500
+3 1000
fn=(2974)
189 120
+7 90
+2 60
fn=(3150)
1198 10235
+1 12282
cfn=(3084)
calls=2047 263
* 61410
+1 4094
fn=(3214)
893 84640
+3 84640
cfn=(3080)
calls=21160 208
* 275717
+1 42320
fl=(214)
fn=(3882)
37 2032
+6 3556
cfi=(215)
cfn=(3884)
calls=508 1148
* 552202
* 508
+4 508
+3 1524
cfi=(217)
cfn=(3902)
calls=508 16299
* 3556
+3 1524
cfi=(218)
cfn=(3904)
calls=508 24993
* 5848301
* 508
+3 1524
cfi=(215)
cfn=(3936)
calls=508 1187
* 8128
+2 1016
+3 508
+1 1016
fn=(3906)
84 21270
+1 10635
+7 14180
+2 1500
+1 2000
+1 2000
+1 2500
+1 1500
+3 18270
cfi=(216)
cfn=(3908)
calls=3045 9032
* 2822315
* 3045
+8 23815
+9 500
+1 500
+2 6090
+8 1000
+1 3500
-1 1000
+11 1500
+3 3500
cfi=(216)
cfn=(3908)
calls=500 9032
* 571000
* 500
+1 1500
+1 2000
+2 1500
+3 2500
+1 1500
+2 1000
+3 2500
+29 2500
+7 1000
+3 500
+1 7090
fl=(263)
fn=(4646)
574 12
+3 15
cfi=(264)
cfn=(4648)
calls=3 78
* 24
* 12
+22 6
fn=(4650)
611 15
+4 6
+2 6
+1 30
cfn=(4652) pull_up_subqueries_recurse
calls=3 +63
* 141
-1 3
+4 12
+4 12
fn=(4652)
681 30
+2 12
+50 12
+2 6
+1 3
+9 12
+3 12
cfi=(264)
cfn=(4648)
calls=3 78
* 24
* 12
+27 6
+4 3
+76 3
+1 6
fl=(275)
fn=(5048)
1556 8
+4 8
cfi=(151)
cfn=(3444)
calls=2 1114
* 684
* 2
+1 4
+3 18
+1 6
cfi=(151)
cfn=(3418)
calls=2 1161
* 206
+1 2
+1 4
fn=(5124)
1537 12
+4 12
cfi=(151)
cfn=(3444)
calls=3 1114
* 45345
* 3
+1 6
+3 27
+1 9
cfi=(151)
cfn=(3418)
calls=3 1161
* 309
+1 3
+1 6
fn=(4966)
2567 8
+9 8
cfi=(151)
cfn=(3444)
calls=2 1114
* 684
* 2
+1 4
+2 16
+1 8
+6 8
+3 2
+1 6
cfi=(151)
cfn=(3418)
calls=2 1161
* 206
+1 4
+9 4
fn=(4972)
2446 60
+4 40
cfi=(151)
cfn=(3444)
calls=10 1114
* 90617
* 10
+1 20
+2 80
+1 40
+1 40
+1 30
cfi=(151)
cfn=(3418)
calls=10 1161
* 1030
+1 20
fn=(4706)
2324 15
+1 9
cfn=(4708) get_typlen
calls=3 1943
* 1422
* 6
+6 6
+1 4
+6 5
cfi=(297)
cfn=(5148)
calls=1 398
* 14
* 1
+1 2
+25 1
+1 6
fn=(4708)
1943 12
+3 12
cfi=(151)
cfn=(3444)
calls=3 1114
* 1026
* 3
+1 6
+2 24
+3 9
+1 9
cfi=(151)
cfn=(3418)
calls=3 1161
* 309
+1 6
+4 6
fn=(4938)
2284 125
+9 100
cfi=(151)
cfn=(3444)
calls=25 1114
* 139596
* 25
+1 50
+2 200
+1 100
+3 75
cfi=(151)
cfn=(3418)
calls=25 1161
* 2575
+1 25
+10 25
+1 50
fn=(4956)
2494 44
+3 44
cfi=(151)
cfn=(3444)
calls=11 1114
* 3762
* 11
+1 22
+2 88
+3 44
+1 36
+2 2
+1 6
cfi=(151)
cfn=(3418)
calls=2 1161
* 206
* 27
cfi=(151)
cfn=(3418)
calls=9 1161
* 927
+1 22
+4 22
fn=(5126)
2609 3535
+4 2020
cfi=(151)
cfn=(3444)
calls=505 1114
* 172710
* 505
+1 1010
+2 4040
+2 2525
+5 2020
+6 2020
+1 1515
cfn=(4996)
calls=505 2049
* 9595
* 1010
+2 1515
cfi=(151)
cfn=(3418)
calls=505 1161
* 52015
+1 2020
fn=(5136)
1518 12
+4 12
cfi=(151)
cfn=(3444)
calls=3 1114
* 1026
* 3
+1 6
+3 27
+1 9
cfi=(151)
cfn=(3418)
calls=3 1161
* 309
+1 3
+1 6
fn=(5114)
2375 4
+3 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 342
* 1
+1 2
+2 8
+3 3
+1 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+1 2
+4 2
fn=(5014)
1499 8
+4 8
cfi=(151)
cfn=(3444)
calls=2 1114
* 44736
* 2
+1 4
+3 18
+1 6
cfi=(151)
cfn=(3418)
calls=2 1161
* 206
+1 2
+1 4
fn=(5128)
2642 7035
+4 4020
cfi=(151)
cfn=(3444)
calls=1005 1114
* 343710
* 1005
+1 2010
+2 8040
+2 5025
+5 4020
+6 4020
+1 11045
+2 15
cfi=(151)
cfn=(3418)
calls=5 1161
* 515
-2 3000
+2 3000
cfi=(151)
cfn=(3418)
calls=1000 1161
* 103000
+1 4020
fn=(5228)
1655 5000
+1 9000
cfi=(151)
cfn=(3024)
calls=1000 1227
* 26892589
+3 2000
fn=(4936)
2267 88
+1 22
+2 110
cfn=(4938)
calls=22 +14
* 141518
+1 44
fn=(5150)
1613 16
+4 16
cfi=(151)
cfn=(3444)
calls=4 1114
* 1368
* 4
+1 8
+3 36
+1 12
cfi=(151)
cfn=(3418)
calls=4 1161
* 412
+1 4
+1 16
fn=(4996)
2049 1521
+1 4056
+6 2028
+3 1014
+1 1014
fn=(5028)
2791 24
+3 24
cfi=(151)
cfn=(3444)
calls=6 1114
* 2052
* 6
+1 12
+2 48
+3 18
+1 18
cfi=(151)
cfn=(3418)
calls=6 1161
* 618
+1 12
+4 12
fl=(302)
fn=(5240)
3462 6000
+11 3500
cfi=(303)
cfn=(5242)
calls=500 76
* 25500
* 500
+1 2500
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 2000
+1 1000
+3 500
+1 1500
+2 7000
+1 3000
+1 500
+2 1000
+3 2000
+12 9000
+1 22000
+1 7000
+4 2000
-21 5500
+31 2000
fl=(56)
fn=(1142)
1208 4
+1 3
+6 1
+1 1
+8 2
fn=(1146)
1202 4
+1 2
+1 2
fn=(5780)
364 2
+1 4
cfi=(126)
cfn=(5782)
calls=1 48
* 9
* 3
+6 2
fn=(1144)
1145 6
+1 9
+49 2
+2 1
+1 2
fl=(106)
fn=(5788)
480 3
+6 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 136
+1 2
+2 90
+2 50
+1 10
-5 43
+23 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 90
+1 2
fn=(2064)
115 9
+1 3
+2 9
+3 3
+1 15
cfi=(87)
cfn=(2000)
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+3 3
+1 6
fn=(2276)
133 3
+3 3
+4 1
cfn=(2064)
calls=1 -25
* 66
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1050
-1 1
+4 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+3 4
+5 4
cfn=(2064)
calls=1 -36
* 66
* 19
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 275
* 1
+2 2
+2 90
+3 20
+1 50
cfi=(99)
cfn=(2144)
calls=10 678
* 640
+1 40
cfi=(128)
cfn=(2278)
calls=10 40
* 230
-7 43
+10 2
fl=(152)
fn=(2898)
110 9882
+1 6588
+2 6588
+1 3294
+1 6588
-5 4563
+1 3042
+2 3042
+1 1521
+1 3042
-5 3042
+1 2028
+2 2028
+1 1014
+1 2028
fl=(254)
fn=(4762)
210 15
+1 9
+1 12
cfi=(255)
cfn=(4672)
calls=3 90
* 24
* 3
+8 12
cfn=(4764) add_rtes_to_flat_rtable
calls=3 +32
* 138
+5 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+17 18
cfn=(4766) set_plan_refs
calls=3 435
* 2663
+1 6
fn=(4768) fix_scan_expr
1491 54
+3 18
+1 18
+2 18
+1 18
-1 18
+2 27
-1 18
+2 18
-1 18
+17 45
cfn=(4770) fix_scan_expr_walker
calls=9 +76
* 2033
+1 9
+2 18
fn=(4526) fix_expr_common
1373 198
+2 132
+5 132
+5 132
+2 12
cfn=(5040)
calls=2 2553
* 24
* 2
+3 124
+2 6
cfi=(250)
cfn=(5042)
calls=2 1620
* 20
+1 12
cfn=(5040)
calls=2 2553
* 24
* 2
+3 116
+6 116
+6 116
+6 116
+2 16
+3 64
+1 8
+4 84
+25 132
fn=(5040)
2553 30
+9 10
+15 20
fn=(4764)
252 18
+1 9
+11 15
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+18 3
+1 15
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+48 6
fn=(4522)
2637 21
+5 396
+1 3
+1 3
+1 3
+2 3
+2 1467
+1 3
+1 6
+2 15
cfn=(4524) extract_query_dependencies_walker
calls=3 +17
* 3829
+2 9
+1 9
+1 9
+1 6
fn=(4770)
1592 45
+1 18
+1 12
+2 18
cfn=(4526)
calls=3 1373
* 138
+1 15
cfi=(250)
cfn=(4494)
calls=3 1843
* 1769
+2 18
fn=(4771)
1592 55
+1 22
+3 66
cfn=(4526)
calls=11 1373
* 541
+1 55
cfi=(250)
cfn=(4495)
calls=11 1843
* 3113
+2 22
fn=(4524)
2670 18
+1 6
+3 12
+40 15
cfn=(4526)
calls=3 1373
* 138
+1 15
cfi=(250)
cfn=(4494)
calls=3 1843
* 3613
+2 12
fn=(4525)
2670 294
+1 98
+1 60
+2 76
+2 6
+3 12
+12 12
+4 12
cfi=(255)
cfn=(4528)
calls=3 78
* 24
* 12
+15 18
cfi=(250)
cfn=(4484)
calls=3 2266
* 3226
* 3
+4 80
cfn=(4526)
calls=16 1373
* 771
+1 80
cfi=(250)
cfn=(4495)
calls=16 1843
* 4661
+2 196
fn=(4766)
435 21
+3 6
+4 21
+5 24
743 6
+6 12
+5 21
cfn=(4768)
calls=3 1491
* 2066
-1 6
+3 21
cfn=(4768)
calls=3 1491
* 132
-1 6
+5 21
cfn=(4768)
calls=3 1491
* 132
-1 6
+3 3
1013 21
cfn=(4767) set_plan_refs'2
calls=3 435
* 45
* 6
+1 21
cfn=(4767)
calls=3 435
* 45
* 6
+2 3
+1 12
fn=(4767)
435 42
+3 12
+1 12
1017 24
fl=(23)
fn=(668)
101 35
+69 35
cfn=(670) random_from_file
calls=7 48
* 2704
* 14
+1 14
+7 14
fn=(670)
48 42
+2 14
+3 42
cob=(5)
cfi=(5)
cfn=(676)
calls=6 -53
* 42
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -53
* 745
* 11
* 7
+1 14
+3 7
+2 42
cob=(5)
cfi=(5)
cfn=(684)
calls=6 -59
* 42
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -59
* 753
* 11
* 7
+1 14
+9 14
+1 14
-13 28
+16 21
cob=(5)
cfi=(5)
cfn=(692)
calls=6 -73
* 42
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -73
* 760
* 11
+1 7
+1 14
fl=(35)
fn=(1420)
589 8
+1 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 345
* 1
* 1
+2 2
+4 8
cfn=(1422) tzloadbody
calls=1 217
* 1248093
* 1
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 113
* 1
+1 1
+2 2
fn=(1422)
217 9
+5 2
+1 1
+2 6
+2 2
+7 4
+3 5
cfi=(30)
cfn=(1424)
calls=1 77
* 45550
* 1
+1 2
+3 6
cob=(5)
cfi=(5)
cfn=(684)
calls=1 0
* 7
* 1
* 1
+1 4
+7 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
* 2
+2 2
+2 8
cfn=(1444) detzcode
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 2
+1 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 10
+7 8
+1 8
+1 8
+1 8
+1 6
-4 6
+9 10
+1 4
+1 12
+1 4
+1 8
+1 4
+1 4
-7 2
-1 4
+10 6
+1 6
+1 6
+1 6
+7 2
+1 4
+3 1302
cfn=(1444)
calls=186 123
* 14050
* 930
cfn=(1446) detzcode64
calls=186 149
* 25210
-1 372
+3 1488
+1 2232
+2 744
+4 3704
+7 2976
+2 1116
-21 1868
+24 2
+1 4
+2 1860
+2 1860
+2 2232
+1 2604
-7 1868
+9 6
+1 4
+6 90
+1 30
cfn=(1444)
calls=10 123
* 770
* 20
+1 10
+1 50
+1 20
+2 40
+1 50
+1 50
+2 30
-16 58
+18 4
+1 320
-1 208
+2 8
+3 2
+1 12
+25 6
+2 4
+4 90
+1 20
+4 72
+2 80
-11 58
+14 4
+4 90
+1 20
+4 72
+2 80
-11 58
+18 8
+2 12
+1 12
cob=(3)
cfi=(3)
cfn=(482)
calls=2 0
* 584
* 2
251 8
419 4
+1 2
-1 2
+1 6
+1 3
-1 2
+3 3
+2 4
+1 7
cfn=(846)
calls=1 938
* 766889
* 2
+10 1
+1 3
+2 2
+2 26
+3 4
+1 140
cob=(3)
cfi=(3)
cfn=(446)
calls=14 0
* 308
* 14
* 28
+2 16
+1 2
+1 2
-5 54
+7 6
-12 14
+25 4
+2 3
+7 5
+1 6
+1 6
-1 2
+4 2
+1 2148
+1 7518
-2 2684
+4 1
+3 16104
+1 7320
+1 5856
-1 7320
+2 7320
+1 1464
-7 5860
+1 5856
+8 2
+1 40
-1 14
+5 4
+2 4
+2 2
+1 19788
cfn=(1462) typesequiv
calls=1649 605
* 132714
* 3298
+1 8240
cfn=(1464) differ_by_repeat
calls=824 175
* 9888
-1 1648
-1 8249
+7 5
+2 3200
-1 9600
cfn=(1462)
calls=800 +97
* 64400
* 1600
+2 6000
cfn=(1464)
calls=400 175
* 4800
-1 800
+4 2
+1 1
-7 2399
+27 2
+1 9900
-1 8254
+3 6
+7 2
+17 2
+16 3
+2 1
+1 2
fn=(846)
938 14
+2 2
+9 4
+1 4
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 1
+1 2
+1 2
+4 4
+12 3
cfn=(1448) getzname
calls=1 644
* 64
* 1
+1 5
+2 4
+2 5
cfn=(1450) getoffset
calls=1 753
* 98
* 1
+1 2
+3 6
+1 4
+12 12
+1 4
+2 8
+2 4
+11 2
+1 3
cfn=(1448)
calls=1 644
* 66
* 1
+1 5
+2 2
+2 5
+1 2
+2 8
+7 3
+1 4
+32 4
+8 1
+3 1
+1 5
cfn=(1456) getrule
calls=1 780
* 206
* 3
+2 6
+2 5
cfn=(1456)
calls=1 780
* 227
* 3
+2 4
+2 2
+5 9
cfn=(848) init_ttinfo
calls=1 113
* 22
+1 10
cfn=(848)
calls=1 113
* 22
+1 2
+1 1
+1 1
+1 1
+5 2332
-1 304
+3 152
+1 1064
cfn=(1458) increment_overflow_time
calls=152 1588
* 4104
-3 96
-1 96
+3 48
+1 336
cfn=(1458)
calls=48 1588
* 1296
* 400
+5 400
+2 3
+1 3
+3 6006
cfn=(1460) transtime
calls=1001 842
* 212203
* 1001
+1 6006
cfn=(1460)
calls=1001 842
* 334180
* 1001
+2 11923
+2 3036
+2 1518
-4 968
+2 968
+2 484
+7 2002
+1 3003
+1 4004
+2 5005
-2 2002
+4 2002
+1 1
+1 6000
+2 13000
cfn=(1458)
calls=1000 1588
* 27000
-1 3000
+3 9000
+1 6000
+2 13000
cfn=(1458)
calls=1000 1588
* 27000
-1 3000
+4 7000
+1 3000
+4 7000
cfn=(1458)
calls=1000 1588
* 27000
-1 2000
+3 1000
-42 4003
+44 3
+1 2
+5 6
+1 6
-96 1
1250 1
+5 1
+1 2
+1 2
+1 9
cfn=(848)
calls=1 113
* 22
+1 2
+2 4
+1 3
+1 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1364
* 5
-2 4
+1 3
+1 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 14
* 1
+1 4
+1 8
+1 4
+2 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 14
* 1
+1 4
+2 1
+1 2
-1 1
+1 2
fn=(1450)
753 5
+1 1
+2 4
+5 4
+2 5
cfn=(1452) getsecs
calls=1 -51
* 71
* 1
+1 2
+2 2
+2 1
+1 2
fn=(1452)
712 5
+8 6
cfn=(1454) getnum
calls=1 -38
* 46
* 1
+1 2
+2 4
+1 4
+17 1
+1 2
fn=(1454)
682 42
+4 63
+2 7
+3 70
+1 21
-1 10
+1 3
+2 32
+1 32
+1 21
+2 21
+1 7
+1 14
fn=(1464)
175 4896
+3 7344
+1 2448
fn=(1054) increment_overflow
1570 160
+1 120
+9 360
+2 240
+1 40
+1 80
fn=(1046)
1905 24
+9 6
+1 30
cfn=(1048)
calls=6 1375
* 7172
* 6
+1 36
+3 6
+1 12
fn=(1052) timesub
1446 96
+11 12
+1 12
+1 72
+1 48
+11 12
+1 132
+1 192
+1 12
+7 240
+1 96
+3 48
+1 48
+1 24
+1 12
+1 30
cfn=(1054)
calls=6 +81
* 150
-1 36
+1 90
cfn=(1054)
calls=18 +81
* 450
* 48
+2 96
cfn=(1056) leaps_thru_end_of
calls=24 -54
* 1008
* 24
+1 96
cfn=(1056)
calls=24 -55
* 1008
-1 72
+2 312
+1 72
+1 48
-21 606
+27 24
+1 48
+1 12
+2 4
+1 4
-3 32
+5 36
+5 12
+2 16
cfn=(1054)
calls=4 +55
* 100
* 8
+2 32
-4 32
+6 178
+6 36
+1 60
cfn=(1054)
calls=12 +44
* 300
* 24
+2 36
+6 204
+2 48
cfn=(1056)
calls=12 -99
* 504
-1 12
+2 24
cfn=(1056)
calls=12 1437
* 504
-1 24
+1 36
-4 24
+6 216
+1 48
+2 144
+1 156
+1 168
+6 264
+1 188
+1 30
-1 14
+1 6
+1 352
-1 724
+2 48
+1 24
+1 48
+1 24
+5 48
fn=(1058) leaps_thru_end_of_nonneg
1431 216
+1 1872
+1 144
fn=(1444)
123 624
+3 208
+1 624
+1 832
+1 624
+2 1040
+1 416
+1 7488
-1 2288
+3 832
+7 120
+2 60
+1 120
-1 148
+1 296
fn=(3748)
1890 3
+1 2
+1 2
+2 2
fn=(1048)
1375 60
+1 84
cfn=(1050) localsub
calls=12 -85
* 13184
+1 24
fn=(1456)
780 10
+1 8
+9 8
+5 4
+1 2
+1 14
cfn=(1454)
calls=2 682
* 113
* 2
+1 4
+2 12
+2 14
cfn=(1454)
calls=2 682
* 92
* 2
+1 4
+2 12
+2 14
cfn=(1454)
calls=2 682
* 92
* 4
+12 4
+2 8
+9 4
+1 2
+1 4
fn=(1458)
1588 12800
+7 6400
+1 1200
-1 600
+2 21000
-2 12400
+4 22400
+1 3200
+1 6400
fn=(1050)
1291 72
+4 36
+2 24
+2 48
+1 24
-1 24
+1 100
+36 98
+2 8
+4 10
+1 30
+2 10
+2 550
+2 880
+1 222
+2 108
-7 360
+9 70
+2 90
+7 70
cfn=(1052)
calls=10 +83
* 8460
-7 18
+7 14
cfn=(1052)
calls=2 +83
* 1618
* 12
+1 24
+2 60
+1 108
+2 12
+1 24
fn=(1446)
149 558
+3 186
+1 558
+1 744
+1 558
+2 930
+1 372
+1 15624
-1 4278
+3 744
+7 100
+2 50
+1 100
-1 136
+1 272
fn=(1460)
842 10010
+11 2002
+1 20810
+1 6072
-1 968
+1 9944
+35 36036
+1 12012
+1 20020
+1 26026
+1 20020
+1 40040
-1 36036
+2 4004
+1 373
+6 1492
+1 746
-1 6516
+1 3258
+1 1710
+1 4004
+2 2002
+1 12012
-1 2002
+3 1001
-5 13013
+11 6006
+1 4004
+1 144144
-1 82082
+2 2002
+8 12012
+1 4004
fn=(1462)
605 14694
+3 9796
+1 14694
+1 9796
+4 22041
+1 22041
+2 9796
+3 4898
-2 4896
-1 2448
+2 4896
-1 2448
+2 4896
-1 2448
+3 2448
-1 18360
cob=(3)
cfi=(3)
cfn=(446)
calls=1224 0
* 26928
* 1224
-1 6121
-3 2450
+7 1225
+1 2450
-8 2448
+7 1224
+1 2448
fn=(848)
113 21
+1 9
+1 9
+1 9
+1 6
+1 6
+1 6
fn=(1056)
1437 288
+3 360
cfn=(1058)
calls=72 -9
* 2232
+1 144
fn=(1448)
644 6
+3 2
+2 6
-2 110
+3 2
+1 4
fl=(102)
fn=(2726)
371 3
+2 1
+3 4
cfi=(28)
cfn=(784)
calls=1 41
* 174
+4 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1259
* 5
* 2
+13 1
+2 2
fn=(2264)
129 4
+4 1
cfn=(2054)
calls=1 -19
* 73
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 948
-1 1
+3 4
+2 4
cfn=(2054)
calls=1 -23
* 73
* 15
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 114
* 1
+1 2
cfi=(20)
cfn=(2056)
calls=1 5589
* 11
* 1
+2 4
fn=(2840)
257 2
+1 2
+3 1
+2 5
+1 2
fn=(2616)
185 15
+1 15
+7 20
+2 15
+1 4
+1 35
+2 25
+1 15
+1 15
-8 10
+15 10
fn=(2690)
219 6
+4 2
+7 16
+1 10
+1 2
+1 4
fn=(5796)
290 2
+1 2
+3 1
+3 5
+1 2
fn=(2054)
114 9
+3 3
+1 3
cfi=(20)
cfn=(2056)
calls=3 5589
* 33
* 12
cfi=(87)
cfn=(2000)
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+3 3
+1 6
fn=(2676)
164 48
+2 80
+2 6
+1 4
+2 14
+1 32
fl=(172)
fn=(5268) IsToastClass
153 2000
+1 1500
+2 1500
cfn=(5270) IsToastNamespace
calls=500 +26
* 12000
+1 1000
fn=(3366)
97 10200
+1 17850
cfn=(3368) IsCatalogClass
calls=2550 +11
* 78750
+1 5100
fn=(3042)
225 16866
+2 22480
+1 11236
+1 11228
+1 11228
+1 11228
+1 11228
+1 11228
+1 11228
+1 11226
+1 11226
+2 18
+2 22450
+1 11222
+1 11222
+1 11222
+1 11218
+1 11216
+1 11216
+1 11216
+1 11216
+1 11216
+1 11216
+1 11216
+1 11216
+1 11208
+1 11208
+1 11208
+1 11208
+2 18
+2 22416
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+1 11208
+3 5604
+1 11244
fn=(3368)
109 15250
+1 9150
+6 9150
cfn=(3370) IsSystemNamespace
calls=3050 +52
* 21350
* 12150
cfn=(5270)
calls=1000 +66
* 24000
* 3000
+1 2000
+15 4100
+1 6100
fn=(3370)
168 9150
+1 6100
+1 6100
fn=(5266)
80 2500
+1 1500
cfn=(5268)
calls=500 +72
* 18000
* 3500
cfn=(3368)
calls=500 +28
* 27500
* 2000
+1 1000
fn=(5270)
182 6000
+1 3000
+1 4500
cfi=(55)
cfn=(5272)
calls=1500 3152
* 13500
-1 6000
+2 3000
fl=(179)
fn=(3244) _bt_cachemetadata
114 95
+3 95
cfi=(13)
cfn=(798)
calls=19 772
* 6604
* 38
+10 76
+3 133
cob=(3)
cfi=(3)
cfn=(856)
calls=19 0
* 380
* 19
* 19
+15 38
fn=(3242) _bt_checkpage
663 35770
+1 45990
+8 20440
+11 51100
+7 25550
fn=(3196)
253 15324
+16 10216
+2 7593
+7 7593
+2 7593
+2 15186
cfn=(3198)
calls=2531 730
* 3315092
* 2531
+1 22779
+1 15186
+9 15186
+1 5062
-1 5062
+2 5062
-1 5062
+2 5062
-1 5062
+4 5062
+9 115
cfn=(3198)
calls=23 730
* 45648
* 23
+1 207
+1 138
+1 69
+3 138
+1 46
-1 46
+7 92
+1 46
-1 46
+10 92
+3 8
+2 20
cfn=(3608) _bt_relbuf
calls=4 885
* 1508
+1 8
438 57
+2 57
+5 95
cfn=(3244)
calls=19 114
* 7497
+6 38
+4 114
cfn=(3246)
calls=19 866
* 42504
* 19
+1 171
+1 114
+2 114
+1 19
+10 76
+10 19
+1 10216
fn=(3608)
885 20
+1 12
cfi=(50)
cfn=(3610)
calls=4 3339
* 1468
+1 8
fn=(3246)
866 17864
+4 5104
+1 10208
cfi=(50)
cfn=(3240)
calls=2552 3553
* 288376
+1 15312
cfi=(50)
cfn=(3248)
calls=2552 1522
* 3427581
* 2552
+1 12760
cfi=(50)
cfn=(3240)
calls=2552 3553
* 413424
+1 12760
cfn=(3242)
calls=2552 663
* 89320
+1 2552
+1 5104
fn=(3198)
730 15348
+3 5116
+3 12790
cfi=(50)
cfn=(3200)
calls=2558 595
* 2790428
* 2558
+1 12790
cfi=(50)
cfn=(3240)
calls=2558 3553
* 414396
+1 12790
cfn=(3242)
calls=2558 -75
* 89530
* 2558
848 2558
+1 5116
fl=(61)
fn=(1270)
110 18
+1 12
+2 12
+1 6
+1 12
-5 12
+1 8
+2 8
+1 4
+1 8
fl=(212)
fn=(3790)
251 8
+1 10
+5 8
+4 8
cfi=(191)
cfn=(3430)
calls=2 88
* 336
+1 2
cfi=(26)
cfn=(3792)
calls=2 4478
* 32
* 10
cfi=(210)
cfn=(3794)
calls=2 162
* 176
+1 6
cfi=(191)
cfn=(3436)
calls=2 +36
* 670
* 2
+5 6
cfi=(58)
cfn=(3800)
calls=2 1401
* 372
+1 2
+13 4
fn=(3946)
104 4
+2 2
fn=(3982)
114 2004
+6 2505
+4 3
cfi=(228)
cfn=(3984)
calls=1 -45
* 276
* 1
+12 1000
+23 1002
fn=(5708)
167 6
+1 5
+10 5
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 5
cfi=(58)
cfn=(3438)
calls=1 1561
* 228
+1 1
+13 4
fl=(97)
fn=(2038)
237 6
+4 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 28
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 8
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 28
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+3 2
+1 4
fn=(2258)
253 3
+3 1
cfn=(2038)
calls=1 -19
* 103
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1189
* 1
+3 4
+6 2
+1 2
+6 1
+1 5
-2 3
+4 5
+26 2
fl=(115)
fn=(2092) GetHugePageSize
403 5
+8 2
+1 2
+10 3
cfi=(25)
cfn=(1278)
calls=1 2186
* 598
* 1
+5 2
+2 1
+2 287
cob=(3)
cfi=(3)
cfn=(2098)
calls=40 0
* 15701
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1629
* 45
* 82
+2 3
+2 6
+1 1
-7 205
cob=(3)
cfi=(3)
cfn=(1486)
calls=41 0
* 8547
* 41
* 82
+12 3
cfi=(25)
cfn=(1374)
calls=1 2385
* 756
+4 2
fn=(2088)
560 9
+20 3
cfn=(2090) CreateAnonymousSegment
calls=1 458
* 29604
* 1
+1 2
+3 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+3 1
+6 1
+3 3
+2 1
+3 5
cfn=(2112) InternalIpcMemoryCreate
calls=1 104
* 4861
* 1
+1 2
+1 1
+56 2
+1 1
cob=(3)
cfi=(3)
cfn=(654)
calls=1 0
* 5
* 1
* 2
+1 2
+1 2
+3 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+5 3
+1 3
+5 3
+1 2
+1 3
+3 2
+1 3
+9 3
+2 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 22
* 1
+1 1
+4 4
fn=(2090)
458 5
+1 3
+1 1
+1 1
+6 6
+8 5
cfn=(2092)
calls=1 -72
* 28004
+2 7
+1 9
+2 11
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1292
* 5
* 1
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 5
+1 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+5 5
+6 3
+1 8
cob=(3)
cfi=(3)
cfn=(598)
calls=1 0
* 33
* 1
* 1
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+3 2
+15 3
+1 1
+1 4
fn=(2112)
104 9
+2 1
+22 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1308
* 5
* 1
+2 2
+94 5
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+3 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1266
* 5
* 1
+2 2
+5 4
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+10 9
cfi=(17)
cfn=(1138)
calls=1 -13
* 1243
+2 4
cfi=(54)
cfn=(1950)
calls=1 1259
* 912
+3 1
+1 7
fl=(116)
fn=(2138)
225 2008
+1 502
+2 2510
+6 502
+1 1506
-10 128
+1 32
+2 160
+6 32
+1 96
fl=(269)
fn=(4758)
340 15
+5 9
cfi=(271)
cfn=(4690)
calls=3 78
* 30
* 12
cfi=(271)
cfn=(4690)
calls=3 78
* 30
* 6
+2 9
+1 9
+3 12
+1 12
+1 12
+1 12
+1 12
-10 36
+12 6
fn=(4682)
672 18
+2 24
cfi=(13)
cfn=(2950)
calls=6 853
* 1044
* 24
+1 12
fn=(4700)
588 12
+1 12
cfi=(13)
cfn=(2950)
calls=3 853
* 522
* 15
+4 9
cfi=(271)
cfn=(4702)
calls=3 90
* 30
* 12
cfi=(13)
cfn=(940)
calls=3 925
* 330
* 6
+2 3
+1 9
cfi=(271)
cfn=(4690)
calls=3 78
* 30
* 6
+2 9
+2 21
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 6
+1 27
+1 3
-6 21
+9 3
+1 6
fl=(86)
fn=(2852)
285 4
+7 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 854
* 5
* 3
cob=(5)
cfi=(5)
cfn=(2858) sem_trywait@@GLIBC_2.2.5
calls=1 0
* 8
* 1
* 4
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+6 1
+1 2
fn=(2242)
252 348
+7 464
+9 696
+1 232
+1 348
cfn=(2244) PosixSemaphoreCreate
calls=116 135
* 3703
+3 348
+2 116
+1 232
fn=(2128)
200 5
+13 3
cfn=(1998)
calls=1 -48
* 34
* 2
cfi=(87)
cfn=(2130)
calls=1 +15
* 32
-1 1
+4 1
+1 2
+1 3
+2 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(2244)
135 464
+1 580
cob=(5)
cfi=(5)
cfn=(2250) sem_init@@GLIBC_2.2.5
calls=115 0
* 1265
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 810
* 120
* 232
+2 232
fn=(1998)
165 8
+6 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
+2 4
fl=(161)
fn=(2940)
1386 395
+5 395
cfn=(2942)
calls=79 125
* 6478
+2 632
+2 395
cfi=(162)
cfn=(2948)
calls=79 107
* 30621
* 79
+3 237
+3 79
+1 158
fn=(5196) OidOutputFunctionCall
1834 2500
+3 2500
cfn=(2942)
calls=500 125
* 41000
+1 2500
cfn=(5180)
calls=500 -84
* 137000
+1 1000
fn=(5008)
1918 2008
+1 3012
+1 1500
cfi=(301)
cfn=(5238)
calls=500 173
* 88000
* 500
+2 2
+1 1004
fn=(5182) FunctionCall1Coll
1114 6000
+4 8000
+2 2000
+1 1000
+2 5000
cfi=(41)
cfn=(5184)
calls=1000 523
* 227000
* 1000
+3 3000
+3 1000
+1 2000
fn=(2942)
125 15535
+1 18642
cfn=(2944) fmgr_info_cxt_security
calls=3107 +20
* 4070054
+1 6214
fn=(2943)
125 10
+1 12
cfn=(2945) fmgr_info_cxt_security'2
calls=2 +20
* 138
+1 4
fn=(5000)
1710 612514
+4 175004
+3 612514
+2 175004
+1 175004
+1 262506
+1 262506
+1 87502
+1 87502
+2 437510
cfi=(198)
cfn=(5356)
calls=87500 265
* 27885500
cfi=(41)
cfn=(5002)
calls=2 512
* 404
* 87502
+3 175004
+8 262506
+5 87502
+1 175004
fn=(5024)
794 12
+4 14
+2 4
+1 2
+2 8
cfi=(34)
cfn=(5026)
calls=2 208
* 171
* 2
+3 6
+3 2
+1 4
fn=(2946) fmgr_isbuiltin
74 9486
+4 6324
+1 2
+6 9483
+1 6322
+3 22127
+1 6324
fn=(4030)
1950 10012
+1 25030
+3 2503
+1 5006
fn=(5170)
2130 1500
+7 3000
+3 1500
+2 2000
+1 1500
+3 1000
fn=(5180)
1754 5000
+1 5000
cfn=(5182)
calls=1000 1114
* 256000
+1 2000
fn=(3192)
612 24438
+1 24438
cob=(3)
cfi=(3)
cfn=(856)
calls=4073 0
* 89606
* 4073
+1 12219
+1 8146
+1 8146
fn=(3342)
1134 266441
+4 304504
+2 76126
+1 76126
+1 38063
+1 38063
+2 190315
cfi=(198)
cfn=(3550)
calls=505 464
* 8080
cfi=(195)
cfn=(3548)
calls=1574 83
* 25184
cfi=(196)
cfn=(3478)
calls=4084 355
* 63311
cfi=(195)
cfn=(3476)
calls=19121 268
* 330389
cfi=(187)
cfn=(3354)
calls=1529 136
* 79835
cfi=(187)
cfn=(3344)
calls=11250 205
* 812035
* 38063
+3 114189
+3 38063
+1 76126
fn=(4172) fetch_finfo_record
471 7
+5 5
cfi=(81)
cfn=(3292)
calls=1 47
* 514
* 1
+3 5
cfi=(231)
cfn=(4174)
calls=1 172
* 1123
* 1
+2 2
+11 2
cob=(12)
cfi=(233)
cfn=(4176) pg_finfo_plpgsql_inline_handler
calls=1 297
* 5
* 1
+3 2
+2 4
+4 1
+9 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 1
+1 5
fn=(4998)
1825 14
+3 10
cfn=(2942)
calls=2 125
* 164
+1 12
cfn=(5000)
calls=2 1710
* 488
+1 4
fn=(3116)
135 318
+1 318
cfn=(2945)
calls=2 +10
* 138
cfn=(2944)
calls=51 +10
* 3519
+1 106
fn=(5068)
2015 2505
+4 1002
+3 2004
+1 2004
+14 2505
cfi=(294)
cfn=(5070)
calls=501 90
* 5010
* 1002
+3 2505
cfi=(45)
cfn=(5072)
calls=501 411
* 13527
* 1002
cfi=(250)
cfn=(4478)
calls=501 43
* 12024
* 501
+6 2004
+4 501
+1 1002
fn=(2944)
146 28422
+13 6316
+1 6316
+1 9474
+1 6316
+2 9474
cfn=(2946)
calls=3158 -90
* 59992
* 9474
+5 12628
+1 12628
+1 12628
+1 6314
+1 12628
+1 9471
+1 3157
+4 4
cfi=(151)
cfn=(3444)
calls=1 1114
* 73322
* 1
+1 2
+2 8
+2 4
+1 4
+1 4
+16 4
+1 2
-1 2
+2 5
cfi=(190)
cfn=(4020)
calls=1 362
* 42
* 1
-1 2
+2 1
-3 2
+12 4
+32 6
cfn=(4022) fmgr_info_C_lang
calls=1 360
* 3782171
+1 2
+1 1
+13 3
+1 3
cfi=(151)
cfn=(3418)
calls=1 1161
* 103
+1 12632
fn=(2945)
146 36
+13 8
+1 8
+1 12
+1 8
+2 12
cfn=(2946)
calls=4 -90
* 76
* 12
+5 16
+1 16
+1 16
+1 8
+1 16
+1 12
+1 4
+88 16
fn=(4024) lookup_C_func
531 4
+1 9
+3 3
+1 2
+12 2
fn=(4178) record_C_func
556 6
+1 9
+5 3
+4 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 2672
* 1
+7 1
-1 6
cfi=(31)
cfn=(836)
calls=1 910
* 1014
* 1
+6 5
+1 6
+1 3
+1 3
+1 2
fn=(4018)
1406 6
+5 5
cfn=(2942)
calls=1 125
* 3855753
+2 8
+2 2
+1 1
+2 5
cob=(12)
cfi=(233)
cfn=(4180) plpgsql_inline_handler
calls=1 301
* 372566419
* 1
+3 3
+3 1
+1 2
fn=(4022)
360 6
+9 3
cfn=(4024)
calls=1 531
* 20
* 1
+1 2
+18 7
cfi=(151)
cfn=(4026)
calls=1 1376
* 1985
* 1
+2 3
+2 3
cfi=(41)
cfn=(4028)
calls=1 186
* 184
* 1
+2 7
cfi=(151)
cfn=(4026)
calls=1 1376
* 1785
* 1
+2 3
+2 3
cfi=(41)
cfn=(4028)
calls=1 186
* 213
* 1
+3 7
cfi=(231)
cfn=(4032)
calls=1 109
* 3772111
* 1
+4 5
cfn=(4172)
calls=1 +66
* 1767
* 1
+3 6
cfn=(4178)
calls=1 556
* 3858
+2 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+3 4
+4 3
+1 1
+7 2
fn=(5176)
1996 2500
+5 3000
+3 3000
cfn=(5068)
calls=500 +11
* 49000
+1 1000
fl=(188)
fn=(3364)
75 10250
+1 18450
+9 2050
cfi=(53)
cfn=(2878)
calls=2050 7896
* 22550
* 4100
+17 6150
cfi=(172)
cfn=(3366)
calls=2050 -5
* 77900
* 4100
+2 6150
+14 14350
+1 2050
+42 4100
fl=(31)
fn=(794)
317 168
+14 84
+3 21
+5 56
+1 4
+2 26
+1 91
cfi=(14)
cfn=(432)
calls=13 +52
* 5623
* 7
cfi=(14)
cfn=(432)
calls=1 +52
* 428
* 14
+6 42
cob=(3)
cfi=(3)
cfn=(424)
calls=14 0
* 266
* 14
* 21
cob=(3)
cfi=(3)
cfn=(424)
calls=7 0
* 127
* 7
* 63
cfn=(796) DynaHashAlloc
calls=21 -70
* 2793
* 21
+1 2331
+2 84
+1 126
cob=(3)
cfi=(3)
cfn=(810)
calls=20 0
* 1205
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1308
* 25
+3 84
+1 84
cfi=(13)
cfn=(812)
calls=14 -27
* 126
+5 84
+1 10
+1 76
+4 60
+1 21
+2 24
+3 8
+12 84
+2 84
+1 12
+2 34
+5 84
+2 84
+1 12
+2 34
+3 84
+1 35
+2 28
+2 84
+7 28
+1 35
+1 14
+1 14
+3 28
+14 28
+1 28
+1 42
+1 28
+3 84
+2 56
cfn=(796)
calls=14 279
* 1862
* 28
+1 56
+6 42
+2 63
cfn=(814) hdefault
calls=21 571
* 16863
+2 63
+2 84
+12 20
+3 84
+7 84
+6 84
+2 28
+1 28
+7 84
+3 84
+1 84
+4 84
+1 84
+1 84
+3 105
cfn=(816) init_htab
calls=21 637
* 118081
* 63
+11 84
+1 42
-1 28
+12 60
+1 10
+2 7
+2 42
+1 14
-1 30
+1 10
+7 60
+4 24
+2 24
+2 668
+2 930
cfn=(832) element_alloc
calls=155 1658
* 544484
-2 12
+2 72
cfn=(832)
calls=12 1658
* 32945
* 501
-4 704
+11 84
+1 6
+1 3
+1 12
-1 18
+1 72
fn=(2164)
780 28
+6 21
cfn=(2008) next_pow2_long
calls=7 1735
* 626
* 7
+2 63
cfn=(2008)
calls=7 1735
* 356
* 7
+2 7
+1 28
+3 7
+1 14
fn=(3502)
1380 45
+1 27
+1 18
+1 18
+1 45
+1 27
cfn=(3504) register_seq_scan
calls=9 1788
* 279
+1 18
fn=(3504)
1788 45
+1 27
+3 36
+1 18
cfi=(26)
cfn=(3506)
calls=9 758
* 72
* 18
+1 27
+1 36
fn=(814)
571 84
+1 63
+2 16296
+2 42
+1 42
+3 42
+1 42
+2 42
+2 42
+3 42
+2 42
+1 42
+5 42
fn=(816)
637 126
+1 63
+9 84
+1 10
+1 1440
-1 490
+8 210
cfn=(818) next_pow2_int
calls=21 1743
* 1475
* 21
+8 147
+3 189
+1 126
+5 189
+1 84
cfn=(818)
calls=21 1743
* 790
* 21
+6 126
+9 84
+2 42
+2 98
cfn=(796)
calls=14 279
* 1862
-1 28
+2 56
+5 84
+2 891
cfn=(822) seg_alloc
calls=297 1639
* 102676
* 594
+1 1188
-3 3690
+8 84
cfn=(830) choose_nelem_alloc
calls=21 604
* 966
* 42
+14 21
+1 84
fn=(832)
1658 1410
+1 705
+7 940
+4 1410
+2 705
+1 1645
cfi=(87)
cfn=(2136)
calls=162 177
* 8262
cfn=(796)
calls=73 279
* 17388
* 235
+2 470
+4 235
+1 470
+1 470
+2 157272
+1 104848
+1 104848
-4 210401
+8 940
+1 1600
cfi=(125)
cfn=(2216)
calls=160 225
* 2240
* 320
+3 2820
+1 2585
+2 940
+1 1440
+2 160
+1 320
-1 75
+1 150
fn=(2006)
733 35
+10 21
cfn=(2008)
calls=7 1735
* 626
* 7
+2 63
cfn=(2008)
calls=7 1735
* 356
* 7
+2 7
+1 28
+4 7
+2 28
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2002)
calls=7 476
* 147
* 7
+2 28
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2002)
calls=7 476
* 147
* 7
+3 21
cfn=(830)
calls=7 604
* 308
* 14
+1 42
+1 35
+1 35
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2002)
calls=7 476
* 147
* 7
+4 7
+1 14
fn=(2166)
804 28
+3 28
+1 14
fn=(3714)
1835 10
+10 4
+4 10
+6 2
+1 4
fn=(820) my_log2
1719 210
+5 210
+3 2605
+2 70
+1 140
fn=(3774)
815 8
+1 4
+7 8
cfn=(3776) hash_stats
calls=2 +11
* 12
+5 8
cfi=(13)
cfn=(1396)
calls=2 212
* 928
+2 4
fn=(796)
279 572
+2 715
cfi=(13)
cfn=(798)
calls=143 772
* 25794
+1 286
fn=(836)
910 204918
+3 58548
-2 175644
cfi=(33)
cfn=(2952)
calls=6797 65
* 387429
cfi=(33)
cfn=(2224)
calls=22413 53
* 2798673
cfi=(33)
cfn=(838)
calls=64 35
* 11320
* 234192
cfn=(842)
calls=29274 +13
* 5656329
+5 58548
fn=(3508)
1390 4548
+11 5685
+3 1576
+1 1576
+1 1470
+1 1182
+6 2229
+1 2229
+1 2229
+1 2229
+1 2229
+2 2229
+2 6
cfn=(3510) hash_seq_term
calls=2 +45
* 102
+1 4
+6 5928
+1 3705
+2 5187
+8 741
+3 7416
+2 21
+1 21
cfn=(3510)
calls=7 +21
* 357
+1 14
+2 7388
+2 3
+1 3
+1 21
-13 20704
+18 2936
+1 2936
+1 440
+1 1320
+1 880
+1 880
-2 882
+1 588
+1 1394
fn=(5556) has_seq_scans
1821 3045
+3 5075
+5 1015
+1 2030
fn=(2226)
861 126350
+1 202160
cfi=(33)
cfn=(2224)
calls=25270 53
* 3135920
+1 50540
fn=(818)
1743 168
+1 84
+2 126
cfn=(820)
calls=42 -27
* 1635
* 168
+1 84
fn=(2008)
1735 112
+2 84
cfn=(820)
calls=28 -18
* 1600
* 112
+1 56
fn=(5558) expand_table
1503 5075
+1 3045
+20 5075
+1 7105
+1 5075
+2 4060
+3 20
+3 40
cfn=(822)
calls=5 1639
* 2764
* 20
+2 25
+4 25
+8 25
+5 30
-13 5050
+8 5050
+5 6060
+2 24
+1 42
+9 42
+1 30
+2 42
+1 42
+2 30
+1 30
+2 24
-9 7063
+1 5045
+2 7063
+1 7063
+2 5045
+1 5045
+2 4036
+4 4290
+1 8580
cfn=(844) calc_bucket
calls=1430 868
* 21450
* 4290
+2 2094
+1 2094
+4 2196
+1 1464
-11 1464
-2 1464
+2 1396
-2 3426
+17 2030
+1 2030
+2 1015
+1 4060
fn=(844)
868 309144
+3 309144
+1 309144
+1 85200
+2 28400
+1 56800
-1 48886
+1 97772
fn=(3512) deregister_seq_scan
1800 36
+4 36
+2 45
+2 63
+1 63
+1 27
+1 9
-7 18
+12 18
fn=(822)
1639 1208
+3 906
+1 2114
cfi=(87)
cfn=(2136)
calls=281 177
* 14331
cfn=(796)
calls=21 279
* 3462
* 302
+2 604
+3 7550
cob=(3)
cfi=(3)
cfn=(828)
calls=301 0
* 72240
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1511
* 306
+2 302
+1 604
fn=(830)
604 84
+7 140
+10 28
+3 28
+1 112
+1 56
-2 106
+1 424
+1 212
+2 28
+1 56
fn=(842)
924 682704
+1 227568
+1 501719
+23 58546
-23 46583
+23 224206
+7 140808
+1 97724
-1 17768
+2 3045
cfn=(5556)
calls=1015 1821
* 11165
* 1015
-1 2030
+2 3045
cfn=(5558)
calls=1015 1503
* 152553
+6 379280
cfn=(844)
calls=75856 -97
* 1223040
* 75856
+2 606848
+1 455136
+2 530992
+2 151712
+3 379280
+1 227568
+5 227568
+1 227568
+2 75856
+2 284804
+1 341215
cob=(3)
cfi=(3)
cfn=(3074)
calls=48738 0
* 1062814
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1360
cfn=(1036) string_compare
calls=6 294
* 1704
* 48743
-1 97490
+2 48745
+1 44912
+1 67368
-6 196624
+13 151712
+1 96372
+5 455322
+3 61848
+1 83724
+1 6032
+3 41670
+3 83340
+1 137100
cfi=(125)
cfn=(2216)
calls=13710 225
* 191940
* 27420
+4 437535
+3 83340
+3 250020
+1 229185
+2 83340
+1 123390
+7 62505
+11 48194
+1 6
+3 96380
+4 120475
cfn=(858) get_hash_entry
calls=24095 1251
* 2187989
* 24095
+1 48190
+17 72285
+1 48190
+3 72285
+1 192760
cob=(3)
cfi=(3)
cfn=(856)
calls=24040 0
* 351598
cfi=(16)
cfn=(460)
calls=55 46
* 15418
* 24040
+9 72285
+6 303424
fn=(858)
1251 120475
+1 72285
+6 96652
+1 152130
cfi=(125)
cfn=(2216)
calls=15213 225
* 212982
* 30426
+3 265793
+2 48326
+1 24095
+57 289140
+1 505995
+2 111593
ob=(7)
fl=(7)
fn=(2354) shm_open
0 16
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 2288
0 5
0 14
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1291
0 5
0 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1310
0 5
0 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1366
0 5
0 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 745
0 5
0 10
fn=(5860)
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5872) 0x0000000000002340
calls=1 0
0 9
0 3
fn=(318)
0 13
ob=(9)
fl=(31)
fn=(858)
1267 272
+15 476
cfn=(832)
calls=68 1658
* 47875
* 204
+37 68
+7 136917
+2 15213
+1 30426
-1 8882
+1 17764
fn=(1036)
294 36
+1 42
cob=(3)
cfi=(3)
cfn=(1044)
calls=5 0
* 265
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1339
* 10
+1 12
fn=(3776)
834 8
+13 4
fn=(3510)
1466 36
+1 54
+1 36
cfn=(3512)
calls=9 1800
* 315
+1 18
fl=(259)
fn=(4568)
78 12
+1 18
+1 8
-2 10584
+1 14616
+1 7056
fn=(4928)
90 12
+1 18
+1 8
fl=(114)
fn=(2334)
48 2
+2 2
fn=(2082)
42 2
+1 1
+1 2
fl=(124)
fn=(3232)
47 120960
+1 80640
+1 80640
fn=(2210)
56 65536
+1 49152
+1 32768
-2 24032
+1 18024
+1 12016
-2 8
+1 6
+1 4
fn=(2208)
162 81920
+1 81920
cfn=(2210)
calls=16384 56
* 147456
+1 32768
-2 10
+1 10
cfn=(2210)
calls=2 56
* 18
ob=(7)
fl=(7)
fn=(318)
0 3
fn=(2362) where_is_shmfs
0 11
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1312
0 5
0 16
fn=(5872)
0 9
ob=(9)
fl=(124)
fn=(2208)
164 4
ob=(8)
fl=(8)
fn=(330)
0 16
fn=(5834)
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 934
0 5
0 1
cfn=(5852) 0x0000000000000630
calls=1 0
0 9
0 3
fn=(5852)
0 9
ob=(10)
fl=(22)
fn=(1810)
0 39
fn=(662)
0 60
ob=(12)
fl=(241) /home/mithuncy/fsm_code/src/pl/plpgsql/src/pl_gram.y
fn=(4296) tok_is_keyword
2549 7
+1 3
+5 2
+11 1
+1 2
fn=(4298) read_sql_construct
2661 48
+4 3
+1 3
+3 9
cob=(9)
cfi=(80)
cfn=(1888)
calls=3 47
* 400
* 3
+1 15
cob=(9)
cfi=(80)
cfn=(1918)
calls=3 164
* 360
* 3
+3 9
+1 6
+4 3
cfi=(237) /home/mithuncy/fsm_code/src/pl/plpgsql/src/pl_scanner.c
cfn=(4258) plpgsql_yylex
calls=3 256
* 2332
* 3
* 10
cfi=(237)
cfn=(4258)
calls=10 256
* 7874
* 10
* 13
+1 26
+1 9
+1 43
+1 2
+1 33
+2 35
+1 1
+1 38
+1 2
+1 34
+2 1
+1 2
+8 40
+17 10
+2 9
+2 6
+1 3
+1 6
+1 9
+3 12
+8 21
cfi=(237)
cfn=(4306) plpgsql_append_source_text
calls=3 527
* 374
* 3
+3 6
+2 3
+1 8
-1 48
cob=(9)
cfi=(42)
cfn=(934)
calls=4 222
* 61
* 4
* 8
+4 6
cob=(9)
cfi=(13)
cfn=(2546)
calls=3 956
* 635
* 3
* 3
+1 9
cob=(9)
cfi=(13)
cfn=(928)
calls=3 1162
* 651
* 3
* 6
+1 6
+1 6
+1 6
+1 3
cfi=(239) /home/mithuncy/fsm_code/src/pl/plpgsql/src/pl_funcs.c
cfn=(4274) plpgsql_ns_top
calls=3 84
* 15
* 3
* 6
+1 9
cob=(9)
cfi=(13)
cfn=(952)
calls=3 1032
* 255
* 3
+2 6
+1 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 30
* 2
* 14
cfn=(4314) check_sql_expr
calls=2 3598
* 27498
+2 3
+1 15
fn=(4344) check_labels
3693 16
+1 4
+16 10
fn=(4314)
3598 18
+5 15
+3 6
+1 6
+2 6
+1 6
+1 9
+1 9
+2 12
cfi=(238) /home/mithuncy/fsm_code/src/pl/plpgsql/src/../../../../src/include/utils/palloc.h
cfn=(4208) MemoryContextSwitchTo
calls=3 110
* 36
* 3
+1 9
cob=(9)
cfi=(214)
cfn=(3882)
calls=3 37
* 34664
* 3
+1 9
cfi=(238)
cfn=(4208)
calls=3 110
* 36
+3 9
+1 6
fn=(4320) read_sql_expression2
2622 7
+1 14
cfn=(4298)
calls=1 +38
* 10091
+2 2
fl=(239)
fn=(5588) free_stmt
381 8
+1 24
+21 3
cfn=(5590) free_fori
calls=1 556
* 5336
+1 1
+14 3
cfn=(5600) free_return
calls=1 645
* 18
+1 1
+53 4
fn=(5589) free_stmt'2
381 4
+1 12
+54 3
cfn=(5598) free_dynexecute
calls=1 700
* 1948
+1 1
+35 2
fn=(5598)
700 4
+3 4
cfn=(5582) free_expr
calls=1 +27
* 1922
+1 4
cfi=(242) /home/mithuncy/fsm_code/src/pl/plpgsql/src/../../../../src/include/nodes/pg_list.h
cfn=(4398) list_head
calls=1 78
* 8
* 4
+4 2
fn=(5590)
556 4
+1 4
cfn=(5582)
calls=1 730
* 1652
+1 4
cfn=(5582)
calls=1 730
* 1652
+1 4
cfn=(5582)
calls=1 730
* 8
+1 4
cfn=(5587) free_stmts'2
calls=1 -84
* 2002
+1 2
fn=(5580) plpgsql_free_function_memory
740 4
+7 2
+2 16
+2 24
+5 4
+2 8
cfn=(5582)
calls=2 -28
* 16
+1 8
cfn=(5582)
calls=2 -29
* 16
+2 2
-14 14
+33 2
+3 4
+1 4
cfn=(5584) free_block
calls=1 487
* 5453
+1 2
+7 4
+1 4
cob=(9)
cfi=(13)
cfn=(1396)
calls=1 212
* 304
* 1
+1 2
+1 2
fn=(4222) plpgsql_ns_additem
95 30
+7 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 83
* 5
* 15
cob=(9)
cfi=(13)
cfn=(940)
calls=5 925
* 615
* 5
* 5
+1 15
+1 15
+1 15
+1 30
cob=(3)
cfi=(3)
cfn=(810)
calls=5 0
* 114
* 5
+1 10
+1 10
fn=(4348) plpgsql_ns_pop
70 4
+2 2
+1 3
-1 12
+2 6
+1 4
fn=(5582)
730 36
+1 30
+2 12
cob=(9)
cfi=(165)
cfn=(5594)
calls=3 +8
* 5169
* 3
+1 6
+2 18
fn=(4278) plpgsql_ns_lookup
135 20
+2 2
+5 12
+4 12
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 44
* 2
* 4
+2 2
+3 2
+1 2
+1 2
-9 3
-1 2
-1 2
+1 8
-1 8
+17 6
+20 6
+3 9
-45 10
+49 2
+2 1
+1 4
fn=(5600)
645 4
+1 4
cfn=(5582)
calls=1 +84
* 8
+1 2
fn=(4274)
84 8
+1 4
+1 8
fn=(4218) plpgsql_ns_push
57 15
+1 6
+1 4
+1 10
cfn=(4222)
calls=2 +35
* 362
* 2
* 5
cfn=(4222)
calls=1 +35
* 245
* 1
+1 6
fn=(5584)
487 4
+1 4
cfn=(5586) free_stmts
calls=1 -12
* 5439
+1 4
+11 2
fn=(4214) plpgsql_ns_init
46 2
+1 1
+1 2
fn=(5586)
476 4
+3 3
cfi=(242)
cfn=(4398)
calls=1 78
* 10
* 2
+2 8
cfn=(5588)
calls=2 381
* 5398
-2 12
+4 2
fn=(5587)
476 4
+3 3
cfi=(242)
cfn=(4398)
calls=1 78
* 10
* 2
+2 4
cfn=(5589)
calls=1 381
* 1970
-2 7
+4 2
fl=(238)
fn=(4208)
110 18
+1 18
+2 18
+1 6
+1 12
-5 12
+1 12
+2 12
+1 4
+1 8
-5 9060
+1 9060
+2 9060
+1 3020
+1 6040
fl=(234)
fn=(4358) add_dummy_return
1011 5
+6 5
+10 5
+1 5
cfi=(242)
cfn=(4360) list_tail
calls=1 84
* 10
* 2
-1 2
+5 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 -76
* 166
* 1
* 1
+1 2
+1 2
+1 4
+2 9
cob=(9)
cfi=(45)
cfn=(960)
calls=1 129
* 163
* 1
* 1
+2 4
fn=(4240) build_datatype
2021 14
+1 16
+3 10
+6 4
cob=(9)
cfi=(13)
cfn=(940)
calls=2 925
* 184
* 2
* 2
+2 8
cob=(9)
cfi=(13)
cfn=(928)
calls=2 1162
* 352
* 2
* 4
+1 8
+1 28
+5 4
+1 2
+21 8
+1 8
+1 8
+1 8
+1 4
+4 8
+6 4
+1 8
-1 6
+13 6
+2 2
+1 8
fn=(4250) plpgsql_adddatum
2207 8
+1 10
+6 8
+1 24
+1 4
fn=(4886) resolve_column_ref
1151 10
+4 1
+1 1
+1 1
+2 1
+1 1
+1 1
+7 4
+12 4
cfi=(242)
cfn=(4606) list_length
calls=1 90
* 10
* 6
+4 4
cfi=(242)
cfn=(4398)
calls=1 78
* 10
* 2
+3 3
+1 1
+1 1
+1 1
+58 11
cfi=(239)
cfn=(4278)
calls=1 135
* 61
* 1
* 1
+4 2
+3 4
+3 3
+1 8
cfn=(4888) make_datum_param
calls=1 +55
* 503
* 1
+47 5
fn=(4154) plpgsql_HashTableInit
2449 3
+6 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 22
* 1
+1 1
+1 1
+1 6
cob=(9)
cfi=(31)
cfn=(794)
calls=1 317
* 2849
* 1
* 1
+4 2
fn=(4246) plpgsql_build_variable
1804 18
+3 12
+7 4
cob=(9)
cfi=(13)
cfn=(2546)
calls=2 956
* 354
* 2
* 2
+1 4
+1 6
cob=(9)
cfi=(13)
cfn=(928)
calls=2 1162
* 354
* 2
* 4
+1 6
+1 6
+4 4
+1 4
+1 4
+2 6
cfn=(4250)
calls=2 2207
* 54
* 2
+1 4
+1 12
cfi=(239)
cfn=(4222)
calls=2 95
* 380
* 2
+3 4
+1 2
+26 2
+1 8
fn=(4192) plpgsql_compile_inline
826 4
+1 2
+12 3
cfi=(237)
cfn=(4196) plpgsql_scanner_init
calls=1 708
* 1193
* 1
+2 3
+5 2
+1 2
+1 3
+1 3
+3 4
+3 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 956
* 621
* 1
* 1
+2 3
+6 8
cob=(9)
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
* 1
+3 3
cfi=(238)
cfn=(4208)
calls=1 110
* 12
* 2
+2 3
cob=(9)
cfi=(13)
cfn=(928)
calls=1 1162
* 195
* 1
* 2
+1 2
+1 2
+1 3
+1 2
+1 5
+1 4
+6 2
+1 2
+2 1
cfi=(239)
cfn=(4214)
calls=1 46
* 5
* 1
+1 4
cfi=(239)
cfn=(4218)
calls=1 57
* 260
* 1
+1 2
+1 1
cfn=(4230) plpgsql_start_datums
calls=1 2190
* 141
+3 2
+1 2
+1 2
+1 2
+1 2
+2 2
+1 2
+6 2
+5 4
cfn=(4236) plpgsql_build_datatype
calls=1 2001
* 54140
* 1
* 5
cfn=(4246)
calls=1 1804
* 641
* 1
* 1
+5 4
+5 1
cfi=(240) /home/mithuncy/fsm_code/src/pl/plpgsql/src/pl_gram.c
cfn=(4254) plpgsql_yyparse
calls=1 1872
* 86607
* 1
* 1
+1 2
+2 4
+2 1
cfi=(237)
cfn=(4354) plpgsql_scanner_finish
calls=1 735
* 26
* 1
+6 4
+1 3
cfn=(4358)
calls=1 +82
* 390
+5 2
+2 3
cfn=(4362) plpgsql_finish_datums
calls=1 2224
* 222
+5 3
+1 2
+2 2
+2 4
cfi=(238)
cfn=(4208)
calls=1 110
* 12
+1 2
+1 1
+1 2
fn=(4230)
2190 2
+1 1
+1 2
+2 8
cob=(9)
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
* 2
+3 1
+1 2
fn=(4270) plpgsql_parse_word
1365 21
+8 12
+5 1
cfi=(239)
cfn=(4274)
calls=1 84
* 5
* 1
* 7
cfi=(239)
cfn=(4278)
calls=1 135
* 104
* 1
* 1
+4 2
+24 9
+1 18
+1 3
+1 6
fn=(4362)
2224 4
+1 1
+3 4
+1 6
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
* 2
+1 2
+2 28
+3 28
+4 2
+1 2
-10 14
+18 3
+1 2
fn=(4434)
1052 12
+1 9
+1 9
+1 9
+2 9
+1 6
fn=(4236)
2001 12
+4 8
cob=(9)
cfi=(151)
cfn=(3444)
calls=2 1114
* 76029
* 2
* 2
+1 4
+3 12
cfn=(4240)
calls=2 +12
* 718
* 2
+2 6
cob=(9)
cfi=(151)
cfn=(3418)
calls=2 1161
* 206
* 2
+2 2
+1 4
fn=(4884)
1079 9
+1 3
+3 5
+3 5
+13 8
cfn=(4886)
calls=1 +52
* 662
* 1
+2 4
+14 1
+1 6
fn=(4888)
1314 6
+7 4
+2 8
+5 5
cfi=(238)
cfn=(4208)
calls=1 110
* 12
* 1
+1 6
cob=(9)
cfi=(279)
cfn=(4892)
calls=1 765
* 217
* 1
* 2
+1 3
cfi=(238)
cfn=(4208)
calls=1 110
* 12
+2 5
cob=(9)
cfi=(13)
cfn=(2156)
calls=1 815
* 152
* 1
* 5
+1 2
+1 4
+1 11
cfi=(244)
cfn=(4900) plpgsql_exec_get_datum_type_info
calls=1 5562
* 39
* 1
+5 3
+2 1
+1 2
fn=(4874)
1065 5
+1 3
+2 5
+3 1
+1 2
fl=(240)
fn=(4350) yydestruct
1836 12
+3 4
+7 4
fn=(4254)
1872 6
+36 1
+17 1
+2 4
+1 4
+1 4
+1 1
+4 1
+1 1
+1 2
+1 2
+1 4
+1 1
+8 32
+3 128
+2 224
-2 4
+2 7
+68 66
+1 1
4821 1
+1 1
2023 32
+11 224
+1 64
+1 15
+5 68
+3 11
cfi=(237)
cfn=(4258)
calls=11 256
* 7270
* 11
* 22
+3 68
+2 5
+5 192
+6 32
+1 32
-1 2
+1 172
+2 84
+1 24
+4 1
+1 1
+5 22
+7 22
+2 22
+2 121
+2 55
+1 11
+7 120
+1 40
+2 20
+8 120
+10 300
+3 40
-13 6
+10 15
+3 217
+2 210
fi=(241)
361 5
fe=(240)
2129 1
fi=(241)
413 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 1
* 1
+2 2
+1 5
cfi=(237)
cfn=(4286) plpgsql_location_to_lineno
calls=1 660
* 97
* 1
* 2
+1 5
+1 5
+1 5
+1 5
+1 5
+2 10
cfn=(4344)
calls=1 3693
* 15
+1 1
cfi=(239)
cfn=(4348)
calls=1 70
* 12
* 1
+2 2
fe=(240)
2213 1
fi=(241)
434 2
+1 3
+1 1
+1 1
fe=(240)
2225 1
fi=(241)
838 2
fe=(240)
2712 2
fi=(241)
842 8
+3 16
cob=(9)
cfi=(45)
cfn=(960)
calls=2 129
* 580
* 2
* 2
fe=(240)
2724 2
fi=(241)
862 3
fe=(240)
2766 1
fi=(241)
876 3
fe=(240)
2808 1
fi=(241)
1287 6
+4 4
+1 5
cfi=(237)
cfn=(4286)
calls=1 660
* 142
* 1
* 2
+1 5
+1 4
+1 3
+17 10
cfn=(4344)
calls=1 3693
* 15
+2 1
cfi=(239)
cfn=(4348)
calls=1 70
* 19
* 1
fe=(240)
3376 1
fi=(241)
1320 1
cfi=(237)
cfn=(4258)
calls=1 256
* 464
* 1
* 1
+1 3
+2 3
+48 3
+45 1
+14 6
cfn=(4296)
calls=1 2549
* 15
* 2
+4 3
cfi=(237)
cfn=(4290) plpgsql_push_back_token
calls=1 492
* 62
* 1
+9 13
cfn=(4298)
calls=1 2661
* 1283
* 1
+11 3
+9 7
cfn=(4314)
calls=1 3598
* 7364
+3 6
cfn=(4320)
calls=1 2622
* 10114
* 1
+5 3
+4 1
+3 5
+8 4
cfi=(234)
cfn=(4236)
calls=1 2001
* 22869
* 1
* 1
+1 2
-1 4
-1 3
cfi=(234)
cfn=(4246)
calls=1 1804
* 621
* 1
* 1
+8 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 956
* 170
* 1
* 1
+1 2
+1 3
+1 3
+1 3
+1 3
+1 3
+2 3
fe=(240)
3617 1
fi=(241)
1605 3
+1 4
cfi=(237)
cfn=(4286)
calls=1 660
* 114
* 1
* 1
+1 1
+1 1
+2 1
cfi=(237)
cfn=(4258)
calls=1 256
* 68
* 1
* 1
+1 3
cfi=(237)
cfn=(4290)
calls=1 492
* 62
* 1
+1 2
fe=(240)
3665 1
fi=(241)
1926 4
+1 4
+1 3
fe=(240)
4008 1
fi=(241)
1978 12
cfn=(4298)
calls=1 2661
* 29789
* 1
+6 2
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
* 1
+1 2
+1 4
cfi=(237)
cfn=(4286)
calls=1 660
* 75
* 1
* 2
+1 3
+1 2
+1 2
+1 2
+1 2
+11 3
+8 3
+14 3
+1 1
+5 2
fe=(240)
4116 1
fi=(241)
2264 1
fe=(240)
4381 1
fi=(241)
2397 3
cfi=(239)
cfn=(4218)
calls=1 57
* 198
* 1
+1 1
fe=(240)
4550 1
fi=(241)
2409 3
cfi=(239)
cfn=(4218)
calls=1 57
* 198
* 1
+1 1
fe=(240)
4568 1
fi=(241)
2421 2
fe=(240)
4585 2
+51 2
+15 30
+1 2
+3 20
+1 8
+6 12
+2 24
+1 4
-14 285
+1 19
+3 190
+1 76
+6 114
+2 228
+1 137
+1 42
+4 6
-2 120
+2 15
4842 4
+10 15
+2 1
+3 12
-1 12
cfn=(4350)
calls=2 1836
* 20
+2 6
-4 9
+7 3
+7 1
+1 6
fl=(233)
fn=(4180)
301 4
+1 3
+11 7
cob=(9)
cfi=(165)
cfn=(4184)
calls=1 96
* 1087
* 1
* 3
+4 4
cfi=(234)
cfn=(4192)
calls=1 826
* 145051
* 1
* 1
+3 5
+7 846
+1 69
+1 2
+1 1
+1 3
+3 1
cob=(9)
cfi=(243)
cfn=(4366)
calls=1 86
* 987
* 1
* 1
+3 10
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 5
+2 8
cfi=(244)
cfn=(4372) plpgsql_exec_function
calls=1 452
* 372410844
* 1
* 1
+35 6
+3 3
cob=(9)
cfi=(243)
cfn=(5524)
calls=1 195
* 454
* 1
+3 5
+4 3
cfi=(239)
cfn=(5580)
calls=1 740
* 5896
* 1
+5 1
cob=(9)
cfi=(165)
cfn=(5606)
calls=1 177
* 1066
* 1
* 3
+3 1
+1 2
fn=(4144)
130 4
+1 4
+1 2
fn=(4114)
148 3
+4 3
+3 2
cob=(9)
cfi=(54)
cfn=(4118)
calls=1 1612
* 5
* 1
+2 13
cob=(9)
cfi=(29)
cfn=(4122)
calls=1 8381
* 698777
* 1
+9 12
cob=(9)
cfi=(29)
cfn=(4132)
calls=1 8269
* 699528
* 1
+8 12
cob=(9)
cfi=(29)
cfn=(4132)
calls=1 8269
* 694938
* 1
+8 14
cob=(9)
cfi=(29)
cfn=(4136)
calls=1 8355
* 697145
* 1
+10 14
cob=(9)
cfi=(29)
cfn=(4136)
calls=1 8355
* 706474
* 1
+10 2
cob=(9)
cfi=(29)
cfn=(4150)
calls=1 8399
* 5138
* 1
+2 1
cfi=(234)
cfn=(4154)
calls=1 2449
* 2892
* 1
+1 4
cob=(9)
cfi=(26)
cfn=(4162)
calls=1 3326
* 114
* 1
+1 4
cob=(9)
cfi=(26)
cfn=(4166)
calls=1 3381
* 145
* 1
+3 2
cob=(9)
cfi=(231)
cfn=(4170)
calls=1 681
* 4050
* 1
* 2
+2 1
+1 2
fn=(4176)
297 5
fn=(4138)
63 12
+4 2
+3 10
cob=(9)
cfi=(32)
cfn=(968)
calls=2 -33
* 84
* 2
* 4
+2 10
cob=(9)
cfi=(32)
cfn=(968)
calls=2 -35
* 178
* 2
* 4
+1 4
+46 4
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 335
* 2
* 2
+1 4
+2 6
+1 6
+2 2
+1 4
fn=(4146)
136 4
+1 4
+1 2
fn=(4112)
36 5
fl=(284) /home/mithuncy/fsm_code/src/pl/plpgsql/src/../../../../src/include/executor/executor.h
fn=(4836) ExecEvalExpr
277 3012
+1 3514
cob=(9)
cfi=(283)
cfn=(4824)
calls=499 +21
* 2995988
cob=(9)
cfi=(283)
cfn=(4838)
calls=3 1745
* 7985
+1 1004
fl=(237)
fn=(4354)
735 2
+2 3
cob=(9)
cfi=(215)
cfn=(3936)
calls=1 1187
* 16
* 1
+2 1
+1 1
+1 2
fn=(4306)
527 18
+2 33
cob=(9)
cfi=(80)
cfn=(1920)
calls=3 215
* 314
* 3
+2 6
fn=(4200) location_lineno_init
684 6
+1 6
+1 3
+2 12
cob=(3)
cfi=(3)
cfn=(1120)
calls=3 0
* 42
* 3
* 3
+1 6
fn=(4260) internal_yylex
430 116
+4 87
+2 15
+1 30
+1 95
+4 168
cob=(9)
cfi=(216)
cfn=(3908)
calls=24 9032
* 13830
* 24
* 24
+5 144
+1 72
cob=(3)
cfi=(3)
cfn=(424)
calls=24 0
* 389
* 24
* 72
+3 48
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+5 46
+6 29
+1 58
fn=(4286)
660 16
+3 20
+2 20
+3 12
+1 2
cfn=(4200)
calls=2 +15
* 54
+2 4
+2 18
+1 18
+1 24
cob=(3)
cfi=(3)
cfn=(1120)
calls=6 0
* 156
* 6
* 6
-4 60
+7 4
+1 8
fn=(4290)
492 8
+3 18
+1 6
+1 4
+1 10
cfn=(4266) push_back_token
calls=2 -22
* 74
+1 4
fn=(4266)
476 25
+1 15
+2 30
+1 90
+1 15
+1 10
fn=(4196)
708 4
+2 7
cob=(9)
cfi=(215)
cfn=(3884)
calls=1 1148
* 1144
* 1
* 1
+9 2
+3 2
+1 1
+2 1
+2 1
cfn=(4200)
calls=1 -43
* 27
+1 2
fn=(4258)
256 78
+5 78
cfn=(4260)
calls=26 430
* 14360
* 26
+1 98
+5 9
cfn=(4260)
calls=3 430
* 1001
* 3
+1 6
+81 15
cfn=(4266)
calls=3 476
* 111
+11 45
+24 6
-1 21
cfi=(234)
cfn=(4270)
calls=3 1365
* 191
* 3
* 6
+5 12
+1 6
-1 9
cob=(9)
cfi=(219)
cfn=(3912)
calls=3 67
* 1415
* 3
* 9
+9 3
+18 27
+1 9
+1 6
+1 6
+1 3
+1 6
-5 207
+1 69
+1 46
+1 46
+1 23
+1 46
fl=(244)
fn=(4852) exec_eval_cleanup
3974 2012
+2 2012
+2 1006
+6 2012
+1 2510
cob=(9)
cfi=(13)
cfn=(3758)
calls=502 137
* 98018
* 502
+1 1006
fn=(5570) exec_stmt_return
3085 6
+6 4
+4 2
+1 2
+1 2
+14 4
+71 4
+27 4
+1 3
-1 2
+3 2
+1 2
+1 2
+3 1
+1 4
fn=(4384) copy_plpgsql_datums
1215 5
+1 3
+9 5
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
-1 2
+7 4
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
* 1
+1 2
+3 3
+1 3
+1 2
+2 14
+4 24
+4 4
+1 12
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 48
* 2
+1 2
+1 2
+26 14
-39 11
+43 2
fn=(4372)
452 9
+9 7
cfn=(4374) plpgsql_estate_setup
calls=1 3832
* 4696
+2 2
+5 2
+1 2
+1 3
+1 3
+5 2
+1 5
cfn=(4384)
calls=1 1215
* 413
+5 2
+1 6
+87 2
+5 4
cfn=(4388) exec_set_found
calls=1 8044
* 67
+5 5
+6 1
+1 3
+1 6
cfn=(4392) exec_stmt
calls=1 1894
* 372404874
* 1
+1 2
+12 1
+1 2
+2 3
+2 3
+25 4
+8 3
+65 14
cfn=(4850) exec_cast_value
calls=1 7550
* 18
* 1
+14 10
+23 2
+5 5
+4 3
cfn=(5572) plpgsql_destroy_econtext
calls=1 8112
* 631
+1 3
cfn=(4852)
calls=1 3974
* 16
+6 3
+5 1
+1 4
fn=(4390) assign_simple_var
8193 5020
+14 7028
+25 2008
+10 1506
+1 1506
+1 1506
+7 1004
+1 1004
fn=(4900)
5562 9
+1 8
+5 2
+2 5
+1 5
+1 5
+1 1
+69 4
fn=(5190) convert_value_to_string
7518 3000
+6 2500
cfi=(238)
cfn=(4208)
calls=500 110
* 6000
* 500
+1 3000
cob=(9)
cfi=(275)
cfn=(5128)
calls=500 2642
* 250500
* 500
+1 2500
cob=(9)
cfi=(161)
cfn=(5196)
calls=500 1834
* 186500
* 500
* 500
+1 1500
cfi=(238)
cfn=(4208)
calls=500 110
* 6000
+2 500
+1 1000
fn=(4858) get_stmt_mcontext
1449 2000
+1 2000
+3 8
cob=(9)
cfi=(14)
cfn=(432)
calls=1 395
* 464
* 1
-1 2
+5 2
+1 2
-1 998
+1 998
fn=(5158)
6429 2500
+3 2000
+4 1500
+1 1500
+4 4000
+4 2500
+1 2500
+4 1000
fn=(4392)
1894 5
+2 1
+2 3
+1 3
+3 5
+3 4
+2 12
+3 5
cfn=(4394) exec_stmt_block
calls=1 1534
* 372404823
* 1
+1 1
2027 5
+3 3
+2 1
+1 2
fn=(4393) exec_stmt'2
1894 2510
+2 502
+2 1506
+1 1506
+3 2510
+3 2008
+2 6024
+39 5
cfn=(4400) exec_stmt_fori
calls=1 2588
* 372404581
* 1
+1 1
+19 5
cfn=(5570)
calls=1 3085
* 44
* 1
+1 1
+23 2500
cfn=(4856) exec_stmt_dynexecute
calls=500 4268
* 372144667
* 500
+1 500
+36 2510
+3 1506
+2 502
+1 1004
fn=(4394)
1534 5
+1 1
+6 3
+2 6
+85 4
1816 2
+2 6
cfn=(4396) exec_stmts
calls=1 +42
* 372404782
* 1
+3 2
+7 7
+5 2
+17 2
fn=(4600) exec_simple_check_plan
7759 15
+10 6
+12 12
cob=(9)
cfi=(165)
cfn=(4604)
calls=3 1722
* 21
* 3
* 3
+1 9
cfi=(242)
cfn=(4606)
calls=3 90
* 30
* 6
+2 9
cfi=(242)
cfn=(4398)
calls=3 78
* 30
* 6
+5 12
cfi=(242)
cfn=(4606)
calls=3 90
* 30
* 6
+2 12
cfi=(242)
cfn=(4398)
calls=3 78
* 30
* 6
+5 12
+2 12
+2 12
+9 12
+1 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
ob=(5)
fl=(5)
fn=(2250)
0 1276
fn=(692)
0 3094
cfn=(694) __close_nocancel
calls=1547 0
0 7735
fn=(1296)
0 15274
fn=(214) __libc_sigaction
0 2864
fn=(1686)
0 92
cob=(6)
cfi=(6)
cfn=(312)
calls=1 0
0 811
cob=(7)
cfi=(7)
cfn=(2362)
calls=1 0
0 1344
cob=(3)
cfi=(3)
cfn=(1796)
calls=1 0
0 854
cob=(3)
cfi=(3)
cfn=(1688)
calls=1 0
0 4800
0 40
fn=(1956)
0 5014
cfn=(1958) __lseek_nocancel
calls=2507 0
0 12535
fn=(2494) connect
0 2
cfn=(2496) __connect_nocancel
calls=1 0
0 5
fn=(5486) __pwrite_nocancel
0 9000
fn=(678) __open_nocancel
0 7625
fn=(212) __pthread_initialize_minimal
0 67
cfn=(214)
calls=1 0
0 67
0 7
cfn=(214)
calls=1 0
0 67
0 11
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1607
0 5
0 13
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1926
0 5
0 7
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1382
0 5
0 18
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1481
0 5
0 2
cob=(1)
cfi=(1)
cfn=(82)
calls=1 0
0 2
0 22
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1929
0 5
0 18
fn=(2570)
0 11
cob=(3)
cfi=(3)
cfn=(2576)
calls=10 0
0 1825
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1516
0 15
fn=(4076) pthread_setspecific
0 34
fn=(5484)
0 3000
cfn=(5486)
calls=1500 0
0 9000
fn=(5880)
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5892) 0x00000000000066d0
calls=1 0
0 9
0 3
fn=(396)
0 358
fn=(472)
0 33312
fn=(684)
0 38
cfn=(686) __read_nocancel
calls=19 0
0 95
fn=(268)
0 12
fn=(2516)
0 100
fn=(2634)
0 4
cfn=(2636) __accept_nocancel
calls=2 0
0 10
fn=(570)
0 594
fn=(782)
0 104
cfn=(214)
calls=26 0
0 2730
fn=(1570) __write_nocancel
0 80
fn=(4060) pthread_key_create
0 19
fn=(694)
0 7735
fn=(1958)
0 5014
ob=(12)
fl=(244)
fn=(4600)
7814 9
-1 6
+2 9
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+7 12
cfi=(242)
cfn=(4606)
calls=3 90
* 30
* 6
+9 15
cfi=(238)
cfn=(4208)
calls=3 110
* 36
* 3
+1 12
cob=(9)
cfi=(165)
cfn=(4610)
calls=3 1738
* 298992
* 3
* 3
+1 9
cfi=(238)
cfn=(4208)
calls=3 110
* 36
+6 15
cfn=(4784) exec_save_simple_expr
calls=3 +11
* 383
+3 12
cob=(9)
cfi=(154)
cfn=(4792)
calls=3 1263
* 282
* 3
+1 6
fn=(4796) exec_eval_simple_expr
6026 4518
+1 1506
+1 2008
+8 2008
+6 2008
+8 2510
cfi=(238)
cfn=(4208)
calls=502 110
* 6024
* 502
+1 2008
cob=(9)
cfi=(165)
cfn=(4610)
calls=502 1738
* 279614
* 502
* 502
+1 1506
cfi=(238)
cfn=(4208)
calls=502 110
* 6024
+10 3012
+11 2008
+1 2008
+6 2008
+2 2510
cfn=(4800) setup_param_list
calls=502 +84
* 11024
* 1004
+7 2008
+2 15
cfi=(238)
cfn=(4208)
calls=3 110
* 36
* 3
+2 21
cob=(9)
cfi=(281)
cfn=(4804)
calls=3 158
* 39791
* 3
-1 6
+3 6
+1 9
+1 9
cfi=(238)
cfn=(4208)
calls=3 110
* 36
+9 2510
cfi=(238)
cfn=(4208)
calls=502 110
* 6024
* 502
+1 2510
+2 502
cob=(9)
cfi=(26)
cfn=(4830)
calls=502 919
* 5522
* 502
+1 502
cob=(9)
cfi=(110)
cfn=(2998)
calls=502 305
* 326632
* 502
* 1004
cob=(9)
cfi=(110)
cfn=(3996)
calls=502 734
* 164185
* 502
+6 1004
+5 3514
cfi=(284)
cfn=(4836)
calls=502 277
* 3011503
* 1004
+5 1004
+2 1004
+2 2008
+2 2510
+1 502
cob=(9)
cfi=(110)
cfn=(4848)
calls=502 813
* 112448
* 502
+2 1506
cfi=(238)
cfn=(4208)
calls=502 110
* 6024
+5 2008
cob=(9)
cfi=(154)
cfn=(4792)
calls=502 1263
* 47188
* 502
+5 502
+1 1004
fn=(4374)
3832 7
+4 3
+2 3
+1 2
+1 2
+2 2
+1 2
+1 2
+2 4
+1 4
+1 4
+2 4
+1 2
+2 2
+1 2
+2 2
+1 2
+1 2
+7 2
+1 2
+2 3
+2 4
+1 4
+1 2
+2 4
+4 2
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
-1 2
+2 4
+1 4
+1 4
+1 3
+1 4
+1 3
+1 5
+3 2
+2 3
+2 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 22
* 1
+1 1
+1 1
+1 3
+1 6
cob=(9)
cfi=(31)
cfn=(794)
calls=1 317
* 3167
* 1
* 2
+4 5
+29 2
+1 4
+2 2
+1 2
+1 2
+2 2
+1 2
+2 2
+5 3
cfn=(4376) plpgsql_create_econtext
calls=1 8060
* 1222
+8 5
+8 2
fn=(4376)
8060 4
+11 4
+16 4
cob=(9)
cfi=(243)
cfn=(4380)
calls=1 242
* 1055
* 1
* 2
+7 2
-1 3
cob=(9)
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
* 1
+4 4
+1 1
cob=(9)
cfi=(26)
cfn=(736)
calls=1 624
* 8
* 1
* 2
+2 3
+1 2
+1 2
fn=(4400)
2588 6
+9 1
+1 1
+2 10
+5 9
cfn=(4402) exec_eval_expr
calls=1 5705
* 123653
* 1
+5 2
-3 1
+2 2
-2 9
cfn=(4850)
calls=1 7550
* 18
* 1
+4 3
+4 2
+1 3
cfn=(4852)
calls=1 3974
* 217
+5 9
cfn=(4402)
calls=1 5705
* 48116
* 1
+5 2
-3 1
+2 2
-2 9
cfn=(4850)
calls=1 7550
* 18
* 1
+4 3
+4 2
+1 3
cfn=(4852)
calls=1 3974
* 217
+5 4
+20 1
+10 2004
+7 1503
+1 1
+3 500
+5 4000
cfn=(4390)
calls=500 8193
* 20500
+5 3000
cfn=(4397) exec_stmts'2
calls=500 1860
* 372191667
* 500
+2 3000
+6 2000
+8 2000
+2 1000
+2 500
+8 5
cfn=(4388)
calls=1 8044
* 68
+2 1
+1 4
fn=(4402)
5705 4518
+1 502
+7 2008
+1 18
cfn=(4404) exec_prepare_plan
calls=3 3997
* 1036810
+6 5020
cfn=(4796)
calls=502 6026
* 4083893
* 1004
+2 1004
+53 2008
fn=(5154)
6355 8
+8 3
+1 3
+3 4
+4 8
+2 1
+1 2
+1 2
+9 4
+2 4
+1 3
-1 2
+4 3
+24 1
+1 3
+1 3
+1 5
cob=(9)
cfi=(281)
cfn=(4814)
calls=1 2133
* 185
* 1
+1 2
fn=(4388)
8044 12
+3 18
+1 13
cfn=(4390)
calls=1 8193
* 41
* 6
cfn=(4390)
calls=1 8193
* 41
+1 4
fn=(5572)
8112 4
+6 3
+1 3
cob=(9)
cfi=(13)
cfn=(952)
calls=1 1032
* 85
* 1
+1 2
+2 5
cob=(9)
cfi=(243)
cfn=(5526)
calls=1 373
* 523
* 1
+1 2
+1 2
fn=(5628)
8134 10
+7 6
+2 1
+2 3
+2 2
+2 2
+5 4
fn=(4800)
6166 2008
+15 2008
+3 1500
+7 1500
+7 2500
+9 2
+2 2
+1 4
-1 500
+1 1000
fn=(4850)
7550 27
+4 18
+29 3
+1 6
fn=(4784)
7858 15
+12 12
cfi=(242)
cfn=(4398)
calls=3 78
* 30
* 6
+11 9
+5 12
cfi=(242)
cfn=(4398)
calls=3 78
* 30
* 9
+2 12
+7 3
+26 9
+1 12
+1 6
+1 6
+1 6
+2 9
cob=(9)
cfi=(250)
cfn=(4478)
calls=3 43
* 72
* 3
* 6
+1 9
cob=(9)
cfi=(250)
cfn=(4576)
calls=3 277
* 92
* 3
* 6
+1 6
fn=(4396)
1860 5
+3 2
+11 3
cfi=(242)
cfn=(4398)
calls=1 78
* 10
* 2
+2 6
+1 10
cfn=(4393)
calls=2 +17
* 372404727
* 2
+2 4
+1 2
-6 7
+10 2
fn=(4397)
1860 2500
+3 1000
+11 1500
cfi=(242)
cfn=(4398)
calls=500 78
* 5000
* 1000
+2 1500
+1 2500
cfn=(4393)
calls=500 +17
* 372170167
ob=(5)
fl=(5)
fn=(1958)
0 7521
fn=(2428)
0 180
fn=(2496)
0 5
fn=(4066) pthread_getspecific
0 80
fn=(1298)
0 8728
fn=(606)
0 561
fn=(676)
0 3050
cfn=(678)
calls=1525 0
0 7625
fn=(686)
0 95
fn=(2502)
0 864
fn=(2636)
0 10
fn=(2708)
0 48
fn=(3316) __pread_nocancel
0 12
fn=(2602)
0 66
fn=(2694)
0 5
fn=(3314)
0 4
cfn=(3316)
calls=2 0
0 12
fn=(398)
0 324
fn=(1568)
0 32
cfn=(1570)
calls=16 0
0 80
ob=(12)
fl=(244)
fn=(4397)
1877 500
+2 1000
-5 3500
+9 500
+1 1000
fn=(4404)
3997 24
+7 12
+5 21
cob=(9)
cfi=(165)
cfn=(4408)
calls=3 658
* 735644
* 3
* 3
+4 6
+3 6
+1 9
cob=(9)
cfi=(165)
cfn=(4592)
calls=3 692
* 705
* 3
+1 9
+3 15
cfn=(4600)
calls=3 7759
* 300338
+7 6
+1 6
fn=(4856)
4268 3500
+7 500
+1 1500
cfn=(4858)
calls=500 1449
* 6475
* 500
+6 4500
cfn=(4402)
calls=500 5705
* 4965016
* 500
+1 1500
+6 3000
cfn=(5190)
calls=500 7518
* 465000
* 500
+3 2500
cob=(9)
cfi=(13)
cfn=(930)
calls=500 1149
* 101500
* 500
* 500
+2 1500
cfn=(4852)
calls=500 3974
* 108628
+5 2000
+9 4000
cob=(9)
cfi=(165)
cfn=(5202)
calls=500 436
* 366349548
* 500
* 500
+2 6000
+19 500
+37 2000
+3 2000
+72 2000
cob=(9)
cfi=(165)
cfn=(5544)
calls=500 1102
* 5000
* 500
+1 1500
cob=(9)
cfi=(13)
cfn=(3758)
calls=500 137
* 97500
* 500
+2 500
+1 2500
fl=(242)
fn=(4606)
90 3
+1 5
+1 2
-2 27
+1 45
+1 18
fn=(4398)
78 3
+1 2
ob=(5)
fl=(5)
fn=(260)
0 16
fn=(2858)
0 18
fn=(5892)
0 9
ob=(12)
fl=(242)
fn=(4398)
79 3
+1 2
-2 1539
+1 2565
+1 1026
-2 9
+1 13
+1 6
fn=(4360)
84 3
+1 5
+1 2
fl=(232)
fn=(5966)
0 8
cob=(3)
cfi=(3)
cfn=(5846)
calls=1 0
0 59
0 1
0 1
cfn=(5976) 0x0000000000008e70
calls=1 0
0 9
0 3
fn=(4084)
0 16
fn=(5976)
0 9
ob=(6)
fl=(6)
fn=(4098)
0 52
cob=(5)
cfi=(5)
cfn=(396)
calls=4 0
0 124
0 12
cfn=(4048) _dlerror_run
calls=4 0
0 4644
0 16
cob=(5)
cfi=(5)
cfn=(398)
calls=4 0
0 116
0 20
fn=(4100)
0 24
cob=(3)
cfi=(3)
cfn=(4106)
calls=3 0
0 2193
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1911
0 8
0 12
fn=(312)
0 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 796
0 5
0 7
fn=(4046) dlopen@@GLIBC_2.2.5
0 11
cfn=(4048)
calls=1 0
0 253832
0 6
fn=(5902) check_free
0 9
fn=(304)
0 16
fn=(4078)
0 22
cob=(1)
cfi=(1)
cfn=(1714)
calls=1 0
0 248925
0 6
ob=(2)
fl=(2)
fn=(356)
0 6
fn=(5898)
0 3
fn=(326)
0 6
fn=(5832)
0 3
fn=(4080)
0 6
fn=(5944)
0 3
fn=(314)
0 6
fn=(210)
0 2
cob=(5)
cfi=(5)
cfn=(212)
calls=1 0
0 8651
0 2
ob=(6)
fl=(6)
fn=(5900)
0 2
cfn=(5902)
calls=1 0
0 9
fn=(5916) 0x0000000000000e70
0 9
fn=(5904)
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5916)
calls=1 0
0 9
0 3
fn=(4048)
0 50
cob=(5)
cfi=(5)
cfn=(1686)
calls=4 0
0 16
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1553
0 9
0 65
cob=(1)
cfi=(1)
cfn=(80)
calls=5 0
0 253396
0 80
cob=(5)
cfi=(5)
cfn=(4066)
calls=4 0
0 68
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 804
0 9
0 18
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1563
0 5
0 5
ob=(2)
fl=(2)
fn=(5878)
0 3
fn=(1724)
0 6
fn=(5922)
0 3
fn=(288)
0 6
fn=(300)
0 6
fn=(5858)
0 3
fn=(5964)
0 3
fn=(5982)
0 3
ob=(6)
fl=(6)
fn=(4048)
0 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 826
0 5
0 1
totals: 394821337
callgrind.out.115483_after_patchapplication/octet-stream; name=callgrind.out.115483_after_patchDownload
# callgrind format
version: 1
creator: callgrind-3.13.0
pid: 115483
cmd: ./postgres -D data
part: 1
desc: I1 cache:
desc: D1 cache:
desc: LL cache:
desc: Timerange: Basic block 0 - 61499774
desc: Trigger: Program termination
positions: line
events: Ir
summary: 397545624
ob=(5) /usr/lib64/libpthread-2.17.so
fl=(5) ???
fn=(472) __errno_location
0 75240
fn=(570) pthread_rwlock_wrlock
0 594
fn=(782) sigaction
0 104
cfn=(214) __libc_sigaction
calls=26 0
0 2730
fn=(2428) fcntl
0 180
fn=(2494) connect
0 2
cfn=(2496) __connect_nocancel
calls=1 0
0 5
fn=(694) __close_nocancel
0 5255
fn=(2602) waitpid
0 44
fn=(5866) 0x00000000000066d0
0 9
fn=(260) 0x0000000000006780
0 16
fn=(1956) lseek
0 8088
cfn=(1958) __lseek_nocancel
calls=4044 0
0 20220
fn=(2516) recv
0 84
fn=(2636) __accept_nocancel
0 10
fn=(5464) __pwrite_nocancel
0 9000
fn=(606) pthread_rwlock_unlock
0 561
fn=(676) open
0 6056
cfn=(678) __open_nocancel
calls=3028 0
0 23140
fn=(686) __read_nocancel
0 80
fn=(1296) _pthread_cleanup_push_defer
0 15330
fn=(214)
0 2864
fn=(1686) pthread_once
0 92
cob=(6) /usr/lib64/libdl-2.17.so
cfi=(6) ???
cfn=(312) init
calls=1 0
0 811
cob=(7) /usr/lib64/librt-2.17.so
cfi=(7) ???
cfn=(2362) where_is_shmfs
calls=1 0
0 1344
cob=(3) /usr/lib64/libc-2.17.so
cfi=(3) ???
cfn=(1796) gaiconf_init
calls=1 0
0 854
cob=(3)
cfi=(3)
cfn=(1688) do_init
calls=1 0
0 4827
0 40
fn=(4032) pthread_setspecific
0 34
fn=(5462) pwrite
0 3000
cfn=(5464)
calls=1500 0
0 9000
fn=(5854) 0x0000000000006740
0 8
cob=(1) /usr/lib64/ld-2.17.so
cfi=(1) ???
cfn=(223) _dl_runtime_resolve_xsave'2
calls=1 0
0 1448
0 5
0 1
cfn=(5866)
calls=1 0
0 9
0 3
fn=(398) pthread_mutex_unlock
0 324
fn=(1568) write
0 30
cfn=(1570) __write_nocancel
calls=15 0
0 75
fn=(212) __pthread_initialize_minimal
0 67
cfn=(214)
calls=1 0
0 67
0 7
cfn=(214)
calls=1 0
0 67
0 11
cob=(1)
cfi=(1)
cfn=(222) _dl_runtime_resolve_xsave
calls=1 0
0 1607
0 5
0 13
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1926
0 5
0 7
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1382
0 5
0 18
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1481
0 5
0 2
cob=(1)
cfi=(1)
cfn=(82) _dl_initial_error_catch_tsd
calls=1 0
0 2
0 22
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 1929
0 5
0 18
fn=(2496)
0 5
fn=(2570) fork
0 10
cob=(3)
cfi=(3)
cfn=(2576) fork
calls=9 0
0 1659
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1516
0 14
fn=(268) elision_init
0 12
fn=(2708) __reclaim_stacks
0 48
fn=(4016) pthread_key_create
0 19
fn=(2250) sem_init@@GLIBC_2.2.5
0 1276
fn=(692) close
0 2102
cfn=(694)
calls=1051 0
0 5255
fn=(1958)
0 20220
fn=(2502) send
0 864
fn=(2694) __nptl_set_robust
0 5
fn=(4022) pthread_getspecific
0 80
fn=(396) pthread_mutex_lock
0 358
fn=(678)
0 23140
fn=(2634) accept
0 4
cfn=(2636)
calls=2 0
0 10
fn=(2858) sem_trywait@@GLIBC_2.2.5
0 18
fn=(684) read
0 32
cfn=(686)
calls=16 0
0 80
fn=(1298) _pthread_cleanup_pop_restore
0 8760
fn=(1570)
0 75
ob=(11) /usr/lib64/libnss_files-2.17.so
fl=(78) ???
fn=(5932) 0x00000000000021d0
0 9
fn=(5920) 0x0000000000002240
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5932)
calls=1 0
0 9
0 3
fn=(1754) internal_getent
0 218
cob=(3)
cfi=(3)
cfn=(1690) fgets_unlocked
calls=5 0
0 1373
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1916
0 10
0 70
cob=(3)
cfi=(3)
cfn=(914) __ctype_b_loc
calls=3 0
0 9
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1355
0 8
0 3208
cob=(3)
cfi=(3)
cfn=(1646) inet_pton
calls=3 0
0 285
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1523
0 8
0 28
cob=(3)
cfi=(3)
cfn=(1770) __rawmemchr_sse42
calls=3 0
0 87
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1374
0 8
0 2362
cob=(3)
cfi=(3)
cfn=(1646)
calls=2 0
0 394
0 2
0 12
fn=(1728) 0x0000000000002280
0 16
fn=(1742) _nss_files_gethostbyname4_r
0 34
cob=(5)
cfi=(5)
cfn=(396)
calls=1 0
0 24
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 801
0 6
0 58
cfn=(1754)
calls=2 0
0 9876
0 68
cfn=(1754)
calls=4 0
0 4374
0 30
cob=(3)
cfi=(3)
cfn=(1780) __strcasecmp_avx
calls=3 0
0 168
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1402
0 8
0 160
cob=(3)
cfi=(3)
cfn=(856) __memcpy_ssse3
calls=3 0
0 40
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1362
0 8
0 106
cob=(5)
cfi=(5)
cfn=(398)
calls=1 0
0 17
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 824
0 6
0 26
cob=(3)
cfi=(3)
cfn=(1380) fclose@@GLIBC_2.2.5
calls=1 0
0 446
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1731
0 6
0 10
cob=(3)
cfi=(3)
cfn=(1284) fopen@@GLIBC_2.2.5
calls=1 0
0 569
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1859
0 6
0 6
ob=(9) /home/mithuncy/zheap_fsmp11bin/bin/postgres
fl=(11) /home/mithuncy/fsm_p11patch/src/port/path.c
fn=(376) get_progname
454 4
+4 3
cfn=(378) last_dir_separator
calls=1 139
* 106
* 1
+1 2
+1 2
+8 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 59053
* 5
* 1
+1 2
+13 1
+1 2
fn=(486) trim_trailing_separator
900 108
+4 81
cob=(3)
cfi=(3)
cfn=(424) __strlen_sse42
calls=27 0
* 545
* 27
* 81
+1 81
+1 54
+1 10
-1 229
+2 54
fn=(526) make_relative_path
541 35
+10 5
+1 10
+2 1260
+1 80
+1 1680
+1 5
-5 2395
+7 10
+2 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 105
* 5
* 25
+6 30
cfi=(16) /home/mithuncy/fsm_p11patch/src/port/strlcpy.c
cfn=(460) strlcpy
calls=5 46
* 3200
+1 15
cfn=(528) trim_directory
calls=5 869
* 635
+1 15
cfn=(484) canonicalize_path
calls=5 255
* 4464
+5 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 105
* 5
* 10
+1 10
+1 30
-1 10
+2 55
cfn=(530) dir_strcmp
calls=5 -85
* 340
-1 10
+3 25
+1 15
cfn=(486)
calls=5 900
* 270
+1 45
cfn=(458) join_path_components
calls=5 220
* 2160
+1 15
cfn=(484)
calls=5 255
* 5628
+1 5
+6 10
fn=(528)
869 20
+5 20
+4 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 105
* 5
* 45
+3 345
+3 45
+3 15
+2 10
+1 10
fn=(378)
139 9
+2 3
+2 9
+1 384
+1 22
-2 492
+3 3
+1 6
fn=(716) get_pkglib_path
759 5
+1 7
cfn=(526)
calls=1 541
* 4534
+1 2
fn=(1428) get_share_path
705 15
+1 21
cfn=(526)
calls=3 541
* 13684
+1 6
fn=(458)
220 88
+1 33
+1 24
cfi=(16)
cfn=(460)
calls=4 46
* 2196
+8 11
+1 2
-1 62
+3 44
+5 22
-2 77
cob=(3)
cfi=(3)
cfn=(424)
calls=11 0
* 221
* 11
* 66
cob=(3)
cfi=(3)
cfn=(424)
calls=11 0
* 221
* 11
* 110
cfi=(17) /home/mithuncy/fsm_p11patch/src/port/snprintf.c
cfn=(462) pg_snprintf
calls=11 -33
* 5979
+5 55
fn=(484)
255 88
+4 22
+28 66
cfn=(486)
calls=22 900
* 1000
+5 44
+6 44
+1 22
+3 4356
+2 2502
+2 4170
-7 5092
+9 44
+12 44
+1 22
+3 66
cob=(3)
cfi=(3)
cfn=(424)
calls=22 0
* 450
* 22
* 22
+2 220
cob=(3)
cfi=(3)
cfn=(446) __strcmp_sse42
calls=22 0
* 582
* 22
* 44
+2 88
cob=(3)
cfi=(3)
cfn=(446)
calls=22 0
* 484
* 22
* 44
+7 220
cob=(3)
cfi=(3)
cfn=(446)
calls=22 0
* 626
* 22
* 44
+1 88
cob=(3)
cfi=(3)
cfn=(446)
calls=22 0
* 484
* 22
-1 44
+6 44
+13 44
+11 44
fn=(1262) make_absolute_path
609 10
+4 4
+3 8
+5 1
+3 3
cob=(3)
cfi=(3)
cfn=(388) malloc
calls=1 0
* 304
* 1
* 1
+1 2
+12 5
cob=(3)
cfi=(3)
cfn=(454) getcwd
calls=1 0
* 34
* 1
* 2
+1 1
+23 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
* 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 1
+1 2
+12 7
cfi=(17)
cfn=(1138) pg_sprintf
calls=1 231
* 445
+1 3
cob=(3)
cfi=(3)
cfn=(590) free
calls=1 0
* 116
* 1
* 1
+4 3
cob=(3)
cfi=(3)
cfn=(384) strdup
calls=1 0
* 429
* 1
* 1
+1 2
+14 6
cfn=(484)
calls=2 255
* 2046
+2 2
+1 8
fn=(456) first_dir_separator
104 15
+3 15
+1 112
+1 10
-2 135
+4 10
fn=(524) get_etc_path
714 5
+1 7
cfn=(526)
calls=1 541
* 4534
+1 2
fn=(530)
492 20
+1 5
+4 60
-2 30
+9 30
-11 140
+13 20
+2 20
+2 5
+1 10
fl=(94) /home/mithuncy/fsm_p11patch/src/backend/access/transam/clog.c
fn=(2194) CLOGShmemInit
699 4
+1 1
+2 2
-1 2
cfn=(2030) CLOGShmemBuffers
calls=1 -17
* 21
* 8
cfi=(93) /home/mithuncy/fsm_p11patch/src/backend/access/transam/slru.c
cfn=(2196) SimpleLruInit
calls=1 167
* 4671
+2 4
fn=(5676) TransactionIdSetPageStatusInternal
348 9
+18 8
cfi=(93)
cfn=(5678) SimpleLruReadPage
calls=1 +11
* 111
* 1
+11 2
+3 2
+2 5
+10 6
cfn=(5680) TransactionIdSetStatusBit
calls=1 573
* 84
+4 5
+6 6
+1 2
fn=(5680)
573 6
+1 4
+1 4
+5 11
+1 9
+8 3
+14 3
+1 7
+1 6
+1 3
+10 2
+2 7
+2 9
+1 8
+2 2
fn=(2028) CLOGShmemSize
693 2
+1 1
cfn=(2030)
calls=1 -10
* 21
* 3
cfi=(93)
cfn=(2020) SimpleLruShmemSize
calls=1 146
* 59
+1 2
fn=(5672) TransactionIdSetPageStatus
277 11
+19 8
+2 3
-1 2
+2 9
cob=(3)
cfi=(3)
cfn=(3062) __memcmp_sse4_1
calls=1 0
* 13
* 1
-1 2
+17 5
cfi=(99) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/lwlock.c
cfn=(5674) LWLockConditionalAcquire
calls=1 1294
* 129
* 2
+3 10
cfn=(5676)
calls=1 +30
* 241
+2 4
cfi=(99)
cfn=(2182) LWLockRelease
calls=1 1726
* 91
+1 1
+16 2
fn=(2030)
684 4
+1 34
+1 4
fn=(5670) TransactionIdSetTreeStatus
165 8
+1 3
+10 5
+9 3
+5 11
cfn=(5672)
calls=1 +87
* 534
* 1
+38 2
fn=(5340) ExtendCLOG
868 4
+7 6
+2 1
+10 2
fl=(130) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/dsm_impl.c
fn=(2390) dsm_impl_posix_resize
352 5
+4 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1326
* 5
* 1
+11 2
+9 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1410
* 5
* 1
+1 2
+7 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+4 1
+1 2
fn=(2348) dsm_impl_posix
214 10
+6 8
cfi=(17)
cfn=(462)
calls=1 -17
* 716
+3 4
+32 5
+1 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 8015
* 5
* 3
+14 2
+21 5
cfn=(2390)
calls=1 +61
* 2777
* 2
+26 9
cob=(3)
cfi=(3)
cfn=(598) mmap
calls=1 0
* 33
* 1
* 1
+2 2
+17 3
+1 3
+1 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
+2 1
+1 4
fn=(2346) dsm_impl_op
161 9
+5 7
+4 10
cfn=(2348)
calls=1 +44
* 11626
* 1
+23 2
fl=(135) /home/mithuncy/fsm_p11patch/src/backend/libpq/../../../src/include/nodes/pg_list.h
fn=(2542) list_head
78 225
+1 371
+1 150
fl=(146) /home/mithuncy/fsm_p11patch/src/backend/access/transam/../../../../src/include/storage/s_lock.h
fn=(2884) tas
225 12
+1 3
+2 15
+6 3
+1 9
fl=(198) /home/mithuncy/fsm_p11patch/src/backend/catalog/pg_db_role_setting.c
fn=(3582) ApplySetting
222 32
+5 32
cfi=(184) /home/mithuncy/fsm_p11patch/src/backend/access/common/scankey.c
cfn=(3342) ScanKeyInit
calls=4 81
* 456
+5 36
cfi=(184)
cfn=(3342)
calls=4 81
* 456
+6 40
cfi=(172) /home/mithuncy/fsm_p11patch/src/backend/access/index/genam.c
cfn=(3118) systable_beginscan
calls=4 +84
* 94103
* 4
+2 16
cfi=(172)
cfn=(3186) systable_getnext
calls=4 406
* 13442
* 12
+20 12
cfi=(172)
cfn=(3254) systable_endscan
calls=4 489
* 11156
+1 8
fl=(303) /home/mithuncy/fsm_p11patch/src/backend/commands/define.c
fn=(5236) defGetString
50 2500
+1 2000
+5 2500
+12 2000
+11 2000
fl=(199) /home/mithuncy/fsm_p11patch/src/backend/access/common/session.c
fn=(3592) InitializeSession
55 2
+1 4
cfi=(13) /home/mithuncy/fsm_p11patch/src/backend/utils/mmgr/mcxt.c
cfn=(2156) MemoryContextAllocZero
calls=1 815
* 148
* 1
+1 2
fl=(248) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_collate.c
fn=(4456) merge_collation_state
762 165
+6 60
+3 21
+1 21
+1 21
+2 14
+6 32
+3 31
+6 8
+26 2
-28 10
+51 75
fn=(4442) assign_query_collations_walker
127 180
+2 72
+1 56
+6 32
+3 32
+1 20
cfn=(4444) assign_list_collations
calls=4 +16
* 5011
* 4
+2 20
cfn=(4446) assign_expr_collations
calls=4 +36
* 648
+2 8
+1 72
fn=(4438) assign_query_collations
102 20
+7 24
cfi=(247) /home/mithuncy/fsm_p11patch/src/backend/nodes/nodeFuncs.c
cfn=(4440) query_tree_walker
calls=4 2266
* 6587
+5 8
fn=(4448) assign_collations_walker
256 64
+7 16
+8 24
+1 8
+1 8
+1 8
+2 8
+1 8
+8 80
445 20
cfi=(247)
cfn=(4450) expression_tree_walker
calls=4 1843
* 4427
+9 8
+1 8
+1 8
+15 8
+10 4
+7 20
cfi=(247)
cfn=(4450)
calls=4 1843
* 424
+10 8
742 40
cfn=(4456)
calls=4 +20
* 124
+7 4
+1 48
fn=(4449) assign_collations_walker'2
256 152
+7 38
+1 16
+7 33
+1 11
+1 11
+1 11
+2 11
+1 11
+8 166
555 21
cfi=(247)
cfn=(4452) exprCollation
calls=7 721
* 147
* 7
+11 14
+1 6
+2 4
+1 12
cfi=(247)
cfn=(4454) exprLocation
calls=4 1193
* 96
* 9
cfi=(247)
cfn=(4454)
calls=3 1193
* 72
* 7
+1 7
+15 32
+90 20
cfi=(247)
cfn=(4451) expression_tree_walker'2
calls=4 1843
* 3215
+3 4
+6 12
cfi=(247)
cfn=(4434) exprType
calls=4 43
* 96
* 8
cfi=(272) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/lsyscache.c
cfn=(4978) get_typcollation
calls=4 2791
* 1896
* 4
+1 8
+3 12
+3 6
+1 6
+1 9
+10 2
+1 1
+1 3
cfi=(247)
cfn=(4454)
calls=1 1193
* 71
* 2
+16 8
+3 20
cfi=(247)
cfn=(4980) exprSetCollation
calls=4 974
* 76
+6 12
+3 20
cfi=(247)
cfn=(4982) exprSetInputCollation
calls=4 1129
* 69
+2 4
+6 40
cfn=(4456)
calls=4 +20
* 126
* 70
cfn=(4456)
calls=7 +20
* 210
+7 11
+1 114
fn=(4446)
178 40
+4 16
+1 8
+1 8
+1 8
+3 40
cfn=(4448)
calls=8 +68
* 5375
+1 16
fn=(4444)
156 20
+3 12
cfi=(219) /home/mithuncy/fsm_p11patch/src/backend/parser/../../../src/include/nodes/pg_list.h
cfn=(4292) list_head
calls=4 -81
* 40
* 8
+2 12
+2 20
cfn=(4446)
calls=4 +15
* 4863
-4 28
+6 8
fl=(80) /home/mithuncy/fsm_p11patch/src/backend/lib/stringinfo.c
fn=(1890) resetStringInfo
63 531108
+1 531108
+1 354072
+1 354072
+1 354072
fn=(1926) appendStringInfo
79 132
+1 12
cob=(5)
cfi=(5)
cfn=(472)
calls=12 -80
* 36
* 12
* 24
+8 12
cob=(5)
cfi=(5)
cfn=(472)
calls=12 -88
* 36
* 12
* 24
+1 72
+1 72
cfn=(1892) appendStringInfoVA
calls=12 +31
* 5880
* 12
+3 24
+6 24
fn=(1920) appendBinaryStringInfo
215 528072
+4 440060
cfn=(1922) enlargeStringInfo
calls=88012 +52
* 3080420
+3 1056144
cob=(3)
cfi=(3)
cfn=(856)
calls=88012 0
* 1147242
* 88012
+1 528072
+7 616084
+1 176024
fn=(1892)
121 108
+11 126
+1 36
+3 216
cfi=(81) /home/mithuncy/fsm_p11patch/src/common/psprintf.c
cfn=(1894) pvsnprintf
calls=18 -29
* 8924
* 18
+2 72
+3 108
+1 36
+12 36
fn=(1922)
271 616385
+7 176110
+2 880550
+7 528330
+4 352220
+1 88055
+22 440275
fn=(3720) appendBinaryStringInfoNT
241 174
+4 145
cfn=(1922)
calls=29 +26
* 1015
+3 348
cob=(3)
cfi=(3)
cfn=(856)
calls=29 0
* 426
* 29
+1 174
+1 58
fn=(1888) initStringInfo
47 6140
+1 1535
+2 6140
cfi=(13)
cfn=(940) palloc
calls=1535 925
* 188441
* 3070
+1 4605
+1 4605
cfn=(1890)
calls=1535 +11
* 18420
+1 3070
fn=(1918) appendStringInfoString
164 2545
+1 1527
cob=(3)
cfi=(3)
cfn=(424)
calls=509 0
* 9659
* 509
* 3054
cfn=(1920)
calls=509 +50
* 44816
+1 1018
fn=(1924) appendStringInfoChar
176 180
+2 210
+4 240
+1 150
+1 210
+1 60
fl=(119) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/storage/proclist.h
fn=(2152) proclist_init
30 99738
+1 199476
+1 66492
-2 60
+1 120
+1 40
fl=(254) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/datum.c
fn=(4498) datumCopy
129 7196
+3 2056
+1 1548
+1 1024
+3 14
+2 28
+18 105
+1 21
cfi=(13)
cfn=(940)
calls=7 925
* 861
* 7
+1 42
cob=(3)
cfi=(3)
cfn=(856)
calls=7 0
* 128
* 7
+1 21
+9 3030
cfn=(4500) datumGetSize
calls=505 62
* 10605
* 505
+2 1515
cfi=(13)
cfn=(940)
calls=505 925
* 62115
* 505
+1 3030
cob=(3)
cfi=(3)
cfn=(856)
calls=505 0
* 12120
* 505
+1 1010
+2 505
+1 1010
-1 523
+1 1046
fn=(4500)
62 4040
+3 1010
+8 1010
+3 2020
+33 505
+1 2020
fl=(24) /home/mithuncy/fsm_p11patch/src/backend/postmaster/../../../src/include/utils/palloc.h
fn=(712) MemoryContextSwitchTo
110 12
+1 8
+2 8
+1 4
+1 8
fl=(103) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/procsignal.c
fn=(2058) ProcSignalShmemSize
75 4
+1 18
+1 4
fn=(2266) ProcSignalShmemInit
85 3
+1 1
cfn=(2058)
calls=1 -11
* 13
* 1
+4 5
cfi=(87) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/shmem.c
cfn=(2168) ShmemInitStruct
calls=1 373
* 994
-1 1
+4 4
+1 19
cob=(3)
cfi=(3)
cfn=(828) __GI_memset
calls=1 -94
* 583
* 1
+1 2
fn=(2874) ProcSignalInit
106 4
+5 12
+3 4
+5 63
+3 3
+3 2
+3 5
cfi=(67) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/ipc.c
cfn=(2110) on_shmem_exit
calls=1 362
* 32
+1 2
fn=(5744) CleanupProcSignalState
139 5
+1 2
+3 12
+8 1
+3 5
+11 2
+1 2
fl=(127) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/lib/ilist.h
fn=(2252) dlist_init
279 348
+1 812
+1 232
fl=(269) /home/mithuncy/fsm_p11patch/src/backend/optimizer/path/pathkeys.c
fn=(4648) make_pathkeys_for_sortclauses
877 18
+1 3
+3 9
cfi=(270) /home/mithuncy/fsm_p11patch/src/backend/optimizer/path/../../../../src/include/nodes/pg_list.h
cfn=(4650) list_head
calls=3 78
* 24
* 12
+20 3
+1 6
fl=(315) /home/mithuncy/fsm_p11patch/src/backend/storage/file/../../../../src/include/pgstat.h
fn=(5456) pgstat_report_wait_start
1239 4500
+1 3000
+2 9000
+7 4500
+1 3000
fn=(5466) pgstat_report_wait_end
1263 3000
+1 3000
+2 9000
+7 3000
+1 3000
fl=(118) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/port/atomics/generic.h
fn=(2176) pg_atomic_read_u32_impl
47 158124
+1 105416
+1 105416
fn=(2150) pg_atomic_write_u32_impl
56 936
+1 702
+1 468
-2 132984
+1 99738
+1 66492
fn=(2186) pg_atomic_sub_fetch_u32_impl
241 263540
+1 263540
cfi=(121) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/port/atomics/generic-gcc.h
cfn=(2188) pg_atomic_fetch_sub_u32_impl
calls=52708 -48
* 579788
* 105416
+1 105416
fn=(2148) pg_atomic_init_u32_impl
162 1170
+1 1170
cfn=(2150)
calls=234 56
* 2106
+1 468
-2 166230
+1 166230
cfn=(2150)
calls=33246 56
* 299214
+1 66492
fl=(131) /home/mithuncy/fsm_p11patch/src/backend/postmaster/syslogger.c
fn=(2476) RemoveLogrotateSignalFiles
1536 2
+1 2
cob=(3)
cfi=(3)
cfn=(1972) unlink
calls=1 0
* 9
* 1
+1 2
fn=(2478) SysLogger_Start
546 4
+4 4
+1 2
730 4
fl=(294) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/numutils.c
fn=(5518) pg_strtouint64
559 3000
+6 3000
cob=(3)
cfi=(3)
cfn=(1638) strtoul
calls=499 0
* 72854
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1430
* 504
+2 1000
fn=(5112) pg_ltoa
286 2500
+1 1000
+1 500
+6 1000
+5 1000
+10 2784
+2 13920
+1 13920
+1 8352
+1 2784
+2 1000
+4 2000
+3 500
+2 1473
+2 2946
+1 2455
-5 2973
+7 1000
fn=(5308) pg_strtoint32
200 437500
+1 175000
+1 87500
+1 87500
+3 787500
cob=(3)
cfi=(3)
cfn=(914)
calls=87500 0
* 262500
* 87500
* 962500
+4 350000
+5 350000
+4 87500
cob=(3)
cfi=(3)
cfn=(914)
calls=87500 0
* 262500
* 87500
* 1225000
+4 87500
+2 1251000
+2 1042500
cfi=(307) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/../../../../src/include/common/int.h
cfn=(5310) pg_mul_s32_overflow
calls=208500 -82
* 4587000
* 625500
+1 1251000
cfi=(307)
cfn=(5312) pg_sub_s32_overflow
calls=208500 122
* 4795500
* 208500
-1 417000
-4 1392500
cob=(3)
cfi=(3)
cfn=(914)
calls=208500 0
* 625500
* 208500
* 2293500
+10 437500
+3 612500
+3 350000
+3 525000
+2 262500
+3 175000
+15 350000
fl=(20) /home/mithuncy/fsm_p11patch/src/backend/postmaster/postmaster.c
fn=(2588) bgworker_should_start_now
5778 6
+1 12
+12 2
+1 2
+11 2
+6 1
+1 4
fn=(2590) ServerLoop
1630 4
+6 2
cob=(10) /usr/lib64/valgrind/callgrind-amd64-linux
cfi=(22) ???
cfn=(1810) 0x000000005803d96d
calls=1 0
* 3
* 1
* 3
+2 3
cfn=(2592) initMasks
calls=1 1870
* 160
* 1
+18 32
+2 3
-2 192
+2 18
+15 21
cfn=(2594) DetermineSleepTime
calls=7 1532
* 203
+2 28
cob=(3)
cfi=(3)
cfn=(774) sigprocmask
calls=7 0
* 49
* 7
+2 56
cob=(3)
cfi=(3)
cfn=(2508) select
calls=7 0
* 72
* 7
* 7
+2 28
cob=(3)
cfi=(3)
cfn=(774)
calls=7 0
* 49
* 7
+4 14
+2 4
cob=(5)
cfi=(5)
cfn=(472)
calls=4 0
* 12
* 4
* 12
+13 14
+4 4
+2 35
+1 1
+1 138
+4 10
cfn=(2626) ConnCreate
calls=2 2405
* 1832
* 2
+1 4
+2 6
cfn=(2638) BackendStartup
calls=2 4031
* 385144902
+6 4
cfi=(58) /home/mithuncy/fsm_p11patch/src/backend/libpq/pqcomm.c
cfn=(2644) StreamClose
calls=1 845
* 17
+1 3
cfn=(2646) ConnFree
calls=1 2449
* 128
-18 19
+25 36
+8 18
+3 18
+2 18
+9 18
+9 42
+10 18
+5 54
+4 18
+8 18
+4 36
+20 12
cob=(10)
cfi=(22)
cfn=(1810)
calls=6 0
* 18
* 6
* 6
+10 36
+20 36
+2 1
cfi=(54) /home/mithuncy/fsm_p11patch/src/backend/utils/init/miscinit.c
cfn=(2666) RecheckDataDirLockFile
calls=1 1387
* 1594
* 3
+6 2
+8 36
+6 6
fn=(2592)
1870 3
+1 1
+3 27
+2 2
+2 16
+2 8
+1 1
+1 72
+2 9
+1 6
-9 11
+12 2
+1 2
fn=(2688) LogChildExit
3609 8
+6 1
+2 2
+5 6
+1 7
cfi=(57) /home/mithuncy/fsm_p11patch/src/backend/utils/error/elog.c
cfn=(1548) errstart
calls=1 232
* 50
* 3
+41 4
fn=(2612) assign_backendlist_entry
5822 5
+9 2
cfn=(2614) RandomCancelKey
calls=1 5258
* 91
* 3
+8 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 339
* 1
* 1
+1 2
+8 3
+1 1
cfi=(102) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/pmsignal.c
cfn=(2616) AssignPostmasterChildSlot
calls=1 185
* 39
* 4
+1 2
+1 2
+1 2
+2 3
+1 4
+2 1
+1 4
fn=(2416) InitPostmasterDeathWatchHandle
6456 4
+13 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1235
* 5
* 2
+9 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 773
* 5
* 2
+20 4
fn=(2594)
1532 35
+1 7
+6 21
+1 14
-1 14
+1 28
+2 21
+10 14
+1 14
+2 7
+66 28
fn=(2620) PostmasterStateMachine
3674 4
+1 6
+9 6
+24 6
+76 6
+18 6
+42 6
+33 6
+8 6
+22 4
fn=(2626)
2405 10
+3 6
cob=(3)
cfi=(3)
cfn=(1722) calloc
calls=2 0
* 892
* 2
* 6
+8 10
cfi=(58)
cfn=(2628) StreamConnection
calls=2 717
* 892
* 4
+24 2
+1 8
fn=(2642) CountChildren
5299 12
+2 3
+2 30
+2 15
+2 20
+7 10
+14 5
-25 47
+27 3
+1 6
fn=(2648) SIGHUP_handler
2594 4
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+2 3
+2 6
cfi=(57)
cfn=(1548)
calls=1 232
* 341
* 5
cfi=(57)
cfn=(1882) errmsg
calls=1 785
* 787
* 3
cfi=(57)
cfn=(1896) errfinish
calls=1 411
* 10126
+2 2
cfi=(60) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/guc-file.l
cfn=(1268) ProcessConfigFile
calls=1 125
* 2459705
+1 3
cfn=(2656) SignalSomeChildren
calls=1 3954
* 1471
+1 3
+2 3
+1 4
cfn=(2658) signal_child
calls=1 3928
* 26
+1 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+1 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+1 3
+2 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+1 3
+2 3
+2 3
+1 4
cfn=(2658)
calls=1 3928
* 26
+3 1
cfi=(133) /home/mithuncy/fsm_p11patch/src/backend/libpq/hba.c
cfn=(2528) load_hba
calls=1 2127
* 167995
* 3
+4 1
cfi=(133)
cfn=(2552) load_ident
calls=1 2917
* 41820
* 3
+27 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 2
fn=(646) PostmasterMain
577 7
+3 1
+1 1
+2 1
+2 1
cfn=(648) InitProcessGlobals
calls=1 2527
* 16866
+2 2
+2 1
+10 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1248
* 5
+8 7
cfi=(14) /home/mithuncy/fsm_p11patch/src/backend/utils/mmgr/aset.c
cfn=(432) AllocSetContextCreateInternal
calls=1 395
* 628
* 1
+3 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
+3 4
cfn=(714) getInstallationPaths
calls=1 1450
* 12311
+21 1
cfi=(27) /home/mithuncy/fsm_p11patch/src/backend/libpq/pqsignal.c
cfn=(750) pqinitmask
calls=1 42
* 4390
+1 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1350
* 5
+2 3
cfi=(28) /home/mithuncy/fsm_p11patch/src/port/pqsignal.c
cfn=(776) pqsignal_no_restart
calls=1 72
* 991
+2 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+1 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+1 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+1 3
cfi=(28)
cfn=(784) pqsignal
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+2 3
cfi=(28)
cfn=(776)
calls=1 72
* 174
+2 3
cfi=(28)
cfn=(776)
calls=1 72
* 177
+10 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+3 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+5 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+6 1
cfi=(29) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/guc.c
cfn=(786) InitializeGUCOptions
calls=1 4964
* 519261
+2 1
+7 1
+2 7
+16 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 242
* 1
* 1
+1 1
-19 12
cob=(3)
cfi=(3)
cfn=(1254) getopt
calls=1 0
* 105
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1929
* 6
* 6
856 3
+13 5
cfi=(29)
cfn=(1260) SelectConfigFiles
calls=1 5186
* 5190721
* 3
+3 2
+15 1
cfi=(54)
cfn=(1522) checkDataDir
calls=1 100
* 4014
+3 1
cfn=(1540) checkControlFile
calls=1 1503
* 1572
+3 1
cfi=(54)
cfn=(1542) ChangeToDataDir
calls=1 214
* 19
+5 6
+7 3
+3 6
+8 1
cfi=(64) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/datetime.c
cfn=(1544) CheckDateTokenTables
calls=1 4453
* 9981
* 3
+10 1
+10 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+2 3
+1 402
cfi=(57)
cfn=(1548)
calls=67 232
* 3350
* 134
-1 339
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+18 2
cfi=(54)
cfn=(1552) CreateDataDirLockFile
calls=1 1182
* 6832
+11 2
cfi=(53) /home/mithuncy/fsm_p11patch/src/backend/access/transam/xlog.c
cfn=(1588) LocalProcessControlFile
calls=1 4934
* 4991
+19 1
cfi=(72) /home/mithuncy/fsm_p11patch/src/backend/replication/logical/launcher.c
cfn=(1612) ApplyLauncherRegister
calls=1 789
* 1505
+5 1
cfi=(54)
cfn=(1620) process_shared_preload_libraries
calls=1 1588
* 30
+6 1
cfi=(75) /home/mithuncy/fsm_p11patch/src/backend/utils/init/postinit.c
cfn=(1624) InitializeMaxBackends
calls=1 525
* 14
+8 2
+1 192
-1 194
+3 3
cfi=(67)
cfn=(1578) on_proc_exit
calls=1 306
* 32
+2 3
+5 1
+3 3
cfi=(13)
cfn=(928) pstrdup
calls=1 1162
* 158
* 1
+3 5
cfi=(41) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/varlena.c
cfn=(932) SplitIdentifierString
calls=1 3507
* 1275
* 3
+9 3
cfi=(76) /home/mithuncy/fsm_p11patch/src/backend/postmaster/../../../src/include/nodes/pg_list.h
cfn=(1626) list_head
calls=1 78
* 10
* 2
+2 3
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+7 1
-1 8
cfi=(58)
cfn=(1628) StreamServerPort
calls=1 333
* 130706
* 1
+5 2
+2 1
+2 4
+2 4
cfi=(54)
cfn=(1950) AddToDataDirLockFile
calls=1 1259
* 1630
+1 2
-22 7
+31 2
+4 3
cfi=(45) /home/mithuncy/fsm_p11patch/src/backend/nodes/list.c
cfn=(972) list_free
calls=1 +66
* 222
+1 3
cfi=(13)
cfn=(952) pfree
calls=1 -40
* 85
+42 3
+5 1
+3 3
cfi=(13)
cfn=(928)
calls=1 +40
* 145
* 1
+3 5
cfi=(41)
cfn=(1960) SplitDirectoriesString
calls=1 3634
* 952
* 3
+9 3
cfi=(76)
cfn=(1626)
calls=1 78
* 10
* 2
+2 3
+3 1
-1 9
cfi=(58)
cfn=(1628)
calls=1 333
* 21613
* 1
+5 2
+2 1
+2 2
+1 4
cfi=(54)
cfn=(1950)
calls=1 1259
* 1084
* 1
-14 7
+22 2
+4 3
cfi=(45)
cfn=(1988) list_free_deep
calls=1 -9
* 298
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+7 3
+9 4
+6 3
cfn=(1990) reset_shared
calls=1 2576
* 5251611
+6 1
cfi=(25) /home/mithuncy/fsm_p11patch/src/backend/storage/file/fd.c
cfn=(2404) set_max_safe_fds
calls=1 878
* 61686
+5 1
cfi=(52) /home/mithuncy/fsm_p11patch/src/backend/tcop/postgres.c
cfn=(2414) set_stack_base
calls=1 3210
* 9
+6 1
cfn=(2416)
calls=1 6456
* 2038
+17 6
cfn=(2430) CreateOptsFile
calls=1 5549
* 5650
* 3
+11 3
+25 1
cfi=(25)
cfn=(2462) RemovePgTempFiles
calls=1 2864
* 479045
+20 1
cfi=(53)
cfn=(2474) RemovePromoteSignalFiles
calls=1 12232
* 28
+3 1
cfi=(131)
cfn=(2476)
calls=1 1536
* 16
+3 2
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 9
* 1
* 3
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+9 1
cfi=(131)
cfn=(2478)
calls=1 546
* 14
* 1
+13 4
+6 1
+6 1
cfi=(38) /home/mithuncy/fsm_p11patch/src/backend/postmaster/pgstat.c
cfn=(2480) pgstat_init
calls=1 356
* 17233
+5 1
cfi=(105) /home/mithuncy/fsm_p11patch/src/backend/postmaster/autovacuum.c
cfn=(2526) autovac_init
calls=1 3258
* 15
+5 1
cfi=(133)
cfn=(2528)
calls=1 2127
* 165914
* 3
+9 1
cfi=(133)
cfn=(2552)
calls=1 2917
* 42273
+31 1
cfi=(21) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/timestamp.c
cfn=(656) GetCurrentTimestamp
calls=1 1571
* 22
* 1
+10 3
cfi=(54)
cfn=(1950)
calls=1 1259
* 998
+5 2
cfn=(2554) StartChildProcess
calls=1 5345
* 4216
* 1
+2 1
+1 1
+3 1
cfn=(2586) maybe_start_bgworkers
calls=1 5873
* 74
+2 1
cfn=(2590)
calls=1 1630
* 385150171
fn=(2638)
4031 10
+8 4
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 274
* 2
* 2
+1 4
+13 4
cfn=(2614)
calls=2 5258
* 182
* 6
+9 6
+3 2
cfn=(2640) canAcceptConnections
calls=2 2349
* 155
* 4
+1 16
+6 10
+1 2
cfi=(102)
cfn=(2616)
calls=2 185
* 70
* 10
+5 4
+5 2
cfi=(137) /home/mithuncy/fsm_p11patch/src/backend/postmaster/fork_process.c
cfn=(2556) fork_process
calls=2 32
* 1261
* 2
+1 4
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+3 1
cfi=(54)
cfn=(2710) InitPostmasterChild
calls=1 274
* 13612
+3 2
cfn=(2734) ClosePostmasterPorts
calls=1 2471
* 623
+3 3
cfn=(2736) BackendInitialize
calls=1 +86
* 14386
+3 3
cfn=(2808) BackendRun
calls=1 4357
* 385114047
+4 2
+16 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+8 3
+1 2
+1 5
cfi=(74) /home/mithuncy/fsm_p11patch/src/backend/postmaster/../../../src/include/lib/ilist.h
cfn=(2274) dlist_push_head
calls=1 301
* 25
+7 1
+1 4
fn=(2656)
3954 5
+2 1
+2 10
+2 6
+2 8
+7 4
+14 12
cfi=(57)
cfn=(1548)
calls=2 232
* 100
* 4
+3 12
cfn=(2658)
calls=2 -58
* 1286
+1 2
-29 18
+31 1
+1 2
fn=(2678) StartAutovacuumWorker
5449 4
+10 1
cfn=(2640)
calls=1 2349
* 86
* 2
+8 2
cfn=(2614)
calls=1 5258
* 91
* 3
+8 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 103
* 1
* 1
+1 2
+2 3
+3 2
+1 1
cfi=(102)
cfn=(2616)
calls=1 185
* 35
* 4
+1 2
+2 1
cfi=(105)
cfn=(2680) StartAutoVacWorker
calls=1 1471
* 309
* 2
+1 4
+2 2
+1 5
cfi=(74)
cfn=(2274)
calls=1 301
* 25
+5 1
+30 4
fn=(2554)
5345 16
+3 4
+6 20
+7 32
cfi=(17)
cfn=(462)
calls=4 203
* 2096
+1 24
+2 12
+6 4
cfi=(137)
cfn=(2556)
calls=4 32
* 4541
* 4
+2 8
+17 8
+46 4
+1 8
fn=(2736)
4181 6
+8 2
+9 3
+4 1
+3 2
+1 2
+6 1
cfi=(58)
cfn=(2738) pq_init
calls=1 195
* 4987
+1 1
+17 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 1
cfi=(138) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/timeout.c
cfn=(2758) InitializeTimeouts
calls=1 341
* 653
+1 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+5 1
+1 1
+1 16
cfi=(77) /home/mithuncy/fsm_p11patch/src/common/ip.c
cfn=(1832) pg_getnameinfo_all
calls=1 126
* 489
* 3
+7 3
+1 8
cfi=(17)
cfn=(462)
calls=1 203
* 229
* 1
+8 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 153
* 1
* 3
+1 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 153
* 1
* 3
+3 3
+24 3
+21 3
cfi=(138)
cfn=(2762) RegisterTimeout
calls=1 374
* 18
+1 5
cfi=(138)
cfn=(2764) enable_timeout_after
calls=1 429
* 1566
+6 4
cfn=(2782) ProcessStartupPacket
calls=1 1905
* 3820
* 1
+6 2
+15 3
+4 12
cfi=(12) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/ps_status.c
cfn=(2800) init_ps_display
calls=1 251
* 1762
+6 3
cfi=(138)
cfn=(2804) disable_timeout
calls=1 526
* 68
+1 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+1 5
fn=(2782)
1905 8
+6 1
cfi=(58)
cfn=(2784) pq_startmsgread
calls=1 1211
* 12
+1 4
cfi=(58)
cfn=(2786) pq_getbytes
calls=1 1095
* 227
* 2
+14 3
+1 3
+2 3
+1 1
-1 2
+15 3
+1 2
cfi=(13)
cfn=(2546) palloc0
calls=1 956
* 152
* 2
+4 6
cfi=(58)
cfn=(2786)
calls=1 1095
* 105
* 2
+7 1
cfi=(58)
cfn=(2798) pq_endmsgread
calls=1 1235
* 5
+6 7
+2 2
+7 2
+40 2
+3 4
+1 2
-1 2
+18 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
* 1
+2 4
+2 1
+1 1
+7 2
+2 1
+2 25
+4 20
+1 1
+1 12
cob=(3)
cfi=(3)
cfn=(424)
calls=4 0
* 68
* 4
* 20
+1 12
+2 20
+2 16
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 110
* 4
* 8
+1 3
cfi=(13)
cfn=(928)
calls=1 1162
* 193
* 3
+1 12
cob=(3)
cfi=(3)
cfn=(446)
calls=3 0
* 93
* 3
* 6
+1 3
cfi=(13)
cfn=(928)
calls=1 1162
* 193
* 3
+1 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 71
* 2
* 4
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 71
* 2
* 4
+22 10
cob=(3)
cfi=(3)
cfn=(1044) __strncmp_sse42
calls=2 0
* 80
* 2
* 4
+14 6
cfi=(13)
cfn=(928)
calls=2 1162
* 357
* 2
-1 10
cfi=(45)
cfn=(960) lappend
calls=2 129
* 453
* 4
+3 6
cfi=(13)
cfn=(928)
calls=2 1162
* 352
* 2
-1 10
cfi=(45)
cfn=(960)
calls=2 129
* 326
* 4
+9 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 105
* 2
* 4
+2 3
cfi=(13)
cfn=(928)
calls=1 1162
* 176
* 1
+2 3
cfi=(37) /home/mithuncy/fsm_p11patch/src/common/string.c
cfn=(884) pg_clean_ascii
calls=1 83
* 64
+2 3
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 9
cob=(3)
cfi=(3)
cfn=(424)
calls=3 0
* 53
* 3
* 20
-74 15
+81 4
+11 6
+2 1
+25 9
+6 9
+3 3
+22 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+11 3
+6 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
+7 7
+24 1
+5 1
+1 5
fn=(1990)
2576 4
+9 4
cfi=(83) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/ipci.c
cfn=(1992) CreateSharedMemoryAndSemaphores
calls=1 97
* 5251601
+1 2
fn=(2586)
5873 6
+2 2
+1 2
+7 6
+8 2
+1 2
+2 24
+4 6
+3 8
+4 8
+13 8
+30 8
cfn=(2588)
calls=2 5778
* 29
* 4
+3 2
+13 3
cfn=(2610) do_start_bgworker
calls=1 5687
* 949
* 3
+12 3
-82 30
+89 4
fn=(2596) reaper
2846 8
+1 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 4
+4 8
cob=(3)
cfi=(3)
cfn=(774)
calls=2 0
* 14
* 2
+2 12
cfi=(57)
cfn=(1548)
calls=2 232
* 100
* 4
+3 2
+5 6
+2 1
+6 3
+9 13
+17 6
+18 3
+14 1
+1 1
+2 1
+1 1
+7 3
+1 2
cfn=(2554)
calls=1 5345
* 855
* 1
+1 3
+1 2
cfn=(2554)
calls=1 5345
* 855
* 1
+1 3
+1 2
cfn=(2554)
calls=1 5345
* 855
* 1
+6 5
cfi=(105)
cfn=(2604) AutoVacuumingActive
calls=1 3204
* 13
* 5
+1 1
cfi=(105)
cfn=(2606) StartAutoVacLauncher
calls=1 395
* 309
* 1
+1 6
+2 3
+1 1
cfi=(38)
cfn=(2608) pgstat_start
calls=1 728
* 328
* 1
+3 1
cfn=(2586)
calls=1 5873
* 1035
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 341
* 5
cfi=(57)
cfn=(1882)
calls=1 785
* 787
* 3
cfi=(57)
cfn=(1896)
calls=1 411
* 10131
+4 3
cfi=(54)
cfn=(1950)
calls=1 1259
* 1182
+5 1
+8 3
+12 3
+58 3
+15 3
+15 3
+16 3
+16 3
+12 3
+12 5
cfn=(2684) CleanupBackgroundWorker
calls=1 +37
* 43
* 2
+10 5
cfn=(2686) CleanupBackend
calls=1 3270
* 266
2856 20
cob=(5)
cfi=(5)
cfn=(2602)
calls=3 0
* 33
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 794
* 8
* 12
3150 2
cfn=(2620)
calls=2 3674
* 56
+3 8
cob=(3)
cfi=(3)
cfn=(774)
calls=2 0
* 14
* 2
+2 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 4
+1 4
fn=(2610)
5687 4
+14 3
cfn=(2612)
calls=1 5822
* 511
* 3
+6 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+7 1
cfi=(137)
cfn=(2556)
calls=1 32
* 295
* 7
+44 3
+1 5
+1 3
cfi=(73) /home/mithuncy/fsm_p11patch/src/backend/postmaster/bgworker.c
cfn=(2618) ReportBackgroundWorkerPID
calls=1 441
* 22
+2 6
cfi=(74)
cfn=(2274)
calls=1 301
* 25
+4 1
+4 2
fn=(2614)
5258 16
+2 16
cfi=(23) /home/mithuncy/fsm_p11patch/src/port/pg_strong_random.c
cfn=(668) pg_strong_random
calls=4 101
* 324
+31 8
fn=(2658)
3928 35
+1 35
cob=(3)
cfi=(3)
cfn=(2664) kill
calls=6 0
* 30
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1235
* 11
* 14
+3 35
+11 7
+3 14
fn=(648)
2527 6
+3 2
cob=(3)
cfi=(3)
cfn=(654) getpid
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1266
* 6
* 2
+1 2
cfi=(21)
cfn=(656)
calls=2 1571
* 1430
* 2
+1 6
cfi=(21)
cfn=(666) timestamptz_to_time_t
calls=2 1713
* 34
* 2
+21 8
cfi=(23)
cfn=(668)
calls=2 101
* 2411
* 6
+14 6
cob=(3)
cfi=(3)
cfn=(700) srand
calls=1 0
* 10537
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 11812
* 6
+1 4
fn=(714)
1450 6
+4 4
cfi=(15) /home/mithuncy/fsm_p11patch/src/common/exec.c
cfn=(448) find_my_exec
calls=1 130
* 4393
* 2
+16 3
cfi=(11)
cfn=(716)
calls=1 759
* 4548
+9 2
cfi=(25)
cfn=(718) AllocateDir
calls=1 2447
* 1846
* 1
+1 2
+7 3
cfi=(25)
cfn=(738) FreeDir
calls=1 2565
* 1496
+6 5
fn=(2646)
2449 4
+4 4
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 114
* 1
+1 2
fn=(2808)
4357 4
+13 1
+1 2
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 6
+2 7
cfi=(13)
cfn=(798) MemoryContextAlloc
calls=1 772
* 122
* 1
+2 1
+2 8
+6 6
cfi=(75)
cfn=(2810) pg_split_opts
calls=1 466
* 261
+2 6
+7 6
cfi=(57)
cfn=(1548)
calls=1 232
* 59
* 2
+3 2
+1 6
cfi=(57)
cfn=(1548)
calls=1 232
* 59
* 2
-1 7
+3 6
cfi=(57)
cfn=(1548)
calls=1 232
* 59
* 2
+7 3
cfi=(24)
cfn=(712)
calls=1 110
* 10
+2 8
cfi=(52)
cfn=(2812) PostgresMain
calls=1 3730
* 385113375
fn=(2056) MaxLivePostmasterChildren
5589 14
+1 49
+2 14
fn=(2674) sigusr1_handler
5056 4
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+3 2
cfi=(102)
cfn=(2676) CheckPostmasterSignal
calls=1 164
* 11
* 2
+12 2
cfi=(102)
cfn=(2676)
calls=1 164
* 11
* 2
+39 2
cfi=(102)
cfn=(2676)
calls=1 164
* 11
* 2
+23 6
+3 2
cfi=(102)
cfn=(2676)
calls=1 164
* 11
* 2
+11 3
+13 2
cfi=(102)
cfn=(2676)
calls=1 164
* 11
* 2
+15 2
cfi=(102)
cfn=(2676)
calls=1 164
* 15
* 2
+1 1
-1 2
+4 1
cfn=(2678)
calls=1 5449
* 698
+3 2
cfi=(102)
cfn=(2676)
calls=1 164
* 11
* 2
+8 2
cfi=(102)
cfn=(2676)
calls=1 164
* 11
* 2
+7 1
cfi=(53)
cfn=(2682) CheckPromoteSignal
calls=1 12243
* 56
* 2
+8 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 2
fn=(2686)
3270 5
+3 7
cfn=(2688)
calls=1 3609
* 81
+25 2
+6 13
+2 3
+2 4
+2 5
+2 4
cfi=(102)
cfn=(2690) ReleasePostmasterChildSlot
calls=1 219
* 20
* 3
+13 4
+12 3
cfi=(74)
cfn=(2692) dlist_delete
calls=1 359
* 15
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+1 2
-35 4
+38 2
fn=(1540)
1503 3
+4 8
cfi=(17)
cfn=(462)
calls=1 203
* 381
+2 4
cfi=(25)
cfn=(1278) AllocateFile
calls=1 2186
* 677
* 1
+1 2
+8 3
cfi=(25)
cfn=(1374) FreeFile
calls=1 2385
* 491
+1 2
fn=(2430)
5549 6
+6 3
cob=(3)
cfi=(3)
cfn=(1284)
calls=1 0
* 522
* 1
* 3
+6 6
cfi=(17)
cfn=(2432) pg_fprintf
calls=1 265
* 1959
+1 2
+1 22
cfi=(17)
cfn=(2432)
calls=2 265
* 1240
-1 11
+2 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1309
* 5
+2 3
cob=(3)
cfi=(3)
cfn=(1380)
calls=1 0
* 548
* 1
* 2
+6 1
+1 2
fn=(2640)
2349 12
+1 3
+12 9
+29 6
cfn=(2642)
calls=3 5299
* 151
* 6
cfn=(2056)
calls=3 5589
* 33
* 6
+3 3
+1 12
fn=(2684)
3170 5
+4 12
+4 3
+2 4
-6 16
+83 1
+1 2
fn=(2734)
2471 6
+10 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
* 2
+4 1
+4 2
+2 320
+2 15
cfi=(58)
cfn=(2644)
calls=3 845
* 51
+1 9
-5 194
+10 4
+3 3
+2 1
+13 4
fl=(29)
fn=(862) guc_malloc
4473 96
+4 32
+2 48
cob=(3)
cfi=(3)
cfn=(388)
calls=16 0
* 3288
* 16
* 16
+1 32
+4 16
+1 64
fn=(876) call_bool_check_hook
10312 1089
+2 396
+1 178
+3 10
+1 10
+1 10
+1 10
+2 70
cfi=(39) /home/mithuncy/fsm_p11patch/src/backend/commands/variable.c
cfn=(1196) check_transaction_read_only
calls=2 487
* 34
cfi=(39)
cfn=(1190) check_transaction_deferrable
calls=2 563
* 52
cfn=(1134) check_ssl
calls=1 10688
* 13
cfn=(1032) check_log_stats
calls=1 10712
* 13
cfn=(1030) check_stage_log_stats
calls=3 10701
* 39
cfn=(900) check_bonjour
calls=1 10675
* 13
* 30
+17 10
+1 594
fn=(886) assign_application_name
10987 10
+2 6
cfi=(38)
cfn=(888) pgstat_report_appname
calls=2 3164
* 292
+1 4
fn=(1024) check_log_destination
10567 6
+4 1
+4 4
cfi=(13)
cfn=(928)
calls=1 1162
* 145
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 1039
* 3
+9 3
cfi=(51) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/../../../../src/include/nodes/pg_list.h
cfn=(1026) list_head
calls=1 78
* 10
* 2
+2 3
+2 4
cfi=(32) /home/mithuncy/fsm_p11patch/src/port/pgstrcasecmp.c
cfn=(968) pg_strcasecmp
calls=1 37
* 121
* 2
+1 2
-5 7
+25 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 222
+2 3
cfn=(862)
calls=1 4473
* 242
* 1
+1 3
+1 3
+2 1
+1 2
fn=(1032)
10712 6
+1 4
+8 1
+1 2
fn=(1084) assign_recovery_target
11102 5
+1 3
+4 6
+3 1
+1 2
fn=(1158) assign_tcp_keepalives_idle
10805 5
+12 5
cfi=(58)
cfn=(1160) pq_setkeepalivesidle
calls=1 1731
* 11
+1 2
fn=(3710) BeginReportingGUCOptions
5858 3
+7 3
+1 2
-1 2
+4 1
+3 2
+2 2198
+2 1570
+1 33
cfn=(1468) ReportGUCOption
calls=11 +9
* 12220
-5 1259
+7 2
fn=(4092) DefineCustomStringVariable
8355 18
+3 18
cfn=(4080) init_custom_variable
calls=2 8025
* 1264
* 2
+3 6
+1 6
+1 6
+1 6
+1 6
+1 6
cfn=(4082) define_custom_variable
calls=2 8079
* 1402043
+1 4
fn=(1062) check_maxconnections
10866 15
+1 27
+3 3
+1 6
fn=(1086) check_recovery_target_lsn
11247 6
+1 5
+36 1
+1 2
fn=(1240) parse_int
5995 3584
+5 1024
+1 1024
+1 1024
+1 24
+3 12
cob=(5)
cfi=(5)
cfn=(472)
calls=12 0
* 36
* 12
* 500
cob=(5)
cfi=(5)
cfn=(472)
calls=500 0
* 1500
* 500
* 512
+1 3072
cob=(3)
cfi=(3)
cfn=(1246) strtol
calls=511 0
* 64214
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1460
* 516
* 512
+2 1536
+3 512
cob=(5)
cfi=(5)
cfn=(472)
calls=512 0
* 1536
* 512
* 4096
+8 1024
cob=(3)
cfi=(3)
cfn=(914)
calls=512 0
* 1536
* 512
* 5632
+4 2048
+4 6
+2 24
+3 6
+1 6
+2 108
-2 84
cob=(3)
cfi=(3)
cfn=(914)
calls=12 0
* 36
* 12
* 156
+3 18
+2 12
cob=(3)
cfi=(3)
cfn=(914)
calls=6 0
* 18
* 6
* 66
+3 24
+1 60
cfn=(1418) convert_to_base_unit
calls=6 5911
* 2456
* 6
+2 24
+14 30
+8 1024
+1 2048
+1 512
+1 1024
fn=(1260)
5186 5
+6 2
+1 3
cfi=(11)
cfn=(1262)
calls=1 609
* 2211
* 2
+4 7
cfi=(9) ???
cfn=(490) stat
calls=1 0
* 15
* 2
+17 3
+2 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
-1 4
cfn=(862)
calls=1 4473
* 306
* 1
+2 7
cfi=(17)
cfn=(1138)
calls=1 231
* 444
* 1
+15 6
cfn=(1206) SetConfigOption
calls=1 7172
* 1886
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+5 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+13 2
cfi=(60)
cfn=(1268)
calls=1 125
* 1502316
+9 3
+2 2
+1 3
cfi=(54)
cfn=(1408) SetDataDir
calls=1 193
* 1493
* 1
+19 6
cfn=(1206)
calls=1 7172
* 1784
+8 2
cfi=(60)
cfn=(1268)
calls=1 125
* 2879293
+9 1
cfn=(1470) pg_timezone_abbrev_initialize
calls=1 10789
* 796088
+5 3
+2 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
-1 4
cfn=(862)
calls=1 4473
* 258
* 1
+2 7
cfi=(17)
cfn=(1138)
calls=1 231
* 447
* 1
+11 6
cfn=(1206)
calls=1 7172
* 1388
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+5 3
+2 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
-1 4
cfn=(862)
calls=1 4473
* 117
* 1
+2 7
cfi=(17)
cfn=(1138)
calls=1 231
* 447
* 1
+11 6
cfn=(1206)
calls=1 7172
* 1659
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 85
* 1
+2 1
+1 2
fn=(1466) extra_field_used
4561 128
+3 128
+1 24
+1 140
+15 80
+1 20
+1 10
+6 60
+7 10
+1 64
fn=(2972) AtStart_GUC
5542 4
+6 6
+3 2
+1 4
fn=(4080)
8025 45
+10 10
+10 20
+9 10
+1 16
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 115
* 4
-1 8
+2 16
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 115
* 4
-1 8
+4 15
cfn=(862)
calls=5 4473
* 1258
* 5
+1 25
cob=(3)
cfi=(3)
cfn=(828)
calls=5 0
* 157
* 5
+2 20
cfn=(878) guc_strdup
calls=5 4505
* 1294
* 10
+1 15
+1 10
+1 15
+1 15
+1 15
+1 15
+2 5
+1 10
fn=(1030)
10701 18
+1 12
+5 3
+1 6
fn=(1080) check_primary_slot_name
11305 6
+1 9
+4 1
+1 2
fn=(1082) check_recovery_target
11091 6
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 7
+5 1
+1 2
fn=(1200) check_wal_consistency_checking
10487 6
+7 18
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 14
* 1
+3 4
cfi=(13)
cfn=(928)
calls=1 1162
* 143
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 45
* 3
+9 3
cfi=(51)
cfn=(1026)
calls=1 78
* 8
* 4
+41 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 35
+3 3
cfn=(862)
calls=1 4473
* 208
* 2
+1 10
+1 1
+1 2
fn=(1206)
7172 161
+1 230
cfn=(1208) set_config_option
calls=23 6409
* 1637370
+2 46
fn=(1207) SetConfigOption'2
7172 7
+1 10
cfn=(1209) set_config_option'2
calls=1 6409
* 1264
+2 2
fn=(1220) config_enum_lookup_by_name
6139 18
+3 12
+2 30
cfi=(32)
cfn=(968)
calls=5 37
* 575
* 10
+2 12
+1 6
-5 32
+11 6
fn=(1266) string_field_used
4522 312
+3 390
+1 96
-1 96
+2 48
-1 48
+2 108
+1 144
+6 24
+1 156
fn=(868) guc_name_compare
4930 91016
+6 22754
+2 485195
+1 485195
+2 388080
+1 330
+1 388080
+1 178
+1 291117
+1 110170
-10 779464
+12 2880
+1 136
+1 2608
+1 1038
+1 133
+1 45508
fn=(890) call_enum_check_hook
10448 363
+2 132
+1 62
+3 2
+1 2
+1 2
+1 2
+2 14
cfi=(39)
cfn=(1194) check_XactIsoLevel
calls=2 526
* 43
* 6
+18 2
+1 198
fn=(892) call_int_check_hook
10346 1320
+2 480
+1 214
+3 13
+1 13
+1 13
+1 13
+2 91
cfi=(53)
cfn=(1198) check_wal_buffers
calls=2 4890
* 34
cfn=(1166) check_temp_buffers
calls=1 10661
* 12
cfn=(1078) check_max_worker_processes
calls=1 10906
* 17
cfi=(52)
cfn=(1064) check_max_stack_depth
calls=3 3326
* 1423
cfn=(1062)
calls=3 10866
* 51
cfn=(992) check_effective_io_concurrency
calls=1 10914
* 1391
cfn=(898) check_autovacuum_work_mem
calls=1 10883
* 13
cfn=(896) check_autovacuum_max_workers
calls=1 10875
* 17
* 39
+17 13
+1 720
fn=(896)
10875 5
+1 9
+2 1
+1 2
fn=(898)
10883 5
+7 4
+1 2
+11 2
fn=(1028) assign_log_destination
10624 4
+1 3
+1 2
fn=(1096) assign_recovery_target_time
11202 5
+1 3
+4 6
+6 1
+1 2
fn=(1188) assign_timezone_abbreviations
10769 15
+2 6
+1 1
+2 6
cfi=(64)
cfn=(1520) InstallTimeZoneAbbrevs
calls=2 4592
* 100
+1 6
fn=(1218) parse_and_validate_value
6225 572
+1 364
+4 14
+2 35
cfi=(59) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/bool.c
cfn=(1224) parse_bool
calls=7 31
* 1029
* 21
+9 63
cfn=(876)
calls=7 10312
* 230
* 21
+4 7
+3 24
+3 84
cfn=(1240)
calls=12 5995
* 7236
* 36
+11 144
+10 108
cfn=(892)
calls=12 10346
* 454
* 36
+4 12
+31 60
+6 150
cfn=(878)
calls=30 4505
* 6384
* 60
+1 120
+7 150
+2 24
cob=(3)
cfi=(3)
cfn=(424)
calls=6 0
* 90
* 6
-1 42
cfi=(42) /home/mithuncy/fsm_p11patch/src/backend/parser/scansup.c
cfn=(958) truncate_identifier
calls=6 188
* 84
+4 270
cfn=(880) call_string_check_hook
calls=30 10414
* 2903945
* 90
+8 30
+3 6
+2 18
cfn=(1220)
calls=3 6139
* 701
* 9
+19 27
cfn=(890)
calls=3 10448
* 97
* 9
+4 3
+3 3
+1 15
-1 49
+1 245
fn=(1470)
10789 4
+1 10
cfn=(1206)
calls=2 7172
* 1588960
+2 4
fn=(4082)
8079 25
+1 15
+1 10
+7 40
cob=(3)
cfi=(3)
cfn=(284) bsearch
calls=5 0
* 6468
* 5
* 5
+5 10
+6 15
cfn=(874) InitializeOneGUCOption
calls=5 5066
* 1724
+1 20
cfn=(4084) add_guc_variable
calls=5 4783
* 3485185
* 5
+68 20
fn=(874)
5066 1276
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+1 638
+2 2233
+4 184
+1 276
+1 92
+2 644
cfn=(876)
calls=92 10312
* 2341
* 276
+4 368
+2 736
+1 644
+1 184
+4 216
+1 324
+1 108
+4 756
cfn=(892)
calls=108 10346
* 5433
* 324
+4 432
+1 42
cfn=(1162) assign_tcp_keepalives_interval
calls=1 10832
* 23
cfn=(1158)
calls=1 10805
* 23
cfn=(1154) assign_tcp_keepalives_count
calls=1 10849
* 23
cfi=(53)
cfn=(1074) assign_max_wal_size
calls=1 2286
* 36
cfi=(52)
cfn=(1072) assign_max_stack_depth
calls=1 3343
* 12
cfn=(1002) assign_effective_io_concurrency
calls=1 10941
* 9
+1 864
+1 756
+1 216
+4 40
+1 60
+1 20
+4 140
cfn=(894) call_real_check_hook
calls=20 10380
* 686
* 60
+4 80
+1 8
cfi=(39)
cfn=(1126) assign_random_seed
calls=1 603
* 13
+1 160
+1 140
+1 40
+4 138
+2 69
+3 276
+1 310
cfn=(878)
calls=62 4505
* 16222
* 124
+2 7
+2 49
cfn=(880)
calls=7 10414
* 241
* 434
cfn=(880)
calls=62 10414
* 25856
* 207
+4 276
+1 196
cob=(12) /home/mithuncy/zheap_fsmp11bin/lib/postgresql/plpgsql.so
cfi=(230) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/pl_handler.c
cfn=(4102) plpgsql_extra_errors_assign_hook
calls=1 136
* 10
cob=(12)
cfi=(230)
cfn=(4100) plpgsql_extra_warnings_assign_hook
calls=1 130
* 10
cfn=(1202) assign_wal_consistency_checking
calls=1 10561
* 8
cfn=(1188)
calls=1 10769
* 10
cfi=(39)
cfn=(1184) assign_timezone
calls=1 374
* 9
cfi=(48) /home/mithuncy/fsm_p11patch/src/backend/commands/tablespace.c
cfn=(1170) assign_temp_tablespaces
calls=1 1270
* 28
cfn=(1152) assign_syslog_ident
calls=1 10640
* 55
cfi=(56) /home/mithuncy/fsm_p11patch/src/backend/replication/syncrep.c
cfn=(1146) assign_synchronous_standby_names
calls=1 1202
* 8
cfn=(1136) assign_pgstat_temp_directory
calls=1 10949
* 1637
cfi=(39)
cfn=(1130) assign_session_authorization
calls=1 793
* 12
cfi=(55) /home/mithuncy/fsm_p11patch/src/backend/catalog/namespace.c
cfn=(1122) assign_search_path
calls=1 4190
* 7
cfi=(39)
cfn=(1108) assign_role
calls=1 882
* 31
cfn=(1104) assign_recovery_target_xid
calls=1 11135
* 17
cfn=(1100) assign_recovery_target_timeline
calls=1 11059
* 14
cfn=(1096)
calls=1 11202
* 17
cfn=(1092) assign_recovery_target_name
calls=1 11231
* 17
cfn=(1088) assign_recovery_target_lsn
calls=1 11289
* 17
cfn=(1084)
calls=1 11102
* 17
cfi=(39)
cfn=(1060) assign_log_timezone
calls=1 447
* 9
cfn=(1028)
calls=1 10624
* 9
cfi=(18) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/pg_locale.c
cfn=(1022) assign_locale_time
calls=1 338
* 7
cfi=(18)
cfn=(1018) assign_locale_numeric
calls=1 326
* 7
cfi=(18)
cfn=(1014) assign_locale_monetary
calls=1 314
* 7
cfi=(18)
cfn=(1008) assign_locale_messages
calls=1 377
* 8029
cfi=(49) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/ts_cache.c
cfn=(990) assign_TSCurrentConfig
calls=1 652
* 7
cfi=(39)
cfn=(982) assign_datestyle
calls=1 237
* 14
cfi=(39)
cfn=(920) assign_client_encoding
calls=1 699
* 39
cfn=(886)
calls=1 10987
* 21
+1 552
+1 483
+1 138
+4 60
+1 90
+1 30
+2 210
cfn=(890)
calls=30 10448
* 731
* 90
+4 120
+1 28
cfi=(53)
cfn=(1204) assign_xlog_sync_method
calls=1 10087
* 13
cfn=(1148) assign_syslog_facility
calls=1 10630
* 280
cfi=(56)
cfn=(1142) assign_synchronous_commit
calls=1 1208
* 11
cfn=(1132) assign_session_replication_role
calls=1 10650
* 10
+1 240
+1 210
+1 30
+3 638
fn=(878)
4505 750
+3 375
cob=(3)
cfi=(3)
cfn=(384)
calls=125 0
* 29475
* 125
* 125
+1 250
+4 125
+1 500
fn=(880)
10414 1089
+2 396
+1 88
+3 55
+1 55
+1 55
+1 55
+2 385
cob=(12)
cfi=(230)
cfn=(4094) plpgsql_extra_checks_check_hook
calls=2 63
* 696
cfn=(1200)
calls=1 +62
* 594
cfn=(1186) check_timezone_abbreviations
calls=3 10739
* 1585022
cfi=(39)
cfn=(1174) check_timezone
calls=3 254
* 8423
cfi=(48)
cfn=(1168) check_temp_tablespaces
calls=1 1165
* 339
cfi=(56)
cfn=(1144) check_synchronous_standby_names
calls=1 1145
* 20
cfi=(39)
cfn=(1128) check_session_authorization
calls=2 745
* 866
cfi=(55)
cfn=(1112) check_search_path
calls=1 4156
* 3187
cfi=(39)
cfn=(1106) check_role
calls=1 815
* 245
cfn=(1102) check_recovery_target_xid
calls=1 11115
* 14
cfn=(1098) check_recovery_target_timeline
calls=1 11030
* 235
cfn=(1094) check_recovery_target_time
calls=1 11151
* 14
cfn=(1090) check_recovery_target_name
calls=1 11218
* 31
cfn=(1086)
calls=1 11247
* 14
cfn=(1082)
calls=1 11091
* 44
cfn=(1080)
calls=1 11305
* 18
cfi=(39)
cfn=(1034) check_log_timezone
calls=3 409
* 1264855
cfn=(1024)
calls=1 10567
* 1913
cfi=(18)
cfn=(1020) check_locale_time
calls=3 332
* 13446
cfi=(18)
cfn=(1016) check_locale_numeric
calls=3 320
* 13502
cfi=(18)
cfn=(1010) check_locale_monetary
calls=3 308
* 13640
cfi=(18)
cfn=(1006) check_locale_messages
calls=3 354
* 1170
cfn=(1004) check_canonical_path
calls=3 10726
* 745
cfi=(49)
cfn=(988) check_TSCurrentConfig
calls=3 592
* 75
cfi=(48)
cfn=(984) check_default_tablespace
calls=1 1070
* 25
cfi=(39)
cfn=(926) check_datestyle
calls=3 45
* 12840
cfn=(924) check_cluster_name
calls=1 10994
* 25
cfi=(39)
cfn=(902) check_client_encoding
calls=4 623
* 4950
cfn=(882) check_application_name
calls=2 10978
* 102
* 165
+17 55
+1 594
fn=(894)
10380 220
+2 80
+1 38
+3 1
+1 1
+1 1
+1 1
+2 7
cfi=(39)
cfn=(1124) check_random_seed
calls=1 591
* 213
* 3
+17 1
+1 120
fn=(924)
10994 6
+2 4
cfi=(37)
cfn=(884)
calls=1 83
* 12
+2 1
+1 2
fn=(1078)
10906 5
+1 9
+2 1
+1 2
fn=(1102)
11115 6
+1 5
+14 1
+1 2
fn=(1132)
10650 5
+5 3
+2 2
fn=(1152)
10640 5
+2 5
cfi=(57)
cfn=(1150) set_syslog_parameters
calls=1 1897
* 43
+3 2
fn=(1154)
10849 5
+2 5
cfi=(58)
cfn=(1156) pq_setkeepalivescount
calls=1 1889
* 11
+1 2
fn=(1208)
6409 663
+3 51
+1 51
+3 102
+2 204
+6 168
+2 92
+1 46
+1 46
+4 23
+12 23
cfi=(26) /home/mithuncy/fsm_p11patch/src/backend/access/transam/xact.c
cfn=(1210) IsInParallelMode
calls=23 911
* 184
* 28
cfi=(26)
cfn=(1210)
calls=28 911
* 224
* 102
+5 255
cfn=(1212) find_option
calls=51 4869
* 65286
* 51
+1 102
+12 357
+3 12
+8 6
+2 22
+11 6
+2 16
+8 11
+2 24
+15 8
+50 16
+8 4
+3 22
+21 255
+2 1
cfi=(54)
cfn=(3318) InLocalUserIdChange
calls=1 504
* 8
* 2
+12 1
cfi=(54)
cfn=(3320) InSecurityRestrictedOperation
calls=1 513
* 8
* 2
+16 510
+10 204
+14 357
+4 12
+4 12
+2 66
cfn=(1218)
calls=6 6225
* 1398
* 18
+20 12
+15 12
+3 24
+3 24
+2 24
+1 42
cfn=(1222) set_extra_field
calls=6 4606
* 96
+2 18
+1 18
+2 12
+4 24
+2 18
+1 42
cfn=(1222)
calls=6 4606
* 96
+2 18
+1 18
+2 36
+14 18
+2 6
+7 24
+4 24
+2 132
cfn=(1218)
calls=12 6225
* 8422
* 36
+20 24
+2 12
+9 12
+1 4
+3 20
+3 40
+3 40
+1 28
cfi=(53)
cfn=(1074)
calls=2 2286
* 72
cfi=(52)
cfn=(1072)
calls=2 3343
* 24
+1 40
+1 70
cfn=(1222)
calls=10 4606
* 160
+2 30
+1 30
+2 20
+4 40
+2 30
+1 70
cfn=(1222)
calls=10 4606
* 160
+2 30
+1 30
+2 60
+14 30
+2 10
+97 60
+4 60
+2 330
cfn=(1218)
calls=30 6225
* 2912225
* 90
+36 60
+17 60
+3 120
+3 120
+1 161
cfn=(886)
calls=1 10987
* 291
cfi=(39)
cfn=(1130)
calls=1 793
* 1346
cfi=(39)
cfn=(920)
calls=3 699
* 117
cfn=(1188)
calls=2 10769
* 124
cfi=(49)
cfn=(990)
calls=2 652
* 14
cfi=(18)
cfn=(1022)
calls=2 338
* 14
cfi=(18)
cfn=(1018)
calls=2 326
* 14
cfi=(18)
cfn=(1014)
calls=2 314
* 14
cfi=(18)
cfn=(1008)
calls=2 377
* 6976
cfi=(39)
cfn=(1184)
calls=2 374
* 18
cfi=(39)
cfn=(982)
calls=2 237
* 28
cfi=(39)
cfn=(1060)
calls=2 447
* 18
+1 210
cfn=(1264) set_string_field
calls=30 4545
* 1080
+1 210
cfn=(1222)
calls=30 4606
* 790
+2 90
+1 90
+3 60
+4 120
+2 210
cfn=(1264)
calls=30 4545
* 3468
+1 210
cfn=(1222)
calls=30 4606
* 1807
+2 90
+1 90
+2 180
+15 240
cfn=(1266)
calls=30 4522
* 390
* 90
+3 150
cfn=(1466)
calls=12 4561
* 144
* 36
+2 30
+7 6
+4 6
+2 33
cfn=(1218)
calls=3 6225
* 942
* 9
+20 6
+2 6
+9 6
+1 2
+3 4
+3 8
+3 8
+2 8
+1 14
cfn=(1222)
calls=2 4606
* 32
+2 6
+1 6
+2 4
+4 8
+2 6
+1 14
cfn=(1222)
calls=2 4606
* 32
+2 6
+1 6
+2 12
+14 6
+2 2
+6 336
+1 33
cfn=(1468)
calls=11 5886
* 99
+2 192
+1 204
fn=(1209)
6409 13
+3 1
+1 1
+3 2
+2 4
+8 4
+1 2
+1 2
+4 1
+12 1
cfi=(26)
cfn=(1210)
calls=1 911
* 8
* 2
+5 5
cfn=(1212)
calls=1 4869
* 851
* 1
+1 2
+12 7
+3 2
+8 1
6595 5
+30 10
+10 4
+14 7
+4 2
+4 2
+2 11
cfn=(1218)
calls=1 6225
* 190
* 3
+20 2
+15 2
+3 4
+3 4
+2 4
+1 7
cfn=(1222)
calls=1 4606
* 16
+2 3
+1 3
+2 2
+4 4
+2 3
+1 7
cfn=(1222)
calls=1 4606
* 16
+2 3
+1 3
+2 6
+14 3
+2 1
7125 7
+1 3
cfn=(1468)
calls=1 5886
* 9
+2 4
+1 4
fn=(1212)
4869 931
+1 266
+10 1064
cob=(3)
cfi=(3)
cfn=(284)
calls=132 0
* 161489
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 2932
* 137
* 133
+5 266
+1 399
+24 266
fn=(1222)
4606 588
+1 294
+3 294
+3 296
cfn=(1466)
calls=20 -52
* 520
* 60
+1 30
cob=(3)
cfi=(3)
cfn=(590)
calls=10 0
* 917
* 10
+1 196
fn=(1228) InitializeGUCOptionsFromEnvironment
5020 6
+4 4
cob=(3)
cfi=(3)
cfn=(234) getenv
calls=2 0
* 974
* 2
* 2
+1 4
+3 4
cob=(3)
cfi=(3)
cfn=(234)
calls=2 0
* 992
* 2
* 2
+1 4
+3 4
cob=(3)
cfi=(3)
cfn=(234)
calls=2 0
* 1000
* 2
* 2
+1 4
+8 2
cfi=(52)
cfn=(1066) get_stack_depth_rlimit
calls=2 4517
* 18
* 2
+1 4
+2 14
+2 4
+4 8
+1 12
cfi=(17)
cfn=(1138)
calls=2 231
* 984
+1 12
cfn=(1206)
calls=2 7172
* 4819
+4 4
fn=(4078) DefineCustomEnumVariable
8381 9
+3 10
cfn=(4080)
calls=1 8025
* 540
* 1
+3 3
+1 3
+1 3
+1 3
+1 3
+1 3
+1 3
+1 3
cfn=(4082)
calls=1 8079
* 698256
+1 2
fn=(4088) DefineCustomBoolVariable
8269 20
+3 18
cfn=(4080)
calls=2 8025
* 1456
* 2
+3 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
cfn=(4082)
calls=2 8079
* 1393248
+1 4
fn=(786)
4964 3
+7 1
cfi=(30) /home/mithuncy/fsm_p11patch/src/timezone/pgtz.c
cfn=(788) pg_timezone_initialize
calls=1 364
* 15793
+5 1
cfn=(860) build_guc_variables
calls=1 4696
* 403842
+6 2
+2 2512
cfn=(874)
calls=314 +82
* 82758
-2 1259
+5 1
+2 1
+6 5
cfn=(1206)
calls=1 7172
* 3716
+2 5
cfn=(1206)
calls=1 7172
* 1689
+2 5
cfn=(1206)
calls=1 7172
* 2571
+7 1
cfn=(1228)
calls=1 +14
* 5094
+1 2
fn=(866) guc_var_compare
4918 113155
+1 67893
+1 67893
+2 158417
cfn=(868)
calls=22631 +8
* 3088839
+1 45262
fn=(882)
10978 12
+2 8
cfi=(37)
cfn=(884)
calls=2 83
* 76
+2 2
+1 4
fn=(992)
10914 6
+4 6
cfi=(50) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/bufmgr.c
cfn=(994) ComputeIoConcurrency
calls=1 468
* 43
* 2
+2 3
cfn=(862)
calls=1 4473
* 195
* 1
+2 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1116
* 5
* 3
+1 3
+2 2
+12 2
fn=(1004)
10726 18
+6 12
+1 8
cfi=(11)
cfn=(484)
calls=2 255
* 698
+1 3
+1 6
fn=(1088)
11289 5
+1 3
+4 6
+6 1
+1 2
fn=(1148)
10630 5
+2 8
cfi=(57)
cfn=(1150)
calls=1 1897
* 265
+4 2
fn=(1162)
10832 5
+2 5
cfi=(58)
cfn=(1164) pq_setkeepalivesinterval
calls=1 1813
* 11
+1 2
fn=(1202)
10561 4
+1 2
+1 2
fn=(3670) AtEOXact_GUC
5576 12
+14 8
+2 6
+1 2
5849 4
fn=(4106) EmitWarningsOnPlaceholders
8399 5
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 1
+3 2
+2 2233
+2 1595
-4 1279
+14 4
fn=(860)
4696 3
+2 1
+4 2
+2 900
+3 180
+1 90
-6 1182
+9 2
+2 864
+2 216
+1 108
-5 1198
+8 2
+2 200
+2 40
+1 20
-5 272
+8 2
+2 670
+2 134
+1 67
-5 883
+8 2
+2 232
+2 58
+1 29
-5 329
+11 9
+3 3
-1 3
cfn=(862)
calls=1 4473
* 192
* 1
+3 1
+2 2
+1 1530
-1 1182
+3 2
+1 1620
-1 1198
+3 2
+1 340
-1 272
+3 2
+1 1139
-1 883
+3 2
+1 435
-1 329
+3 3
+2 2
+1 2
+1 2
+1 7
cfi=(36) /home/mithuncy/fsm_p11patch/src/port/qsort.c
cfn=(864) pg_qsort
calls=1 114
* 386991
+2 2
fn=(900)
10675 6
+2 4
+6 1
+1 2
fn=(1166)
10661 6
+4 3
+5 1
+1 2
fn=(1186)
10739 18
+12 12
+3 2
+4 8
cfi=(63) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/tzparser.c
cfn=(1472) load_tzoffsets
calls=2 439
* 1584962
* 4
+3 8
+3 2
+1 6
fn=(1416) set_config_sourcefile
7137 168
+8 140
+2 140
cfn=(1212)
calls=28 4869
* 35242
* 28
+2 56
+3 140
cfn=(878)
calls=28 4505
* 7825
* 28
+1 112
+1 56
cob=(3)
cfi=(3)
cfn=(590)
calls=14 0
* 1190
* 14
+1 84
+1 84
+1 56
fn=(3712) _ShowOption
9168 66
+4 77
+4 6
+2 12
+3 24
+2 3
+49 14
+2 28
+1 3
cfi=(39)
cfn=(3722) show_timezone
calls=1 383
* 22
* 2
+1 66
+1 30
+4 7
+4 2
+2 4
+3 7
cfn=(2654) config_enum_lookup_by_value
calls=1 6115
* 24
* 1
+2 1
+8 33
cfi=(13)
cfn=(928)
calls=11 1162
* 1756
+1 22
fn=(4084)
4783 25
+1 25
+26 45
+1 35
cfi=(36)
cfn=(864)
calls=5 114
* 3485040
+2 5
+1 10
fn=(1002)
10941 4
+2 3
+2 2
fn=(1090)
11218 6
+2 4
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 2
+6 1
+1 2
fn=(1092)
11231 5
+1 3
+4 6
+6 1
+1 2
fn=(1100)
11059 5
+1 3
+1 3
+3 1
+1 2
fn=(1134)
10688 6
+2 4
+6 1
+1 2
fn=(1136)
10949 5
+7 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cfn=(862)
calls=1 4473
* 208
* 1
+1 6
cfi=(17)
cfn=(1138)
calls=1 231
* 218
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cfn=(862)
calls=1 4473
* 208
* 1
+1 6
cfi=(17)
cfn=(1138)
calls=1 231
* 337
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 4
cfn=(862)
calls=1 4473
* 208
* 1
+1 6
cfi=(17)
cfn=(1138)
calls=1 231
* 346
+2 3
+2 2
+1 3
+2 2
+1 3
+2 2
+1 2
fn=(1094)
11151 6
+1 5
+45 1
+1 2
fn=(1098)
11030 6
+1 1
+3 5
+1 2
+15 3
cfn=(862)
calls=1 4473
* 208
* 1
+1 3
+1 3
+2 1
+1 2
fn=(1104)
11135 5
+1 3
+4 6
+6 1
+1 2
fn=(1264)
4545 360
+1 180
+3 180
+3 360
cfn=(1266)
calls=48 -30
* 1032
* 144
+1 72
cob=(3)
cfi=(3)
cfn=(590)
calls=24 0
* 2076
* 24
+1 120
fn=(1418)
5911 48
+4 24
+1 12
+4 12
+2 774
+1 176
cob=(3)
cfi=(3)
cfn=(446)
calls=16 0
* 352
* 16
-1 32
+3 54
+3 66
+1 12
-9 854
+13 24
fn=(1468)
5886 92
+1 124
+2 44
cfn=(3712)
calls=11 9168
* 2210
* 11
+3 44
cfi=(179) /home/mithuncy/fsm_p11patch/src/backend/libpq/pqformat.c
cfn=(3292) pq_beginmessage
calls=11 88
* 1507
+1 66
cfi=(179)
cfn=(3714) pq_sendstring
calls=11 198
* 1766
+1 55
cfi=(179)
cfn=(3714)
calls=11 198
* 1720
+1 33
cfi=(179)
cfn=(3298) pq_endmessage
calls=11 299
* 3733
+2 33
cfi=(13)
cfn=(952)
calls=11 1032
* 844
+2 46
fn=(2652) GetConfigOption
7195 225
+4 125
cfn=(1212)
calls=25 4869
* 31262
* 25
+1 50
+9 50
+8 175
+3 14
+4 12
-1 42
cfi=(17)
cfn=(462)
calls=6 203
* 2844
+2 12
+8 64
+4 2
-1 5
cfn=(2654)
calls=1 6115
* 24
* 1
+4 100
fn=(2654)
6115 10
+3 8
+2 8
+1 6
-3 12
+9 4
fl=(81)
fn=(3170) psprintf
47 33143
+1 3013
cob=(5)
cfi=(5)
cfn=(472)
calls=3013 -48
* 9039
* 3013
* 6026
+1 3013
+12 9039
cfi=(13)
cfn=(940)
calls=3013 925
* 430608
* 3013
+3 3013
cob=(5)
cfi=(5)
cfn=(472)
calls=3013 -64
* 9039
* 3013
* 6026
+1 18078
+1 18078
cfn=(1894)
calls=3013 +41
* 3871773
* 3013
+3 9039
+1 6026
+6 6026
fn=(1894)
107 24248
+3 18186
cfi=(17)
cfn=(464) pg_vsnprintf
calls=3031 +65
* 3786736
* 3031
+3 15155
+11 12124
+3 9093
+24 12124
fl=(95) /home/mithuncy/fsm_p11patch/src/backend/access/transam/commit_ts.c
fn=(2034) CommitTsShmemBuffers
471 4
+1 34
+1 4
fn=(5342) ExtendCommitTs
785 4
+9 5
+1 1
+18 2
fn=(2032) CommitTsShmemSize
480 2
+1 1
cfn=(2034)
calls=1 -10
* 21
* 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 1
+2 2
fn=(2198) CommitTsShmemInit
491 4
+3 1
+2 2
-1 2
cfn=(2034)
calls=1 -24
* 21
* 8
cfi=(93)
cfn=(2196)
calls=1 167
* 3371
+4 5
cfi=(87)
cfn=(2168)
calls=1 373
* 983
* 1
+4 4
+4 2
+1 3
+1 2
+1 2
+4 4
fn=(5664) TransactionTreeSetCommitTsData
148 11
+13 5
+1 1
+62 2
fl=(106) /home/mithuncy/fsm_p11patch/src/backend/replication/slot.c
fn=(2064) ReplicationSlotsShmemSize
115 9
+1 3
+2 9
+3 3
+1 15
cfi=(87)
cfn=(2000) mul_size
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002) add_size
calls=3 476
* 63
* 3
+3 3
+1 6
fn=(2276) ReplicationSlotsShmemInit
133 3
+3 3
+4 1
cfn=(2064)
calls=1 -25
* 66
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1050
-1 1
+4 3
cfi=(99)
cfn=(2158) LWLockRegisterTranche
calls=1 603
* 17
+3 4
+5 4
cfn=(2064)
calls=1 -36
* 66
* 19
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 275
* 1
+2 2
+2 90
+3 20
+1 50
cfi=(99)
cfn=(2144) LWLockInitialize
calls=10 678
* 640
+1 40
cfi=(128) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/condition_variable.c
cfn=(2278) ConditionVariableInit
calls=10 40
* 230
-7 43
+10 2
fn=(5762) ReplicationSlotCleanup
480 3
+6 5
cfi=(99)
cfn=(2170) LWLockAcquire
calls=1 1122
* 136
+1 2
+2 90
+2 50
+1 10
-5 43
+23 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 90
+1 2
fl=(141) /home/mithuncy/fsm_p11patch/src/backend/storage/smgr/md.c
fn=(5468) register_dirty_segment
1416 10500
+4 4500
+7 13500
cfi=(104) /home/mithuncy/fsm_p11patch/src/backend/postmaster/checkpointer.c
cfn=(5470) ForwardFsyncRequest
calls=1500 1096
* 465000
* 3000
+1 1500
+11 6000
fn=(3164) mdnblocks
847 20190
+1 24228
cfn=(3166) mdopen
calls=4038 560
* 1119381
* 4038
+2 4038
+18 28266
+1 36342
+4 24228
cfn=(3182) _mdnblocks
calls=4038 1965
* 246318
* 4038
+1 8076
+2 8076
+1 24228
+18 8076
fn=(3166)
560 45766
+6 45766
+1 21180
+2 36096
cfi=(174) /home/mithuncy/fsm_p11patch/src/common/relpath.c
cfn=(3168) GetRelationPath
calls=3008 140
* 4538888
* 3008
+2 12032
cfi=(25)
cfn=(3172) PathNameOpenFile
calls=3008 1298
* 1620919
* 3008
+2 6016
+8 6000
+2 4000
+2 8000
+1 2000
cob=(5)
cfi=(5)
cfn=(472)
calls=2000 0
* 6000
* 2000
* 2000
-1 4000
+3 6000
cfi=(13)
cfn=(952)
calls=2000 1032
* 170000
+1 4000
+8 3024
cfi=(13)
cfn=(952)
calls=1008 1032
* 85680
+2 6048
cfn=(3180) _fdvec_resize
calls=1008 1738
* 147236
+1 6048
+1 3024
+1 2016
+4 1008
+1 26152
fn=(2826) mdinit
207 3
+1 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 1
+9 10
+28 2
fn=(3180)
1738 6048
+1 2016
+8 7056
+3 7056
cfi=(13)
cfn=(798)
calls=1008 772
* 110948
-1 6048
+16 6048
+1 2016
fn=(5372) mdclose
614 12500
+1 15000
+3 5000
+1 2500
+19 5000
fn=(5448) _mdfd_getseg
1838 15000
+9 4500
+3 10500
+2 13500
+1 3000
1958 6000
fn=(3182)
1965 28266
+3 16152
cfi=(25)
cfn=(3184) FileSize
calls=4038 +46
* 153444
* 4038
+1 8076
+6 20190
+1 16152
fn=(5370) mdexists
278 12500
+5 12500
cfn=(5372)
calls=2500 614
* 40000
+2 15000
cfn=(3166)
calls=2500 560
* 5707534
* 5000
+1 5000
fn=(5446) mdextend
497 16500
+15 3000
+7 10500
cfn=(5448)
calls=1500 1838
* 52500
* 1500
+2 6000
+4 13500
cfi=(25)
cfn=(5450) FileWrite
calls=1500 1892
* 236272
* 4500
+17 12000
+1 9000
cfn=(5468)
calls=1500 1416
* 504000
+3 7500
fl=(295) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/ruleutils.c
fn=(5136) quote_identifier
10555 2000
+6 500
+10 6000
+2 1500
+2 17676
+2 27568
+1 6176
-5 31460
+18 1500
+3 1000
+10 2500
cfi=(216) /home/mithuncy/fsm_p11patch/src/common/keywords.c
cfn=(3864) ScanKeywordLookup
calls=500 67
* 430272
* 500
+4 1000
+4 1000
+1 1000
+18 1000
fl=(9)
fn=(1580) atexit
0 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1433
0 5
fn=(5800) 0x00000000004773a0
0 8
fn=(354) __libc_csu_init
0 16
cob=(2) ???
cfi=(2) ???
cfn=(356) 0x0000000000476418
calls=1 0
0 6
0 7
cfn=(360) 0x0000000000477430
calls=1 0
0 15
0 11
fn=(340) 0x0000000000477370
0 11
cob=(1)
cfi=(1)
cfn=(222)
calls=1 0
0 397298141
0 5
fn=(5796) 0x0000000000477410
0 5
cfn=(5800)
calls=1 0
0 8
0 3
fn=(512) lstat
0 8
cob=(3)
cfi=(3)
cfn=(518) _lxstat
calls=1 0
0 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1301
0 6
fn=(5242) fstat
0 2000
cob=(3)
cfi=(3)
cfn=(596) _fxstat
calls=499 0
0 4990
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1301
0 504
fn=(360)
0 15
fn=(490)
0 44
cob=(3)
cfi=(3)
cfn=(496) _xstat
calls=10 0
0 112
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1294
0 15
fl=(93)
fn=(2312) SlruScanDirCbDeleteAll
1354 7
+1 5
cfn=(2314) SlruInternalDeleteSegment
calls=1 1248
* 549
+2 1
+1 2
fn=(2020)
146 56
+4 14
+1 84
+1 84
+1 70
+1 84
+1 84
+1 84
+2 28
+1 14
+2 16
+1 4
-1 96
+1 24
fn=(2196)
167 63
+4 35
cfn=(2020)
calls=7 -25
* 371
* 42
cfi=(87)
cfn=(2168)
calls=7 373
* 6530
* 7
+4 28
+9 35
cob=(3)
cfi=(3)
cfn=(828)
calls=7 0
* 154
* 7
+2 21
+2 21
+1 21
+2 14
+4 14
+1 7
+1 35
+1 42
+1 35
+1 42
+1 35
+1 35
+1 35
+1 42
+1 35
+1 42
+3 35
+1 42
+2 14
+2 5
+1 7
+4 7
cfi=(16)
cfn=(460)
calls=1 46
* 94
* 42
cfi=(16)
cfn=(460)
calls=6 46
* 1208
+1 21
+2 28
+1 14
+2 1408
cfi=(99)
cfn=(2144)
calls=128 678
* 8192
+3 1024
+1 896
+1 768
+1 896
+1 128
-9 533
+20 14
-1 35
cfi=(99)
cfn=(2158)
calls=7 603
* 119
+7 21
+1 14
+1 84
cob=(3)
cfi=(3)
cfn=(950) __strncpy_ssse3
calls=7 0
* 604
* 7
* 35
+1 14
fn=(2320) SimpleLruZeroLSNs
305 5
+1 3
+2 4
+3 2
fn=(2318) SlruSelectLRUPage
967 10
+1 6
+7 2
+1 2
+1 2
+1 2
+1 2
+1 2
+3 4
+2 81
+1 63
-1 18
+2 2
-4 48
+34 6
+1 2
+5 9
+1 2
-6 4
+79 4
fn=(2326) SlruPhysicalWritePage
720 7
+1 3
+1 6
+1 7
+1 3
+2 1
+7 4
+40 2
+14 2
+19 11
cfi=(17)
cfn=(462)
calls=1 203
* 759
+1 4
cfi=(25)
cfn=(2328) OpenTransientFile
calls=1 2236
* 122
* 1
+1 2
+7 2
+19 7
cob=(5)
cfi=(5)
cfn=(1956)
calls=1 0
* 7
* 1
* 2
+9 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 1
+1 2
cfi=(68) /home/mithuncy/fsm_p11patch/src/backend/access/transam/../../../../src/include/pgstat.h
cfn=(1596) pgstat_report_wait_start
calls=1 1239
* 14
+1 12
cob=(5)
cfi=(5)
cfn=(1568)
calls=1 0
* 7
* 1
* 2
+12 1
cfi=(68)
cfn=(1598) pgstat_report_wait_end
calls=1 1263
* 13
+6 2
+2 2
cfi=(68)
cfn=(1596)
calls=1 1239
* 14
+1 4
+8 1
cfi=(68)
cfn=(1598)
calls=1 1263
* 13
+2 3
cfi=(25)
cfn=(2332) CloseTransientFile
calls=1 2413
* 74
* 2
+8 1
+1 2
fn=(2316) SimpleLruZeroPage
264 5
+1 3
+4 5
cfn=(2318)
calls=1 967
* 229
* 1
+7 8
+1 7
+1 6
+1 24
+3 28
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 912
* 1
+3 5
cfn=(2320)
calls=1 +20
* 14
+3 3
+2 1
+1 2
fn=(5678)
377 8
+1 3
+9 5
cfn=(2318)
calls=1 967
* 42
* 1
+3 9
+1 7
-1 2
+7 9
+1 7
-1 2
+9 12
+1 2
+43 2
fn=(2314)
1248 5
+3 11
cfi=(17)
cfn=(462)
calls=1 203
* 464
+1 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+2 3
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 5
* 1
+1 2
fn=(2322) SimpleLruWritePage
579 5
+1 6
cfn=(2324) SlruInternalWritePage
calls=1 -72
* 1760
+1 2
fn=(2300) SlruScanDirectory
1377 6
+1 1
+6 4
cfi=(25)
cfn=(718)
calls=1 2447
* 340
* 1
+1 1
+4 12
cob=(3)
cfi=(3)
cfn=(424)
calls=3 0
* 45
* 3
* 3
+2 14
+1 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1321
* 5
-1 2
+3 6
cob=(3)
cfi=(3)
cfn=(1246)
calls=1 0
* 171
* 1
* 1
+1 3
+2 4
cfi=(57)
cfn=(2084) elog_start
calls=1 1286
* 79
* 10
cfi=(57)
cfn=(2086) elog_finish
calls=1 -61
* 96
+2 7
cfn=(2312)
calls=1 -45
* 564
* 1
+1 2
-15 24
cfi=(25)
cfn=(2302) ReadDir
calls=4 2513
* 589
* 12
+19 3
cfi=(25)
cfn=(738)
calls=1 2565
* 194
+2 1
+1 2
fn=(2324)
508 6
+1 3
+1 8
+4 10
+10 9
+1 7
-1 2
+2 7
-1 2
+8 7
+1 6
+3 9
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+3 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 118
+3 6
cfn=(2326)
calls=1 720
* 1129
* 1
+3 4
+9 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+6 4
+3 7
+2 8
cfi=(99)
cfn=(2182)
calls=1 1726
* 118
+3 4
+2 2
fl=(290) /home/mithuncy/fsm_p11patch/src/backend/utils/fmgr/../../../../src/include/nodes/pg_list.h
fn=(5020) list_length
90 1503
+1 2505
+1 1002
fl=(25)
fn=(2330) OpenTransientFilePerm
2245 21
+7 3
cfn=(720) reserveAllocatedDesc
calls=3 2113
* 42
* 9
+7 3
cfn=(722) ReleaseLruFiles
calls=3 1127
* 33
+2 18
cfn=(1594) BasicOpenFilePerm
calls=3 943
* 93
* 3
+2 6
+2 18
+2 6
+1 9
+1 3
cfi=(26)
cfn=(736) GetCurrentSubTransactionId
calls=3 625
* 24
* 6
+1 9
+2 6
+4 12
fn=(1432) ReadDirExtended
2528 18655
+4 5330
+9 2665
cob=(5)
cfi=(5)
cfn=(472)
calls=2665 0
* 7995
* 2665
* 2665
+1 7995
cob=(3)
cfi=(3)
cfn=(1438) readdir
calls=2664 0
* 351447
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 6787
* 2669
* 7995
+1 5318
+2 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 18
+5 6
+1 10660
fn=(1576) pg_fsync_no_writethrough
351 28
+1 21
+3 7
+1 14
fn=(2404)
878 5
+12 6
cfn=(2406) count_usable_fds
calls=1 -96
* 61479
+3 7
+5 3
+5 3
+8 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 10
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+2 5
fn=(2464) RemovePgTempFilesInDir
2924 9
+5 3
cfn=(718)
calls=1 2447
* 89
* 1
+2 3
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 5
+54 4
fn=(3176) AllocateVfd
1137 12032
+8 12032
+7 18
+3 12
+1 1
+5 8
cob=(3)
cfi=(3)
cfn=(556) realloc
calls=1 0
* 408
* 1
* 40
cob=(3)
cfi=(3)
cfn=(556)
calls=5 0
* 13317
* 5
* 6
+1 12
+4 12
+5 18
+2 83886
+1 10230
+1 8184
-4 4110
+6 54
+1 18
+5 12
+3 18
+2 66
+2 6
+1 24
-5 9006
+2 33022
+2 3002
+1 12008
fn=(3184)
2014 16152
+6 44418
+6 52494
cob=(5)
cfi=(5)
cfn=(1956)
calls=4038 0
* 28266
* 4038
+1 8076
fn=(5376) FreeVfd
1195 8000
+1 18000
+5 8000
+5 4000
+2 8000
+1 6000
+1 4000
fn=(718)
2447 50
+7 10
cfn=(720)
calls=10 2113
* 367
* 30
+7 10
cfn=(722)
calls=10 1127
* 110
+3 30
cob=(3)
cfi=(3)
cfn=(728) opendir
calls=9 0
* 1902
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1541
* 14
* 30
+2 54
+2 18
+1 27
+1 9
cfi=(26)
cfn=(736)
calls=9 625
* 72
* 18
+1 27
+1 27
+3 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 4
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+13 1
+1 40
fn=(720)
2113 2128
+5 2128
+1 1062
+8 3
+2 1
+1 5
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 210
* 1
* 1
+2 2
+4 2
+1 2
+1 2
+27 2128
fn=(740) FreeDesc
2346 2116
+4 3204
+3 2068
cob=(3)
cfi=(3)
cfn=(1380)
calls=516 0
* 231492
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1732
* 521
* 517
+1 517
+5 36
cob=(3)
cfi=(3)
cfn=(746) closedir
calls=8 0
* 996
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1425
* 13
* 9
+1 9
+2 12
cob=(5)
cfi=(5)
cfn=(692)
calls=3 0
* 21
* 3
* 3
+1 3
+8 1587
+1 5290
+2 529
+1 1058
fn=(2302)
2513 20
+1 24
cfn=(1432)
calls=4 +14
* 537
+1 8
fn=(2472) looks_like_temp_rel_name
3046 10032
+5 10032
+1 5016
+38 5016
fn=(3686) CleanupTempFiles
2794 21
+7 12
+3 2
+2 9207
+2 8184
-4 5119
+26 1
+4 12
+5 12
+2 6
fn=(5544) ReleaseLruFile
1105 52
+3 78
+7 104
cfn=(5546) LruDelete
calls=26 1010
* 2028
+1 52
+3 52
fn=(2468) RemovePgTempRelationFilesInDbspace
3018 15
+5 9
cfn=(718)
calls=3 2447
* 912
* 3
+2 3
+2 10032
cfn=(2472)
calls=2508 +19
* 30096
* 7524
+1 2508
-3 15066
cfn=(1432)
calls=2511 2528
* 400080
* 7533
+15 9
cfn=(738)
calls=3 2565
* 582
+1 12
fn=(3684) AtEOXact_Files
2762 10
+1 8
cfn=(3686)
calls=2 +31
* 46
+1 2
+1 2
+1 4
fn=(5454) Delete
991 1578
+9 4734
+2 6312
+1 6312
+3 1052
fn=(738)
2565 36
+4 18
+6 27
+2 54
+2 72
+1 27
cfn=(740)
calls=9 2346
* 2740
* 9
-5 27
+12 18
fn=(1172) SetTempTablespaces
2650 5
+2 2
+1 2
+10 2
+3 1
+1 2
fn=(2462)
2864 3
+8 7
cfi=(17)
cfn=(462)
calls=1 203
* 356
+1 5
cfn=(2464)
calls=1 +51
* 118
+1 2
cfn=(2466) RemovePgTempRelationFiles
calls=1 2990
* 477538
+5 2
cfn=(718)
calls=1 2447
* 304
* 1
+2 1
+2 10
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 44
* 2
* 4
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
-1 2
+2 2
-4 15
cfn=(1432)
calls=3 2528
* 393
* 9
+15 3
cfn=(738)
calls=1 2565
* 194
+9 2
fn=(5452) FileAccess
1215 6000
+11 16500
+6 6000
+7 1500
cfn=(5454)
calls=500 991
* 19000
+1 1500
cfn=(3178) Insert
calls=500 1036
* 17000
+3 1500
+1 3000
fn=(722)
1127 7080
+1 3540
+2 26
cfn=(5544)
calls=26 -25
* 2366
* 78
-2 21396
+5 7080
fn=(1374)
2385 2068
+6 1551
+2 3102
+2 4136
+1 1551
cfn=(740)
calls=517 -50
* 250289
* 517
-5 1551
+12 1034
fn=(1574) pg_fsync
334 28
+7 21
cfn=(1576)
calls=7 +10
* 70
+1 14
fn=(2328)
2236 15
+1 21
cfn=(2330)
calls=3 +8
* 324
+1 6
fn=(2406)
794 6
+3 1
+1 1
+8 1
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 125
* 1
+4 4
cob=(3)
cfi=(3)
cfn=(242) getrlimit
calls=1 0
* 5
* 1
* 1
+4 2
+15 8000
+4 2000
cob=(3)
cfi=(3)
cfn=(2412) dup
calls=999 0
* 4995
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1220
* 1004
* 1000
+1 2000
+8 3000
+5 9000
+2 3000
+1 2000
+2 3000
+1 1
+1 999
+3 2
+1 8000
cob=(5)
cfi=(5)
cfn=(692)
calls=1000 0
* 7000
* 1000
-1 4003
+3 3
cfi=(13)
cfn=(952)
calls=1 1032
* 87
+7 3
+1 7
+1 2
fn=(3174) PathNameOpenFilePerm
1311 21056
+11 9024
cob=(3)
cfi=(3)
cfn=(384)
calls=3008 0
* 753461
* 3008
* 3008
+1 6016
+5 3008
cfn=(3176)
calls=3008 1137
* 201568
* 3008
+1 27072
+3 3008
cfn=(722)
calls=3008 1127
* 35714
+2 18048
cfn=(1594)
calls=3008 943
* 131248
* 6016
+2 12032
+2 2000
cob=(5)
cfi=(5)
cfn=(472)
calls=2000 0
* 6000
* 2000
* 4000
+2 6000
cfn=(5376)
calls=2000 1195
* 56000
+1 6000
cob=(3)
cfi=(3)
cfn=(590)
calls=2000 0
* 170016
* 2000
+1 2000
cob=(5)
cfi=(5)
cfn=(472)
calls=2000 0
* 6000
* 2000
* 4000
+1 4000
+2 3024
+4 3024
cfn=(3178)
calls=1008 1036
* 34272
+2 3024
+2 5040
+1 3024
+1 2016
+1 2016
+1 2016
+2 1008
+1 12032
fn=(5450)
1892 13500
+11 4500
cfn=(5452)
calls=1500 1215
* 72000
* 1500
+1 3000
+3 13500
+10 4500
+18 1500
cob=(5)
cfi=(5)
cfn=(472)
calls=1500 0
* 4500
* 1500
* 1500
+1 4500
cfi=(315)
cfn=(5456)
calls=1500 1239
* 24000
+1 22500
cob=(5)
cfi=(5)
cfn=(5462)
calls=1499 0
* 11992
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 776
* 1504
* 1500
+1 1500
cfi=(315)
cfn=(5466)
calls=1500 1263
* 21000
+3 4500
+3 3000
+9 9000
+7 1500
+28 1500
+1 6000
fn=(1592) BasicOpenFile
921 5
+1 7
cfn=(1594)
calls=1 +21
* 31
+1 2
fn=(1594)
943 21084
+4 21084
cob=(5)
cfi=(5)
cfn=(676)
calls=3012 0
* 29084
* 3012
* 3012
+2 6024
+1 2024
+2 2000
cob=(5)
cfi=(5)
cfn=(472)
calls=2000 0
* 6000
* 2000
* 8000
cob=(5)
cfi=(5)
cfn=(472)
calls=2000 0
* 6000
* 2000
* 6000
+13 2000
+1 12048
fn=(2466)
2990 5
+5 3
cfn=(718)
calls=1 2447
* 304
* 1
+2 1
+7 25
cob=(3)
cfi=(3)
cfn=(2310) __strspn_sse42
calls=5 0
* 195
* 5
* 25
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 83
* 5
* 10
+1 2
+3 6
-1 27
cfi=(17)
cfn=(462)
calls=3 203
* 1368
+2 9
cfn=(2468)
calls=3 +9
* 474384
-12 36
cfn=(1432)
calls=6 2528
* 825
* 18
+15 3
cfn=(738)
calls=1 2565
* 194
+1 4
fn=(1278)
2186 3114
+7 519
cfn=(720)
calls=519 -80
* 7266
* 1557
+7 519
cfn=(722)
calls=519 1127
* 5709
+3 2595
cob=(3)
cfi=(3)
cfn=(1284)
calls=518 0
* 231558
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1860
* 523
* 1557
+2 3102
+2 1034
+1 1551
+1 517
cfi=(26)
cfn=(736)
calls=517 625
* 4136
* 1034
+1 1551
+1 1551
+3 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 8
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 6
+13 2
+1 2076
fn=(2822) InitFileAccess
761 4
+4 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 255
* 1
* 1
+1 3
+5 76
+1 2
+2 1
+3 3
cfi=(67)
cfn=(1578)
calls=1 306
* 32
+1 4
fn=(3172)
1298 15040
+1 21056
cfn=(3174)
calls=3008 +12
* 1578807
+1 6016
fn=(5546)
1010 130
+8 234
+6 104
cob=(5)
cfi=(5)
cfn=(692)
calls=26 0
* 182
* 26
* 52
+3 52
+1 78
+3 78
cfn=(5454)
calls=26 -40
* 988
+1 104
fn=(2332)
2413 12
+6 9
+2 18
+2 24
+1 9
cfn=(740)
calls=3 -78
* 132
* 3
-5 9
+12 6
fn=(3178)
1036 4524
+9 13572
+2 3016
+1 6032
+1 4524
+1 16588
+3 3016
fn=(5774) AtProcExit_Files
2776 5
+1 3
cfn=(3686)
calls=1 +17
* 22530
+1 2
fl=(178) /home/mithuncy/fsm_p11patch/src/backend/access/common/heaptuple.c
fn=(5320) fill_val
184 962500
+2 262500
+6 175000
+24 350000
+3 787500
+1 1225000
+1 437500
+71 175000
+1 262500
+1 175000
fn=(5318) heap_fill_tuple
310 787500
+4 262500
+6 175000
+8 87500
+1 87500
+3 525000
+2 175000
+2 875000
+8 962500
-6 262500
+5 437500
-5 175000
+1 87500
-1 1137500
cfn=(5320)
calls=87500 184
* 4812500
-4 612500
+14 175000
fn=(3238) nocachegetattr
428 94110
+1 47055
+2 47055
+1 15685
+12 15685
+2 109795
+7 47046
+1 47046
+3 266594
+1 1006
+6 30358
+2 2821
-2 47149
+11 94110
+2 62740
+8 151820
+1 60728
+1 308220
+7 1743
+4 482
+2 39402
+2 238
+1 238
-5 14099
+11 3008
+2 33
+1 11
+11 22
+3 165
+3 110
+1 110
-1 33
+3 11
+2 1600
+2 640
+1 9
+2 1412
+2 210
+2 280
-11 280
+7 81
+2 243
+2 324
-11 357
+16 121
+4 741
+13 741
+1 741
+2 7410
+2 5187
-2 193870
+2 437629
+2 515
+1 515
+4 113766
+1 73344
+1 5108
+8 2434
+1 2629
-1 478
+2 8
+3 13311
+2 1638
-2 396
+2 792
+6 590
+2 62
-2 29
+2 58
+1 180
+3 58839
+1 741
+2 218589
+2 111332
+1 3
-46 3
+47 3
-47 19384
+47 19384
+3 11391
+1 31370
fn=(3390) heap_freetuple
1341 2472
+1 1854
cfi=(13)
cfn=(952)
calls=618 1032
* 52530
+1 1236
fn=(3976) heap_attisnull
362 12
+6 14
+8 4
+2 14
+2 36
+19 4
fn=(5316) heap_compute_data_size
124 525000
+1 87500
+2 262500
+2 175000
+5 612500
+3 612500
+1 875000
+2 350000
+9 350000
+12 1225000
+2 962500
-34 612500
+39 87500
+1 175000
fn=(5314) heap_form_tuple
1025 612500
+6 87500
+1 262500
+3 175000
+9 175000
+2 612500
-2 612500
+12 87500
+2 175000
+3 525000
+2 525000
cfn=(5316)
calls=87500 124
* 6912500
* 87500
+2 175000
+6 350000
cfi=(13)
cfn=(2546)
calls=87500 956
* 13696205
* 87500
+1 525000
+7 350000
+1 525000
+1 175000
+2 350000
+1 350000
+1 350000
+2 525000
+2 787500
+1 350000
+2 1312500
cfn=(5318)
calls=87500 310
* 11637500
+8 87500
+1 350000
fn=(3346) heap_copytuple
683 2796
+3 4194
+3 4194
cfi=(13)
cfn=(940)
calls=699 925
* 82350
* 699
+1 2796
+1 4194
+1 2796
+1 2796
+1 6990
cob=(3)
cfi=(3)
cfn=(856)
calls=699 0
* 61967
* 699
+1 699
+1 1398
fl=(246) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_expr.c
fn=(4824) transformColumnRef
510 8
+1 1
+1 1
+1 1
+1 1
+9 1
+6 4
+2 7
cob=(12)
cfi=(231) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/pl_comp.c
cfn=(4826) plpgsql_pre_column_ref
calls=1 1065
* 16
* 1
+1 2
+27 4
cfi=(219)
cfn=(4828) list_length
calls=1 90
* 10
* 6
+4 4
cfi=(219)
cfn=(4292)
calls=1 78
* 10
* 2
+3 3
+3 8
cfi=(282) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_relation.c
cfn=(4830) colNameToVar
calls=1 760
* 47
* 1
+2 2
+13 9
cfi=(282)
cfn=(4832) refnameRangeTblEntry
calls=1 89
* 76
* 1
+3 2
+4 1
761 4
+4 7
cob=(12)
cfi=(231)
cfn=(4836) plpgsql_post_column_ref
calls=1 1079
* 715
* 1
+1 2
+1 3
+12 2
+28 1
+1 6
fn=(4820) transformFuncCall
1445 5
+1 3
+5 1
+1 4
cfi=(219)
cfn=(4292)
calls=1 78
* 10
* 2
+3 4
-1 8
cfn=(4405) transformExprRecurse'2
calls=2 165
* 512804
* 10
cfi=(45)
cfn=(960)
calls=2 129
* 453
* 2
-2 12
+14 4
+13 12
cfi=(284) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_func.c
cfn=(4966) ParseFuncOrColumn
calls=1 80
* 59912
+7 2
fn=(5034) transformParamRef
812 14
+7 8
+1 14
cfi=(289) /home/mithuncy/fsm_p11patch/src/backend/executor/functions.c
cfn=(5036) sql_fn_param_ref
calls=2 405
* 1381
* 4
+4 4
+6 2
+1 10
fn=(4822) transformAExprOp
849 10
+1 6
+1 6
+3 6
+27 6
+18 12
+17 12
+16 6
+2 10
cfn=(4405)
calls=2 165
* 1137
* 2
+1 10
cfn=(4405)
calls=2 165
* 55583
* 2
+2 24
cfi=(283) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_oper.c
cfn=(4854) make_op
calls=2 749
* 587959
* 2
+8 2
+1 4
fn=(4404) transformExprRecurse
165 28
+3 8
+4 4
cfi=(52)
cfn=(3958) check_stack_depth
calls=4 3263
* 108
+2 56
+12 4
+1 6
+2 14
cfi=(223) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_node.c
cfn=(4406) make_const
calls=2 471
* 522
* 2
+1 2
+22 2
+2 7
+3 5
cfn=(4822)
calls=1 849
* 132402
* 1
+1 1
+40 1
+8 5
cfn=(4820)
calls=1 1445
* 573248
* 1
+1 1
379 4
+1 20
fn=(4405)
165 49
+3 14
+4 7
cfi=(52)
cfn=(3958)
calls=7 3263
* 189
+2 117
+3 5
cfn=(4824)
calls=1 510
* 970
* 1
+1 1
+3 10
cfn=(5034)
calls=2 812
* 1437
* 2
+1 2
+4 4
+1 6
+2 14
cfi=(223)
cfn=(4406)
calls=2 471
* 520
* 2
+1 2
+13 5
cfn=(5040) transformTypeCast
calls=1 2663
* 54476
* 1
+1 1
+8 2
+2 7
+3 5
cfn=(4822)
calls=1 849
* 512397
* 1
+1 1
+40 1
379 7
+1 35
fn=(4402) transformExpr
147 24
+6 12
+1 12
+2 20
cfn=(4404)
calls=4 +9
* 706452
* 4
+2 12
+2 4
+1 8
fn=(5040)
2663 7
+2 3
+8 7
cfi=(287) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_type.c
cfn=(5042) typenameTypeIdAndMod
calls=1 295
* 48012
+7 7
+11 4
+27 5
cfn=(4405)
calls=1 165
* 767
* 1
+2 3
cfi=(247)
cfn=(4434)
calls=1 43
* 24
* 1
+1 2
+8 3
+1 2
+3 11
cfi=(285) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_coerce.c
cfn=(5052) coerce_to_target_type
calls=1 83
* 5608
* 1
+5 2
+8 1
+1 5
fl=(266) /home/mithuncy/fsm_p11patch/src/backend/optimizer/util/tlist.c
fn=(4634) create_empty_pathtarget
672 18
+2 24
cfi=(13)
cfn=(3400) MemoryContextAllocZeroAligned
calls=6 853
* 1044
* 24
+1 12
fn=(4652) make_pathtarget_from_tlist
588 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 522
* 15
+4 9
cfi=(268) /home/mithuncy/fsm_p11patch/src/backend/optimizer/util/../../../../src/include/nodes/pg_list.h
cfn=(4654) list_length
calls=3 90
* 30
* 12
cfi=(13)
cfn=(940)
calls=3 925
* 330
* 6
+2 3
+1 9
cfi=(268)
cfn=(4642) list_head
calls=3 78
* 30
* 6
+2 9
+2 21
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 6
+1 27
+1 3
-6 21
+9 3
+1 6
fn=(4710) apply_tlist_labeling
340 15
+5 9
cfi=(268)
cfn=(4642)
calls=3 78
* 30
* 12
cfi=(268)
cfn=(4642)
calls=3 78
* 30
* 6
+2 9
+1 9
+3 12
+1 12
+1 12
+1 12
+1 12
-10 36
+12 6
fl=(158) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/name.c
fn=(3966) btnamecmp
205 44968
+1 33726
+1 33726
+2 78694
cfn=(3968) namecmp
calls=11242 -53
* 917721
* 11242
+1 22484
fn=(2930) namestrcpy
253 2585
+1 2068
+2 5687
cob=(3)
cfi=(3)
cfn=(950)
calls=517 0
* 35916
* 517
* 2585
+1 517
+1 1034
fn=(3968)
156 89936
+2 22484
+1 67452
cob=(3)
cfi=(3)
cfn=(1044)
calls=11242 0
* 659155
* 11242
* 11242
+6 56210
fn=(3242) nameeq
136 6104
+1 4578
+1 4578
+3 9156
cob=(3)
cfi=(3)
cfn=(1044)
calls=1526 0
* 92874
* 1526
* 5601
+1 3052
fl=(77)
fn=(1832)
126 27
+4 18
+1 10
cfn=(2760) getnameinfo_unix
calls=1 235
* 457
* 2
+6 20
cob=(3)
cfi=(3)
cfn=(1838) getnameinfo
calls=1 0
* 1800
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 2205
* 6
* 2
+5 6
+8 3
+1 6
fn=(2760)
235 9
+4 8
+4 2
+2 8
cfi=(17)
cfn=(462)
calls=1 -42
* 232
* 1
+1 5
+4 2
+2 10
cfi=(17)
cfn=(462)
calls=1 -49
* 171
* 1
+1 5
+4 1
+1 2
fn=(1630) pg_getaddrinfo_all
59 77
+4 22
+3 44
+1 6
cfn=(1974) getaddrinfo_unix
calls=1 167
* 2104
* 1
+4 130
cob=(3)
cfi=(3)
cfn=(1636) getaddrinfo
calls=9 -71
* 22591
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -71
* 92010
* 14
* 10
+3 10
+1 22
fn=(1942) pg_freeaddrinfo_all
89 55
+2 22
+3 1
+2 2
+2 3
+1 4
cob=(3)
cfi=(3)
cfn=(590)
calls=1 -99
* 85
* 1
+1 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 89
* 1
-6 5
+13 20
+1 30
cob=(3)
cfi=(3)
cfn=(1948) freeaddrinfo
calls=9 0
* 2789
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1580
* 14
+2 22
fn=(1974)
167 6
+5 2
+2 69
+2 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+3 2
+6 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 22
* 1
+2 3
+3 3
+6 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1498
* 5
* 1
+1 2
+3 3
cob=(3)
cfi=(3)
cfn=(1722)
calls=1 0
* 355
* 1
* 1
+1 2
+6 2
+1 3
+1 3
+1 2
+1 2
+1 3
+2 2
+1 3
+1 2
+2 6
cob=(3)
cfi=(3)
cfn=(810) __strcpy_ssse3
calls=1 0
* 62
* 1
+6 1
+1 2
fl=(206) /home/mithuncy/fsm_p11patch/src/backend/utils/time/combocid.c
fn=(3688) AtEOXact_ComboCid
184 4
+5 2
+2 2
+1 2
+1 2
+1 4
fl=(215) /home/mithuncy/fsm_p11patch/src/backend/parser/gram.c
fn=(3856) base_yyparse
24993 3556
+17 1016
+40 508
+17 508
+2 2032
+1 2032
+1 2032
+1 508
+4 508
+1 508
+1 508
+1 508
+1 1524
+1 508
+8 12757
+3 51028
+2 89299
-2 2032
+2 3556
+68 26530
+1 508
45285 508
+1 508
25165 12757
+11 51028
+1 25514
+1 5101
+5 15312
+3 21270
cfi=(211) /home/mithuncy/fsm_p11patch/src/backend/parser/parser.c
cfn=(3858) base_yylex
calls=3545 84
* 3535690
* 3545
+3 15312
+2 6368
+5 54576
+6 12128
+1 12128
-1 3184
+1 64432
+2 17740
+1 7096
+2 6
+2 3
+1 3
+5 7090
+7 3545
+2 7090
+2 14180
+2 14180
+1 3545
+7 46045
+1 18418
+2 9209
+8 46045
+10 73672
+3 18418
-13 15
+10 24
+3 75718
+2 46057
fi=(214) /home/mithuncy/fsm_p11patch/src/backend/parser/gram.y
786 2540
fe=(215)
25271 508
fi=(214)
802 5
+3 8
cfi=(219)
cfn=(3882) list_tail
calls=1 84
* 10
* 4
cfn=(3884) updateRawStmtEnd
calls=1 15471
* 16
+2 4
+3 4
fe=(215)
25287 1
fi=(214)
814 2032
+1 2540
cfn=(3880) makeRawStmt
calls=508 15459
* 90424
* 1524
cfi=(45)
cfn=(1586) lcons
calls=508 260
* 147289
* 508
fe=(215)
25298 508
fi=(214)
946 1
fe=(215)
25304 1
fi=(214)
2967 2000
cfi=(13)
cfn=(3400)
calls=500 853
* 90500
* 2500
+1 2500
+1 1000
+1 2500
+1 2500
+1 2500
+1 2500
+2 2000
+6 1000
+2 2500
+2 2500
+2 2000
+1 3500
cfi=(45)
cfn=(5158) list_concat
calls=500 322
* 5500
* 1000
+1 1000
fe=(215)
28020 500
fi=(214)
3013 500
fe=(215)
28049 500
fi=(214)
3019 500
fe=(215)
28067 500
fi=(214)
3028 1500
fe=(215)
28073 500
fi=(214)
3033 1500
fe=(215)
28091 500
fi=(214)
3039 4000
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 500
fe=(215)
28103 500
fi=(214)
3040 500
fe=(215)
28109 500
fi=(214)
3062 2000
cfi=(217) /home/mithuncy/fsm_p11patch/src/backend/nodes/value.c
cfn=(3872) makeString
calls=500 54
* 83500
* 2000
cfi=(218) /home/mithuncy/fsm_p11patch/src/backend/nodes/makefuncs.c
cfn=(3874) makeDefElem
calls=500 546
* 99000
* 500
fe=(215)
28149 500
fi=(214)
3105 500
fe=(215)
28227 500
fi=(214)
3113 500
fe=(215)
28241 500
fi=(214)
3766 500
fe=(215)
29139 500
fi=(214)
6323 4
cfi=(217)
cfn=(3872)
calls=1 54
* 167
* 3
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 1
fe=(215)
32771 1
fi=(214)
8176 4
cfi=(13)
cfn=(3400)
calls=1 853
* 146
* 5
+1 4
+1 2
fe=(215)
35480 1
fi=(214)
8183 5
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 1
fe=(215)
35486 1
fi=(214)
8190 6
cfi=(217)
cfn=(3872)
calls=1 54
* 167
* 4
cfi=(218)
cfn=(3874)
calls=1 546
* 198
* 1
fe=(215)
35500 1
fi=(214)
11182 21
fe=(215)
39478 7
fi=(214)
11273 28
cfi=(13)
cfn=(3400)
calls=7 853
* 2315
* 35
+1 35
+1 35
+1 35
+1 35
+1 35
+1 35
+1 28
+1 14
fe=(215)
39589 7
fi=(214)
11400 7
fe=(215)
39750 7
fi=(214)
11481 7
fe=(215)
39891 7
fi=(214)
11486 2
fe=(215)
39903 2
fi=(214)
11638 7
fe=(215)
40113 7
fi=(214)
11690 7
fe=(215)
40199 7
fi=(214)
11763 7
fe=(215)
40315 7
fi=(214)
12200 7
fe=(215)
40903 7
fi=(214)
12426 4
+1 4
fe=(215)
41192 1
fi=(214)
12466 1
fe=(215)
41258 1
fi=(214)
12470 3
fe=(215)
41264 1
fi=(214)
12522 8
cfi=(217)
cfn=(3872)
calls=1 54
* 167
* 3
cfi=(45)
cfn=(1586)
calls=1 260
* 161
* 2
cfi=(218)
cfn=(5028) makeTypeNameFromNameList
calls=1 456
* 206
* 1
+1 4
+1 4
fe=(215)
41351 1
fi=(214)
12529 1
fe=(215)
41363 1
fi=(214)
12901 42
fe=(215)
41883 14
fi=(214)
12903 11
cfn=(5030) makeTypeCast
calls=1 15538
* 187
* 1
fe=(215)
41889 1
fi=(214)
12957 45
cfi=(218)
cfn=(4294) makeA_Expr
calls=3 33
* 575
* 3
fe=(215)
42001 3
fi=(214)
13398 6
fe=(215)
42693 2
fi=(214)
13399 24
fe=(215)
42699 8
fi=(214)
13402 8
cfi=(13)
cfn=(2156)
calls=2 815
* 306
* 10
+1 10
+1 8
+1 8
+8 4
fe=(215)
42718 2
fi=(214)
13452 6
fe=(215)
42768 2
fi=(214)
13552 24
cfi=(218)
cfn=(4296) makeFuncCall
calls=2 585
* 458
* 2
+1 10
+1 4
fe=(215)
42909 2
fi=(214)
13617 8
+9 10
+20 10
+1 8
+1 4
fe=(215)
43015 2
fi=(214)
13965 2
fe=(215)
43568 2
fi=(214)
13970 2
fe=(215)
43580 2
fi=(214)
13979 7
fe=(215)
43592 7
fi=(214)
14013 2
fe=(215)
43643 2
fi=(214)
14246 12
cfi=(217)
cfn=(3872)
calls=3 54
* 501
* 9
cfi=(45)
cfn=(1586)
calls=3 260
* 870
* 3
fe=(215)
44026 3
fi=(214)
14294 10
cfi=(45)
cfn=(1586)
calls=2 260
* 580
* 2
fe=(215)
44104 2
fi=(214)
14298 16
cfi=(45)
cfn=(960)
calls=2 129
* 326
* 2
fe=(215)
44112 2
fi=(214)
14304 12
fe=(215)
44120 4
fi=(214)
14518 16
cfn=(4290) makeColumnRef
calls=2 15487
* 1314
* 2
fe=(215)
44465 2
fi=(214)
14564 2
fe=(215)
44543 2
fi=(214)
14579 21
fe=(215)
44555 7
fi=(214)
14584 35
cfi=(45)
cfn=(1586)
calls=7 260
* 2030
* 7
fe=(215)
44567 7
fi=(214)
14614 28
cfi=(13)
cfn=(3400)
calls=7 853
* 1169
* 35
+1 14
+1 14
+1 28
+1 28
fe=(215)
44609 7
fi=(214)
14656 3500
cfi=(218)
cfn=(5156) makeRangeVar
calls=500 422
* 108000
* 500
fe=(215)
44645 500
fi=(214)
14700 3
fe=(215)
44710 1
fi=(214)
14715 8
cfi=(217)
cfn=(3872)
calls=2 54
* 334
* 6
cfi=(45)
cfn=(1586)
calls=2 260
* 580
* 2
fe=(215)
44728 2
fi=(214)
14729 28
cfn=(4274) makeIntConst
calls=4 15568
* 740
* 4
fe=(215)
44745 4
fi=(214)
14737 28
cfn=(4288) makeStringConst
calls=4 15548
* 740
* 4
fe=(215)
44761 4
fi=(214)
14822 12
fe=(215)
44888 4
fi=(214)
14823 1515
fe=(215)
44894 505
fi=(214)
14920 1506
fe=(215)
45012 502
fi=(214)
14927 9
fe=(215)
45030 3
fi=(214)
14944 4
cfi=(13)
cfn=(928)
calls=1 1162
* 176
* 1
fe=(215)
45078 1
+22 1016
+15 15240
+1 1016
+3 4064
+1 4064
+6 5080
+2 10160
+1 2032
-14 122940
+1 8196
+3 32784
+1 32784
+6 40980
+2 81960
+1 71625
+1 20480
+4 4096
-2 30696
+2 5116
45306 1016
+10 7620
+2 508
+3 5080
-1 8128
cfn=(3886) yydestruct
calls=1016 24971
* 11176
+2 3048
-4 4572
+7 1524
+7 508
+1 3048
fn=(3886)
24971 7112
+4 2032
+7 2032
fl=(45)
fn=(964) new_tail_cell
109 2364
+3 1182
cfi=(13)
cfn=(940)
calls=591 925
* 72476
* 591
+1 1182
+2 2364
+1 1773
+1 2955
+1 1182
fn=(3414) list_member_oid
506 14250
+6 8550
cfi=(47) /home/mithuncy/fsm_p11patch/src/backend/nodes/../../../src/include/nodes/pg_list.h
cfn=(976) list_head
calls=2850 78
* 22802
* 5700
+2 4
-2 5705
+6 2850
+1 5700
fn=(4506) lappend_oid
165 5
+3 2
+1 2
cfn=(962) new_list
calls=1 64
* 272
* 2
+4 4
+2 1
+1 2
fn=(4508) lcons_oid
296 10
+3 4
+1 2
cfn=(962)
calls=1 64
* 272
* 2
+2 3
cfn=(1966) new_head_cell
calls=1 90
* 144
+2 8
+2 2
+1 4
fn=(1586)
260 7775
+3 3110
+1 3102
cfn=(962)
calls=1551 64
* 421717
* 3102
+2 12
cfn=(1966)
calls=4 90
* 545
+2 6220
+2 1555
+1 3110
fn=(4512) list_copy
1164 16
+5 8
+3 16
cfn=(962)
calls=4 64
* 1411
* 4
+1 16
+6 24
+2 12
+1 16
+1 4
+4 8
cfi=(13)
cfn=(940)
calls=4 925
* 430
* 4
+1 16
+1 12
+2 8
+1 12
-9 16
+12 8
+1 12
+3 4
+1 8
fn=(4514) list_delete_first
667 16
+3 8
+3 12
cfi=(47)
cfn=(976)
calls=4 78
* 40
* 24
cfn=(4516) list_delete_cell
calls=4 529
* 587
+1 8
fn=(960)
129 18715
+3 7486
+1 6304
cfn=(962)
calls=3152 -69
* 842987
* 6304
+2 1773
cfn=(964)
calls=591 -26
* 86069
+2 14972
+2 3743
+1 7486
fn=(972)
1137 2052
+1 2052
cfn=(974) list_free_private
calls=513 -31
* 108777
+1 1026
fn=(1988)
1151 4
+5 4
cfn=(974)
calls=1 -49
* 288
+1 2
fn=(4516)
529 3030
+9 2020
+2 1506
cfn=(972)
calls=502 1137
* 111444
+1 1004
+7 15
+2 6
+3 12
+2 12
+3 9
cfi=(13)
cfn=(952)
calls=3 1032
* 255
+1 3
+1 1010
fn=(5512) list_delete_ptr
591 2505
+7 501
+1 1503
cfi=(47)
cfn=(976)
calls=501 78
* 5010
* 1002
+2 2004
+1 3006
cfn=(4516)
calls=501 -73
* 119739
* 501
-3 1002
+10 1002
fn=(962)
64 22836
+4 11418
cfi=(13)
cfn=(940)
calls=5709 925
* 701897
* 5709
+1 11418
+3 11418
cfi=(13)
cfn=(940)
calls=5709 925
* 688328
* 5709
+1 17127
+1 11418
+1 17127
+1 17127
+2 5709
+1 11418
fn=(5024) list_nth_cell
387 2012
+9 2515
+1 1506
+2 9
+3 1
+1 1006
fn=(5022) list_nth
411 2515
+2 2515
cfn=(5024)
calls=503 -26
* 7049
* 503
+1 1006
fn=(5208) lappend_int
147 5000
+3 2000
+1 2000
cfn=(962)
calls=1000 -87
* 272000
* 2000
+4 4000
+2 1000
+1 2000
fn=(1966)
90 20
+3 10
cfi=(13)
cfn=(940)
calls=5 925
* 584
* 5
+1 20
+2 15
+1 25
+1 10
fn=(5158)
322 2500
+1 1000
+1 1000
+14 1000
fn=(5240) list_member_int
486 2500
+6 1500
cfi=(47)
cfn=(976)
calls=500 78
* 5000
* 1000
+2 2000
+1 1000
-3 1000
+7 1000
fn=(974)
1107 3084
+5 1542
cfi=(47)
cfn=(976)
calls=514 78
* 5134
* 514
+1 514
+2 1034
+2 1551
+1 1034
+1 4
cfi=(13)
cfn=(952)
calls=1 -87
* 72
+1 1551
cfi=(13)
cfn=(952)
calls=517 -88
* 43945
-7 2062
+10 1028
+1 1533
cfi=(13)
cfn=(952)
calls=511 -92
* 43435
+1 1028
fl=(120) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/port/atomics/arch-x86.h
fn=(2180) pg_atomic_compare_exchange_u32_impl
170 263540
+12 105416
-5 474372
+7 105416
+1 105416
fl=(197) /home/mithuncy/fsm_p11patch/src/backend/utils/init/../../../../src/include/nodes/pg_list.h
fn=(3568) list_head
78 3
+1 5
+1 2
fl=(222) /home/mithuncy/fsm_p11patch/src/backend/parser/analyze.c
fn=(3904) parse_analyze
103 4008
+1 1002
cfi=(223)
cfn=(3906) make_parsestate
calls=501 -59
* 173346
* 501
+5 1503
+2 1002
+3 1503
+2 2505
cfn=(3908) transformTopLevelStmt
calls=501 +76
* 200400
* 501
+2 1503
+3 1503
cfi=(223)
cfn=(3914) free_parsestate
calls=501 -43
* 53106
+2 501
+1 1002
fn=(3910) transformOptionalSelectInto
216 2525
+1 2020
+2 8
+3 28
+4 16
+20 2525
cfn=(3912) transformStmt
calls=505 +9
* 901128
+1 1010
fn=(4392) transformSelectStmt
1209 28
+1 16
cfi=(13)
cfn=(3400)
calls=4 853
* 1284
* 20
+4 8
+3 16
+8 16
+8 16
+3 16
+3 24
cfi=(244) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_clause.c
cfn=(4394) transformFromClause
calls=4 120
* 212
+3 28
cfi=(245) /home/mithuncy/fsm_p11patch/src/backend/parser/parse_target.c
cfn=(4398) transformTargetList
calls=4 133
* 709128
* 8
+4 24
cfi=(245)
cfn=(4416) markTargetListOrigins
calls=4 330
* 220
+3 28
cfi=(244)
cfn=(4420) transformWhereClause
calls=4 1686
* 52
* 4
+4 28
cfi=(244)
cfn=(4420)
calls=4 1686
* 52
* 8
+9 36
cfi=(244)
cfn=(4422) transformSortClause
calls=4 2557
* 112
* 8
+6 56
cfi=(244)
cfn=(4424) transformGroupClause
calls=4 2455
* 372
* 8
+8 16
+2 8
+1 12
+22 28
cfi=(244)
cfn=(4428) transformLimitClause
calls=4 1713
* 52
* 8
+2 28
cfi=(244)
cfn=(4428)
calls=4 1713
* 52
* 8
+4 32
cfi=(244)
cfn=(4430) transformWindowDefinitions
calls=4 2588
* 132
* 8
+5 16
+1 24
cfi=(245)
cfn=(4432) resolveTargetListUnknowns
calls=4 300
* 252
+2 16
+1 24
cfi=(218)
cfn=(4436) makeFromExpr
calls=4 285
* 704
* 8
+2 16
+1 16
+1 16
+1 16
+1 64
+3 16
cfi=(219)
cfn=(4292)
calls=4 78
* 32
* 16
+6 20
cfi=(248)
cfn=(4438)
calls=4 102
* 6639
+2 4
+1 20
fn=(3900) analyze_requires_snapshot
358 3
+3 10
+24 1
+1 1
+3 1
+1 2
fn=(3908)
192 2525
+4 3030
cfn=(3910)
calls=505 +20
* 909260
* 505
+2 2020
+1 2020
+2 505
+1 1010
fn=(3912)
255 2525
+22 6529
+19 8
+2 16
+2 16
+1 20
cfn=(4392)
calls=4 1209
* 720131
* 8
+4 4
+31 2004
cfi=(13)
cfn=(3400)
calls=501 853
* 160821
* 2505
+1 1002
+1 1503
+1 501
+4 1002
+1 1002
+2 501
+1 1002
-4 8
+1 8
+2 4
+1 8
fl=(53)
fn=(1074)
2286 15
+1 6
+1 3
cfn=(1076) CalculateCheckpointSegments
calls=3 -31
* 78
+1 6
fn=(2024) XLOGShmemSize
4945 6
+9 6
+4 1
cfn=(2026) XLOGChooseNumBuffers
calls=1 -84
* 20
* 8
cfi=(17)
cfn=(462)
calls=1 203
* 472
+1 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 2192
+5 2
+3 6
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 8
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+8 2
+1 4
fn=(2682)
12243 3
+3 4
cfi=(9)
cfn=(490)
calls=1 0
* 19
* 2
+1 4
cfi=(9)
cfn=(490)
calls=1 0
* 19
-1 2
+4 1
+1 2
fn=(5636) XLogBytePosToRecPtr
1961 6
+7 12
+1 12
+2 4
+8 2
+1 2
+2 14
+1 22
+2 18
+3 14
+2 2
+1 4
fn=(5642) GetXLogBuffer
1850 4
+11 6
+12 12
+19 2
+1 7
+2 8
+1 3
+42 1
+7 3
+1 7
+5 4
+1 2
fn=(1076)
2257 8
+17 44
+1 12
-1 8
+4 12
+2 12
+2 8
fn=(2880) InitXLOGAccess
8143 3
+1 2
+3 3
+4 3
+3 1
cfn=(2882) GetRedoRecPtr
calls=1 +15
* 36
+2 8
+3 1
cfi=(147) /home/mithuncy/fsm_p11patch/src/backend/access/transam/xloginsert.c
cfn=(2886) InitXLogInsert
calls=1 1029
* 5871
+1 2
fn=(5616) XLogInsertAllowed
7991 4
+6 6
+1 4
+5 1
cfn=(2878) RecoveryInProgress
calls=1 7896
* 11
* 2
+7 1
+1 1
+1 4
fn=(2882)
8169 3
+8 4
cfi=(146)
cfn=(2884)
calls=1 225
* 14
* 2
+1 3
+1 2
+2 3
+1 2
+2 1
+1 2
fn=(5640) CopyXLogRecordToWAL
1475 9
+11 2
+1 3
cfn=(5642)
calls=1 1850
* 59
* 1
+1 11
+9 1
+1 1
+2 6
+1 6
+2 8
+41 14
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 30
* 2
+1 6
+1 6
+1 4
+1 4
+2 6
-52 6
+61 2
+47 4
+3 3
+2 2
fn=(5624) GetFullPageWriteInfo
8197 4
+1 3
+1 3
+1 2
fn=(1198)
4890 12
+4 8
+6 3
+1 2
+13 4
+3 1
+1 4
fn=(2474)
12232 2
+1 2
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 9
* 1
+1 2
cob=(3)
cfi=(3)
cfn=(1972)
calls=1 0
* 9
* 1
+1 2
fn=(5630) XLogInsertRecord
976 7
+1 2
+3 3
+1 4
+1 7
+4 2
+6 1
cfn=(5616)
calls=1 7991
* 11
* 3
+35 3
+1 2
+3 1
cfn=(5632) WALInsertLockAcquire
calls=1 1618
* 168
+18 5
+5 8
+2 3
+1 2
-1 2
+1 2
+16 2
+4 8
cfn=(5634) ReserveXLogInsertLocation
calls=1 1250
* 238
+2 1
+3 2
+6 3
+1 6
cfi=(71) /home/mithuncy/fsm_p11patch/src/port/pg_crc32c_sse42.c
cfn=(1608) pg_comp_crc32c_sse42
calls=1 23
* 65
* 1
+1 1
+1 3
+6 9
cfn=(5640)
calls=1 1475
* 196
+8 4
+2 5
+2 7
+15 1
cfn=(5644) WALInsertLockRelease
calls=1 1692
* 219
+2 1
cfi=(26)
cfn=(5660) MarkCurrentTransactionIdLoggedIfAny
calls=1 429
* 10
+2 3
+5 7
+16 2
+78 2
+1 2
+2 1
+1 2
fn=(5632)
1618 3
+16 3
+1 8
+1 2
+6 8
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
* 1
+1 4
+12 2
fn=(5644)
1692 3
+1 3
+14 6
-1 9
cfi=(99)
cfn=(5646) LWLockReleaseClearVar
calls=1 +93
* 196
+4 2
fn=(5666) XLogSetAsyncXactLSN
2643 4
+1 2
+3 4
cfi=(146)
cfn=(2884)
calls=1 225
* 14
* 2
+1 5
+1 3
+1 4
+1 3
+1 2
+7 4
+15 4
+1 4
cfi=(122) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/latch.c
cfn=(2850) SetLatch
calls=1 437
* 31
+1 2
fn=(2026)
4874 2
+3 6
+1 7
+2 2
+2 1
+1 2
fn=(2190) XLOGShmemInit
4986 3
+25 1
cfn=(2024)
calls=1 -66
* 199
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 839
-1 1
+3 2
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 980
-1 1
+3 6
+14 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 72
* 1
+6 2
+2 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 81
* 1
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+8 3
+1 3
+1 8
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 464
* 1
+1 4
+5 3
-1 3
+2 5
+2 1
+2 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+1 2
+2 64
cfi=(99)
cfn=(2144)
calls=8 678
* 512
+1 48
+1 48
-4 26
+12 4
+1 3
+1 9
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 458768
* 1
+6 4
+1 2
+1 2
+1 2
+2 2
+1 2
+1 2
+1 4
cfi=(122)
cfn=(2192) InitSharedLatch
calls=1 261
* 11
+1 2
fn=(2878)
7896 36414
+6 48552
+1 24274
+7 2
+2 3
+8 4
+7 1
+1 1
cfn=(2880)
calls=1 8143
* 5930
+9 1
+2 24276
fn=(5638) XLogBytePosToEndRecPtr
2001 3
+7 6
+1 6
+2 2
+11 1
+1 1
+2 7
+1 11
+2 2
+3 9
+3 7
+2 1
+1 2
fn=(1204)
10087 6
+1 3
+21 4
fn=(1588)
4934 5
+2 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+1 1
cfn=(1590) ReadControlFile
calls=1 4552
* 4857
+1 2
fn=(5634)
1250 7
+1 2
+5 4
+15 3
cfi=(146)
cfn=(2884)
calls=1 225
* 14
* 2
+2 3
+1 5
+1 3
+1 3
+1 3
+2 2
+2 3
cfn=(5636)
calls=1 1961
* 56
* 2
+1 3
cfn=(5638)
calls=1 2001
* 58
* 2
+1 3
cfn=(5636)
calls=1 1961
* 56
* 2
+9 2
fn=(1610) DataChecksumsEnabled
4834 5696
+2 11392
+1 5696
fn=(1590)
4552 5
+9 3
cfi=(25)
cfn=(1592)
calls=1 921
* 45
* 1
+2 2
+6 2
cfi=(68)
cfn=(1596)
calls=1 1239
* 14
+1 6
cob=(5)
cfi=(5)
cfn=(684)
calls=1 0
* 7
* 1
* 1
+1 2
+13 1
cfi=(68)
cfn=(1598)
calls=1 1263
* 13
+2 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
+9 4
+9 4
+9 1
+1 6
cfi=(69) /home/mithuncy/fsm_p11patch/src/port/pg_crc32c_sse42_choose.c
cfn=(1600) pg_comp_crc32c_choose
calls=1 55
* 612
* 1
+3 1
+2 4
+9 4
+7 4
+7 6
+5 4
+7 4
+7 4
+7 4
+7 4
+7 4
+7 4
+9 5
+16 5
+15 3
+2 15
+7 7
cfi=(17)
cfn=(462)
calls=1 203
* 562
+1 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 1621
+4 12
+4 12
+5 5
-1 4
+4 1
cfn=(1076)
calls=1 2257
* 26
+3 1
cfn=(1610)
calls=1 +76
* 8
* 8
cfi=(29)
cfn=(1206)
calls=1 7172
* 1763
+2 5
fl=(69)
fn=(1600)
55 6
+1 1
cfn=(1602) pg_crc32c_sse42_available
calls=1 -21
* 76
* 2
+1 2
+4 6
cfi=(71)
cfn=(1608)
calls=1 -38
* 517
+1 2
fn=(1602)
35 3
+1 4
+3 11
cfi=(70) /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/cpuid.h
cfn=(1604) __get_cpuid
calls=1 264
* 52
+7 4
+1 2
fl=(169) /home/mithuncy/fsm_p11patch/src/backend/access/heap/heapam.c
fn=(3150) initscan
221 266
+15 152
+3 190
cfi=(50)
cfn=(3152) RelationGetNumberOfBlocksInFork
calls=38 2795
* 33510
* 76
+14 228
+1 266
-1 76
+7 114
+2 76
+8 152
+2 76
+3 152
+5 76
+9 76
+7 76
+1 76
+3 76
+1 76
+1 76
+1 228
+1 76
+1 76
+7 76
+1 532
cob=(3)
cfi=(3)
cfn=(856)
calls=38 0
* 1413
* 38
+7 380
+1 418
+1 76
fn=(3500) heap_hot_search_buffer
2053 29029
+1 23751
+1 2639
+7 5278
+1 7917
+5 7917
+1 5278
+1 18473
+2 15834
+8 39645
+3 23787
+3 13215
+3 28
+3 16
+1 4
+1 4
+88 4
-82 21112
+1 15834
+1 10556
+1 7917
+5 18453
+7 5278
+12 10556
+9 7917
cfi=(50)
cfn=(3476) BufferGetBlockNumber
calls=2639 2612
* 42224
* 18473
cfi=(50)
cfn=(3476)
calls=2639 2612
* 42224
* 15834
+3 18473
cfi=(195) /home/mithuncy/fsm_p11patch/src/backend/utils/time/tqual.c
cfn=(3502) HeapTupleSatisfiesMVCC
calls=2639 965
* 187681
* 2639
+1 21112
cfi=(92) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/predicate.c
cfn=(3236) CheckForSerializableConflictOut
calls=2639 3902
* 102921
+3 15834
+2 5278
+2 7917
+1 15834
cfi=(92)
cfn=(3506) PredicateLockTuple
calls=2639 2498
* 76531
+1 5278
+1 5278
+1 5278
+34 5278
fn=(5350) heap_prepare_insert
2643 787500
+9 262500
+5 612500
+1 612500
+1 612500
+1 350000
+1 350000
+3 962500
+1 262500
+1 350000
+6 437500
+7 962500
+3 87500
+1 350000
fn=(3022) heap_open
1307 17286
+3 14405
cfn=(3025) relation_open'2
calls=1206 1125
* 3149666
cfn=(3024) relation_open
calls=1675 1125
* 7394856
* 2881
+2 14405
+1 8643
-1 5762
+6 14405
+6 2881
+1 11524
fn=(3023) heap_open'2
1307 468
+3 390
cfn=(3025)
calls=78 1125
* 159053
* 78
+2 390
+1 234
-1 156
+6 390
+6 78
+1 312
fn=(3080) relation_close
1283 17295
+1 10377
+5 10377
cfi=(148) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/relcache.c
cfn=(3082) RelationClose
calls=3459 2003
* 338982
+2 6918
+1 14795
cfi=(160) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/lmgr.c
cfn=(3090) UnlockRelationId
calls=2959 182
* 7064982
+1 6918
fn=(3256) heap_endscan
1585 152
+6 152
+1 144
cfi=(50)
cfn=(3258) ReleaseBuffer
calls=36 3316
* 8676
+5 152
cfi=(148)
cfn=(3084) RelationDecrementReferenceCount
calls=38 1983
* 3382
+2 152
+1 152
cfi=(13)
cfn=(952)
calls=38 1032
* 3230
+2 152
+3 152
+3 114
cfi=(13)
cfn=(952)
calls=38 1032
* 3230
+1 76
fn=(3192) heapgetpage
352 1455
+13 1164
+2 1012
cfi=(50)
cfn=(3258)
calls=253 3316
* 60973
+1 506
+8 873
+3 2910
cfi=(50)
cfn=(3194) ReadBufferExtended
calls=291 642
* 311848
* 582
+2 873
+2 1455
+3 873
+1 873
+5 1746
cfi=(176) /home/mithuncy/fsm_p11patch/src/backend/access/heap/pruneheap.c
cfn=(3224) heap_page_prune_opt
calls=291 75
* 24444
+7 1164
cfi=(50)
cfn=(3232) LockBuffer
calls=291 3553
* 47142
+2 2619
+1 2037
cfi=(177) /home/mithuncy/fsm_p11patch/src/backend/access/heap/../../../../src/include/storage/bufmgr.h
cfn=(3234) TestForOldSnapshot
calls=291 266
* 3201
+1 3201
+1 291
+22 4365
+2 3201
+4 79080
+5 58360
+1 102130
+1 72950
+1 102130
+2 29180
+1 29180
+4 131310
cfi=(92)
cfn=(3236)
calls=14590 3902
* 569010
+3 29180
+1 116720
-21 58360
-1 14590
-1 29180
+2 4904
-1 1226
-1 2452
+1 291
-1 582
+27 1164
cfi=(50)
cfn=(3232)
calls=291 3553
* 32883
+3 873
+1 582
fn=(5170) heap_openrv
1336 3000
+3 2500
cfn=(5172) relation_openrv
calls=500 1215
* 65231981
* 500
+2 2500
+1 1500
-1 1000
+6 2500
+6 500
+1 2000
fn=(3142) heap_beginscan_strat
1437 418
+1 570
cfn=(3144) heap_beginscan_internal
calls=38 +33
* 54503
+3 76
fn=(3188) heap_getnext
1848 420
+5 336
+1 672
cfn=(3190) heapgettup_pagemode
calls=84 793
* 5837790
* 84
+5 336
+3 4
+9 902
+2 164
+1 168
fn=(5330) heap_multi_insert
2699 5000
+1 500
cfi=(26)
cfn=(5332) GetCurrentTransactionId
calls=500 401
* 9080
* 500
+8 3000
+1 3000
+5 6000
+1 11500
+4 2500
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+1 1000
+1 1575000
cfn=(5350)
calls=87500 -78
* 7000000
* 87500
-1 351500
+27 2500
cfi=(92)
cfn=(5352) CheckForSerializableConflictIn
calls=500 4282
* 16000
+2 500
+1 500
+3 2000
+1 2000
+3 6000
+6 38000
cfi=(309) /home/mithuncy/fsm_p11patch/src/backend/access/heap/hio.c
cfn=(5356) RelationGetBufferForTuple
calls=2000 323
* 28565610
* 2000
+3 18000
+3 6000
+6 22000
cfi=(309)
cfn=(5400) RelationPutHeapTuple
calls=2000 40
* 560000
+1 4000
+2 783000
+2 261000
cfi=(312) /home/mithuncy/fsm_p11patch/src/backend/storage/page/bufpage.c
cfn=(5394) PageGetHeapFreeSpace
calls=87000 663
* 4089000
* 870000
+1 1500
+2 513000
cfi=(309)
cfn=(5400)
calls=85500 40
* 33337500
+6 171000
-13 523000
+17 12000
+2 500
+1 3000
+1 2000
cfi=(50)
cfn=(3476)
calls=500 2612
* 8000
* 3000
cfi=(311) /home/mithuncy/fsm_p11patch/src/backend/access/heap/visibilitymap.c
cfn=(5404) visibilitymap_clear
calls=500 170
* 240500
+9 6000
cfi=(50)
cfn=(5406) MarkBufferDirty
calls=2000 1457
* 201000
+3 4000
2915 6000
+2 6000
cfi=(50)
cfn=(3586) UnlockReleaseBuffer
calls=2000 3339
* 555500
+1 6000
+1 1500
cfi=(50)
cfn=(3258)
calls=500 3316
* 134500
+2 4000
2750 7500
2938 2500
cfi=(92)
cfn=(5352)
calls=500 4282
* 16000
+8 1500
cfi=(170) /home/mithuncy/fsm_p11patch/src/backend/catalog/catalog.c
cfn=(3226) IsCatalogRelation
calls=500 97
* 34000
* 1000
+11 1000
+1 1400000
-1 351500
+3 3000
cfi=(38)
cfn=(5478) pgstat_count_heap_insert
calls=500 1912
* 140133
+1 2000
fn=(3144)
1471 760
+10 114
cfi=(148)
cfn=(3064) RelationIncrementReferenceCount
calls=38 1970
* 3344
+5 76
cfi=(13)
cfn=(940)
calls=38 925
* 3527
* 38
+2 114
+1 114
+1 114
+1 114
+1 114
+1 76
+1 114
+1 114
+1 114
+1 114
+5 418
+13 152
+1 190
cfi=(92)
cfn=(3146) PredicateLockRelation
calls=38 2453
* 1026
+3 152
+6 76
+1 304
cfi=(13)
cfn=(940)
calls=38 925
* 3589
* 114
+4 228
cfn=(3150)
calls=38 221
* 39179
+2 38
+1 76
fn=(3024)
1125 19105
+6 7642
+1 16605
cfi=(160)
cfn=(3026) LockRelationOid
calls=3321 106
* 7518304
+3 11463
cfi=(148)
cfn=(3054) RelationIdGetRelation
calls=3821 1904
* 45521082
* 3821
+2 7642
+12 19105
+3 11463
cfi=(38)
cfn=(3074) pgstat_initstats
calls=3821 1715
* 486499
+2 3821
+1 7642
fn=(3025)
1125 12800
+6 5120
+1 12800
cfi=(160)
cfn=(3026)
calls=2560 106
* 5705435
+3 7680
cfi=(148)
cfn=(3055) RelationIdGetRelation'2
calls=2560 1904
* 853970
* 2560
+2 5120
+12 12800
+3 7680
cfi=(38)
cfn=(3074)
calls=2560 1715
* 88173
+2 2560
+1 5120
fn=(5172)
1215 2500
+14 1000
+1 500
cfi=(155) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/inval.c
cfn=(2976) AcceptInvalidationMessages
calls=500 680
* 33500
+3 3500
cfi=(55)
cfn=(5174) RangeVarGetRelidExtended
calls=500 230
* 28506035
* 500
+3 2000
cfn=(3024)
calls=500 1125
* 36681446
+1 1000
fn=(5286) GetBulkInsertState
2377 1500
+3 1000
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+1 1000
cfi=(89) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/freelist.c
cfn=(5288) GetAccessStrategy
calls=500 543
* 662601
* 1000
+1 1000
+1 500
+1 1000
fn=(5484) FreeBulkInsertState
2391 2000
+1 2000
+1 2000
cfi=(50)
cfn=(3258)
calls=500 3316
* 120500
+1 2000
cfi=(89)
cfn=(5486) FreeAccessStrategy
calls=500 598
* 109468
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 1000
fn=(3190)
793 588
+1 252
+1 252
+13 168
+2 420
+5 304
+6 152
+15 114
+1 190
cfn=(3192)
calls=38 352
* 201698
+1 38
+1 114
+5 138
+1 184
+3 1008
+1 672
cfi=(177)
cfn=(3234)
calls=84 266
* 924
+1 252
+3 504
+95 337
+2 82314
+1 123471
+3 109752
+1 82314
+1 164628
+5 27438
+4 543527
cfi=(178)
cfn=(3238)
calls=1 428
* 335
* 397297
cfi=(178)
cfn=(3238)
calls=12816 428
* 1232201
* 192229
cfi=(171) /home/mithuncy/fsm_p11patch/src/backend/utils/fmgr/fmgr.c
cfn=(3240) FunctionCall2Coll
calls=13801 1134
* 662825
* 138256
+2 27438
+2 246
+1 82
+12 13637
+1 27274
+3 13637
-38 27948
+45 510
+8 1020
+7 255
+1 1020
+1 2
+1 1020
+1 506
-1 1269
+15 1012
-15 4
+15 8
+7 510
+2 8
+1 8
cfi=(50)
cfn=(3258)
calls=2 3316
* 482
+1 4
+1 4
+1 4
+1 4
+1 2
+3 1265
cfn=(3192)
calls=253 352
* 1743427
+2 3036
+1 2024
cfi=(177)
cfn=(3234)
calls=253 266
* 2783
+1 759
+1 506
+1 506
+3 253
+1 253
+1 168
fl=(117) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/port/atomics.h
fn=(2146) pg_atomic_init_u32
227 1170
+3 1170
cfi=(118)
cfn=(2148)
calls=234 -68
* 4914
+1 468
-4 166230
+3 166230
cfi=(118)
cfn=(2148)
calls=33246 -68
* 698166
+1 66492
fn=(5650) pg_atomic_fetch_or_u32
376 5
+2 5
cfi=(121)
cfn=(5652) pg_atomic_fetch_or_u32_impl
calls=1 212
* 16
+1 2
fn=(2174) pg_atomic_read_u32
245 210832
+2 158124
cfi=(118)
cfn=(2176)
calls=52708 47
* 368956
+1 105416
fn=(2178) pg_atomic_compare_exchange_u32
316 316248
+4 316248
cfi=(120)
cfn=(2180)
calls=52708 170
* 1054160
+1 105416
fn=(2184) pg_atomic_sub_fetch_u32
405 263540
+3 263540
cfi=(118)
cfn=(2186)
calls=52708 241
* 1317700
+1 105416
fn=(5656) pg_atomic_fetch_and_u32
362 5
+2 5
cfi=(121)
cfn=(5658) pg_atomic_fetch_and_u32_impl
calls=1 203
* 16
+1 2
fl=(121)
fn=(5658)
203 4
+1 10
+1 2
fn=(2188)
194 210832
+1 263540
+1 105416
fn=(5652)
212 4
+1 10
+1 2
fl=(175) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/../../../../src/include/port/atomics/arch-x86.h
fn=(5420) pg_atomic_fetch_add_u32_impl
190 6000
+2 7500
+6 1500
+1 3000
fn=(3220) pg_atomic_compare_exchange_u32_impl
170 127620
+12 51048
-5 229716
+7 51048
+1 51048
fl=(187) /home/mithuncy/fsm_p11patch/src/backend/access/index/amapi.c
fn=(3394) GetIndexAmRoutine
34 316
+4 316
cfi=(171)
cfn=(3396) OidFunctionCall0Coll
calls=79 1386
* 37051
* 79
+1 158
+2 474
+4 79
+1 158
fl=(126) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/shmqueue.c
fn=(2234) SHMQueueNext
146 2920
+1 1752
+4 1752
+1 160
+2 2520
+1 1168
fn=(2842) SHMQueueElemInit
58 6
+2 12
+1 4
fn=(2230) SHMQueueInsertBefore
90 82004
+1 61503
+5 82004
+1 82004
+1 61503
+1 61503
+1 41002
fn=(2228) SHMQueueInit
37 46944
+2 109536
+1 31296
fn=(2236) SHMQueueDelete
69 41343
+1 41343
+1 41343
+6 55124
+1 55124
+2 82686
+1 27562
fn=(5756) SHMQueueIsDetached
48 3
+2 4
+1 2
fl=(15)
fn=(448)
130 12
+5 8
cob=(3)
cfi=(3)
cfn=(454)
calls=1 0
* 34
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1294
* 6
* 4
+10 6
cfi=(11)
cfn=(456)
calls=2 -41
* 54
* 4
+2 8
+3 12
cfi=(11)
cfn=(458)
calls=2 +70
* 4156
+1 6
cfi=(11)
cfn=(484)
calls=2 255
* 2110
+2 6
cfn=(488) validate_exec
calls=2 -84
* 2684
* 4
+1 6
cfn=(504) resolve_symlinks
calls=2 +79
* 6975
* 2
+63 8
fn=(488)
69 8
+24 10
cfi=(9)
cfn=(490)
calls=2 -93
* 1318
* 4
+3 8
+8 8
cob=(3)
cfi=(3)
cfn=(502) access
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1265
* 6
* 8
+1 8
cob=(3)
cfi=(3)
cfn=(502)
calls=2 0
* 10
* 2
* 8
+5 12
+1 4
fn=(504)
233 10
+19 8
cob=(3)
cfi=(3)
cfn=(454)
calls=2 0
* 68
* 2
* 4
+12 6
cfi=(11)
cfn=(378)
calls=2 139
* 822
* 2
+1 4
+2 4
+1 6
cob=(3)
cfi=(3)
cfn=(510) chdir
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1258
* 6
* 4
+6 8
+5 10
cfi=(9)
cfn=(512)
calls=2 0
* 1325
* 4
+1 4
-1 4
+17 12
cfi=(16)
cfn=(460)
calls=2 46
* 300
+2 8
cob=(3)
cfi=(3)
cfn=(454)
calls=2 0
* 68
* 2
* 4
+6 12
cfi=(11)
cfn=(458)
calls=2 -84
* 857
+1 6
cfi=(11)
cfn=(484)
calls=2 -50
* 2110
+2 6
cob=(3)
cfi=(3)
cfn=(510)
calls=2 0
* 10
* 2
* 4
+8 2
+1 8
fn=(438) set_pglocale_pgservice
566 5
+8 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1325
* 5
* 2
+15 5
cfn=(448)
calls=1 130
* 13006
* 2
+19 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1709
* 5
* 2
+2 5
cfi=(11)
cfn=(524)
calls=1 714
* 4548
+3 8
cfi=(17)
cfn=(462)
calls=1 203
* 1676
+1 4
cfi=(11)
cfn=(484)
calls=1 255
* 1097
+1 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 301
* 1
* 1
+1 2
+1 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 4409
* 5
+2 2
fl=(85) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/spin.c
fn=(1996) SpinlockSemas
51 4
+1 2
+1 4
fn=(2004) SpinlockSemaSize
40 2
+1 1
cfn=(1996)
calls=1 +10
* 5
* 2
+1 2
fl=(99)
fn=(2154) RegisterLWLockTranches
492 3
+3 3
+2 1
+2 7
cfi=(13)
cfn=(2156)
calls=1 815
* 1040
-1 1
+6 2
+1 322
cfn=(2158)
calls=46 +98
* 782
-1 140
+3 3
cfn=(2158)
calls=1 +96
* 17
+1 3
cfn=(2158)
calls=1 +95
* 17
+1 3
cfn=(2158)
calls=1 +94
* 17
+2 3
cfn=(2158)
calls=1 +92
* 17
+2 3
cfn=(2158)
calls=1 +90
* 17
+2 3
cfn=(2158)
calls=1 +88
* 17
+2 3
cfn=(2158)
calls=1 +86
* 17
+2 3
cfn=(2158)
calls=1 +84
* 17
+2 3
cfn=(2158)
calls=1 +82
* 17
+1 3
cfn=(2158)
calls=1 +81
* 17
+1 3
cfn=(2158)
calls=1 +80
* 17
+3 5
+3 2
fn=(2182)
1726 210832
+10 158124
+1 368970
+1 52708
-2 158130
+4 105416
+3 316248
+2 158124
+1 52708
+1 26
-1 158132
+9 105416
+1 151930
cfi=(117)
cfn=(2184)
calls=30386 405
* 1124282
* 60772
+2 111610
cfi=(117)
cfn=(2184)
calls=22322 405
* 825914
* 22322
+10 210832
+5 52708
+6 105416
+12 158124
+1 105416
fn=(5648) LWLockWaitListLock
811 4
+12 5
cfi=(117)
cfn=(5650)
calls=1 376
* 28
* 1
+1 4
+1 1
+28 2
fn=(2140) CreateLWLocks
382 3
+8 4
+2 1
cfn=(2044) LWLockShmemSize
calls=1 -42
* 127
* 1
+5 3
cfi=(87)
cfn=(2134) ShmemAlloc
calls=1 158
* 67
* 1
+3 1
+3 6
+2 2
+6 3
+1 2
+3 1
cfn=(2142) InitializeLWLocks
calls=1 +12
* 14926
+4 1
cfn=(2154)
calls=1 +73
* 2528
+1 2
fn=(2144)
678 166230
+1 166230
cfi=(117)
cfn=(2146)
calls=33246 227
* 1097118
+4 132984
+1 132984
cfi=(119)
cfn=(2152)
calls=33246 30
* 365706
+1 66492
fn=(2860) InitLWLockAccess
536 2
+4 2
fn=(5646)
1799 6
+1 3
cfn=(5648)
calls=1 811
* 45
+7 3
+1 3
cfn=(5654) LWLockWaitListUnlock
calls=1 863
* 40
+2 3
cfn=(2182)
calls=1 -84
* 91
+1 2
fn=(2046) NumLWLocksByNamedTranches
335 6
+1 3
+3 15
+3 3
+1 6
fn=(2142)
427 3
+1 1
cfn=(2046)
calls=1 -93
* 11
* 1
+7 4
+1 230
cfn=(2144)
calls=46 678
* 2944
-1 186
+4 3
+1 2
+1 512
cfn=(2144)
calls=128 678
* 8192
-1 514
+4 3
+1 2
+1 64
cfn=(2144)
calls=16 678
* 1024
-1 66
+5 1
-1 2
+2 2
+1 64
cfn=(2144)
calls=16 678
* 1024
-1 66
+4 3
+30 2
fn=(5674)
1294 10
+8 6
+8 6
+3 10
cfn=(2172) LWLockAttemptLock
calls=2 740
* 176
* 2
+2 4
+11 12
+1 16
+3 12
+1 4
fn=(2158)
603 350
+3 210
+15 490
+1 140
fn=(2170)
1122 263530
+1 105412
+1 52706
+1 52706
+27 158118
+8 158118
+26 263530
cfn=(2172)
calls=52706 740
* 4615806
* 52706
+2 210824
+3 52706
+82 316236
+1 421648
+5 316236
+3 52706
+1 105412
fn=(2172)
740 263540
+9 210832
cfi=(117)
cfn=(2174)
calls=52708 245
* 843328
* 52708
+8 105416
+2 105416
+2 151930
+1 60772
+1 60772
+4 111610
+1 44644
+1 22322
+13 156254
cfi=(117)
cfn=(2178)
calls=22322 316
* 758948
* 212702
cfi=(117)
cfn=(2178)
calls=30386 316
* 1033124
* 105416
+3 105416
+7 105416
+7 105416
fn=(2044)
350 6
+3 2
+2 2
cfn=(2046)
calls=2 -20
* 22
* 2
+3 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 2
+3 8
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+3 10
cfi=(87)
cfn=(2000)
calls=2 493
* 28
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+3 10
+4 2
+2 2
+1 4
fn=(5758) LWLockReleaseAll
1825 2
+1 4
+6 2
fn=(5654)
863 4
+3 5
cfi=(117)
cfn=(5656)
calls=1 362
* 28
* 1
+3 2
fl=(108) /home/mithuncy/fsm_p11patch/src/backend/replication/walsender.c
fn=(2068) WalSndShmemSize
3028 9
+1 3
+2 3
+1 15
cfi=(87)
cfn=(2000)
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+2 3
+1 6
fn=(2282) WalSndShmemInit
3040 3
+5 1
cfn=(2068)
calls=1 -17
* 63
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1012
-1 1
+3 4
+3 4
cfn=(2068)
calls=1 -22
* 63
* 19
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 135
* 1
+2 2
+1 21
cfi=(126)
cfn=(2228)
calls=3 37
* 36
-1 11
+3 2
+2 120
+2 20
-4 43
+7 2
fl=(300) /home/mithuncy/fsm_p11patch/src/backend/executor/execMain.c
fn=(5258) CheckValidResultRel
1081 3500
+1 1500
+1 1500
+3 5000
+4 2500
cfi=(305) /home/mithuncy/fsm_p11patch/src/backend/executor/execReplication.c
cfn=(5260) CheckCmdReplicaIdentity
calls=500 569
* 8500
+1 500
1207 2500
fn=(5210) ExecCheckRTPerms
571 3500
+2 500
+2 1500
cfi=(242) /home/mithuncy/fsm_p11patch/src/backend/executor/../../../src/include/nodes/pg_list.h
cfn=(4372) list_head
calls=500 78
* 5000
* 1000
+2 1500
+2 1500
cfn=(5212) ExecCheckRTEPerms
calls=500 +23
* 12763284
* 500
+1 2000
-5 3500
+15 1500
+3 500
+1 2000
fn=(5212)
602 2000
+12 2000
+6 1500
+1 1000
+3 1500
+10 2500
cfi=(54)
cfn=(3326) GetUserId
calls=500 381
* 2500
* 500
+7 3000
cfi=(227) /home/mithuncy/fsm_p11patch/src/backend/catalog/aclchk.c
cfn=(5214) pg_class_aclmask
calls=500 3833
* 12741784
* 500
+1 2000
+1 1000
+69 500
+1 1000
fn=(5252) InitResultRelInfo
1286 4000
+1 500
+2 97500
+1 1000
+1 1500
+1 1500
+1 1000
+1 1000
+1 1000
+2 2000
cfi=(165) /home/mithuncy/fsm_p11patch/src/backend/commands/trigger.c
cfn=(5254) CopyTriggerDesc
calls=500 2141
* 6500
* 1000
+1 2000
+13 1000
+1 1000
+1 1000
+2 2500
+3 1000
+3 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+15 1500
cfi=(304) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/partcache.c
cfn=(5256) RelationGetPartitionQual
calls=500 378
* 7000
* 500
+2 1500
+1 1500
+1 1000
+1 1000
fn=(5504) ExecCleanUpTriggerState
1454 2000
+3 2000
cfi=(242)
cfn=(4372)
calls=500 78
* 4000
* 2000
+19 1000
fl=(306) /home/mithuncy/fsm_p11patch/src/backend/executor/execIndexing.c
fn=(5502) ExecCloseIndices
225 2000
+5 1500
+1 1500
+2 2500
+13 1000
fn=(5262) ExecOpenIndices
150 3000
+1 1500
+8 1000
+3 3000
+1 500
+52 1000
fl=(84) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/proc.c
fn=(1994) ProcGlobalSemas
129 2
+5 2
+1 2
fn=(2868) InitProcessPhase2
465 2
+6 3
cfi=(100) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/procarray.c
cfn=(2870) ProcArrayAdd
calls=1 277
* 331
+5 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(3656) LockErrorCleanup
696 9
+4 9
+2 3
cfi=(91) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/lock.c
cfn=(3658) AbortStrongLockAcquire
calls=3 1667
* 30
+3 9
+2 12
+44 6
fn=(2830) InitProcess
296 4
+7 3
+3 3
+4 1
cfi=(105)
cfn=(2832) IsAutoVacuumLauncherProcess
calls=1 3272
* 5
* 3
cfi=(105)
cfn=(2834) IsAutoVacuumWorkerProcess
calls=1 3278
* 5
* 2
+2 3
+3 3
+9 3
cfi=(142) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/storage/s_lock.h
cfn=(2836) tas
calls=1 -99
* 14
* 2
+2 4
cfi=(143) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/s_lock.c
cfn=(2838) set_spins_per_delay
calls=1 197
* 7
+2 3
+2 3
+2 4
+1 2
+15 11
+14 5
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 3
+1 1
cfi=(102)
cfn=(2840) MarkPostmasterChildActive
calls=1 257
* 12
+6 3
cfi=(126)
cfn=(2842)
calls=1 58
* 11
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 3
+2 2
+1 2
+1 2
+1 2
+1 3
+1 2
+1 2
+2 1
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+2 2
+1 2
+1 2
+1 2
+10 2
+3 2
+1 2
+1 4
cfi=(126)
cfn=(2842)
calls=1 58
* 11
+3 2
+1 2
+8 2
+3 2
+1 2
+1 2
+1 2
+1 2
+8 4
cfi=(122)
cfn=(2844) OwnLatch
calls=1 297
* 13
+1 1
cfi=(54)
cfn=(2846) SwitchToSharedLatch
calls=1 -91
* 144
+7 4
cfi=(86) /home/mithuncy/fsm_p11patch/src/backend/port/pg_sema.c
cfn=(2852) PGSemaphoreReset
calls=1 285
* 893
+5 3
cfi=(67)
cfn=(2110)
calls=1 -84
* 32
+6 1
cfi=(99)
cfn=(2860)
calls=1 +84
* 4
+1 1
cfi=(144) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/deadlock.c
cfn=(2862) InitDeadLockChecking
calls=1 144
* 1785
+1 4
fn=(3038) ProcQueueInit
1023 27560
+1 20670
cfi=(126)
cfn=(2228)
calls=6890 37
* 82680
+1 13780
+1 13780
fn=(5752) ProcKill
800 6
+7 1
cfi=(56)
cfn=(5754) SyncRepCleanupAtProcExit
calls=1 364
* 20
+17 1
cfi=(99)
cfn=(5758)
calls=1 1825
* 8
+3 1
cfi=(128)
cfn=(5760) ConditionVariableCancelSleep
calls=1 199
* 10
+3 3
+4 1
cfi=(106)
cfn=(5762)
calls=1 480
* 435
+8 4
+33 1
cfi=(54)
cfn=(5764) SwitchBackToLocalLatch
calls=1 362
* 142
+1 2
+1 1
+1 4
cfi=(122)
cfn=(5766) DisownLatch
calls=1 317
* 7
+2 3
+1 3
cfi=(142)
cfn=(2836)
calls=1 225
* 14
* 2
+7 4
+6 4
+1 3
+4 5
cfi=(143)
cfn=(5768) update_spins_per_delay
calls=1 208
* 16
* 1
+2 2
+7 4
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 3
+1 1
cfi=(102)
cfn=(5770) MarkPostmasterChildInactive
calls=1 290
* 12
+3 3
+2 4
fn=(2022) ProcGlobalShmemSize
103 3
+1 1
+3 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 3
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 5
cfi=(87)
cfn=(2000)
calls=1 493
* 14
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 5
cfi=(87)
cfn=(2000)
calls=1 493
* 14
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(5748) RemoveProcFromArray
789 5
+2 4
cfi=(100)
cfn=(5750) ProcArrayRemove
calls=1 335
* 313
+1 2
fn=(2240) InitProcGlobal
163 4
+6 5
+4 5
cfi=(87)
cfn=(2168)
calls=1 373
* 907
-1 1
+7 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 5
cfi=(117)
cfn=(2146)
calls=1 +39
* 33
+1 5
cfi=(117)
cfn=(2146)
calls=1 +38
* 33
+10 4
cfi=(87)
cfn=(2134)
calls=1 -41
* 67
* 1
+1 24
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 10775
* 1
+1 3
+2 4
+10 7
cfi=(87)
cfn=(2134)
calls=1 -55
* 67
* 1
+1 27
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 163
* 1
+1 3
+2 2
+9 464
+2 696
cfi=(86)
cfn=(2242) PGSemaphoreCreate
calls=116 +24
* 6487
* 116
+1 928
cfi=(122)
cfn=(2192)
calls=116 +32
* 1276
+1 1044
cfi=(99)
cfn=(2144)
calls=116 678
* 7424
+2 812
+10 348
+3 800
+1 700
+1 900
+2 96
+3 32
+1 28
+1 36
+2 36
+3 64
+1 56
+1 64
+4 232
+1 24128
cfi=(126)
cfn=(2228)
calls=1856 37
* 22272
-1 5800
+4 928
cfi=(127)
cfn=(2252)
calls=116 +10
* 1392
+6 1044
cfi=(117)
cfn=(2146)
calls=116 -48
* 3828
+1 1044
cfi=(117)
cfn=(2146)
calls=116 -49
* 3828
-59 467
+66 6
+1 7
+3 2
cfi=(87)
cfn=(2134)
calls=1 158
* 67
* 1
+1 2
+1 4
fn=(3654) ProcReleaseLocks
772 10
+1 6
+3 2
cfn=(3656)
calls=2 -80
* 52
+2 20
cfi=(91)
cfn=(3660) LockReleaseAll
calls=2 2090
* 811401
+2 6
cfi=(91)
cfn=(3660)
calls=2 2090
* 10061
+1 4
fl=(183) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/oid.c
fn=(3338) oideq
355 56181
+1 56181
+1 56181
+2 77670
+1 37454
fl=(261) /home/mithuncy/fsm_p11patch/src/backend/optimizer/prep/../../../../src/include/nodes/pg_list.h
fn=(4600) list_head
78 18
+1 18
+1 12
-2 9
+1 9
+1 6
-2 9
+1 9
+1 6
fn=(4610) list_length
90 9
+1 9
+1 6
fl=(289)
fn=(5038) sql_fn_make_param
422 12
+3 8
cfi=(13)
cfn=(2156)
calls=2 815
* 273
* 10
+1 4
+1 6
+1 20
+1 4
+1 8
cfi=(272)
cfn=(4978)
calls=2 2791
* 948
* 4
+1 6
+7 16
+1 4
+2 1
+1 2
-1 1
+1 2
fn=(5062) check_sql_fn_retval
1589 10
+11 2
+1 2
+1 2
+7 2
+8 1
+1 3
cfi=(242)
cfn=(4372)
calls=1 78
* 10
* 2
+2 3
+2 4
+1 2
-5 7
+19 2
+1 2
-1 2
+3 3
+1 4
+30 3
cfi=(240) /home/mithuncy/fsm_p11patch/src/backend/executor/execUtils.c
cfn=(4526) ExecCleanTargetListLength
calls=1 1091
* 39
* 1
+2 3
cfi=(272)
cfn=(5064) get_typtype
calls=1 2375
* 474
* 1
+2 2
+12 2
+8 3
cfi=(242)
cfn=(4372)
calls=1 78
* 10
* 2
+3 4
cfi=(247)
cfn=(4434)
calls=1 43
* 24
* 1
+1 5
cfi=(285)
cfn=(5066) IsBinaryCoercible
calls=1 2136
* 12
* 3
+7 5
+13 2
-40 1
1959 1
+1 5
fn=(5016) prepare_sql_fn_parse_info
187 7
+2 8
+3 2
cfi=(13)
cfn=(2546)
calls=1 956
* 180
* 1
+3 4
cfi=(13)
cfn=(928)
calls=1 1162
* 189
* 2
+3 3
+6 7
+1 2
+5 5
cfi=(13)
cfn=(940)
calls=1 925
* 110
* 1
+1 3
+1 2
-1 4
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 12
* 1
+4 2
+2 14
+2 16
+2 5
cfi=(171)
cfn=(5018) get_call_expr_argtype
calls=1 2015
* 98
* 1
+1 2
+5 7
-12 11
+16 3
+6 2
+7 7
cfi=(151) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/syscache.c
cfn=(3982) SysCacheGetAttr
calls=1 1376
* 65
* 1
+3 3
+1 1
+2 7
cfi=(151)
cfn=(3982)
calls=1 1376
* 65
* 1
+3 3
+1 1
+2 7
cfi=(291) /home/mithuncy/fsm_p11patch/src/backend/utils/fmgr/funcapi.c
cfn=(5026) get_func_input_arg_names
calls=1 974
* 14
* 1
+4 3
+1 3
+5 1
+1 4
fn=(5032) sql_fn_parser_setup
274 4
+1 2
+1 2
+1 2
+2 3
+1 2
fn=(5036)
405 10
+1 6
+1 6
+3 12
+3 14
cfn=(5038)
calls=2 +9
* 1329
+1 4
fl=(52)
fn=(5604) disable_statement_timeout
4719 4
+1 6
+6 4
fn=(5696) ProcessInterrupts
2973 6
+2 6
+2 1
+2 3
+2 1
+1 1
+1 1
cfi=(84)
cfn=(3656)
calls=1 696
* 26
+2 3
+2 3
+4 1
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+4 1
cfi=(318) /home/mithuncy/fsm_p11patch/src/backend/replication/logical/worker.c
cfn=(5698) IsLogicalWorker
calls=1 1766
* 7
* 2
+4 1
cfi=(72)
cfn=(5700) IsLogicalLauncher
calls=1 1088
* 9
* 2
+11 3
+8 3
+11 6
cfi=(57)
cfn=(1548)
calls=1 232
* 361
* 5
cfi=(57)
cfn=(1882)
calls=1 785
* 789
* 3
cfi=(57)
cfn=(5702) errcode
calls=1 571
* 18
* 4
cfi=(57)
cfn=(1896)
calls=1 411
* 61489
fn=(3788) SocketBackend
333 10
+6 6
+1 2
cfi=(58)
cfn=(2784)
calls=2 1211
* 24
+1 2
cfi=(58)
cfn=(3790) pq_getbyte
calls=2 1001
* 65304
* 1
+2 2
+29 7
+3 1
+1 4
+24 1
+89 4
+2 4
cfi=(58)
cfn=(3810) pq_getmessage
calls=1 1273
* 343
* 2
+5 3
+2 1
+1 4
fn=(3826) start_xact_command
2571 4
+1 8
+2 1
cfi=(26)
cfn=(2948) StartTransactionCommand
calls=1 2704
* 1388
+2 1
+10 1
cfn=(3828) enable_statement_timeout
calls=1 4698
* 47
* 1
cfn=(3828)
calls=1 4698
* 47
+1 4
fn=(3828)
4698 4
+4 6
+9 6
cfi=(138)
cfn=(2804)
calls=2 526
* 74
+1 4
fn=(4584) pg_plan_query
862 18
+4 12
+8 9
+4 18
cfi=(258) /home/mithuncy/fsm_p11patch/src/backend/optimizer/plan/planner.c
cfn=(4586) planner
calls=3 268
* 266512
* 3
+2 9
+49 9
+5 3
+1 6
fn=(4388) pg_analyze_and_rewrite_params
722 24
+12 9
+3 6
cfi=(223)
cfn=(3906)
calls=3 45
* 1038
* 3
+1 9
+1 9
+1 18
cob=(12)
cfi=(231)
cfn=(4390) plpgsql_parser_setup
calls=3 1052
* 54
+2 15
cfi=(222)
cfn=(3908)
calls=3 192
* 583698
* 3
+2 9
+3 9
cfi=(223)
cfn=(3914)
calls=3 78
* 318
+2 9
+6 9
cfn=(3916) pg_rewrite_query
calls=3 +15
* 2472
* 3
+4 3
+1 6
fn=(1064)
3326 18
+1 15
+1 3
cfn=(1066)
calls=3 4517
* 1357
* 3
+2 18
+7 3
+1 6
fn=(2414)
3210 2
+8 2
+4 2
+5 1
+1 2
fn=(3830) drop_unnamed_stmt
2670 3
+2 3
+7 2
fn=(3890) check_log_statement
2182 4
+3 3
+1 2
+14 2
fn=(3918) pg_plan_queries
947 3024
+1 504
+3 1512
cfi=(220) /home/mithuncy/fsm_p11patch/src/backend/tcop/../../../src/include/nodes/pg_list.h
cfn=(3894) list_head
calls=504 78
* 5040
* 1008
+2 1512
+3 2016
+3 2004
cfi=(13)
cfn=(3400)
calls=501 853
* 122244
* 2505
+1 1002
+1 2004
+1 2004
+1 2004
+1 2505
+4 18
cfn=(4584)
calls=3 862
* 266599
* 3
+3 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 2505
cfi=(45)
cfn=(960)
calls=501 129
* 145290
* 504
-20 3528
+23 504
+1 1008
fn=(5602) finish_xact_command
2591 4
+2 2
cfn=(5604)
calls=2 4719
* 14
+2 6
+2 1
cfi=(26)
cfn=(3596) CommitTransactionCommand
calls=1 2775
* 862720
+13 1
+2 4
fn=(1066)
4517 15
+5 15
+4 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1310
* 5
* 2
+2 3
+3 4
+3 2
+2 1
+9 2
-9 4
+9 8
fn=(3782) ProcessClientWriteInterrupt
577 30
+1 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 12
+2 18
+35 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 12
+1 12
fn=(2812)
3730 8
+4 1
+1 1
+3 4
+3 1
+5 4
+6 7
cfn=(2814) process_postgres_switches
calls=1 3470
* 155
+3 3
+11 4
+20 3
+4 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+2 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+7 3
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
* 1
+3 1
cfi=(138)
cfn=(2758)
calls=1 341
* 653
+8 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+1 3
cfi=(28)
cfn=(784)
calls=1 41
* 174
+6 3
cfi=(28)
cfn=(784)
calls=1 41
* 177
+4 1
cfi=(27)
cfn=(750)
calls=1 42
* 359
+2 3
+3 3
cob=(3)
cfi=(3)
cfn=(768) sigdelset
calls=1 0
* 10
* 1
+3 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+2 4
+24 1
cfi=(75)
cfn=(2816) BaseInit
calls=1 547
* 3525
+12 1
cfi=(84)
cfn=(2830)
calls=1 296
* 3097
+4 4
cob=(3)
cfi=(3)
cfn=(774)
calls=1 0
* 7
* 1
+9 8
cfi=(75)
cfn=(2866) InitPostgres
calls=1 589
* 16283274
+9 3
+2 3
cfi=(13)
cfn=(1396) MemoryContextDelete
calls=1 212
* 1332
+1 1
+3 1
+6 1
cfi=(29)
cfn=(3710)
calls=1 5858
* 17295
+6 6
+4 3
+7 1
cfi=(54)
cfn=(3726) process_session_preload_libraries
calls=1 1601
* 52
+5 3
+4 4
cfi=(179)
cfn=(3292)
calls=1 88
* 137
+1 6
cfi=(207) /home/mithuncy/fsm_p11patch/src/backend/tcop/../../../src/include/libpq/pqformat.h
cfn=(3728) pq_sendint32
calls=1 146
* 74
+1 6
cfi=(207)
cfn=(3728)
calls=1 146
* 74
+1 3
cfi=(179)
cfn=(3298)
calls=1 299
* 335
+5 3
+9 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 1
+10 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 1
+3 3
cfi=(208) /home/mithuncy/fsm_p11patch/src/backend/tcop/../../../src/include/utils/palloc.h
cfn=(3732) MemoryContextSwitchTo
calls=1 110
* 10
+1 2
cfi=(80)
cfn=(1888)
calls=1 47
* 154
+1 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
+5 4
+25 4
cob=(3)
cfi=(3)
cfn=(370) __sigsetjmp
calls=1 0
* 42
* 1
* 2
4101 2
+2 4
+1 1
+12 1
+6 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
-6 1
+6 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
+1 6
cfi=(13)
cfn=(3734) MemoryContextReset
calls=2 137
* 210
+2 6
cfi=(80)
cfn=(1888)
calls=2 47
* 308
+6 2
cfi=(110) /home/mithuncy/fsm_p11patch/src/backend/utils/time/snapmgr.c
cfn=(3736) InvalidateCatalogSnapshotConditionally
calls=2 532
* 14
+15 6
+2 2
cfi=(26)
cfn=(3738) IsAbortedTransactionBlockState
calls=2 354
* 30
* 4
+13 2
cfi=(26)
cfn=(3740) IsTransactionOrTransactionBlock
calls=2 4471
* 24
* 4
+15 2
cfi=(113) /home/mithuncy/fsm_p11patch/src/backend/commands/async.c
cfn=(3742) ProcessCompletedNotifies
calls=2 1102
* 20
+1 4
cfi=(38)
cfn=(3744) pgstat_report_stat
calls=2 813
* 112794
+2 6
cfi=(12)
cfn=(2802) set_ps_display
calls=2 332
* 364
+1 6
cfi=(38)
cfn=(3762) pgstat_report_activity
calls=2 2991
* 134
+3 6
cfi=(209) /home/mithuncy/fsm_p11patch/src/backend/tcop/dest.c
cfn=(3766) ReadyForQuery
calls=2 251
* 1652
+1 2
+9 2
+5 6
cfn=(3786) ReadCommand
calls=2 510
* 65750
* 1
+11 3
+1 1
+5 2
+10 3
+10 3
+3 7
+7 1
cfi=(26)
cfn=(2946) SetCurrentStatementStartTimestamp
calls=1 735
* 31
+2 3
cfi=(179)
cfn=(3812) pq_getmsgstring
calls=1 582
* 2774
* 1
+1 3
cfi=(179)
cfn=(3822) pq_getmsgend
calls=1 638
* 15
+2 3
+6 3
cfn=(3824) exec_simple_query
calls=1 985
* 368616545
+2 1
+2 1
4483 1
fn=(5690) die
2762 4
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+3 4
+2 1
+1 1
+4 3
cfi=(122)
cfn=(2850)
calls=1 437
* 49
+8 6
+3 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 2
fn=(3824)
985 6
+1 2
+4 2
+1 1
+7 2
+2 4
cfi=(38)
cfn=(3762)
calls=1 2991
* 250
+8 2
+10 1
cfn=(3826)
calls=1 2571
* 1446
+8 1
cfn=(3830)
calls=1 2670
* 8
+5 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
* 1
+6 3
cfn=(3832) pg_parse_query
calls=1 633
* 8601
* 1
+3 3
cfn=(3890)
calls=1 2182
* 11
* 2
+12 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
+10 3
cfi=(220)
cfn=(3892) list_length
calls=1 90
* 10
* 3
+5 3
cfi=(220)
cfn=(3894)
calls=1 78
* 10
* 2
+2 3
+1 1
+15 4
cfi=(221) /home/mithuncy/fsm_p11patch/src/backend/tcop/utility.c
cfn=(3896) CreateCommandTag
calls=1 2083
* 17
* 1
+2 4
cfi=(12)
cfn=(2802)
calls=1 332
* 174
+2 5
cfi=(209)
cfn=(3898) BeginCommand
calls=1 104
* 6
+10 1
cfi=(26)
cfn=(3738)
calls=1 354
* 15
* 2
+9 1
cfn=(3826)
calls=1 2571
* 56
+9 2
+4 3
+5 3
cfi=(222)
cfn=(3900)
calls=1 358
* 18
* 2
+12 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
* 1
+2 7
cfn=(3902) pg_analyze_and_rewrite
calls=1 683
* 1235
* 1
+3 5
cfn=(3918)
calls=1 947
* 607
* 1
+4 2
+4 3
+6 4
cfi=(156) /home/mithuncy/fsm_p11patch/src/backend/utils/mmgr/portalmem.c
cfn=(3920) CreatePortal
calls=1 176
* 1897
* 1
+2 2
+7 9
cfi=(156)
cfn=(3924) PortalDefineQuery
calls=1 287
* 27
+10 6
cfi=(224) /home/mithuncy/fsm_p11patch/src/backend/tcop/pquery.c
cfn=(3926) PortalStart
calls=1 445
* 220
+8 1
+1 5
+13 5
cfi=(224)
cfn=(3932) PortalSetResultFormat
calls=1 625
* 16
+5 3
cfi=(209)
cfn=(3934) CreateDestReceiver
calls=1 114
* 291
* 1
+1 2
+1 5
cfi=(225) /home/mithuncy/fsm_p11patch/src/backend/access/common/printtup.c
cfn=(3938) SetRemoteDestReceiverParams
calls=1 107
* 15
+5 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
+5 12
cfi=(224)
cfn=(3940) PortalRun
calls=1 689
* 367659483
+8 5
cfi=(225)
cfn=(5590) printtup_destroy
calls=1 558
* 94
+2 4
cfi=(156)
cfn=(5592) PortalDrop
calls=1 466
* 78746
+2 4
+11 2
+2 1
cfn=(5602)
calls=1 2591
* 862737
* 1
+25 5
cfi=(209)
cfn=(5686) EndCommand
calls=1 167
* 270
1067 7
1273 1
cfn=(5602)
calls=1 2591
* 15
+5 2
+6 5
cfn=(5688) check_log_duration
calls=1 2220
* 18
* 5
+16 2
+5 1
+1 5
fn=(3832)
633 2020
+5 1515
+3 1515
cfi=(211)
cfn=(3834) raw_parser
calls=505 37
* 6395248
* 505
+2 1515
+24 505
+1 1010
fn=(3786)
510 8
+3 6
+1 6
cfn=(3788)
calls=2 333
* 65725
* 2
+3 1
+1 2
fn=(3902)
683 4008
+9 1503
+3 4008
cfi=(222)
cfn=(3904)
calls=501 103
* 443886
* 501
+3 1503
+6 1503
cfn=(3916)
calls=501 +66
* 159819
* 501
+4 501
+1 1002
fn=(3960) stack_is_too_deep
3277 1514
+7 4542
+5 1514
+11 2271
+20 757
+1 1514
fn=(2794) ProcessClientReadInterrupt
531 35
+1 7
cob=(5)
cfi=(5)
cfn=(472)
calls=7 0
* 21
* 7
* 14
+2 21
+3 16
cfn=(5696)
calls=1 2973
* 62762
+3 12
+4 12
+3 6
+16 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 12
+1 12
fn=(2814)
3470 9
+1 3
+1 1
+4 2
+2 1
+3 2
+18 1
+8 7
cob=(3)
cfi=(3)
cfn=(1254)
calls=1 0
* 106
* 1
* 3
3682 8
+3 5
+23 1
+4 5
fn=(1072)
3343 12
+1 12
+2 6
+1 6
fn=(3916)
770 2016
+3 1512
+4 1512
+3 2016
+3 2004
cfi=(45)
cfn=(1586)
calls=501 260
* 145290
* 1002
+5 9
cfi=(249) /home/mithuncy/fsm_p11patch/src/backend/rewrite/rewriteHandler.c
cfn=(4458) QueryRewrite
calls=3 3690
* 2391
* 3
+3 1512
+57 1512
+4 504
+1 1008
fn=(3958)
3263 3028
+1 757
cfn=(3960)
calls=757 +13
* 12112
* 1514
+9 3028
fn=(5688)
2220 7
+1 6
+45 1
+1 4
fl=(221)
fn=(3954) standard_ProcessUtility
384 10
+1 3
+1 3
+1 3
cfi=(26)
cfn=(3956) IsTransactionBlock
calls=1 4453
* 16
* 5
+4 1
cfi=(52)
cfn=(3958)
calls=1 3263
* 27
+2 3
cfn=(3962) check_xact_readonly
calls=1 135
* 23
+2 2
+1 2
+2 2
cfi=(223)
cfn=(3906)
calls=1 45
* 346
* 1
+1 3
+2 8
523 5
cfi=(226) /home/mithuncy/fsm_p11patch/src/backend/commands/functioncmds.c
cfn=(3964) ExecuteDoStmt
calls=1 2093
* 367657059
+1 1
929 3
cfi=(223)
cfn=(3914)
calls=1 78
* 106
+1 4
fn=(3955) standard_ProcessUtility'2
384 5000
+1 1500
+1 1500
+1 4000
+4 500
cfi=(52)
cfn=(3958)
calls=500 3263
* 13500
+2 1500
cfn=(3962)
calls=500 135
* 11500
+2 1000
+1 1000
+2 1000
cfi=(223)
cfn=(3906)
calls=500 45
* 157500
* 500
+1 1500
+2 4000
551 5000
cfi=(296) /home/mithuncy/fsm_p11patch/src/backend/commands/copy.c
cfn=(5166) DoCopy
calls=500 796
* 347999946
+3 1000
+1 3500
cfi=(17)
cfn=(462)
calls=500 203
* 295500
+3 500
929 1500
cfi=(223)
cfn=(3914)
calls=500 78
* 53000
+1 2000
fn=(3962)
135 2004
+2 2505
cfi=(26)
cfn=(1210)
calls=501 911
* 4008
* 1503
+1 501
+92 1002
fn=(3930) UtilityReturnsTuples
1747 2004
+1 5511
+41 501
+2 1002
fn=(3952) ProcessUtility
345 9
+10 3
+5 10
cfn=(3954)
calls=1 +24
* 367657636
+3 2
fn=(3953) ProcessUtility'2
345 4500
+10 1500
+5 5000
cfn=(3955)
calls=500 +24
* 348567446
+3 1000
fn=(5226) PreventCommandIfParallelMode
258 2500
+1 500
cfi=(26)
cfn=(1210)
calls=500 911
* 4000
* 1000
+6 2000
fn=(3896)
2083 2016
+3 4032
+21 3
+1 3
2382 500
+1 500
2529 1
+1 1
2928 504
+1 1008
fl=(262) /home/mithuncy/fsm_p11patch/src/backend/optimizer/prep/prepunion.c
fn=(4608) expand_inherited_tables
1474 12
+10 15
cfi=(261)
cfn=(4610)
calls=3 90
* 24
* 3
+1 15
cfi=(261)
cfn=(4600)
calls=3 78
* 24
* 3
+1 15
+7 6
fl=(66) /home/mithuncy/fsm_p11patch/src/backend/utils/init/../../../../src/include/pgstat.h
fn=(1562) pgstat_report_wait_start
1239 60
+1 40
+2 120
+1 20
+7 40
fn=(1572) pgstat_report_wait_end
1263 40
+1 40
+2 120
+1 20
+7 40
fl=(63)
fn=(1508) validateTzEntry
52 1568
+7 1568
cob=(3)
cfi=(3)
cfn=(424)
calls=392 -59
* 5880
* 392
* 784
+11 1568
+1 784
-1 784
+12 1568
+1 7130
cfi=(32)
cfn=(1510) pg_tolower
calls=1426 +40
* 19964
* 2852
-1 8698
+3 392
+1 784
fn=(1472)
439 8
+1 2
+11 14
cfi=(14)
cfn=(432)
calls=2 -56
* 713
* 2
+3 6
cfi=(61) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/../../../../src/include/utils/palloc.h
cfn=(1270) MemoryContextSwitchTo
calls=2 110
* 20
* 2
+3 2
+1 16
cfi=(13)
cfn=(940)
calls=2 925
* 879
* 2
+3 14
cfn=(1474) ParseTzFile
calls=2 278
* 1510104
* 2
+3 4
+2 10
cfi=(64)
cfn=(1518) ConvertTimeZoneAbbrevs
calls=2 4508
* 71378
* 2
+1 4
+5 6
cfi=(61)
cfn=(1270)
calls=2 110
* 20
+1 6
cfi=(13)
cfn=(1396)
calls=2 212
* 1740
+2 2
+1 4
fn=(1512) addToArray
190 3528
+10 1176
+1 392
+1 1176
+1 392
+2 12380
+1 24760
+3 17332
cob=(3)
cfi=(3)
cfn=(446)
calls=2476 0
* 64804
* 2476
* 2476
+1 4952
+1 3952
+1 2976
+1 5952
-10 8604
+46 1568
+2 10
+1 26
cfi=(13)
cfn=(1514) repalloc
calls=2 1045
* 2334
* 4
+3 20
+2 32
cob=(3)
cfi=(3)
cfn=(482) __memmove_ssse3
calls=2 0
* 258
* 2
-2 3900
+2 6240
cob=(3)
cfi=(3)
cfn=(482)
calls=390 0
* 176242
* 390
+2 2352
cob=(3)
cfi=(3)
cfn=(856)
calls=392 0
* 7840
* 392
+2 784
+1 784
fn=(1474)
278 16
+7 2
+1 2
+9 6
+2 14
cob=(3)
cfi=(3)
cfn=(914)
calls=14 0
* 42
* 14
* 154
-2 78
+17 4
+7 8
cfi=(11)
cfn=(1428)
calls=2 705
* 9167
+1 20
cfi=(17)
cfn=(462)
calls=2 203
* 1028
+2 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1290
* 2
+1 4
+36 2
+2 1266
+1 6330
cob=(3)
cfi=(3)
cfn=(1486) fgets
calls=1265 0
* 308214
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1783
* 1270
* 2532
+2 6
cob=(3)
cfi=(3)
cfn=(1366) ferror
calls=2 0
* 72
* 2
* 4
+7 2
+2 3792
cob=(3)
cfi=(3)
cfn=(424)
calls=1264 0
* 27004
* 1264
* 2528
+9 2528
+1 1264
+1 12148
-1 67016
cob=(3)
cfi=(3)
cfn=(914)
calls=13368 0
* 40104
* 13368
* 147048
+3 5056
+1 44
+1 4880
+1 828
+2 1960
cfi=(32)
cfn=(970) pg_strncasecmp
calls=392 70
* 18032
* 784
+19 1960
cfi=(32)
cfn=(970)
calls=392 70
* 18032
* 784
+6 2352
cfn=(1500) splitTzLine
calls=392 99
* 325415
* 1176
+2 1176
cfn=(1508)
calls=392 52
* 54716
* 1176
+2 3136
cfn=(1512)
calls=392 190
* 360506
* 392
+1 784
-62 3798
cob=(3)
cfi=(3)
cfn=(1480) feof
calls=1265 0
* 45540
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1290
* 1270
* 2532
+66 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1067
+2 2
+1 4
fn=(1500)
99 2744
+7 1176
+1 1176
+2 1568
cob=(3)
cfi=(3)
cfn=(1506) strtok
calls=391 0
* 38327
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1374
* 396
* 392
+1 784
+6 1176
cfi=(13)
cfn=(928)
calls=392 1162
* 69030
* 784
+2 1176
cob=(3)
cfi=(3)
cfn=(1506)
calls=392 0
* 47944
* 392
* 392
+1 784
+8 392
cob=(3)
cfi=(3)
cfn=(914)
calls=392 0
* 1176
* 392
* 5784
+2 580
+1 1740
cob=(3)
cfi=(3)
cfn=(1246)
calls=290 0
* 53034
* 290
* 870
+1 2030
+7 870
cob=(3)
cfi=(3)
cfn=(1506)
calls=290 0
* 28138
* 290
* 290
+1 1740
cfi=(32)
cfn=(968)
calls=290 37
* 11502
* 580
+2 192
+1 288
cob=(3)
cfi=(3)
cfn=(1506)
calls=96 0
* 8928
* 96
* 96
-3 96
+8 388
+1 388
-9 194
+19 306
cfi=(13)
cfn=(928)
calls=102 1162
* 20994
* 204
+1 204
+1 204
+1 306
cob=(3)
cfi=(3)
cfn=(1506)
calls=102 0
* 9486
* 102
* 102
+3 784
+3 1568
+6 392
+1 784
fl=(75)
fn=(3580) process_settings
1153 5
+4 4
+3 3
cfi=(169)
cfn=(3022)
calls=1 1307
* 53091
* 1
+3 2
cfi=(110)
cfn=(3120) GetCatalogSnapshot
calls=1 441
* 54
* 2
cfi=(110)
cfn=(3128) RegisterSnapshot
calls=1 864
* 438
* 1
+3 7
cfi=(198)
cfn=(3582)
calls=1 222
* 88614
+1 7
cfi=(198)
cfn=(3582)
calls=1 222
* 10397
+1 8
cfi=(198)
cfn=(3582)
calls=1 222
* 10397
+1 8
cfi=(198)
cfn=(3582)
calls=1 222
* 10397
+2 3
cfi=(110)
cfn=(3266) UnregisterSnapshot
calls=1 906
* 298
+1 4
cfi=(169)
cfn=(3080)
calls=1 1283
* 2046
+1 2
fn=(2818) InitCommunication
439 2
+4 4
+8 2
fn=(5722) ShutdownPostgres
1187 5
+2 1
cfi=(26)
cfn=(5724) AbortOutOfAnyTransaction
calls=1 4349
* 91
+6 3
cfi=(91)
cfn=(3660)
calls=1 2090
* 8931
+1 2
fn=(3340) GetDatabaseTuple
96 8
+9 16
cfi=(184)
cfn=(3342)
calls=2 -24
* 228
+10 6
cfi=(169)
cfn=(3022)
calls=2 1307
* 5763
* 2
+1 20
cfi=(172)
cfn=(3118)
calls=2 322
* 5465
* 2
+5 6
cfi=(172)
cfn=(3186)
calls=2 406
* 5243
* 2
+3 4
+1 6
cfi=(178)
cfn=(3346)
calls=2 683
* 506
* 2
+3 6
cfi=(172)
cfn=(3254)
calls=2 489
* 1890
+1 8
cfi=(169)
cfn=(3080)
calls=2 1283
* 4077
+2 2
+1 4
fn=(3562) CheckMyDatabase
316 10
+7 5
cfi=(151)
cfn=(3306) SearchSysCache1
calls=1 1114
* 22107
* 1
+1 2
+2 8
+3 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+17 4
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 3
+5 5
+11 4
+18 4
+13 4
cfi=(19) /home/mithuncy/fsm_p11patch/src/backend/utils/mb/mbutils.c
cfn=(3564) SetDatabaseEncoding
calls=1 899
* 15
+2 1
cfi=(19)
cfn=(2650) GetDatabaseEncodingName
calls=1 1011
* 6
* 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 2195
+3 1
cfi=(19)
cfn=(2650)
calls=1 1011
* 6
* 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 3257
+4 3
+1 3
+2 4
cfi=(18)
cfn=(562) pg_perm_setlocale
calls=1 152
* 3389
* 2
+7 4
cfi=(18)
cfn=(562)
calls=1 152
* 3631
* 2
+8 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 1784
+1 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 1386
+2 1
cfi=(18)
cfn=(622) check_strxfrm_bug
calls=1 994
* 930
+2 3
cfi=(151)
cfn=(3280) ReleaseSysCache
calls=1 1161
* 103
+1 5
fn=(1624)
525 2
+4 7
+4 3
+2 2
fn=(2810)
466 7
+3 3
cfi=(80)
cfn=(1888)
calls=1 47
* 154
+2 5
+37 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 4
fn=(2816)
547 2
+5 1
cfn=(2818)
calls=1 439
* 8
+1 1
cfi=(57)
cfn=(2820) DebugFileOpen
calls=1 1846
* 11
+3 1
cfi=(25)
cfn=(2822)
calls=1 761
* 384
+1 1
cfi=(140) /home/mithuncy/fsm_p11patch/src/backend/storage/smgr/smgr.c
cfn=(2824) smgrinit
calls=1 118
* 202
+1 1
cfi=(50)
cfn=(2828) InitBufferPoolAccess
calls=1 2444
* 2911
+1 2
fn=(2866)
589 12
+1 4
+5 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 4
cfi=(57)
cfn=(2086)
calls=1 1336
* 105
+7 1
cfi=(84)
cfn=(2868)
calls=1 465
* 373
+8 1
+2 2
cfi=(101) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/sinvaladt.c
cfn=(2872) SharedInvalBackendInit
calls=1 259
* 591
+2 7
+4 3
cfi=(103)
cfn=(2874)
calls=1 106
* 127
+6 4
+2 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+1 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+1 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+1 3
cfi=(138)
cfn=(2762)
calls=1 374
* 18
+7 1
cfi=(50)
cfn=(2876) InitBufferPoolBackend
calls=1 2468
* 39
+5 3
+8 1
cfi=(53)
cfn=(2878)
calls=1 7896
* 5951
* 1
+30 1
cfi=(148)
cfn=(2888) RelationCacheInitialize
calls=1 3440
* 3728
+1 1
cfi=(151)
cfn=(2894) InitCatalogCache
calls=1 999
* 208712
+1 1
cfi=(154) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/plancache.c
cfn=(2906) InitPlanCache
calls=1 131
* 515
+3 1
cfi=(156)
cfn=(2912) EnablePortalManager
calls=1 105
* 3542
+3 4
+1 1
cfi=(38)
cfn=(2914) pgstat_initialize
calls=1 2750
* 55
+6 1
cfi=(148)
cfn=(2916) RelationCacheInitializePhase2
calls=1 3477
* 17056
+10 3
cfi=(67)
cfn=(2944) before_shmem_exit
calls=1 334
* 32
+3 1
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 2
+16 4
+3 1
cfi=(26)
cfn=(2946)
calls=1 +9
* 31
+1 1
cfi=(26)
cfn=(2948)
calls=1 2704
* 2151
+8 1
+2 1
cfi=(110)
cfn=(2986) GetTransactionSnapshot
calls=1 305
* 1069
+10 3
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+5 4
+11 3
+17 3
cfn=(3002) PerformAuthentication
calls=1 185
* 39288
+1 5
cfi=(54)
cfn=(3304) InitializeSessionUserId
calls=1 580
* 6862
+1 1
cfi=(181) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/superuser.c
cfn=(3324) superuser
calls=1 48
* 17061
* 1
+7 7
+17 3
+13 7
+8 3
+16 3
+29 2
+5 2
+5 3
cfn=(3340)
calls=1 96
* 12856
* 1
+1 2
+4 8
+1 3
+1 3
+2 6
cfi=(16)
cfn=(460)
calls=1 46
* 150
* 1
+59 4
+1 6
cfi=(160)
cfn=(3348) LockSharedObject
calls=1 +15
* 2210
+15 3
+8 1
cfi=(110)
cfn=(2990) InvalidateCatalogSnapshot
calls=1 511
* 78
+7 4
+4 3
cfn=(3340)
calls=1 96
* 10410
* 1
+1 2
+1 9
-1 2
+2 9
-1 2
+12 5
cfi=(174)
cfn=(3356) GetDatabasePath
calls=1 108
* 772
* 1
+2 4
+2 4
cob=(3)
cfi=(3)
cfn=(502)
calls=1 0
* 5
* 1
* 2
+16 3
cfi=(54)
cfn=(1526) ValidatePgVersion
calls=1 1459
* 2624
+3 3
cfi=(54)
cfn=(3358) SetDatabasePath
calls=1 87
* 190
+8 1
cfi=(148)
cfn=(3360) RelationCacheInitializePhase3
calls=1 3536
* 15717861
+3 1
cfi=(168) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/acl.c
cfn=(3560) initialize_acl
calls=1 4689
* 76
+8 4
+1 6
cfn=(3562)
calls=1 316
* 38946
+7 3
+1 5
cfn=(3566) process_startup_options
calls=1 +38
* 5518
+3 1
cfi=(54)
cfn=(3578) GetSessionUserId
calls=1 415
* 5
* 5
cfn=(3580)
calls=1 1153
* 175789
+3 3
+9 1
cfi=(55)
cfn=(3588) InitializeSearchPath
calls=1 4206
* 99
+3 1
cfi=(19)
cfn=(3590) InitializeClientEncoding
calls=1 283
* 80
+3 1
cfi=(199)
cfn=(3592)
calls=1 55
* 157
+3 4
+1 1
cfi=(38)
cfn=(3594) pgstat_bestart
calls=1 2790
* 510
+3 4
+1 1
cfi=(26)
cfn=(3596)
calls=1 2775
* 7224
+1 5
fn=(3002)
185 4
+2 1
+46 5
cfi=(138)
cfn=(2764)
calls=1 429
* 257
+5 3
cfi=(167) /home/mithuncy/fsm_p11patch/src/backend/libpq/auth.c
cfn=(3004) ClientAuthentication
calls=1 348
* 38697
+5 3
cfi=(138)
cfn=(2804)
calls=1 526
* 68
+2 3
+60 3
cfi=(12)
cfn=(2802)
calls=1 +27
* 241
+2 1
+1 2
fn=(3566)
1088 6
+4 5
+6 4
+31 4
cfi=(197)
cfn=(3568)
calls=1 78
* 10
* 1
+1 1
+5 6
+1 6
+2 6
+1 6
+2 12
cfi=(29)
cfn=(1206)
calls=2 7172
* 5443
-11 6
+13 2
fl=(177)
fn=(3234)
266 3768
+3 1884
+7 1256
fl=(182) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/../../../../src/include/utils/hashutils.h
fn=(3332) murmurhash32
42 11529
+1 7686
+2 11529
+1 11529
+1 11529
+1 11529
+1 11529
+1 3843
+1 7686
fl=(291)
fn=(5026)
974 6
+10 2
+2 2
+1 2
+57 2
fl=(313) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/../../../../src/include/storage/s_lock.h
fn=(5426) init_spin_delay
1012 36000
+1 12000
+1 12000
+1 12000
+1 18000
+1 18000
+1 18000
+1 12000
fn=(5422) tas
225 6000
+1 1500
+2 7500
+6 1500
+1 4500
fl=(143)
fn=(5432) finish_spin_delay
176 18000
+1 24000
+3 18000
+1 63
+7 12000
fn=(2838)
197 3
+1 2
+1 2
fn=(5768)
208 3
+11 11
+1 2
fl=(144)
fn=(2862)
144 3
+4 3
cfi=(145) /home/mithuncy/fsm_p11patch/src/backend/storage/lmgr/../../../../src/include/utils/palloc.h
cfn=(2864) MemoryContextSwitchTo
calls=1 -38
* 10
* 1
+6 5
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 1
+1 8
cfi=(13)
cfn=(940)
calls=1 925
* 94
* 1
+6 2
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 1
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+9 12
cfi=(13)
cfn=(940)
calls=1 925
* 123
-1 1
+2 5
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+10 2
+1 5
cfi=(13)
cfn=(940)
calls=1 925
* 755
* 1
+10 3
+2 5
cfi=(13)
cfn=(940)
calls=1 925
* 286
-1 1
+3 3
cfi=(145)
cfn=(2864)
calls=1 -88
* 10
+1 2
fl=(156)
fn=(3942) MarkPortalActive
393 5
+2 4
+5 2
+1 1
cfi=(26)
cfn=(736)
calls=1 625
* 8
* 2
+1 4
fn=(5586) MarkPortalDone
412 4
+3 2
+10 4
+2 5
cfi=(317) /home/mithuncy/fsm_p11patch/src/backend/commands/portalcmds.c
cfn=(5588) PortalCleanup
calls=1 266
* 11
+1 2
+2 2
fn=(3922) GetPortalByName
131 4
+3 2
+1 6
cfi=(31) /home/mithuncy/fsm_p11patch/src/backend/utils/hash/dynahash.c
cfn=(836) hash_search
calls=1 910
* 225
* 5
+4 1
+1 2
fn=(2912)
105 3
+5 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
+4 1
+1 1
+6 6
cfi=(31)
cfn=(794) hash_create
calls=1 317
* 3092
* 1
+2 2
fn=(3920)
176 9
+5 3
cfn=(3922)
calls=1 -50
* 245
* 1
+1 2
+15 4
cfi=(13)
cfn=(2156)
calls=1 815
* 319
* 1
+3 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
* 2
+5 4
cfi=(162) /home/mithuncy/fsm_p11patch/src/backend/utils/resowner/resowner.c
cfn=(2960) ResourceOwnerCreate
calls=1 422
* 732
* 2
+4 2
+1 2
+1 1
cfi=(26)
cfn=(736)
calls=1 625
* 8
* 2
+1 4
+1 2
+1 2
+1 2
+1 2
+1 2
+1 1
cfi=(26)
cfn=(3764) GetCurrentStatementStartTimestamp
calls=1 709
* 5
* 2
+3 7
cfi=(31)
cfn=(836)
calls=1 910
* 380
* 10
+3 7
cfi=(13)
cfn=(812) MemoryContextSetIdentifier
calls=1 330
* 9
+2 1
+1 4
fn=(3924)
287 8
+7 3
+1 3
+1 3
+1 3
+1 3
+1 2
+1 2
fn=(5592)
466 7
+7 4
+8 4
+16 4
+12 7
cfi=(31)
cfn=(836)
calls=1 910
* 343
* 3
+3 3
cfn=(5594) PortalReleaseCachedPlan
calls=1 308
* 10
+8 4
+31 4
+1 2
-1 2
+3 5
+2 7
cfi=(162)
cfn=(3632) ResourceOwnerRelease
calls=1 -75
* 130
+3 7
cfi=(162)
cfn=(3632)
calls=1 -78
* 76588
+3 7
cfi=(162)
cfn=(3632)
calls=1 -81
* 175
+3 4
cfi=(162)
cfn=(3700) ResourceOwnerDelete
calls=1 688
* 892
+2 2
+7 4
+11 4
+4 4
cfi=(13)
cfn=(1396)
calls=1 212
* 428
+3 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 4
fn=(3604) PreCommit_Portals
671 12
+1 2
+4 10
cfi=(31)
cfn=(3528) hash_seq_init
calls=2 1380
* 106
+2 8
cfi=(31)
cfn=(3534) hash_seq_search
calls=2 1390
* 722
* 6
+84 2
+1 8
fn=(5594)
308 4
+1 4
+12 2
fl=(167)
fn=(3004)
348 6
+1 1
+1 1
+8 3
cfi=(133)
cfn=(3006) hba_getauthmethod
calls=1 3028
* 38074
+2 3
+7 5
+23 8
599 1
+1 1
+3 3
+3 2
+1 6
cfn=(3290) sendAuthRequest
calls=1 +11
* 577
* 1
+3 5
fn=(3290)
618 7
+3 3
+2 4
cfi=(179)
cfn=(3292)
calls=1 88
* 137
+1 5
cfi=(180) /home/mithuncy/fsm_p11patch/src/backend/libpq/../../../src/include/libpq/pqformat.h
cfn=(3294) pq_sendint32
calls=1 146
* 74
+1 2
+3 3
cfi=(179)
cfn=(3298)
calls=1 299
* 335
+7 2
+3 3
+1 2
fl=(259) /home/mithuncy/fsm_p11patch/src/backend/optimizer/util/clauses.c
fn=(4616) eval_const_expressions_mutator
2573 24
+1 6
+2 15
3835 3
+10 15
cfi=(247)
cfn=(4618) expression_tree_mutator
calls=3 2429
* 223341
+1 18
fn=(4617) eval_const_expressions_mutator'2
2573 112
+1 28
+2 97
+4 4
+1 6
+3 12
+63 6
cfi=(243) /home/mithuncy/fsm_p11patch/src/backend/nodes/copyfuncs.c
cfn=(4376) copyObjectImpl
calls=2 4767
* 484
* 2
+54 2
+1 3
+17 2
-6 8
cfi=(247)
cfn=(4528) exprTypmod
calls=1 277
* 54
* 16
cfn=(5002) simplify_function
calls=1 4197
* 220720
* 1
+10 2
+9 4
cfi=(13)
cfn=(3400)
calls=1 853
* 174
* 5
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 3
+1 4
+1 2
+4 4
+1 6
+8 6
cfi=(247)
cfn=(4992) set_opfuncid
calls=2 1620
* 20
+6 40
cfn=(5003) simplify_function'2
calls=2 4197
* 223639
* 2
+9 4
+1 2
+7 4
+1 2
-1 2
+14 4
cfi=(13)
cfn=(3400)
calls=1 853
* 174
* 5
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 3
+1 4
+1 2
3061 2
+10 5
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 1
+11 4
cfi=(247)
cfn=(4434)
calls=1 43
* 24
* 5
cfi=(272)
cfn=(5078) getTypeOutputInfo
calls=1 2642
* 496
+2 7
cfi=(272)
cfn=(5076) getTypeInputInfo
calls=1 2609
* 511
+3 14
cfn=(5003)
calls=1 4197
* 1364
* 1
+9 2
+41 4
cfi=(13)
cfn=(3400)
calls=1 853
* 160
* 5
+1 3
cfi=(268)
cfn=(4642)
calls=1 78
* 10
* 3
+1 4
+1 4
+1 4
+1 4
+1 2
3835 8
+10 40
cfi=(247)
cfn=(4619) expression_tree_mutator'2
calls=8 2429
* 223172
+1 84
fn=(4996) max_parallel_hazard_checker
1160 10
+1 6
cfi=(272)
cfn=(4998) func_parallel
calls=2 1556
* 942
* 10
cfn=(5000) max_parallel_hazard_test
calls=2 -29
* 26
+2 4
fn=(5084) contain_nonstrict_functions_checker
1336 15
+1 9
cfi=(272)
cfn=(5086) func_strict
calls=3 1518
* 1413
* 18
+1 6
fn=(5006) evaluate_function
4512 44
+1 32
+1 4
+1 4
+7 16
+14 16
+6 12
cfi=(268)
cfn=(4642)
calls=4 78
* 40
* 8
+2 35
+1 30
+2 4
-5 43
+14 22
+9 8
+1 8
+34 8
fn=(5008) inline_function
4639 22
+1 16
+23 8
+1 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 4
cfi=(178)
cfn=(3976)
calls=1 362
* 42
* 1
-1 2
+2 6
cfi=(268)
cfn=(4654)
calls=1 90
* 10
-1 2
+2 2
+3 6
cfi=(45)
cfn=(3414)
calls=1 506
* 23
* 2
+4 1
cfi=(54)
cfn=(3326)
calls=1 381
* 5
* 6
cfi=(227)
cfn=(5010) pg_proc_aclcheck
calls=1 -21
* 51
* 2
+4 6
+7 7
cfi=(14)
cfn=(432)
calls=1 395
* 473
* 1
+3 3
cfi=(288) /home/mithuncy/fsm_p11patch/src/backend/optimizer/util/../../../../src/include/utils/palloc.h
cfn=(5014) MemoryContextSwitchTo
calls=1 110
* 10
* 1
+3 6
cfi=(151)
cfn=(3982)
calls=1 1376
* 1690
* 1
+4 3
+2 3
cfi=(41)
cfn=(3984) text_to_cstring
calls=1 186
* 217
* 1
+6 3
+1 2
+2 1
+1 2
+1 2
+1 2
+8 4
cfi=(13)
cfn=(3400)
calls=1 853
* 174
* 5
+1 3
+1 3
+1 2
+1 3
+1 2
+1 3
+1 3
+1 3
+1 2
+2 5
cfi=(289)
cfn=(5016)
calls=1 187
* 891
* 1
+10 3
cfi=(52)
cfn=(3832)
calls=1 633
* 15412
* 1
+1 3
cfi=(268)
cfn=(4654)
calls=1 90
* 10
* 2
+3 2
cfi=(223)
cfn=(3906)
calls=1 45
* 346
* 1
+1 3
+1 5
cfi=(289)
cfn=(5032)
calls=1 274
* 15
+2 3
cfi=(268)
cfn=(4642)
calls=1 78
* 10
* 5
cfi=(222)
cfn=(3908)
calls=1 192
* 136777
* 1
+2 3
cfi=(223)
cfn=(3914)
calls=1 78
* 106
+10 4
+1 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 3
-1 2
+2 3
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 4
cfi=(268)
cfn=(4654)
calls=1 90
* 10
-1 2
+14 4
cfi=(45)
cfn=(1586)
calls=1 260
* 290
* 7
cfi=(289)
cfn=(5062)
calls=1 1589
* 666
* 2
+5 4
cfi=(268)
cfn=(4642)
calls=1 78
* 10
* 3
+10 3
cfi=(247)
cfn=(4434)
calls=1 43
* 24
* 2
+14 4
+3 4
+1 3
cfn=(5068) contain_volatile_functions
calls=1 959
* 47314
-1 2
+4 4
+1 3
cfn=(5080) contain_nonstrict_functions
calls=1 1330
* 3351
-1 2
+8 3
cfn=(5088) contain_context_dependent_node
calls=1 1466
* 281
* 2
+9 6
cfi=(13)
cfn=(2546)
calls=1 956
* 139
* 1
+1 8
cfn=(5092) substitute_actual_parameters
calls=1 4956
* 1154
* 1
+4 1
+1 3
cfi=(268)
cfn=(4642)
calls=1 78
* 10
* 2
+2 6
+2 16
+6 16
+25 2
-35 12
+42 3
cfi=(288)
cfn=(5014)
calls=1 110
* 10
+2 3
cfi=(243)
cfn=(4376)
calls=1 4767
* 1749
* 1
+2 3
cfi=(13)
cfn=(1396)
calls=1 212
* 297
+8 2
+2 3
cfi=(247)
cfn=(4452)
calls=1 721
* 21
* 1
+2 5
+16 4
+1 6
cfi=(251) /home/mithuncy/fsm_p11patch/src/backend/optimizer/plan/setrefs.c
cfn=(4990) record_plan_function_dependency
calls=1 2553
* 12
+6 6
cfi=(45)
cfn=(4508)
calls=1 296
* 290
* 2
+1 5
cfn=(4617)
calls=1 2573
* 4769
* 1
+1 4
cfi=(45)
cfn=(4514)
calls=1 667
* 266
* 2
+2 2
+2 2
+9 8
fn=(5009) inline_function'2
4639 22
+1 16
+23 8
+7 4
4948 8
fn=(4592) max_parallel_hazard_walker
1167 18
+1 6
+4 15
cfi=(247)
cfn=(4594) check_functions_in_node
calls=3 1659
* 45
* 6
+15 12
+6 12
+14 12
+9 12
+11 12
+12 12
+28 12
+21 12
+2 6
+3 12
+7 18
cfi=(247)
cfn=(4440)
calls=3 2266
* 4165
* 3
+9 12
fn=(4593) max_parallel_hazard_walker'2
1167 276
+1 92
+1 60
+3 80
cfi=(247)
cfn=(4594)
calls=16 1659
* 1279
* 32
+15 64
+6 64
+14 64
+9 64
+11 64
+12 64
+28 64
+2 2
+2 4
+1 2
+16 60
+18 75
cfi=(247)
cfn=(4451)
calls=9 1843
* 3948
cfi=(247)
cfn=(4450)
calls=6 1843
* 2947
+3 184
fn=(5000)
1132 12
+1 6
+4 2
+17 2
+1 4
fn=(4614) eval_const_expressions
2494 15
+3 6
+1 15
+3 6
+1 3
+1 3
+1 3
+1 15
cfn=(4616)
calls=3 +68
* 223422
+1 6
fn=(5004) expand_function_arguments
4291 24
+1 32
+1 4
+4 12
cfi=(268)
cfn=(4642)
calls=4 78
* 40
* 8
+2 21
+2 28
-4 43
+12 8
+6 12
cfi=(268)
cfn=(4654)
calls=4 90
* 40
* 20
+8 4
+1 8
fn=(5080)
1330 4
+1 4
cfn=(5082) contain_nonstrict_functions_walker
calls=1 +11
* 3341
+1 2
fn=(5082)
1342 5
+1 2
+2 4
+5 4
+8 4
+5 4
+7 4
+5 4
+5 4
+14 4
+5 4
+2 4
+2 4
+2 4
+11 4
+2 4
+2 4
+2 4
+2 4
+2 4
+2 4
+2 4
+2 4
+4 5
cfi=(247)
cfn=(4594)
calls=1 1659
* 529
* 2
+4 5
cfi=(247)
cfn=(4450)
calls=1 1843
* 2707
+2 2
fn=(5083) contain_nonstrict_functions_walker'2
1342 15
+1 6
+2 12
+5 12
+8 12
+5 12
+7 12
+5 12
+5 12
+14 12
+5 12
+2 12
+2 12
+2 12
+11 12
+2 12
+2 12
+2 12
+2 12
+2 12
+2 12
+2 12
+2 12
+4 15
cfi=(247)
cfn=(4594)
calls=3 1659
* 2087
* 6
+4 15
cfi=(247)
cfn=(4451)
calls=3 1843
* 319
+2 6
fn=(5092)
4956 7
+3 2
+1 2
+1 2
+2 5
cfn=(5094) substitute_actual_parameters_mutator
calls=1 +6
* 1134
+1 2
fn=(5094)
4969 5
+1 2
+2 4
+16 5
cfi=(247)
cfn=(4619)
calls=1 2429
* 1116
+2 2
fn=(5095) substitute_actual_parameters_mutator'2
4969 20
+1 8
+2 16
+2 4
+2 8
+2 20
+4 22
+4 16
cfi=(45)
cfn=(5022)
calls=2 411
* 61
* 2
+2 10
cfi=(247)
cfn=(4619)
calls=2 2429
* 1201
+2 8
fn=(5002)
4197 15
+1 3
+17 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 342
* 1
+1 2
+2 8
+8 2
+2 6
cfn=(5004)
calls=1 +63
* 79
* 1
+1 5
cfi=(247)
cfn=(4619)
calls=1 2429
* 219982
* 1
+4 3
+5 15
cfn=(5006)
calls=1 4512
* 87
* 1
+5 8
+25 4
+1 12
cfn=(5008)
calls=1 4639
* 29
* 1
+4 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+2 1
+1 2
fn=(5003)
4197 45
+1 9
+17 12
cfi=(151)
cfn=(3306)
calls=3 1114
* 1026
* 3
+1 6
+2 24
+8 6
+2 18
cfn=(5004)
calls=3 +63
* 225
* 3
+1 15
cfi=(247)
cfn=(4619)
calls=3 2429
* 5464
* 3
+4 9
+5 45
cfn=(5006)
calls=3 4512
* 247
* 3
+5 24
+25 12
+1 36
cfn=(5009)
calls=2 4639
* 58
cfn=(5008)
calls=1 4639
* 217380
* 3
+4 9
cfi=(151)
cfn=(3280)
calls=3 1161
* 309
+2 3
+1 6
fn=(5072) contain_volatile_functions_checker
965 15
+1 9
cfi=(272)
cfn=(5074) func_volatile
calls=3 1537
* 45692
* 6
+1 6
fn=(5068)
959 4
+1 4
cfn=(5070) contain_volatile_functions_walker
calls=1 +11
* 47304
+1 2
fn=(5070)
971 5
+1 2
+3 5
cfi=(247)
cfn=(4594)
calls=1 1659
* 525
* 2
+4 4
+13 4
+7 5
cfi=(247)
cfn=(4450)
calls=1 1843
* 46750
+2 2
fn=(5071) contain_volatile_functions_walker'2
971 15
+1 6
+3 15
cfi=(247)
cfn=(4594)
calls=3 1659
* 46358
* 6
+4 12
+13 12
+7 15
cfi=(247)
cfn=(4451)
calls=3 1843
* 243
+2 6
fn=(5088)
1466 4
+1 1
+2 5
cfn=(5090) contain_context_dependent_node_walker
calls=1 +7
* 269
+1 2
fn=(5090)
1476 5
+1 2
+2 4
+2 4
+30 4
+18 5
cfi=(247)
cfn=(4450)
calls=1 1843
* 243
+2 2
fn=(5091) contain_context_dependent_node_walker'2
1476 10
+1 4
+2 8
+2 8
+30 8
+18 10
cfi=(247)
cfn=(4451)
calls=2 1843
* 96
+2 4
fn=(4636) is_parallel_safe
1089 75
+11 75
+1 45
-1 30
+2 30
+25 30
fn=(4590) max_parallel_hazard
1070 12
+3 3
+1 3
+1 3
+1 15
cfn=(4592)
calls=3 +91
* 4402
+1 3
+1 6
fl=(274) /home/mithuncy/fsm_p11patch/src/backend/optimizer/plan/createplan.c
fn=(4706) make_result
6514 18
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 690
* 15
+1 6
+2 9
+1 6
+1 9
+1 6
+1 9
+2 3
+1 6
fn=(4692) create_plan
307 15
+7 6
+1 6
+3 18
cfn=(4694) create_plan_recurse
calls=3 +40
* 3513
* 3
+9 12
+1 21
cfi=(266)
cfn=(4710)
calls=3 +12
* 222
+9 15
cfi=(277) /home/mithuncy/fsm_p11patch/src/backend/optimizer/plan/subselect.c
cfn=(4712) SS_attach_initplans
calls=3 2228
* 30
+3 12
+7 6
+2 3
+1 6
fn=(4704) order_qual_clauses
4899 15
+7 9
cfi=(252) /home/mithuncy/fsm_p11patch/src/backend/optimizer/plan/../../../../src/include/nodes/pg_list.h
cfn=(4624) list_length
calls=3 90
* 24
* 3
+7 6
+1 6
+70 6
fn=(4694)
358 18
+4 3
cfi=(52)
cfn=(3958)
calls=3 3263
* 81
+2 24
+34 12
+2 18
cfn=(4696) create_projection_plan
calls=3 1636
* 3339
* 6
+15 3
+87 3
+1 6
fn=(4695) create_plan_recurse'2
358 18
+4 3
cfi=(52)
cfn=(3958)
calls=3 3263
* 81
+2 24
+34 12
+6 12
+8 15
cfn=(4700) create_result_plan
calls=3 1269
* 1143
* 3
+3 3
+87 3
+1 6
fn=(4702) build_path_tlist
744 30
+1 6
+1 24
+1 6
+3 30
cfi=(252)
cfn=(4484) list_head
calls=6 78
* 54
* 12
+2 9
+9 12
+3 21
cfi=(218)
cfn=(4414) makeTargetEntry
calls=3 241
* 636
* 3
+4 6
+1 27
+2 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
+1 3
-22 27
+24 6
+1 12
fn=(4708) copy_generic_path_info
4993 12
+1 12
+1 12
+1 12
+1 15
+1 12
+1 12
+1 6
fn=(4674) is_projection_capable_path
6698 18
+2 30
+32 6
+2 6
+1 12
fn=(4696)
1636 18
+4 3
+15 18
cfn=(4698) use_physical_tlist
calls=3 784
* 51
* 6
+13 12
cfn=(4674)
calls=3 6698
* 36
* 6
+8 21
cfn=(4695)
calls=3 358
* 1323
* 3
+2 15
cfn=(4702)
calls=3 744
* 1719
* 6
+21 12
+3 6
+1 9
+3 12
+1 12
+1 12
+1 15
+1 15
+11 3
+1 6
fn=(4698)
784 18
+1 9
+7 12
+1 6
894 6
fn=(4700)
1269 15
+5 15
cfn=(4702)
calls=3 744
* 93
* 3
+3 18
cfn=(4704)
calls=3 4899
* 69
* 3
+2 18
cfn=(4706)
calls=3 6514
* 789
* 3
+2 15
cfn=(4708)
calls=3 4993
* 93
+2 3
+1 6
fl=(74)
fn=(2692)
359 3
+1 5
+1 5
+1 2
fn=(1618) slist_push_head
575 4
+1 4
+1 3
+3 2
fn=(2274)
301 15
+1 12
+3 12
+1 9
+1 12
+1 9
+3 6
-10 15
+1 12
+3 12
+1 9
+1 12
+1 9
+3 6
fn=(2272) dlist_init
279 6
+1 14
+1 4
fl=(76)
fn=(1626)
78 6
+1 10
+1 4
fl=(17)
fn=(464)
175 25249
+10 7214
+5 14428
+1 18035
+1 3607
+1 3607
+1 3607
+1 21642
cfn=(466) dopr
calls=3607 377
* 3954892
+1 7214
+1 32463
+1 3607
-1 3607
+2 7214
fn=(1238) trailing_pad
1512 33000
+1 13200
+2 13200
fn=(1232) adjust_sign
1448 405
+1 162
+5 162
+2 81
+1 162
fn=(466)
377 22008
+1 3668
cob=(5)
cfi=(5)
cfn=(472)
calls=3667 0
* 11001
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 941
* 3672
* 7336
+1 3668
+27 3668
+2 3668
+3 37020
+3 45565
cob=(3)
cfi=(3)
cfn=(536) strchrnul
calls=9112 0
* 209828
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1328
* 9117
* 9113
+3 91130
cfn=(474) dostr
calls=9113 1358
* 496384
+1 36452
+3 36452
+1 30
+1 18166
+8 18450
+1 7322
+3 3661
+3 14644
-3 5564
+3 22256
+2 2625
+1 41992
+2 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 30
* 2
-2 5246
+2 7869
cob=(3)
cfi=(3)
cfn=(424)
calls=2623 0
* 39617
* 2623
* 15750
cfn=(474)
calls=2625 1358
* 193797
+1 10500
+2 2625
+3 59400
+1 33000
+1 19800
+1 26400
+2 43236
+1 50442
+10 196
+1 49
+11 490
+1 49
-1 510
+1 51
+85 1012
+3 506
+1 506
+20 324
+2 162
+3 162
+2 162
+11 162
+2 162
+1 76
+2 1226
+2 30
cfn=(1230) fmtint
calls=2 1015
* 586
-2 225
+2 1125
cfn=(1230)
calls=75 1015
* 19994
* 60
cfn=(1230)
calls=4 1015
* 1390
+2 81
+5 26076
+2 13038
+3 13038
+2 13038
+11 13038
+2 13038
+1 9538
+2 114323
+2 90255
cfn=(1230)
calls=6017 1015
* 1738830
* 7530
cfn=(1230)
calls=502 1015
* 127784
+2 6519
+83 26400
408 55210
738 7336
fn=(474)
1358 110028
+2 36676
+2 39221
cfn=(476) dopr_outch
calls=5603 +33
* 134268
+1 5603
+3 12735
+4 50928
+1 114210
+2 84
+1 25464
+11 50928
+1 101856
cob=(3)
cfi=(3)
cfn=(482)
calls=12731 0
* 222727
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1310
* 12736
+1 89124
+1 38196
+1 25464
-23 50934
+25 36676
fn=(1236) leading_pad
1476 46200
+3 26454
+2 50
+6 100
+2 175
cfn=(1916) dopr_outchmulti
calls=25 -78
* 889
+1 50
+3 100
+1 100
-1 26300
+1 26300
+2 14
cfn=(1916)
calls=2 -85
* 99
+1 6
+2 13200
+8 13200
fn=(2434) pg_vfprintf
243 18
+4 6
+5 12
+1 9
+1 6
+1 3
+1 3
+1 18
cfn=(466)
calls=3 377
* 931
+2 9
cfn=(2436) flushbuffer
calls=3 +40
* 2085
+1 12
+1 6
fn=(2436)
299 12
+1 24
+6 21
+4 24
cob=(3)
cfi=(3)
cfn=(2442) fwrite
calls=2 0
* 272
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1671
* 7
* 3
+1 24
+1 9
+3 12
+1 6
fn=(462)
203 6336
+4 3456
+1 3456
cfn=(464)
calls=576 -33
* 319650
* 576
+2 576
+1 1152
fn=(1140) pg_vsprintf
215 348
+3 232
+1 58
+1 58
+1 58
+1 58
+1 348
cfn=(466)
calls=58 377
* 25536
+1 116
+1 522
+1 58
-1 58
+2 116
fn=(1230)
1015 66000
+4 6600
+1 6600
+2 6600
+4 46200
+4 81
+1 81
+1 81
+6 6518
+1 6518
+1 6518
+6 1
+1 1
+1 1
+1 1
+11 13848
cfn=(1232)
calls=81 1448
* 972
* 162
+3 13200
+9 13210
+7 413686
+1 127288
+1 63644
+3 52800
+2 52800
cfn=(1234) compute_padlen
calls=6600 1462
* 118749
* 6600
+2 39600
cfn=(1236)
calls=6600 1476
* 153237
+2 13200
+3 72600
cfn=(474)
calls=6600 1358
* 468987
+2 33000
cfn=(1238)
calls=6600 1512
* 59400
* 6600
+1 13200
fn=(1234)
1462 33000
+3 33000
+1 13200
+1 6549
+1 13200
+2 6600
+1 13200
fn=(2432)
265 33
+4 18
+1 18
cfn=(2434)
calls=3 -27
* 3118
* 3
+2 3
+1 6
fn=(1138)
231 638
+4 348
+1 348
cfn=(1140)
calls=58 -21
* 27566
* 58
+2 58
+1 116
fn=(1916)
1411 162
+2 54
+2 125
cfn=(476)
calls=25 -20
* 450
+1 25
+3 2
+4 8
+1 9
+2 2
+1 4
+11 8
+1 16
cob=(3)
cfi=(3)
cfn=(828)
calls=2 0
* 41
* 2
+1 14
+1 4
-22 8
+24 54
fn=(476)
1395 28140
+1 55926
+10 39396
+1 11256
fl=(42)
fn=(958)
188 144
+1 36
+20 72
fn=(934) scanner_isspace
222 344
+2 332
+1 160
+1 160
+1 160
+2 12
+1 80
+1 172
fn=(938) downcase_identifier
141 4144
+5 2590
cfi=(13)
cfn=(940)
calls=518 925
* 63351
* 518
+1 518
cfi=(43) /home/mithuncy/fsm_p11patch/src/backend/utils/mb/wchar.c
cfn=(942) pg_database_encoding_max_length
calls=518 1834
* 9324
* 1554
+11 1036
+2 35814
+2 21092
+1 48
+1 11989
+2 35814
-8 25430
+10 2590
+2 1036
+3 518
+1 1036
fn=(936) downcase_truncate_identifier
132 3626
+1 3108
cfn=(938)
calls=518 +8
* 218402
+1 1036
fl=(151)
fn=(3014) SearchSysCache
1104 8040
+4 10050
cfi=(149) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/catcache.c
cfn=(3016) SearchCatCache
calls=1005 +55
* 27210233
+1 2010
fn=(3540) InitCatalogCachePhase2
1072 3
+5 2
+1 462
cfi=(149)
cfn=(3542) InitCatCachePhase2
calls=77 -34
* 8004652
-1 233
+2 2
fn=(2894)
999 3
+10 3
+2 2
+2 385
+4 385
-4 1463
cfi=(149)
cfn=(2896) InitCatCache
calls=77 778
* 89548
* 231
+6 385
+4 231
+1 385
-1 154
+2 231
+1 385
-1 154
+2 231
+1 385
-1 154
-16 233
+26 7
cfi=(36)
cfn=(864)
calls=1 114
* 33366
+2 3
+2 608
+1 315
-3 307
+5 3
+2 7
cfi=(36)
cfn=(864)
calls=1 114
* 76446
+2 3
+2 1224
+1 854
-3 615
+5 3
+2 1
+1 2
fn=(2904) oid_compare
1543 6448
+1 4836
+1 4836
+2 4836
+1 168
+1 6970
+1 3224
fn=(3012) GetSysCacheOid
1227 10050
+5 8040
cfn=(3014)
calls=1005 1104
* 27230333
* 1005
+1 2010
+1 1002
+1 22292
cfi=(178)
cfn=(3238)
calls=502 428
* 48192
* 1006
+4 1512
cfn=(3280)
calls=504 -78
* 51912
+1 504
+1 2010
fn=(3280)
1161 13156
+1 9867
cfi=(149)
cfn=(3282) ReleaseCatCache
calls=3289 1452
* 309166
+1 6578
fn=(4872) SearchSysCacheList
1427 32
+1 16
+1 12
-1 8
+4 40
cfi=(149)
cfn=(4874) SearchCatCacheList
calls=4 +90
* 155243
+2 8
fn=(3336) RelationHasSysCache
1493 7131
+1 2377
+1 7131
+2 2377
+2 149592
+2 62330
+1 4754
+1 50445
+1 12628
+2 20796
-9 37398
+13 4754
fn=(4902) SearchSysCache2
1125 54
+5 72
cfi=(149)
cfn=(4904) SearchCatCache2
calls=9 +55
* 114736
+1 18
fn=(3558) RelationSupportsSysCache
1518 315
+1 105
+1 315
+2 105
+2 7560
+2 3150
+1 210
+1 2625
+1 1076
+2 768
-9 1890
+13 210
fn=(3306)
1114 13925
+5 19495
cfi=(149)
cfn=(3308) SearchCatCache1
calls=2785 +58
* 16156818
+1 5570
fn=(3334) RelationInvalidatesSnapshotsOnly
1470 7134
+1 20832
+11 2283
-11 570
+11 94
-2 2
+5 2377
+1 4756
fn=(3982)
1376 40
+7 20
+1 15
-1 10
+3 30
+6 215
cfi=(178)
cfn=(3238)
calls=3 428
* 5247
* 3
+3 10
fl=(12)
fn=(2800)
251 7
+7 4
+4 3
+5 3
+18 2
+1 18
-1 11
+20 4
+2 12
cfi=(17)
cfn=(462)
calls=1 203
* 923
* 1
+11 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 21
* 1
* 3
+2 4
cfn=(2802)
calls=1 +12
* 740
+2 2
fn=(2802)
332 30
+3 36
+4 20
+5 15
+5 50
cfi=(16)
cfn=(460)
calls=5 46
* 624
+2 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 115
* 5
* 5
+26 20
+1 80
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 480
* 4
+2 10
+22 10
fn=(416) save_ps_display_args
127 6
+1 2
+1 2
+9 1
+7 2
+2 26
+1 42
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 30
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1291
* 7
* 6
-3 15
+6 2
+10 2
+2 600
+1 840
cob=(3)
cfi=(3)
cfn=(424)
calls=60 0
* 1516
* 60
* 120
-3 548
+6 3
+1 8
+5 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1445
* 5
* 1
+1 2
+5 2
+2 780
cob=(3)
cfi=(3)
cfn=(384)
calls=60 0
* 17802
* 60
* 60
+1 480
-3 548
+9 6
+1 2
+22 6
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 1
+1 2
+5 2
+2 39
cob=(3)
cfi=(3)
cfn=(384)
calls=3 0
* 732
* 3
* 3
+1 24
-3 15
+9 6
+11 2
+4 1
+1 4
fl=(14)
fn=(432)
395 16380
+33 6548
+2 3068
+1 412
+2 204
+2 2
+5 3276
+2 8180
+2 6544
+3 4542
+1 6056
+1 7570
+3 4542
+3 13626
cfi=(13)
cfn=(434) MemoryContextCreate
calls=1514 729
* 76222
+6 3028
+5 124
+2 248
+1 10
+2 488
+6 366
cob=(3)
cfi=(3)
cfn=(388)
calls=122 0
* 26130
* 122
* 6
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 349
* 2
* 124
+1 248
+17 372
+1 372
+1 496
+1 620
+1 248
+1 248
+6 372
+2 372
+3 12276
+2 372
+1 372
+1 372
+1 372
+21 248
+1 124
+2 1536
-2 768
+1 768
-1 884
+1 372
-1 248
+5 1116
cfi=(13)
cfn=(434)
calls=124 729
* 6492
+6 124
+1 8190
fn=(800) AllocSetAlloc
715 872105
+1 348842
+13 697684
+2 15432
+1 11574
+1 11574
cob=(3)
cfi=(3)
cfn=(388)
calls=3858 0
* 1202847
* 3858
* 3858
+1 7716
+2 11574
+1 34722
+2 11574
+1 11574
+1 11574
+16 15432
+2 15432
+1 19290
+1 15432
+1 2044
+1 19290
+18 11574
+9 511689
cfn=(802) AllocSetFreeIndex
calls=170563 338
* 3626234
* 170563
+1 1023378
+1 341126
+4 226954
+2 97266
+22 97266
+6 966987
+7 690705
+2 1105128
+2 552564
+14 1608
+2 5124
+1 5124
cfn=(802)
calls=1708 338
* 37386
* 1708
+7 13664
+2 1631
+2 11417
+3 4893
+5 11417
+1 9786
+2 4893
+4 11417
+1 9786
-30 3262
+17 231
+5 539
+1 462
+2 231
+4 539
+1 462
-30 3370
+34 1608
+7 276282
+8 4824
+1 8040
+1 9648
+1 8
+6 6
+1 2
-1 4818
+1 1606
+1 508
-1 6348
+4 4824
cob=(3)
cfi=(3)
cfn=(388)
calls=1608 0
* 354698
* 1608
* 1608
+6 4824
+8 3216
+3 4824
+1 6432
+1 8040
+6 3216
+1 6432
+1 6432
+1 6432
+1 4824
+6 4824
+5 11256
+3 4824
+1 4824
+21 3216
+1 3216
-31 409599
+5 955731
+3 409599
+1 409599
+21 273066
+1 345626
fn=(956) AllocSetFree
988 214035
+1 85614
+1 128421
+15 256842
+6 10041
+7 13388
+1 13388
-1 6694
+2 6694
+1 6694
-1 10041
-1 6694
+6 13388
+1 20082
+3 13388
+1 2520
+4 1512
cob=(3)
cfi=(3)
cfn=(590)
calls=504 0
* 58984
* 504
* 8529
cob=(3)
cfi=(3)
cfn=(590)
calls=2843 0
* 383994
* 2843
* 3347
+5 157840
cfn=(802)
calls=39460 338
* 841591
* 39460
+2 276220
+10 236760
+2 85614
fn=(1402) AllocSetDelete
628 6156
+1 3078
+1 4617
+13 6156
+2 9234
+6 7695
+1 4596
cfi=(13)
cfn=(1404) MemoryContextResetOnly
calls=1532 156
* 586727
+6 6156
+16 6156
+1 4617
+1 7695
+2 1539
+20 3078
fn=(802)
338 635193
+5 423462
+2 799536
+11 599652
+1 1400328
+5 11847
+2 11847
+1 23694
-1 199884
+1 399768
fn=(1516) AllocSetRealloc
1069 12
+1 4
+1 6
+6 6
+15 6
+45 8
+7 6
+9 8
+1 8
-1 4
+2 4
+1 4
-1 6
-1 4
+6 8
+1 6
+1 10
cob=(3)
cfi=(3)
cfn=(556)
calls=2 0
* 2062
* 2
* 2
+1 4
+6 18
+3 6
+1 6
+1 8
+1 10
+3 8
+2 6
+38 4
+51 4
fn=(1406) AllocSetReset
566 12152
+1 6076
+11 300762
+2 9114
+3 12152
+2 3038
+2 15237
+2 20316
+3 9114
+8 9114
+1 6076
+1 9114
+8 6123
cob=(3)
cfi=(3)
cfn=(590)
calls=2041 0
* 361581
* 2041
+2 10158
-27 16234
+31 12152
+1 6076
fl=(125) /home/mithuncy/fsm_p11patch/src/backend/utils/hash/../../../../src/include/storage/s_lock.h
fn=(2216) tas
225 116884
+1 29221
+2 146105
+6 29221
+1 87663
fl=(161) /home/mithuncy/fsm_p11patch/src/backend/access/transam/../../../../src/include/utils/palloc.h
fn=(2956) MemoryContextSwitchTo
110 24
+1 16
+2 16
+1 8
+1 16
fl=(268)
fn=(4654)
90 21
+1 35
+1 14
-2 9
+1 15
+1 6
fn=(4642)
78 36
+1 60
+1 24
-2 45
+1 63
+1 30
-2 27
+1 39
+1 18
-2 27
+1 45
+1 18
fl=(152) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/../../../../src/include/utils/palloc.h
fn=(2898) MemoryContextSwitchTo
110 10770
+1 7180
+2 7180
+1 3590
+1 7180
-5 4563
+1 3042
+2 3042
+1 1521
+1 3042
-5 4206
+1 2804
+2 2804
+1 1402
+1 2804
fl=(191) /home/mithuncy/fsm_p11patch/src/backend/access/nbtree/nbtsearch.c
fn=(3454) _bt_search
99 28470
+1 2847
+1 2847
+3 14235
cfi=(192) /home/mithuncy/fsm_p11patch/src/backend/access/nbtree/nbtpage.c
cfn=(3456) _bt_getroot
calls=2847 253
* 3958360
* 5694
+3 11388
+1 8
+26 95149
cfn=(3470) _bt_moveright
calls=5597 253
* 830137
* 11194
+5 67164
+1 33582
+1 33582
+1 2843
+47 5686
-41 24786
cfn=(3482) _bt_binsrch
calls=2754 358
* 2300302
* 2754
+1 24786
+1 19278
+1 27540
+1 11016
cfi=(50)
cfn=(3476)
calls=2754 2612
* 44064
* 2754
+12 5508
cfi=(13)
cfn=(940)
calls=2754 925
* 284771
* 2754
+1 8262
+1 8262
+1 8262
+1 8262
+7 16524
+4 19278
cfi=(192)
cfn=(3466) _bt_relandgetbuf
calls=2754 866
* 4631974
* 5508
+3 5508
+1 2754
+23 2843
+1 5694
fn=(3518) _bt_next
1162 1565
+1 939
+7 626
+2 3443
+2 50
cfn=(3520) _bt_steppage
calls=10 1375
* 3727
* 30
+1 18
+13 3648
+1 1824
+1 1216
+3 304
+1 626
fn=(3522) _bt_readnextpage
1482 3647
+1 1563
+4 521
+2 1563
+2 1042
+8 4118
+2 1551
cfi=(188) /home/mithuncy/fsm_p11patch/src/backend/access/nbtree/nbtree.c
cfn=(3524) _bt_parallel_done
calls=517 721
* 8272
+1 5170
+1 1034
+3 12
+2 24
cfi=(192)
cfn=(3458) _bt_getbuf
calls=4 730
* 5259
* 8
+1 48
+1 28
cfi=(193) /home/mithuncy/fsm_p11patch/src/backend/access/nbtree/../../../../src/include/storage/bufmgr.h
cfn=(3472) TestForOldSnapshot
calls=4 266
* 44
+1 24
+2 24
+2 28
cfi=(92)
cfn=(3478) PredicateLockPage
calls=4 2476
* 112
+3 32
cfn=(3488) _bt_readpage
calls=2 1217
* 1748
* 10
cfn=(3488)
calls=2 1217
* 1390
* 8
+1 8
1649 4
+1 2084
fn=(3482)
358 50373
+8 50373
+1 33582
+2 33582
+1 7776
-1 3653
+1 53791
+9 16791
+15 16791
+2 22388
+2 4383
-2 1214
+2 1214
+2 367440
+4 244960
cfn=(3484) _bt_compare
calls=30620 +59
* 7752140
* 30620
+2 91860
+1 61112
+2 30684
-11 108651
+21 33582
+1 5686
+8 5508
+1 11194
fn=(3440) _bt_first
569 17082
+1 8541
+1 8541
+10 2847
+2 2847
+7 25623
+6 8541
cfi=(111) /home/mithuncy/fsm_p11patch/src/backend/access/nbtree/nbtutils.c
cfn=(3442) _bt_preprocess_keys
calls=2847 757
* 1238823
+6 14235
+9 11388
+64 2847
+1 11388
+12 2847
+1 2847
+2 2847
+7 11388
+2 47236
+6 8962
+25 8962
+2 26886
+6 13443
+1 8962
+2 1214
+1 1214
+10 15496
+1 8170
-1 3268
+7 4902
+1 1634
+1 1634
+10 35848
+14 7748
+1 3874
+3 1214
+2 1214
+1 1821
+4 607
-99 1214
799 607
698 7748
799 3874
+8 5694
+22 5694
+2 17924
+4 22405
+91 49291
+1 8962
-1 8962
+5 35848
cfi=(190) /home/mithuncy/fsm_p11patch/src/backend/access/index/indexam.c
cfn=(3448) index_getprocinfo
calls=4481 -72
* 172930
* 4481
+1 26886
+2 8962
-2 80658
cfi=(184)
cfn=(3450) ScanKeyEntryInitializeWithInfo
calls=4481 109
* 353999
-4 4481
-99 26465
978 17082
+32 4480
+15 2240
+1 2240
+2 2240
+18 607
+1 607
+1 607
+12 31317
cfn=(3454)
calls=2847 99
* 12576630
* 2847
+4 8541
cfi=(111)
cfn=(3474) _bt_freestack
calls=2847 176
* 287253
+2 8541
+6 24
cfi=(92)
cfn=(3146)
calls=4 2453
* 108
+6 12
cfi=(188)
cfn=(3524)
calls=4 721
* 64
+1 40
+2 8
+3 14215
cfi=(50)
cfn=(3476)
calls=2843 2612
* 45488
* 17058
cfi=(92)
cfn=(3478)
calls=2843 2476
* 79604
+3 14215
cfn=(3480) _bt_initialize_more_data
calls=2843 1981
* 48331
+3 22744
cfn=(3482)
calls=2843 358
* 6739046
* 2843
+20 5686
+5 8529
+5 17058
cfn=(3488)
calls=2843 +97
* 2465768
* 8529
+6 2555
cfi=(50)
cfn=(3232)
calls=511 3553
* 57743
+1 2555
cfn=(3520)
calls=511 1375
* 187928
* 1533
+1 1016
+5 13992
cfn=(3496) _bt_drop_lock_and_maybe_pin
calls=2332 58
* 904816
+5 28020
+1 14010
+1 9340
+3 2335
+1 11388
fn=(3470)
253 61567
+20 22388
+4 8766
-4 1214
+4 41607
+1 33582
cfi=(193)
cfn=(3472)
calls=5597 -12
* 61567
+1 33582
+2 22388
+1 3653
+5 3888
+21 25272
cfn=(3484)
calls=1944 463
* 456402
* 3888
+10 33582
+4 5597
+1 11194
fn=(3480)
1981 11372
+2 5686
+2 5686
+1 8529
+7 5686
+1 5686
+1 5686
fn=(3494) _bt_saveitem
1347 21112
+1 29029
+2 15834
+1 7917
+1 10556
+8 5278
fn=(3496)
58 11680
+1 11680
cfi=(50)
cfn=(3232)
calls=2336 3553
* 263968
+2 11680
+1 9344
-1 4672
+2 7008
-1 4672
+3 9344
cfi=(50)
cfn=(3258)
calls=2336 3316
* 562989
+1 4672
+2 4672
fn=(3488)
1217 19929
+1 8541
+15 34164
+1 17082
+3 11388
+8 17082
+1 7784
-1 901
+1 23533
+6 11388
cfi=(50)
cfn=(3476)
calls=2847 2612
* 45552
* 5694
+7 11388
cfi=(50)
cfn=(3490) BufferGetLSNAtomic
calls=2847 2839
* 136656
* 5694
+7 11388
+3 5694
+8 5694
+3 2847
+2 11388
+2 2847
+2 43760
cfi=(111)
cfn=(3492) _bt_checkkeys
calls=5470 +87
* 1806034
* 5470
+1 10940
+3 15834
cfn=(3494)
calls=2639 +57
* 89726
+1 2639
+2 21880
+3 5662
+1 2831
+3 2639
-16 16458
+20 5694
+1 11388
+1 8541
+34 17082
+1 5694
fn=(3484)
463 293076
+1 97692
+1 195384
+10 268878
+1 654
+2 354607
+14 64474
+6 2649543
cfi=(196) /home/mithuncy/fsm_p11patch/src/backend/access/common/indextuple.c
cfn=(3516) nocache_index_getattr
calls=1023 214
* 227580
* 36158
+3 175675
+9 105405
+17 316215
cfi=(171)
cfn=(3240)
calls=35135 1134
* 2713446
* 35135
+5 175675
+1 160724
+4 29902
-4 20184
+4 40368
+1 60992
+2 4639
-48 115267
+52 1741
+1 65128
fn=(3520)
1375 2605
+1 1563
+1 521
+1 521
+5 2084
+7 2084
+15 1042
+3 2084
+18 1563
+4 1042
+3 4128
cfi=(50)
cfn=(3258)
calls=511 3316
* 123151
* 1533
+28 3126
cfn=(3522)
calls=521 +21
* 39376
* 1563
+1 1034
+3 24
cfn=(3496)
calls=4 58
* 1565
+2 4
+1 1042
fl=(304)
fn=(5256)
378 2000
+2 3000
+1 1000
+3 1000
fl=(10) /home/mithuncy/fsm_p11patch/src/backend/main/main.c
fn=(374) main
61 5
+1 1
+10 4
cfi=(11)
cfn=(376)
calls=1 454
* 59185
* 1
+5 3
cfn=(414) startup_hacks
calls=1 247
* 6
+13 5
cfi=(12)
cfn=(416)
calls=1 +37
* 27357
* 1
+9 1
cfi=(13)
cfn=(430) MemoryContextInit
calls=1 -6
* 904
+11 5
cfi=(15)
cfn=(438)
calls=1 566
* 28137
+24 4
cfn=(560) init_locale
calls=1 308
* 18346
+1 4
cfn=(560)
calls=1 308
* 8632
+4 4
cfn=(560)
calls=1 308
* 8269
+7 4
cfn=(560)
calls=1 308
* 3616
+1 4
cfn=(560)
calls=1 308
* 3651
+1 4
cfn=(560)
calls=1 308
* 3700
+7 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 4126
* 5
+2 1
cfi=(18)
cfn=(622)
calls=1 994
* 2210
+6 2
+2 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+5 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+16 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+8 2
+1 3
cfn=(632) check_root
calls=1 387
* 2596
+22 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+5 5
cfi=(20)
cfn=(646)
calls=1 577
* 397125417
fn=(414)
247 3
+48 1
+1 2
fn=(560)
308 36
+1 30
cfi=(18)
cfn=(562)
calls=6 152
* 46124
* 12
+4 12
fn=(632)
387 5
+2 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1278
* 5
* 2
+17 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1287
* 5
* 2
cob=(3)
cfi=(3)
cfn=(638) geteuid
calls=1 0
* 3
* 1
* 2
+17 4
fl=(19)
fn=(3716) pg_server_to_client
624 145
+1 232
cfn=(3718) pg_server_to_any
calls=29 +10
* 493
+1 58
fn=(3816) pg_any_to_server
562 616007
+1 176002
+1 1000
+2 437505
+6 612507
cfi=(43)
cfn=(3818) pg_verify_mbstr
calls=87501 1878
* 8171650
+1 175002
+42 352004
fn=(614) SetMessageEncoding
909 6
+4 10
+2 4
fn=(922) SetClientEncoding
202 20
+7 20
+4 20
+2 8
+1 8
+3 1
cfn=(612) GetDatabaseEncoding
calls=1 1005
* 6
* 1
+5 3
+4 5
+1 1
+1 1
+1 2
+44 10
fn=(2650)
1011 6
+1 6
+1 6
fn=(3564)
899 4
+1 4
+3 5
+2 2
fn=(612)
1005 3044
+1 3044
+1 3044
fn=(3718)
635 174
+1 58
+3 145
+2 58
+18 58
fn=(918) PrepareClientEncoding
104 20
+4 20
+4 20
+1 8
+2 1
cfn=(612)
calls=1 1005
* 6
* 1
+5 3
+3 2
+69 10
fn=(3572) pg_encoding_mbcliplen
832 14
+2 2
+4 6
cfi=(43)
cfn=(3574) pg_encoding_max_length
calls=2 1821
* 26
* 4
+3 18
+2 2
+2 32
cfi=(43)
cfn=(3576) pg_utf_mblen
calls=8 542
* 96
* 8
+1 40
+2 16
+1 24
+2 16
+1 24
-9 52
+11 2
+1 4
fn=(3814) pg_client_to_server
546 5
+1 8
cfn=(3816)
calls=1 +15
* 2677
+1 2
fn=(5238) pg_get_client_encoding
307 1000
+1 1000
+1 1000
fn=(3590)
283 4
+2 1
+2 3
cfn=(918)
calls=1 104
* 27
* 2
+1 3
cfn=(922)
calls=1 -86
* 34
-1 2
+13 4
fn=(3570) pg_mbcliplen
821 12
+1 14
cfn=(3572)
calls=2 +10
* 386
+2 4
fl=(219)
fn=(4292)
78 12
+1 12
+1 8
-2 6
+1 6
+1 4
-2 60
+1 60
+1 40
-2 12
+1 20
+1 8
-2 6
+1 10
+1 4
-2 21
+1 33
+1 14
-2 6
+1 6
+1 4
-2 36
+1 60
+1 24
fn=(4828)
90 3
+1 5
+1 2
-2 3
+1 5
+1 2
fn=(3882)
84 3
+1 5
+1 2
-2 3
+1 5
+1 2
fl=(258)
fn=(4646) standard_qp_callback
3442 18
+1 9
+1 6
+1 9
+1 9
+7 12
+7 6
+3 6
+9 6
+2 12
+7 6
+3 21
cfi=(269)
cfn=(4648)
calls=3 877
* 75
-1 6
+23 12
+2 12
+2 12
cfi=(252)
cfn=(4624)
calls=3 90
* 24
* 3
+1 12
cfi=(252)
cfn=(4624)
calls=3 90
* 24
-1 6
+3 12
+3 6
+1 12
fn=(4690) get_cheapest_fractional_path
5780 15
+1 9
+4 9
+1 6
+18 6
fn=(4586)
268 18
+3 9
+3 18
cfn=(4588) standard_planner
calls=3 +6
* 266455
* 3
+1 3
+1 6
fn=(4596) subquery_planner
604 30
+9 12
cfi=(13)
cfn=(3400)
calls=3 853
* 1782
* 15
+1 9
+1 9
+1 15
+1 9
+1 6
+1 6
+1 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 18
cob=(3)
cfi=(3)
cfn=(828)
calls=3 0
* 48
* 3
+1 18
cob=(3)
cfi=(3)
cfn=(828)
calls=3 0
* 48
* 3
+1 6
+1 6
+1 6
+1 6
+1 6
+1 9
+1 6
+3 6
+1 6
+1 6
+6 12
+9 12
+8 9
cfi=(260) /home/mithuncy/fsm_p11patch/src/backend/optimizer/prep/prepjointree.c
cfn=(4598) inline_set_returning_functions
calls=3 -89
* 69
+6 9
cfi=(260)
cfn=(4602) pull_up_subqueries
calls=3 -58
* 225
+8 12
+10 6
+1 6
+1 3
+1 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+20 9
cfn=(4606) preprocess_rowmarks
calls=3 2498
* 66
+10 9
cfi=(262)
cfn=(4608)
calls=3 1474
* 117
+7 18
+3 6
+9 21
cfn=(4612) preprocess_expression
calls=3 1008
* 223596
-1 6
+5 12
+3 3
+1 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+9 9
+3 21
cfn=(4612)
calls=3 1008
* 36
-1 6
+4 18
cfn=(4620) preprocess_qual_conditions
calls=3 1095
* 171
+2 21
cfn=(4612)
calls=3 1008
* 36
* 6
+3 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+11 21
cfn=(4612)
calls=3 1008
* 36
* 6
+2 21
cfn=(4612)
calls=3 1008
* 36
* 6
+3 12
+22 21
cfn=(4612)
calls=3 1008
* 36
-1 6
+5 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+74 12
+41 3
+1 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+27 9
+3 9
cfn=(4622) remove_useless_groupby_columns
calls=3 2917
* 81
+7 6
+7 12
+4 21
cfn=(4626) grouping_planner
calls=3 1651
* 23986
+6 9
cfi=(277)
cfn=(4684) SS_identify_outer_params
calls=3 2109
* 36
+8 15
cfi=(265) /home/mithuncy/fsm_p11patch/src/backend/optimizer/util/relnode.c
cfn=(4678) fetch_upper_rel
calls=3 1155
* 162
* 3
+1 15
cfi=(277)
cfn=(4688) SS_charge_for_initplans
calls=3 2171
* 36
+7 9
cfi=(267) /home/mithuncy/fsm_p11patch/src/backend/optimizer/util/pathnode.c
cfn=(4644) set_cheapest
calls=3 245
* 1092
+2 3
+1 12
fn=(4668) apply_scanjoin_target_to_paths
6887 33
+3 36
+2 3
cfi=(52)
cfn=(3958)
calls=3 3263
* 81
+6 12
+26 9
cfi=(252)
cfn=(4670) list_tail
calls=3 84
* 30
* 9
+3 6
+31 9
cfi=(252)
cfn=(4484)
calls=3 78
* 30
* 6
+9 12
cfi=(252)
cfn=(4484)
calls=3 78
* 30
* 6
+2 9
+5 6
+5 18
cfi=(267)
cfn=(4672) create_projection_path
calls=3 2388
* 1041
* 3
+2 9
-14 21
+19 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+22 15
+11 12
+55 48
+1 18
cfi=(275) /home/mithuncy/fsm_p11patch/src/backend/optimizer/path/allpaths.c
cfn=(4676) generate_gather_paths
calls=3 2579
* 42
+7 9
cfi=(267)
cfn=(4644)
calls=3 245
* 1092
+1 6
fn=(4612)
1008 126
+6 42
+1 36
+11 12
+22 15
cfi=(259)
cfn=(4614)
calls=3 2494
* 223494
* 3
+5 6
+11 15
+9 12
+9 6
+3 3
+1 42
fn=(4588)
280 18
+17 12
cfi=(13)
cfn=(3400)
calls=3 853
* 711
* 15
+2 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+32 21
+2 6
-1 6
+2 9
-1 6
+2 3
-1 6
+2 3
-1 6
+2 3
-1 6
+4 9
cfi=(259)
cfn=(4590)
calls=3 1070
* 4447
* 6
+1 21
+26 12
+1 3
-1 18
+4 12
+24 6
+4 24
cfn=(4596)
calls=3 604
* 252661
* 3
+4 15
cfi=(265)
cfn=(4678)
calls=3 1155
* 162
* 3
+1 18
cfn=(4690)
calls=3 5780
* 45
* 3
+2 15
cfi=(274)
cfn=(4692)
calls=3 307
* 3888
* 3
+6 12
+10 9
+51 12
+18 15
cfi=(251)
cfn=(4714) set_plan_references
calls=3 210
* 2948
* 3
+3 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 15
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+9 12
cfi=(13)
cfn=(3400)
calls=3 853
* 732
* 15
+2 12
+1 12
+1 18
+1 12
+1 12
+1 12
+1 12
+1 12
+1 9
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+2 12
+1 12
+1 12
+2 6
+1 21
+1 9
-1 6
+24 3
+1 6
fn=(4620)
1095 15
+1 6
+2 12
+4 12
+2 6
+3 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+3 21
cfn=(4612)
calls=3 1008
* 36
* 9
+14 6
fn=(4626)
1651 33
+1 9
+2 3
+1 3
+1 6
+1 3
+10 24
+14 9
+2 12
+88 3
+1 3
+1 3
+7 12
+7 12
+5 9
cfi=(263) /home/mithuncy/fsm_p11patch/src/backend/optimizer/prep/preptlist.c
cfn=(4628) preprocess_targetlist
calls=3 71
* 189
* 3
+9 9
+15 207
+1 12
+14 12
+16 12
+9 12
+1 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+4 9
+3 6
+1 6
+3 12
-2 3
+11 21
cfi=(264) /home/mithuncy/fsm_p11patch/src/backend/optimizer/plan/planmain.c
cfn=(4630) query_planner
calls=3 56
* 6420
* 3
+10 9
cfi=(266)
cfn=(4652)
calls=3 588
* 1962
* 15
cfi=(271) /home/mithuncy/fsm_p11patch/src/backend/optimizer/path/costsize.c
cfn=(4656) set_pathtarget_cost_width
calls=3 5257
* 6175
* 3
+2 6
-1 12
cfi=(259)
cfn=(4636)
calls=3 1089
* 57
* 3
+8 12
+10 6
+1 6
+8 6
+10 6
+1 6
+8 6
+1 6
-1 12
+1 6
-1 6
+1 15
-1 6
+2 6
+8 6
+1 6
+9 12
+30 9
+1 9
+1 9
+1 12
cfi=(45)
cfn=(1586)
calls=3 260
* 870
* 3
+1 3
+4 9
cfi=(252)
cfn=(4624)
calls=3 90
* 30
+1 30
cfi=(273) /home/mithuncy/fsm_p11patch/src/backend/nodes/equalfuncs.c
cfn=(4666) equal
calls=3 2987
* 48
* 9
-1 6
+2 30
cfn=(4668)
calls=3 6887
* 2709
+12 9
+1 9
+1 9
+7 6
+19 6
+21 12
+14 12
+18 15
cfi=(265)
cfn=(4678)
calls=3 1155
* 3102
* 3
+9 12
+1 18
cfi=(259)
cfn=(4636)
calls=3 1089
* 57
-1 6
+2 18
cfi=(259)
cfn=(4636)
calls=3 1089
* 57
-1 6
+2 6
+5 12
+1 12
+1 12
+1 12
+6 12
cfi=(252)
cfn=(4484)
calls=3 78
* 30
* 6
+2 9
+9 12
+10 9
cfn=(4682) limit_needed
calls=3 2860
* 48
* 6
+12 12
+59 15
cfi=(267)
cfn=(4640) add_path
calls=3 423
* 1020
-92 21
+99 24
+16 12
+7 9
+5 21
fn=(4682)
2860 9
+3 9
+1 6
+12 9
+1 6
+17 3
+1 6
fn=(4606)
2498 12
+1 9
+6 12
+17 12
+1 6
-1 6
+2 3
+78 6
fn=(4622)
2917 15
+1 9
+7 12
cfi=(252)
cfn=(4624)
calls=3 90
* 24
* 6
+1 3
3049 12
fl=(311)
fn=(5392) visibilitymap_pin_ok
245 2500
+1 3500
+2 2500
cfi=(50)
cfn=(3476)
calls=500 2612
* 8000
* 2500
+1 1000
fn=(5404)
170 4000
+1 3500
+1 6000
+1 2000
+1 3000
+2 500
+8 2500
cfi=(50)
cfn=(3476)
calls=500 2612
* 8000
* 1000
+3 2000
cfi=(50)
cfn=(3232)
calls=500 3553
* 82500
+1 5000
+2 5000
+2 6500
+2 1500
cfi=(50)
cfn=(5406)
calls=500 1457
* 46500
+1 500
+3 2000
cfi=(50)
cfn=(3232)
calls=500 3553
* 57000
+2 500
+1 1000
fn=(5386) visibilitymap_pin
221 3000
+1 3500
+3 2000
+7 3000
cfn=(5388) vm_readbuf
calls=500 575
* 1915970
* 1000
+1 1000
fn=(5388)
575 4000
+10 2000
+6 2500
+2 2500
cfi=(140)
cfn=(5368) smgrexists
calls=500 303
* 1259027
* 1000
+1 3500
cfi=(140)
cfn=(3162) smgrnblocks
calls=500 +94
* 77000
* 1000
+7 2500
+27 3500
cfi=(50)
cfn=(3194)
calls=500 +14
* 548943
* 500
+2 5500
+7 500
+1 2000
fl=(87)
fn=(2132) InitShmemAllocation
113 3
+1 2
+9 2
cfn=(2130) ShmemAllocUnlocked
calls=1 228
* 32
* 1
+2 2
+8 6
-1 1
+2 7
+3 2
+1 1
+7 2
cfn=(2134)
calls=1 +13
* 67
-1 1
+2 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 16
* 1
+1 2
fn=(2136) ShmemAllocNoError
177 2008
+16 2008
+4 1506
cfi=(116) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/../../../../src/include/storage/s_lock.h
cfn=(2138) tas
calls=502 +28
* 7028
* 1004
+2 1506
+2 2008
+1 2008
+2 2008
+1 2008
+5 1004
+5 502
+1 1004
fn=(2162) ShmemInitHash
322 56
+11 21
cfi=(31)
cfn=(2164) hash_select_dirsize
calls=7 780
* 1164
* 42
+1 14
+1 7
+3 35
cfi=(31)
cfn=(2166) hash_get_shared_size
calls=7 804
* 70
* 42
cfn=(2168)
calls=7 +35
* 6821
* 7
+8 21
+4 21
+2 42
cfi=(31)
cfn=(794)
calls=7 -35
* 691873
+1 14
fn=(2000)
493 636
+3 408
+1 16
+1 294
+2 490
+4 98
+1 424
fn=(2002)
476 912
+3 608
+2 912
+4 152
+1 608
fn=(2126) InitShmemAccess
98 3
+1 2
+2 2
+1 2
+1 5
+1 2
fn=(2134)
158 40
+3 24
cfn=(2136)
calls=8 +16
* 408
* 8
+1 16
+5 8
+1 32
fn=(2160) InitShmemIndex
273 3
+12 1
+1 1
+1 1
+2 8
cfn=(2162)
calls=1 +33
* 3234
* 1
+3 2
fn=(2168)
373 364
+4 260
cfi=(99)
cfn=(2170)
calls=52 1122
* 7124
+2 156
+2 2
+5 3
+18 3
cfn=(2134)
calls=1 158
* 67
* 1
+1 3
+1 2
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 2
+5 51
-1 306
cfi=(31)
cfn=(836)
calls=51 910
* 37238
* 51
+3 102
+9 204
+20 153
cfn=(2136)
calls=51 177
* 2601
* 51
+1 102
+11 153
+1 153
+3 204
cfi=(99)
cfn=(2182)
calls=51 1726
* 4641
+6 51
+1 208
fn=(2130)
228 10
+8 8
+4 6
+2 8
+1 8
+5 6
+2 8
+4 2
+1 8
fl=(36)
fn=(864)
114 63
+14 672
+1 32
-1 44
+1 88
+2 20
+1 45
+2 381
cfn=(872) swapfunc
calls=9 -47
* 756
-1 66
-1 421
cfi=(151)
cfn=(2904)
calls=13 1543
* 252
cfi=(29)
cfn=(866)
calls=18 4918
* 3824
* 62
-1 163
+4 4
+2 56
+1 280
+2 29930
cfi=(280) /home/mithuncy/fsm_p11patch/src/backend/executor/execExprInterp.c
cfn=(4778) dispatch_compare_ptr
calls=108 2116
* 1950
cfi=(151)
cfn=(2904)
calls=49 1543
* 919
cfi=(29)
cfn=(866)
calls=2836 4918
* 654117
* 5986
+2 51
+1 51
-5 26870
+8 112
+1 5
+1 357
+1 102
+2 100
+1 350
+1 100
+2 84
+2 273
cfn=(870) med3
calls=21 -51
* 3582
* 21
+1 294
cfn=(870)
calls=21 -52
* 3198
* 21
+1 336
cfn=(870)
calls=21 -53
* 3927
* 21
+2 126
cfn=(870)
calls=21 -55
* 2959
* 174
cfn=(870)
calls=29 -55
* 8560
* 50
+2 588
cfn=(872)
calls=15 -76
* 1228
+1 306
+1 459
+3 51
+2 3480
+2 40
cfn=(872)
calls=5 -85
* 420
+1 10
+2 10
-7 15
+7 3470
-7 18624
cfi=(280)
cfn=(4778)
calls=44 2116
* 798
cfi=(151)
cfn=(2904)
calls=251 1543
* 4843
cfi=(29)
cfn=(866)
calls=1772 4918
* 142373
* 6201
+9 339
+2 3774
+2 32
cfn=(872)
calls=4 -94
* 336
+1 12
+2 12
-7 12
+7 5649
-7 19716
cfi=(280)
cfn=(4778)
calls=42 2116
* 1008
cfi=(151)
cfn=(2904)
calls=301 1543
* 5932
cfi=(29)
cfn=(866)
calls=1832 4918
* 141191
* 6525
+9 1017
+1 51
+5 306
+1 510
+1 152
-6 3364
cfn=(872)
calls=76 87
* 6384
+1 576
+1 864
+1 288
-23 288
+26 500
cfn=(872)
calls=50 87
* 2676
+1 663
+1 142
cfn=(872)
calls=4 87
* 336
+1 255
+1 255
+1 153
+3 102
+1 144
cfn=(865) pg_qsort'2
calls=16 -89
* 251878
+1 102
+4 204
+1 136
+1 34
+6 51
+1 192
cfn=(865)
calls=16 114
* 2618153
+1 51
+4 68
+1 17
+3 18
fn=(865)
114 938
+14 5454
+1 146
-1 405
+1 810
+2 635
+1 1044
+2 6576
cfn=(872)
calls=121 -47
* 9876
-1 1095
-1 8079
cfi=(280)
cfn=(4778)
calls=18 2116
* 378
cfi=(151)
cfn=(2904)
calls=179 1543
* 3449
cfi=(29)
cfn=(866)
calls=397 4918
* 79346
* 1188
-1 4021
+4 127
+2 351
+1 1755
+2 65930
cfi=(280)
cfn=(4778)
calls=146 2116
* 2694
cfi=(151)
cfn=(2904)
calls=63 1543
* 1224
cfi=(29)
cfn=(866)
calls=6384 4918
* 1454144
* 13186
+2 344
+1 344
-5 58698
+8 702
+1 7
+1 2408
+1 688
+2 638
+1 2233
+1 638
+2 60
+2 195
cfn=(870)
calls=15 -51
* 3487
* 15
+1 210
cfn=(870)
calls=15 -52
* 2570
* 15
+1 240
cfn=(870)
calls=15 -53
* 3454
* 15
+2 90
cfn=(870)
calls=15 -55
* 2267
* 1824
cfn=(870)
calls=304 -55
* 126094
* 319
+2 4242
cfn=(872)
calls=46 -76
* 3512
+1 2064
+1 3096
+3 344
+2 1880
+2 32
cfn=(872)
calls=4 -85
* 336
+1 8
+2 8
-7 12
+7 1872
-7 16428
cfi=(280)
cfn=(4778)
calls=54 2116
* 1086
cfi=(151)
cfn=(2904)
calls=289 1543
* 5606
cfi=(29)
cfn=(866)
calls=1469 4918
* 203269
* 5436
+9 916
+2 11196
+2 120
cfn=(872)
calls=15 -94
* 1260
+1 45
+2 45
-7 45
+7 16749
-7 56517
cfi=(280)
cfn=(4778)
calls=136 2116
* 3216
cfi=(151)
cfn=(2904)
calls=305 1543
* 5952
cfi=(29)
cfn=(866)
calls=5729 4918
* 570796
* 18510
+9 2748
+1 344
+5 2064
+1 3440
+1 1031
-6 6881
cfn=(872)
calls=111 87
* 9068
+1 1144
+1 1716
+1 572
-23 572
+26 3430
cfn=(872)
calls=343 87
* 14130
+1 4472
+1 838
cfn=(872)
calls=15 87
* 1260
+1 1720
+1 1720
+1 1032
+3 861
+1 459
cfn=(865)
calls=51 -89
* 136876
+1 861
+4 1722
+1 1148
+1 287
+6 171
+1 612
cfn=(865)
calls=51 114
* 1631422
+1 171
+4 228
+1 57
+3 268
fn=(870)
106 3339
+1 2862
cfi=(280)
cfn=(4778)
calls=18 2116
* 324
cfi=(151)
cfn=(2904)
calls=61 1543
* 1184
cfi=(29)
cfn=(866)
calls=398 4918
* 35394
+2 954
-1 2400
cfi=(280)
cfn=(4778)
calls=18 2116
* 372
cfi=(151)
cfn=(2904)
calls=33 1543
* 648
cfi=(29)
cfn=(866)
calls=349 4918
* 28318
* 2660
cfi=(280)
cfn=(4778)
calls=8 2116
* 192
cfi=(151)
cfn=(2904)
calls=21 1543
* 404
cfi=(29)
cfn=(866)
calls=281 4918
* 65827
* 1420
+1 462
cfi=(151)
cfn=(2904)
calls=28 1543
* 541
cfi=(29)
cfn=(866)
calls=49 4918
* 5860
* 508
cfi=(151)
cfn=(2904)
calls=19 1543
* 364
cfi=(29)
cfn=(866)
calls=40 4918
* 4857
* 254
+1 954
fn=(872)
87 4908
+1 1636
+1 10072
+2 33326
+1 1636
fl=(173) /home/mithuncy/fsm_p11patch/src/backend/lib/pairingheap.c
fn=(3272) pairingheap_remove
171 13840
+10 11072
+2 1512
cfn=(3352) pairingheap_remove_first
calls=504 -37
* 17640
+1 504
+7 6792
+1 6792
+6 11320
+1 9056
+10 4528
+12 6792
+1 4528
+1 8
+2 5536
fn=(3278) pairingheap_first
131 690
+3 460
+1 460
fn=(3352)
146 2016
+7 1512
+1 1512
+2 2520
cfn=(3354) merge_children
calls=504 +79
* 5544
* 1008
+1 2016
+6 504
+1 1008
fn=(3354)
235 2520
+6 1008
+1 1008
+43 1008
fn=(3124) pairingheap_add
113 13840
+1 5536
+3 19376
cfn=(3126) merge
calls=2768 -37
* 241512
* 5536
+1 8304
+1 8304
+1 5536
fn=(3126)
80 16608
+1 5536
+1 1008
+1 4528
+4 18112
cfi=(110)
cfn=(3138) xmin_cmp
calls=2264 945
* 151688
* 4528
+10 9056
+1 8
+1 6
+1 8
+1 6
+2 2
+1 4
-5 6786
+1 9048
+1 6786
+2 2262
+1 5532
fl=(203) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/localbuf.c
fn=(5742) AtProcExit_LocalBuffers
584 2
+6 1
cfn=(3644) CheckForLocalBufferLeaks
calls=1 -46
* 4
+1 2
fn=(3644)
544 6
+20 6
fn=(3642) AtEOXact_LocalBuffers
573 10
+1 2
cfn=(3644)
calls=2 -30
* 8
+1 4
fl=(320) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/../../../../src/include/lib/ilist.h
fn=(5732) dlist_is_empty
290 6
+3 24
+1 4
fl=(27)
fn=(750)
42 4
+1 4
cob=(3)
cfi=(3)
cfn=(756) sigemptyset
calls=1 -43
* 38
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -43
* 1390
* 6
+3 4
cob=(3)
cfi=(3)
cfn=(762) sigfillset
calls=1 -46
* 21
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -46
* 1382
* 6
+1 4
cob=(3)
cfi=(3)
cfn=(762)
calls=2 -47
* 42
* 2
+8 6
cob=(3)
cfi=(3)
cfn=(768)
calls=1 -55
* 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -55
* 1316
* 6
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -56
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -59
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -60
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -63
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -64
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -67
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -68
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -71
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -72
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -75
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -76
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -79
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -80
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -83
* 20
* 2
+1 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -84
* 20
* 2
+5 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -89
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -92
* 20
* 2
+3 6
cob=(3)
cfi=(3)
cfn=(768)
calls=2 -95
* 20
* 2
+2 4
fl=(207)
fn=(3774) pq_writeint8
48 10
+1 4
+3 16
+1 12
+1 4
fn=(3728)
146 10
+1 8
cfi=(80)
cfn=(1922)
calls=2 271
* 70
+1 10
cfn=(3730) pq_writeint32
calls=2 -72
* 46
+1 4
fn=(3770) pq_sendbyte
162 12
+1 10
cfn=(3772) pq_sendint8
calls=2 -33
* 150
+1 4
fn=(3730)
76 8
+1 6
+3 16
+1 12
+1 4
fn=(3772)
130 12
+1 8
cfi=(80)
cfn=(1922)
calls=2 271
* 70
+1 10
cfn=(3774)
calls=2 -84
* 46
+1 4
fl=(90) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/buf_table.c
fn=(2014) BufTableShmemSize
44 4
+1 5
cfi=(31)
cfn=(2006) hash_estimate_size
calls=1 733
* 441
+1 2
fn=(3204) BufTableLookup
93 61310
+4 12262
-1 73572
cfi=(31)
cfn=(842) hash_search_with_hash_value
calls=12262 924
* 1669365
* 12262
+7 24524
+1 3000
+2 21524
+1 24524
fn=(5440) BufTableInsert
121 9000
+8 1500
-1 10500
cfi=(31)
cfn=(842)
calls=1500 924
* 381703
* 1500
+7 4500
+3 4500
+2 1500
+1 3000
fn=(2214) InitBufTable
54 4
+6 1
+1 1
+1 1
+2 9
cfi=(87)
cfn=(2162)
calls=1 322
* 236609
* 1
+4 2
fn=(3202) BufTableHashCode
81 49048
+1 61310
cfi=(31)
cfn=(2226) get_hash_value
calls=12262 861
* 1716680
+1 24524
fl=(174)
fn=(3356)
108 5
+1 2
+6 2
+3 5
cfi=(81)
cfn=(3170)
calls=1 -71
* 755
* 1
+8 2
fn=(3168)
140 24064
+3 6016
+5 4
+4 10
cfi=(81)
cfn=(3170)
calls=2 47
* 1499
* 4
+2 6012
+3 6012
+2 6012
+1 22500
cfi=(81)
cfn=(3170)
calls=2500 47
* 3822350
* 5000
+4 3036
cfi=(81)
cfn=(3170)
calls=506 47
* 626333
* 1012
+42 3008
+1 6016
fl=(284)
fn=(4896) func_match_argtypes
908 14
+3 2
+2 4
+2 6
+4 36
+1 84
cfi=(285)
cfn=(4898) can_coerce_type
calls=12 545
* 266654
* 24
+3 12
+1 9
+1 3
-8 6
-2 6
+2 18
-2 22
+14 2
+1 4
fn=(4930) make_fn_arguments
1823 21
+2 3
+2 9
cfi=(219)
cfn=(4292)
calls=3 78
* 30
* 6
+3 84
+2 12
+6 16
+18 20
-3 4
+2 20
-2 36
cfi=(285)
cfn=(4932) coerce_type
calls=4 159
* 3450
* 4
+7 12
+3 4
-36 20
+36 2
-36 16
+38 6
fn=(4966)
80 13
+1 3
+1 6
+1 1
+1 9
+1 9
+1 9
+1 9
+1 6
+6 1
+12 1
+6 6
+11 3
cfi=(219)
cfn=(4828)
calls=1 -33
* 10
* 2
+20 1
+1 3
cfi=(219)
cfn=(4292)
calls=1 -66
* 10
* 2
+2 6
+1 6
cfi=(247)
cfn=(4434)
calls=2 43
* 48
* 2
+2 6
+2 4
+7 12
-14 10
+25 1
+1 3
cfi=(219)
cfn=(4292)
calls=1 -92
* 10
* 2
+2 6
+2 8
+19 4
-23 12
+31 2
+2 3
cfi=(219)
cfn=(4292)
calls=1 78
* 10
* 2
+15 3
-4 2
+11 2
+30 6
cfi=(223)
cfn=(4942) setup_parser_errposition_callback
calls=1 147
* 24
+7 5
-3 1
-2 23
cfn=(4968) func_get_detail
calls=1 1390
* 57335
* 1
+7 3
cfi=(223)
cfn=(4960) cancel_parser_errposition_callback
calls=1 162
* 8
+7 2
+14 2
+10 2
+8 2
+7 2
+6 2
+6 2
+6 2
+6 2
+11 2
631 2
+1 3
cfi=(219)
cfn=(4292)
calls=1 78
* 8
* 4
+22 7
cfi=(285)
cfn=(4928) enforce_generic_type_consistency
calls=1 1677
* 103
* 1
+7 6
cfn=(4930)
calls=1 1823
* 1847
+7 3
+10 6
+36 7
+13 3
+4 2
+2 4
cfi=(13)
cfn=(3400)
calls=1 853
* 174
* 5
+2 3
+1 3
+1 3
+1 3
+1 2
+2 3
+1 3
+2 2
-12 1
883 3
+3 1
+1 6
fn=(4968)
1390 12
+8 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+3 9
cfi=(55)
cfn=(4970) FuncnameGetCandidates
calls=1 925
* 34466
* 1
+8 3
+4 9
cob=(3)
cfi=(3)
cfn=(3062)
calls=1 0
* 25
* 1
* 2
-2 3
-2 4
+8 2
+41 2
+59 2
+5 6
cfn=(4896)
calls=1 908
* 120
* 1
+6 2
+1 3
+21 2
+11 4
+8 2
+4 4
+1 4
+1 4
+7 4
+16 2
-1 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 22470
* 1
+2 2
+3 8
+1 4
+1 4
+1 4
+2 6
+68 5
+6 1
+1 1
+13 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+1 2
+4 2
fn=(4918) func_select_candidate
992 7
+19 2
+21 1
+1 2
+2 16
+1 8
cfi=(272)
cfn=(4886) getBaseType
calls=1 2267
* 488
* 4
+4 3
+1 1
-8 11
+16 1
+1 1
+1 1
+1 3
+4 6
+1 2
+1 4
+2 20
+1 18
-1 4
-2 22
+8 10
+2 2
+1 2
+1 2
+1 2
+3 3
+2 3
+1 2
+1 1
-24 3
-2 2
+2 3
-2 4
+31 2
+1 2
+2 2
+10 2
+1 10
cfi=(285)
cfn=(4920) TypeCategory
calls=2 2082
* 22893
* 6
-1 11
+2 1
+1 1
+1 1
+1 3
+4 6
+1 2
+1 4
+2 20
+2 22
+1 26
cfi=(285)
cfn=(4924) IsPreferredType
calls=2 2101
* 44578
-1 4
-4 22
+10 10
+2 2
+1 2
+1 2
+1 2
+2 3
+2 3
+1 2
+1 1
-25 3
-2 2
+2 3
-2 4
+31 2
+1 2
+2 2
+9 2
+22 1
+1 2
+4 10
+1 1
+1 1
+1 3
+1 3
+1 1
+1 3
+4 6
+1 14
+1 12
cfi=(272)
cfn=(4922) get_type_category_preferred
calls=2 2446
* 22626
+3 10
+3 4
+1 5
+2 6
+8 3
+11 1
-32 3
-2 2
+2 3
-2 4
+38 7
-48 11
+56 2
+3 1
+1 2
+1 1
+1 3
+4 2
+2 6
+1 4
+2 15
+1 1
+1 14
+1 12
cfi=(272)
cfn=(4922)
calls=2 2446
* 958
+3 12
+2 1
+1 1
+2 9
-13 14
+19 4
+3 2
+1 2
+5 2
+1 5
-34 6
-2 6
+43 2
+2 2
+2 2
+3 2
+1 2
+61 4
fl=(319) /home/mithuncy/fsm_p11patch/src/backend/utils/error/../../../../src/include/libpq/pqformat.h
fn=(5710) pq_sendint8
130 48
+1 32
cfi=(80)
cfn=(1922)
calls=8 271
* 280
+1 40
cfn=(5712) pq_writeint8
calls=8 -84
* 184
+1 16
fn=(5712)
48 40
+1 16
+3 64
+1 48
+1 16
fn=(5708) pq_sendbyte
162 48
+1 40
cfn=(5710)
calls=8 -33
* 600
+1 16
fl=(21)
fn=(2774) TimestampDifference
1646 12
+1 10
+2 4
+7 20
+1 30
+2 4
fn=(666)
1713 6
+3 22
+3 2
+1 4
fn=(656)
1571 42
+4 56
cob=(10)
cfi=(22)
cfn=(662) 0x000000005803d963
calls=13 0
* 39
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1385
* 18
+2 42
+2 70
+2 14
+1 28
fn=(3748) TimestampDifferenceExceeds
1672 10
+1 10
+2 10
+1 4
fl=(40) /home/mithuncy/fsm_p11patch/src/backend/utils/mb/encnames.c
fn=(908) clean_encoding_name
526 20
+4 20
+2 26
cob=(3)
cfi=(3)
cfn=(914)
calls=25 0
* 75
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1355
* 30
* 286
+2 184
+1 176
+2 12
-7 146
+10 8
+1 4
+1 8
fn=(904) pg_valid_client_encoding
488 16
+3 12
cfn=(906) pg_char_to_encoding
calls=4 +61
* 3620
* 12
+3 16
+3 4
+1 8
fn=(906)
552 20
+1 4
+1 4
+1 24
+6 24
+3 12
cob=(3)
cfi=(3)
cfn=(424)
calls=4 0
* 60
* 4
* 8
+11 20
cfn=(908)
calls=4 -49
* 2350
* 4
+2 4
+2 264
+1 240
+2 48
+2 60
cob=(3)
cfi=(3)
cfn=(446)
calls=10 0
* 220
* 10
* 10
+1 20
+1 12
+2 40
+1 40
+2 30
-14 72
+17 16
fn=(916) pg_encoding_to_char
608 12
+1 16
+2 20
+3 12
+3 8
fl=(186) /home/mithuncy/fsm_p11patch/src/backend/access/common/reloptions.c
fn=(5186) initialize_reloptions
474 4
+4 1
+1 2
+4 6
-4 76
+6 2
+4 21
-4 241
+6 2
+4 7
-4 79
+6 2
+4 2
-4 29
+6 2
+2 3
+3 2
-1 6
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+3 1
+1 2
+2 78
+1 42
+1 90
cob=(3)
cfi=(3)
cfn=(424)
calls=6 0
* 110
* 6
* 6
+1 6
-5 76
+8 2
+2 273
+1 147
+1 315
cob=(3)
cfi=(3)
cfn=(424)
calls=21 0
* 419
* 21
* 21
+1 21
-5 241
+8 2
+2 84
+1 49
+1 105
cob=(3)
cfi=(3)
cfn=(424)
calls=7 0
* 131
* 7
* 7
+1 7
-5 79
+8 2
+2 24
+1 14
+1 30
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 38
* 2
* 2
+1 2
-5 29
+8 5
+7 6
+3 1
+1 4
fn=(5196) allocateReloptStruct
1258 3000
+1 1000
+3 1000
+1 117000
-1 37500
+4 1500
cfi=(13)
cfn=(2546)
calls=500 956
* 99000
+1 1000
fn=(5184) parseRelOptions
1065 4500
+1 500
+1 500
+4 1500
+1 1
cfn=(5186)
calls=1 474
* 3117
+4 1000
+1 180000
+1 9000
-2 166000
+4 1000
+2 4000
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+2 1500
+2 180000
+2 144000
+1 90000
+1 9000
-6 166000
+12 1500
+2 1500
cfi=(171)
cfn=(4958) pg_detoast_datum
calls=500 1918
* 96000
* 500
+4 6000
cfi=(298) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/arrayfuncs.c
cfn=(5190) deconstruct_array
calls=500 3462
* 165500
+3 1000
+2 8000
+1 10000
+4 2000
+2 24000
+2 13000
+1 18000
cob=(3)
cfi=(3)
cfn=(1044)
calls=1000 0
* 47000
* 1000
-1 2000
+3 14000
cfn=(5194) parse_one_reloption
calls=1000 +38
* 450000
+2 1000
-9 7000
+13 3000
-20 5500
+36 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 1500
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+3 1500
+1 500
+1 2000
fn=(5198) fillRelOptions
1285 5000
+2 1000
+2 1000
+3 9000
+2 18000
+2 1795500
cob=(3)
cfi=(3)
cfn=(446)
calls=85500 0
* 3193500
* 85500
* 171000
+3 99000
+3 123000
+3 10000
+1 9000
+1 5500
-1 1500
-1 1000
+3 500
-3 1000
+3 500
+2 70000
+1 19500
+1 65000
-1 6500
-1 13000
+3 6500
-3 1000
+3 500
+2 10000
+1 2000
+1 10000
-1 1000
-1 2000
+3 1000
+24 9000
+1 9000
-49 333000
+52 18000
-57 37500
+61 2000
+1 1000
fn=(5180) heap_reloptions
1456 4000
+3 3500
+15 3000
cfn=(5182) default_reloptions
calls=500 1359
* 8465618
* 500
+8 1000
fn=(5194)
1157 10000
+4 1000
+2 4000
+6 8000
+1 5000
cfi=(13)
cfn=(940)
calls=1000 925
* 94500
* 1000
+1 13000
cob=(3)
cfi=(3)
cfn=(856)
calls=1000 0
* 13000
* 1000
+1 5000
+2 6000
+4 3000
cfi=(59)
cfn=(1224)
calls=500 31
* 88500
* 500
+1 1000
+6 500
+3 1500
+2 3500
cfi=(29)
cfn=(1240)
calls=500 5995
* 99000
* 500
+1 1000
+5 1000
+9 500
+38 2000
+1 2000
+1 4000
+1 3000
cfi=(13)
cfn=(952)
calls=1000 1032
* 72000
+1 5000
fn=(3388) extractRelOptions
1000 3762
+6 11032
cfi=(178)
cfn=(3238)
calls=500 428
* 1045935
* 627
+4 1881
+1 254
+2 4000
+3 4500
+6 4000
cfn=(5180)
calls=500 1456
* 8477618
* 500
+1 500
+17 500
+1 1254
fn=(5182)
1359 3500
+44 3000
cfn=(5184)
calls=500 1065
* 1994618
* 500
+3 1500
+3 2500
cfn=(5196)
calls=500 1258
* 261000
* 500
+2 5000
cfn=(5198)
calls=500 1285
* 6148000
+3 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+2 500
+1 1000
fl=(212) /home/mithuncy/fsm_p11patch/src/backend/parser/scan.l
fn=(4248) process_integer_literal
1261 30
+4 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 6
+1 36
cfi=(37)
cfn=(4250) strtoint
calls=6 51
* 894
* 6
+1 30
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 18
+6 18
+1 6
+1 12
fn=(3836) scanner_init
1148 3563
+1 1527
cob=(3)
cfi=(3)
cfn=(424)
calls=509 0
* 13243
* 509
* 509
+3 1527
cfi=(213) /home/mithuncy/fsm_p11patch/src/backend/parser/scan.c
cfn=(3838) core_yylex_init
calls=509 11027
* 116031
* 1018
+3 2545
cfi=(213)
cfn=(3844) core_yyset_extra
calls=509 10927
* 5599
+2 1527
+1 1527
+2 1527
+1 1527
+1 1527
+5 2036
cfi=(13)
cfn=(940)
calls=509 925
* 62576
* 1018
+1 1527
+1 3563
cob=(3)
cfi=(3)
cfn=(856)
calls=509 0
* 13329
* 509
+1 6108
+1 4072
cfi=(213)
cfn=(3846) core_yy_scan_buffer
calls=509 10742
* 238721
+3 1018
+1 2545
cfi=(13)
cfn=(940)
calls=509 925
* 62576
* 1018
+1 1018
+2 509
+1 1018
fn=(3866) addlit
1207 3591
+2 5130
+10 7182
cob=(3)
cfi=(3)
cfn=(856)
calls=513 0
* 11279
* 513
+1 4104
+1 2052
fn=(3868) litbufdup
1245 2028
+1 2028
+3 2535
cfi=(13)
cfn=(940)
calls=507 925
* 62330
* 507
+1 4563
cob=(3)
cfi=(3)
cfn=(856)
calls=507 0
* 11181
* 507
+1 2535
+1 507
+1 1014
fn=(3840) core_yyalloc
1574 7635
+1 4581
cfi=(13)
cfn=(940)
calls=1527 925
* 181204
+1 3054
fn=(4278) addlitchar
1226 42
+2 54
+7 60
+1 42
+1 24
fn=(3888) scanner_finish
1187 2036
+11 2545
+2 2545
+2 1018
fl=(250) /home/mithuncy/fsm_p11patch/src/backend/rewrite/../../../src/include/nodes/pg_list.h
fn=(4462) list_head
78 45
+1 57
+1 30
fn=(4466) list_length
90 9
+1 9
+1 6
fl=(111)
fn=(3474)
176 11388
+3 2847
+2 5508
+1 8262
+1 8262
cfi=(13)
cfn=(952)
calls=2754 1032
* 234090
-4 11202
+6 5694
fn=(3446) _bt_mark_scankey_required
1313 17924
+3 35848
+7 3874
+1 3874
+3 607
+1 607
+8 26886
+2 22405
+10 8962
fn=(3442)
757 11388
+1 8541
+1 8541
+1 11388
+13 5694
+1 5694
+2 5694
+6 11388
+3 8541
+2 8541
+1 5694
+2 11388
+4 5694
+3 6105
cfn=(3444) _bt_fix_scankey_strategy
calls=1221 1211
* 46398
* 3663
+2 7326
cob=(3)
cfi=(3)
cfn=(856)
calls=1221 0
* 29304
* 1221
+1 2442
+2 4884
+1 3663
cfn=(3446)
calls=1221 1313
* 32967
+1 1221
+6 1626
+1 1626
+8 1626
+1 8130
cob=(3)
cfi=(3)
cfn=(828)
calls=1626 0
* 26016
* 1626
+7 1626
+2 14658
+3 16300
cfn=(3444)
calls=3260 1211
* 123880
* 9780
+12 27698
+2 6520
+3 16316
+14 9780
+2 5306
+2 5306
+2 53060
+2 31836
+1 13265
-5 47754
+29 2653
+4 9780
+17 9780
+1 1821
+20 6520
+2 81500
+2 39120
+2 26080
cob=(3)
cfi=(3)
cfn=(856)
calls=3260 0
* 78240
* 3260
+1 13040
+1 9780
cfn=(3446)
calls=3260 1313
* 88020
-8 58680
+15 9780
+1 1626
+65 6504
-62 4902
+1 8170
cob=(3)
cfi=(3)
cfn=(828)
calls=1634 0
* 26144
* 1634
+4 16300
+3 16300
+17 16300
+3 16300
827 6520
1017 3260
+3 5694
fn=(2076) BTreeShmemSize
2014 6
+3 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+1 2
+1 4
fn=(3492)
1373 49230
+1 49230
+9 10940
+10 49230
+23 5470
+2 38290
+2 21880
+1 16410
+1 16410
+2 27350
+8 37000
+7 543900
cfi=(196)
cfn=(3516)
calls=1006 214
* 223814
* 8406
+5 37000
+33 22200
+41 66600
cfi=(171)
cfn=(3240)
calls=7400 1134
* 463112
* 7400
+3 14800
+12 19817
+2 8493
+8 5662
1424 39255
1548 10556
+4 2639
+1 10940
fn=(2290) BTreeShmemInit
2027 4
+3 1
cfn=(2076)
calls=1 -16
* 62
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1113
* 1
+4 4
+10 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1258
* 5
* 1
+2 2
+1 3
+4 4
fn=(3432) _bt_preprocess_array_keys
204 11388
+1 8541
+1 8541
+1 11388
+7 2847
+1 5694
+2 44810
+1 22405
-3 26465
+18 5694
+2 5694
+1 5694
+1 2847
365 5694
fn=(3444)
1211 17924
+3 49291
+22 22405
+35 17924
+2 26886
+3 22405
+17 4481
+1 8962
fl=(89)
fn=(2212) StrategyInitialize
476 5
+13 4
cfi=(90)
cfn=(2214)
calls=1 54
* 236628
+6 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1164
-1 1
+5 4
+7 2
+6 2
+1 4
+3 5
cfi=(123) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/../../../../src/include/port/atomics.h
cfn=(2206) pg_atomic_init_u32
calls=1 227
* 33
+3 2
+1 5
cfi=(123)
cfn=(2206)
calls=1 227
* 33
+3 2
+4 2
fn=(2012) StrategyShmemSize
455 3
+1 1
+3 4
cfi=(90)
cfn=(2014)
calls=1 44
* 452
* 5
cfi=(87)
cfn=(2002)
calls=1 +17
* 21
* 1
+3 4
cfi=(87)
cfn=(2002)
calls=1 +14
* 21
* 1
+2 1
+1 2
fn=(5486)
598 2000
+2 1000
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 103968
+1 1000
fn=(5288)
543 2000
+10 3500
+10 500
+1 500
+12 5000
+4 2000
-1 1000
cfi=(13)
cfn=(2546)
calls=500 956
* 643101
* 500
+5 1500
+1 1500
+2 500
+1 1000
fn=(5434) AddBufferToRing
670 6000
+1 13500
+1 3000
fn=(5414) StrategyGetBuffer
202 9000
+10 3000
+2 7500
cfn=(5416) GetBufferFromRing
calls=1500 612
* 46500
* 1500
+1 3000
+16 4500
+1 3000
+3 4
+7 18
cfi=(122)
cfn=(2850)
calls=2 437
* 62
+8 7500
cfi=(123)
cfn=(5418) pg_atomic_fetch_add_u32
calls=1500 +82
* 36000
+18 6000
+5 4500
cfi=(313)
cfn=(5422)
calls=1500 -48
* 21000
* 3000
+2 6000
+6 10500
+4 6000
+1 3000
+6 3000
+9 4500
cfi=(50)
cfn=(5424) LockBufHdr
calls=1500 4099
* 136521
* 1500
+1 6000
+1 7500
+2 3000
+1 7500
cfn=(5434)
calls=1500 670
* 22500
+1 4500
+1 3000
+50 6000
fn=(5416)
612 7500
+7 16500
+8 10500
+1 3000
+2 3000
+1 3000
+29 3000
fl=(179)
fn=(3714)
198 145
+1 87
cob=(3)
cfi=(3)
cfn=(424)
calls=29 0
* 503
* 29
* 29
+3 145
cfi=(19)
cfn=(3716)
calls=29 624
* 928
* 29
+1 87
+7 203
cfi=(80)
cfn=(3720)
calls=29 +31
* 2369
+1 58
fn=(3822)
638 5
+1 6
+4 4
fn=(3812)
582 5
+4 7
+7 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 41
* 1
* 1
+1 8
+4 7
+2 5
cfi=(19)
cfn=(3814)
calls=1 -54
* 2692
+1 4
fn=(3298)
299 64
+2 192
cfi=(58)
cfn=(3300) socket_putmessage
calls=16 1561
* 3718
+2 64
cfi=(13)
cfn=(952)
calls=16 1032
* 1360
+1 32
+1 32
fn=(3292)
88 96
+1 48
cfi=(80)
cfn=(1888)
calls=16 -42
* 2030
+7 48
+1 32
fl=(101)
fn=(2052) SInvalShmemSize
205 6
+3 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 2
+1 4
fn=(5746) CleanupInvalidationState
337 5
+1 2
+6 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 9
+3 3
+3 2
+1 2
+1 2
+1 2
+1 2
+3 4
+2 40
-2 14
+5 3
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 2
fn=(2980) SIGetDataEntries
540 34895
+6 13958
+1 62811
+13 34895
+1 13958
+63 13958
fn=(2872)
259 6
+2 1
+1 2
+7 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+3 2
+2 27
-2 19
+9 2
+2 6
+2 9
+2 6
+15 8
+3 3
+3 3
+3 3
+1 3
+1 4
+1 2
+1 2
+1 2
+1 3
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+3 4
cfi=(67)
cfn=(2110)
calls=1 +40
* 32
+2 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 86
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 105
+1 4
fn=(2964) GetNextLocalTransactionId
770 4
+6 8
+1 4
+2 2
+1 4
fn=(2262) CreateSharedInvalidationState
220 3
+6 1
cfn=(2052)
calls=1 -21
* 62
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 964
-1 1
+2 3
+4 2
+1 2
+1 2
+1 2
+1 3
+1 2
+5 2
+2 784
+1 784
+1 784
+1 784
+1 784
+1 784
+1 784
-8 564
+10 2
fl=(139) /home/mithuncy/fsm_p11patch/src/backend/libpq/be-secure.c
fn=(3780) secure_write
252 21
+5 6
cfi=(52)
cfn=(3782)
calls=3 577
* 72
+3 3
+9 18
cfn=(3784) secure_raw_write
calls=3 +47
* 90
* 3
+1 3
+3 6
+36 6
cfi=(52)
cfn=(3782)
calls=3 577
* 72
+2 3
+1 12
fn=(3784)
316 18
+6 21
cob=(5)
cfi=(5)
cfn=(2502)
calls=3 0
* 36
* 3
* 3
+5 3
+1 6
fn=(2792) secure_read
147 21
+5 6
cfi=(52)
cfn=(2794)
calls=3 531
* 93
+12 30
cfn=(2796) secure_raw_read
calls=5 +64
* 162
* 5
+1 5
+4 28
cob=(5)
cfi=(5)
cfn=(472)
calls=3 0
* 9
* 3
* 9
+6 18
cfi=(122)
cfn=(2848) ModifyWaitEvent
calls=3 767
* 155
+2 21
cfi=(122)
cfn=(3792) WaitEventSetWait
calls=3 954
* 1775
+20 12
+6 12
+2 6
cfi=(122)
cfn=(3798) ResetLatch
calls=2 520
* 16
+1 4
cfi=(52)
cfn=(2794)
calls=2 531
* 62814
+8 4
+7 4
cfi=(52)
cfn=(2794)
calls=2 531
* 60
+2 2
+1 8
fn=(2796)
228 30
+10 35
cob=(5)
cfi=(5)
cfn=(2516)
calls=5 0
* 72
* 5
* 5
+5 5
+1 10
fn=(5778) secure_close
135 3
+5 2
fl=(211)
fn=(3834)
37 2032
+6 3556
cfi=(212)
cfn=(3836)
calls=508 1148
* 555723
* 508
+4 508
+3 1524
cfi=(214)
cfn=(3854) parser_init
calls=508 16299
* 3556
+3 1524
cfi=(215)
cfn=(3856)
calls=508 24993
* 5848241
* 508
+3 1524
cfi=(212)
cfn=(3888)
calls=508 1187
* 8128
+2 1016
+3 508
+1 1016
fn=(3858)
84 21270
+1 10635
+7 14180
+2 1500
+1 2000
+1 2000
+1 2500
+1 1500
+3 18270
cfi=(213)
cfn=(3860) core_yylex
calls=3045 9032
* 2822295
* 3045
+8 23815
+9 500
+1 500
+2 6090
+8 1000
+1 3500
-1 1000
+11 1500
+3 3500
cfi=(213)
cfn=(3860)
calls=500 9032
* 571000
* 500
+1 1500
+1 2000
+2 1500
+3 2500
+1 1500
+2 1000
+3 2500
+29 2500
+7 1000
+3 500
+1 7090
fl=(308) /home/mithuncy/fsm_p11patch/src/backend/access/transam/varsup.c
fn=(5336) GetNewTransactionId
49 7
+7 1
cfi=(26)
cfn=(1210)
calls=1 911
* 8
* 2
+7 3
+8 1
cfi=(53)
cfn=(2878)
calls=1 7896
* 11
* 2
+3 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 3
+15 6
cfi=(166) /home/mithuncy/fsm_p11patch/src/backend/access/transam/transam.c
cfn=(5338) TransactionIdFollowsOrEquals
calls=1 350
* 18
* 2
+80 3
cfi=(94)
cfn=(5340)
calls=1 868
* 13
+1 3
cfi=(95)
cfn=(5342)
calls=1 785
* 12
+1 3
cfi=(96) /home/mithuncy/fsm_p11patch/src/backend/access/transam/subtrans.c
cfn=(5344) ExtendSUBTRANS
calls=1 325
* 13
+8 8
+36 4
+1 4
+15 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+2 1
+1 5
fl=(208)
fn=(3732)
110 24
+1 16
+2 16
+1 8
+1 16
-5 15
+1 10
+2 10
+1 5
+1 10
fl=(124) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/../../../../src/include/port/atomics/generic.h
fn=(2210) pg_atomic_write_u32_impl
56 65536
+1 49152
+1 32768
-2 24000
+1 18000
+1 12000
-2 8
+1 6
+1 4
fn=(3216) pg_atomic_read_u32_impl
47 81072
+1 54048
+1 54048
fn=(2208) pg_atomic_init_u32_impl
162 81920
+1 81920
cfn=(2210)
calls=16384 56
* 147456
+1 32768
-2 10
+1 10
cfn=(2210)
calls=2 56
* 18
+1 4
fl=(192)
fn=(3464) _bt_cachemetadata
114 80
+3 80
cfi=(13)
cfn=(798)
calls=16 772
* 5056
* 32
+10 64
+3 112
cob=(3)
cfi=(3)
cfn=(856)
calls=16 0
* 320
* 16
* 16
+15 32
fn=(3462) _bt_checkpage
663 39347
+1 50589
+8 22484
+11 56210
+7 28105
fn=(3466)
866 19390
+4 5540
+1 11080
cfi=(50)
cfn=(3232)
calls=2770 3553
* 313010
+1 16620
cfi=(50)
cfn=(3468) ReleaseAndReadBuffer
calls=2770 1522
* 3708794
* 2770
+1 13850
cfi=(50)
cfn=(3232)
calls=2770 3553
* 448740
+1 13850
cfn=(3462)
calls=2770 663
* 96950
+1 2770
+1 5540
fn=(3456)
253 17082
+16 11388
+2 8481
+7 8481
+2 8481
+2 16962
cfn=(3458)
calls=2827 730
* 3702921
* 2827
+1 25443
+1 16962
+9 16962
+1 5654
-1 5654
+2 5654
-1 5654
+2 5654
-1 5654
+4 5654
+9 100
cfn=(3458)
calls=20 730
* 35450
* 20
+1 180
+1 120
+1 60
+3 120
+1 40
-1 40
+7 80
+1 40
-1 40
+10 80
+3 8
+2 20
cfn=(3584) _bt_relbuf
calls=4 885
* 1508
+1 8
438 48
+2 48
+5 80
cfn=(3464)
calls=16 114
* 5808
+6 32
+4 96
cfn=(3466)
calls=16 866
* 26930
* 16
+1 144
+1 96
+2 96
+1 16
+10 64
+10 16
+1 11388
fn=(3584)
885 20
+1 12
cfi=(50)
cfn=(3586)
calls=4 3339
* 1468
+1 8
fn=(3458)
730 17106
+3 5702
+3 14255
cfi=(50)
cfn=(3460) ReadBuffer
calls=2851 595
* 3102155
* 2851
+1 14255
cfi=(50)
cfn=(3232)
calls=2851 3553
* 461862
+1 14255
cfn=(3462)
calls=2851 -75
* 99785
* 2851
848 2851
+1 5702
fl=(217)
fn=(3872)
54 4040
+1 4040
cfi=(13)
cfn=(3400)
calls=1010 853
* 147460
* 5050
+2 2020
+1 3030
+1 1010
+1 2020
fl=(247)
fn=(4450)
1843 174
+11 58
+4 29
cfi=(52)
cfn=(3958)
calls=29 3263
* 783
+2 232
+79 4
+2 14
cfn=(4451)
calls=2 -98
* 3939
* 4
+4 2
+7 4
+2 14
cfn=(4451)
calls=2 1843
* 49339
* 4
+4 2
2093 32
cfi=(248)
cfn=(4449)
calls=4 256
* 4207
* 4
+30 30
cfi=(47)
cfn=(976)
calls=10 78
* 100
* 20
+2 88
cfi=(259)
cfn=(5091)
calls=2 1476
* 148
cfi=(251)
cfn=(4723) fix_scan_expr_walker'2
calls=3 1592
* 1529
cfi=(259)
cfn=(4593)
calls=3 1167
* 2413
cfi=(251)
cfn=(4481) extract_query_dependencies_walker'2
calls=3 2670
* 3373
* 22
-2 75
+5 10
+3 14
+2 56
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(248)
cfn=(4449)
calls=4 256
* 72
* 14
+2 56
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(248)
cfn=(4449)
calls=4 256
* 72
* 14
+3 7
+27 4
+78 4
+1 8
-1 21
+1 50
fn=(4451)
1843 438
+11 146
+4 73
cfi=(52)
cfn=(3958)
calls=73 3263
* 1971
+2 584
+79 8
+2 28
cfn=(4451)
calls=4 -98
* 3987
* 8
+4 4
+7 14
+2 49
cfn=(4451)
calls=7 1843
* 5451
* 14
+4 7
+63 48
cfi=(278) /home/mithuncy/fsm_p11patch/src/backend/executor/execExpr.c
cfn=(4761) get_last_attnums_walker'2
calls=1 2325
* 78
cfi=(251)
cfn=(4723)
calls=1 1592
* 114
cfi=(271)
cfn=(4665) cost_qual_eval_walker'2
calls=1 3762
* 146
cfi=(259)
cfn=(5083)
calls=1 1342
* 168
cfi=(259)
cfn=(5071)
calls=1 971
* 92
cfi=(248)
cfn=(4449)
calls=1 256
* 137
* 6
+72 72
cfi=(251)
cfn=(4723)
calls=3 1592
* 1166
cfi=(259)
cfn=(4593)
calls=3 1167
* 2035
cfi=(251)
cfn=(4481)
calls=3 2670
* 1087
* 9
+30 54
cfi=(47)
cfn=(976)
calls=18 78
* 180
* 36
+2 264
cfi=(278)
cfn=(4761)
calls=4 2325
* 744
cfi=(251)
cfn=(4723)
calls=4 1592
* 1065
cfi=(271)
cfn=(4665)
calls=4 3762
* 5665
cfi=(259)
cfn=(5083)
calls=2 1342
* 2553
cfi=(259)
cfn=(5071)
calls=2 971
* 46596
cfi=(259)
cfn=(4593)
calls=4 1167
* 1248
cfi=(248)
cfn=(4449)
calls=6 256
* 2561
cfi=(251)
cfn=(4481)
calls=7 2670
* 2327
* 66
-2 201
+5 18
+3 6
+2 24
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
* 6
+2 24
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
* 6
+3 3
+27 26
+78 26
+1 52
-1 32
+1 94
fn=(4982)
1129 16
+1 32
+9 3
+1 1
+2 6
+1 2
+14 1
+2 8
fn=(5060) leftmostLoc
1568 4
+1 2
+2 2
+3 3
+1 2
fn=(4454)
1193 40
+3 16
+2 64
+12 12
+1 4
+2 9
+1 3
+95 2
+4 2
-1 2
cfn=(4455) exprLocation'2
calls=1 1193
* 24
* 6
cfn=(5060)
calls=1 1568
* 13
* 1
+3 1
1558 8
+1 32
fn=(4455)
1193 5
+3 2
+2 8
+15 3
+1 1
1558 1
+1 4
fn=(4994) exprIsLengthCoercion
514 20
+1 8
+1 8
+6 24
+2 8
+7 16
+1 8
-1 8
+2 8
+44 8
fn=(4434)
43 2660
+3 1064
+3 4256
+6 30
+1 10
+2 27
+1 9
+22 15
+1 5
+5 1518
+1 506
188 6
+1 2
+78 532
+1 2128
fn=(4594)
1659 162
+1 153
+20 2
+2 7
cfi=(259)
cfn=(4996)
calls=1 1160
* 499
* 2
+3 1
+5 6
+3 9
cfn=(4992)
calls=3 -73
* 30
+1 21
cfi=(259)
cfn=(5084)
calls=1 1336
* 487
cfi=(259)
cfn=(5072)
calls=1 965
* 483
cfi=(259)
cfn=(4996)
calls=1 1160
* 499
* 6
+3 3
+12 4
+6 14
cfi=(272)
cfn=(5076)
calls=2 2609
* 1022
+2 12
cfi=(259)
cfn=(5084)
calls=1 1336
* 487
cfi=(259)
cfn=(5072)
calls=1 965
* 22652
* 4
+3 8
cfn=(4434)
calls=2 43
* 48
* 10
cfi=(272)
cfn=(5078)
calls=2 2642
* 992
+2 12
cfi=(259)
cfn=(5084)
calls=1 1336
* 487
cfi=(259)
cfn=(5072)
calls=1 965
* 22593
* 4
+3 2
+16 21
+2 21
+1 42
-1 6
+1 12
fn=(4486) range_table_walker
2310 42
+3 18
cfi=(47)
cfn=(976)
calls=6 78
* 48
* 24
+46 6
+1 12
fn=(4618)
2429 18
+18 6
+4 3
cfi=(52)
cfn=(3958)
calls=3 3263
* 81
+2 24
2916 3
+1 9
cfi=(47)
cfn=(976)
calls=3 78
* 30
* 6
+3 24
cfi=(259)
cfn=(4617)
calls=3 2573
* 222247
* 3
-1 12
cfi=(45)
cfn=(960)
calls=3 129
* 839
* 3
-2 21
+6 6
3076 6
fn=(4619)
2429 90
+18 30
+4 15
cfi=(52)
cfn=(3958)
calls=15 3263
* 405
+2 120
+18 10
+3 10
cfi=(13)
cfn=(940)
calls=5 925
* 615
* 35
cob=(3)
cfi=(3)
cfn=(856)
calls=5 0
* 100
* 5
+2 10
2587 2
+3 2
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 22
* 1
+1 8
cfi=(259)
cfn=(5095)
calls=1 4969
* 932
* 2
+1 2
2709 2
+3 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 18
* 1
+1 8
cfi=(259)
cfn=(5095)
calls=1 4969
* 76
* 2
+1 2
2867 6
+3 6
cfi=(13)
cfn=(940)
calls=3 925
* 369
* 21
cob=(3)
cfi=(3)
cfn=(856)
calls=3 0
* 66
* 3
+1 24
cfi=(259)
cfn=(4617)
calls=3 2573
* 221512
* 6
+1 6
+44 5
+1 15
cfi=(47)
cfn=(976)
calls=5 78
* 50
* 10
+3 72
cfi=(259)
cfn=(5095)
calls=2 4969
* 388
cfi=(259)
cfn=(4617)
calls=7 2573
* 223431
* 9
-1 36
cfi=(45)
cfn=(960)
calls=9 129
* 2040
* 9
-2 55
+6 10
3076 30
fn=(4980)
974 20
+1 32
+24 3
+1 1
+5 6
+1 2
+49 3
+1 1
+61 8
fn=(4992)
1620 32
+1 32
+2 16
fn=(4452)
721 44
+3 22
+3 88
+6 18
+1 6
+2 9
+1 3
+14 3
+1 1
+5 3
+1 1
915 11
+1 22
fn=(4528)
277 40
+1 20
+3 80
+5 18
+11 20
cfn=(4994)
calls=4 514
* 116
* 8
+3 4
498 4
+1 20
fn=(4440)
2266 70
+3 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 2866
cfi=(251)
cfn=(4481)
calls=3 2670
* 1924
cfi=(248)
cfn=(4442)
calls=4 127
* 5107
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
cfi=(248)
cfn=(4442)
calls=4 127
* 44
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
cfi=(248)
cfn=(4442)
calls=4 127
* 44
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
cfi=(248)
cfn=(4442)
calls=4 127
* 44
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 507
cfi=(251)
cfn=(4481)
calls=3 2670
* 510
cfi=(248)
cfn=(4442)
calls=4 127
* 740
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
cfi=(248)
cfn=(4442)
calls=4 127
* 44
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
cfi=(248)
cfn=(4442)
calls=4 127
* 44
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
cfi=(248)
cfn=(4442)
calls=4 127
* 44
* 20
+2 80
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
cfi=(248)
cfn=(4442)
calls=4 127
* 44
* 20
+2 40
+2 48
cfi=(259)
cfn=(4593)
calls=3 1167
* 42
cfi=(251)
cfn=(4481)
calls=3 2670
* 42
* 12
+3 40
+2 42
cfn=(4486)
calls=6 +16
* 150
* 12
+3 10
+1 20
fl=(115) /home/mithuncy/fsm_p11patch/src/backend/port/pg_shmem.c
fn=(2092) GetHugePageSize
403 5
+8 2
+1 2
+10 3
cfi=(25)
cfn=(1278)
calls=1 2186
* 598
* 1
+5 2
+2 1
+2 287
cob=(3)
cfi=(3)
cfn=(2098) sscanf
calls=40 0
* 15701
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1629
* 45
* 82
+2 3
+2 6
+1 1
-7 205
cob=(3)
cfi=(3)
cfn=(1486)
calls=41 0
* 8547
* 41
* 82
+12 3
cfi=(25)
cfn=(1374)
calls=1 2385
* 756
+4 2
fn=(2112) InternalIpcMemoryCreate
104 9
+2 1
+22 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1308
* 5
* 1
+2 2
+94 5
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+3 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1266
* 5
* 1
+2 2
+5 4
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+10 9
cfi=(17)
cfn=(1138)
calls=1 -13
* 1243
+2 4
cfi=(54)
cfn=(1950)
calls=1 1259
* 938
+3 1
+1 7
fn=(2088) PGSharedMemoryCreate
560 9
+20 3
cfn=(2090) CreateAnonymousSegment
calls=1 458
* 29604
* 1
+1 2
+3 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+3 1
+6 1
+3 3
+2 1
+3 5
cfn=(2112)
calls=1 104
* 4887
* 1
+1 2
+1 1
+56 2
+1 1
cob=(3)
cfi=(3)
cfn=(654)
calls=1 0
* 5
* 1
* 2
+1 2
+1 2
+3 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+5 3
+1 3
+5 3
+1 2
+1 3
+3 2
+1 3
+9 3
+2 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 22
* 1
+1 1
+4 4
fn=(2090)
458 5
+1 3
+1 1
+1 1
+6 6
+8 5
cfn=(2092)
calls=1 -72
* 28004
+2 7
+1 9
+2 11
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1292
* 5
* 1
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+1 5
+1 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+5 5
+6 3
+1 8
cob=(3)
cfi=(3)
cfn=(598)
calls=1 0
* 33
* 1
* 1
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 2
+3 2
+15 3
+1 1
+1 4
fl=(137)
fn=(2556)
32 30
+15 30
cob=(3)
cfi=(3)
cfn=(2562) fflush
calls=9 -47
* 486
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -47
* 1314
* 14
+1 30
cob=(3)
cfi=(3)
cfn=(2562)
calls=10 -48
* 540
* 10
+13 10
cob=(5)
cfi=(5)
cfn=(2570)
calls=9 -61
* 1677
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -61
* 2261
* 14
* 10
+1 20
+23 2
cob=(3)
cfi=(3)
cfn=(234)
calls=1 -85
* 500
* 1
* 1
+2 2
+31 10
+1 20
fl=(316) /home/mithuncy/fsm_p11patch/src/backend/executor/../../../src/include/executor/tuptable.h
fn=(5494) ExecClearTuple
405 4000
+1 6000
cfi=(257) /home/mithuncy/fsm_p11patch/src/backend/executor/execTuples.c
cfn=(5326) tts_heap_clear
calls=1000 301
* 26000
+2 1000
+1 2000
fl=(18)
fn=(1008)
377 15
+6 12
cfn=(562)
calls=3 152
* 14972
+2 6
fn=(1012) check_locale
265 66
+4 22
+3 44
cob=(3)
cfi=(3)
cfn=(568) setlocale
calls=11 0
* 286
* 11
* 11
+1 22
+4 33
cfi=(13)
cfn=(928)
calls=11 1162
* 1603
* 11
+3 55
cob=(3)
cfi=(3)
cfn=(568)
calls=11 0
* 20271
* 11
* 11
+3 44
+4 55
cob=(3)
cfi=(3)
cfn=(568)
calls=11 0
* 18093
* 11
* 22
+2 33
cfi=(13)
cfn=(952)
calls=11 1032
* 818
+2 22
+1 22
fn=(1018)
326 12
+1 3
+1 6
fn=(1020)
332 18
+1 18
cfn=(1012)
calls=3 -68
* 13404
+1 6
fn=(562)
152 55
+6 55
cob=(3)
cfi=(3)
cfn=(568)
calls=10 0
* 14697
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 14946
* 15
* 11
+21 22
+10 22
+5 10
cfi=(16)
cfn=(460)
calls=2 46
* 356
+1 2
+5 2
cfi=(19)
cfn=(612)
calls=2 1005
* 12
* 4
cfi=(19)
cfn=(614)
calls=2 909
* 20
+4 55
+3 2
+1 2
+1 2
+2 2
+1 2
+1 2
+3 4
+1 4
+6 4
+3 1
+1 1
+1 1
+2 1
+1 1
+1 1
+2 1
+1 1
+1 1
+8 110
cfi=(17)
cfn=(462)
calls=11 -41
* 4970
+2 33
cob=(3)
cfi=(3)
cfn=(542) putenv
calls=11 0
* 32620
* 11
* 22
+3 11
+1 22
fn=(622)
994 10
+2 2
+1 2
+12 4
+1 10
cob=(3)
cfi=(3)
cfn=(628) strxfrm
calls=1 0
* 527
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1803
* 6
+1 8
+13 4
+1 10
cob=(3)
cfi=(3)
cfn=(628)
calls=2 0
* 726
* 2
+1 8
+3 8
+6 10
fn=(1022)
338 12
+1 3
+1 6
fn=(1010)
308 18
+1 18
cfn=(1012)
calls=3 -44
* 13598
+1 6
fn=(1014)
314 12
+1 3
+1 6
fn=(1016)
320 18
+1 18
cfn=(1012)
calls=3 -56
* 13460
+1 6
fn=(1006)
354 18
+1 15
+2 2
+1 2
+11 12
cfn=(1012)
calls=2 265
* 1115
+4 6
fl=(105)
fn=(2062) AutoVacuumShmemSize
3289 6
+6 2
+1 8
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 2
+1 4
fn=(2832)
3272 10
+1 5
+1 10
fn=(2834)
3278 12
+1 6
+1 12
fn=(2526)
3258 4
+1 7
+4 4
fn=(2270) AutoVacuumShmemInit
3308 3
+4 1
cfn=(2062)
calls=1 -23
* 66
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1035
-1 1
+5 4
+7 2
+1 4
cfi=(74)
cfn=(2272)
calls=1 279
* 12
+1 4
cfi=(74)
cfn=(2272)
calls=1 279
* 12
+1 2
+1 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 576
* 1
+3 3
+4 2
+2 21
-1 15
cfi=(74)
cfn=(2274)
calls=3 301
* 75
-1 15
+6 2
fn=(2606)
395 3
+6 1
cfi=(137)
cfn=(2556)
calls=1 32
* 295
* 7
+20 1
+5 2
fn=(2604)
3204 2
+1 8
+2 1
+1 2
fn=(2680)
1471 3
+6 1
cfi=(137)
cfn=(2556)
calls=1 32
* 295
* 7
+20 1
+5 2
fl=(168)
fn=(3010) get_role_oid
5191 7
+3 8
cfi=(151)
cfn=(3012)
calls=1 1227
* 37800
* 1
+2 2
+4 1
+1 4
fn=(3560)
4689 2
+1 3
+6 4
cfi=(155)
cfn=(2910) CacheRegisterSyscacheCallback
calls=1 1410
* 65
+4 2
fn=(5168) is_member_of_role
4932 2500
+2 1500
+4 1500
cfi=(181)
cfn=(3328) superuser_arg
calls=500 58
* 7000
* 1000
+1 1000
+7 1000
fl=(112) /home/mithuncy/fsm_p11patch/src/backend/access/heap/syncscan.c
fn=(2078) SyncScanShmemSize
127 2
+1 1
+1 2
fn=(2296) SyncScanShmemInit
136 3
+5 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1251
-1 1
+5 4
+5 4
+1 4
+2 2
+2 140
+7 40
+1 40
+1 40
+1 40
+3 193
-1 2
+3 2
-3 38
+3 191
-1 2
-16 3
+16 38
-16 59
+22 2
fl=(263)
fn=(4628)
71 15
+1 9
+1 9
+1 9
+1 9
+1 3
+1 3
+9 6
+22 12
+8 9
+1 12
+9 12
cfi=(261)
cfn=(4600)
calls=3 -48
* 24
* 12
+67 12
+35 12
+7 6
+3 3
+1 12
fl=(282)
fn=(4832)
89 8
+1 1
+2 2
+1 2
+2 2
+20 1
+4 2
+3 6
cfn=(4834) scanNameSpaceForRefname
calls=1 +34
* 31
* 1
+2 2
+3 2
+1 5
+4 4
-17 4
+19 1
+1 2
fn=(4834)
156 8
+1 1
+3 4
cfi=(219)
cfn=(4292)
calls=1 -82
* 8
* 4
+24 1
+1 5
fn=(5204) buildRelationAliases
1032 3500
+1 1500
+4 500
+4 1000
+9 500
+1 500
+3 1000
+2 5000
+3 2000
+8 1000
+9 2000
cfi=(13)
cfn=(928)
calls=500 +86
* 72500
* 1000
cfi=(217)
cfn=(3872)
calls=500 54
* 83500
* 500
+4 3000
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 1000
-26 3500
+30 1000
+5 2000
fn=(4830)
760 10
+1 1
+1 2
+2 1
+4 4
cfi=(219)
cfn=(4292)
calls=1 78
* 8
* 4
+30 4
+3 3
-37 4
+40 1
+1 5
fn=(5200) addRangeTableEntryForRelation
1290 5500
+1 2000
cfi=(13)
cfn=(3400)
calls=500 853
* 141500
* 2500
+1 3000
+9 1000
+1 1500
+1 2000
+1 2500
+1 1500
+6 2000
cfi=(218)
cfn=(5202) makeAlias
calls=500 387
* 154500
* 1000
+1 4000
cfn=(5204)
calls=500 1032
* 331500
+8 1000
+1 1500
+1 1500
+2 1000
+1 1000
+1 1000
+1 1000
+1 1000
+6 3000
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 1000
+2 500
+1 1000
fl=(65) /home/mithuncy/fsm_p11patch/src/common/file_perm.c
fn=(1524) SetDataDirectoryCreatePerm
35 3
+2 4
+9 1
+1 1
+1 1
+2 2
fl=(302) /home/mithuncy/fsm_p11patch/src/backend/commands/../../../src/include/utils/palloc.h
fn=(5232) MemoryContextSwitchTo
110 537000
+1 358000
+2 358000
+1 179000
+1 358000
fl=(56)
fn=(5754)
364 2
+1 4
cfi=(126)
cfn=(5756)
calls=1 48
* 9
* 3
+6 2
fn=(1142)
1208 4
+1 3
+6 1
+1 1
+8 2
fn=(1146)
1202 4
+1 2
+1 2
fn=(1144)
1145 6
+1 9
+49 2
+2 1
+1 2
fl=(67)
fn=(2712) on_exit_reset
410 2
+1 1
+1 1
+1 1
+1 1
cfi=(129) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/dsm.c
cfn=(2714) reset_on_dsm_detach
calls=1 1016
* 19
+1 2
fn=(5716) proc_exit
105 4
+2 3
cfn=(5718) proc_exit_prepare
calls=1 +55
* 33980
+43 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 109
+2 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 13412
* 5
fn=(5788) atexit_callback
291 2
+3 2
cfn=(5718)
calls=1 162
* 645
+1 2
fn=(1578)
306 30
+1 15
+5 30
+1 30
+2 15
+2 20
+2 2
cfi=(9)
cfn=(1580)
calls=1 0
* 1444
+1 1
+2 20
fn=(2944)
334 6
+1 3
+5 6
+1 6
+2 3
+2 4
+5 4
fn=(5720) shmem_exit
225 8
+1 2
+10 8
cfi=(57)
cfn=(2084)
calls=2 1286
* 136
* 16
cfi=(57)
cfn=(2086)
calls=2 1336
* 218
+2 2
+1 14
cfi=(75)
cfn=(5722)
calls=1 1187
* 9033
-1 18
+3 2
+18 2
cfi=(129)
cfn=(5730) dsm_backend_shutdown
calls=2 621
* 56
+10 8
cfi=(57)
cfn=(2084)
calls=2 1286
* 136
* 16
cfi=(57)
cfn=(2086)
calls=2 1336
* 218
+2 2
+1 84
cfi=(84)
cfn=(5752)
calls=1 800
* 736
cfi=(84)
cfn=(5748)
calls=1 789
* 324
cfi=(101)
cfn=(5746)
calls=1 +65
* 329
cfi=(103)
cfn=(5744)
calls=1 139
* 29
cfi=(50)
cfn=(5736) AtProcExit_Buffers
calls=1 2478
* 47
cfi=(38)
cfn=(5734) pgstat_beshutdown_hook
calls=1 2953
* 51
-1 48
+3 2
+2 2
+1 4
fn=(5718)
162 8
+5 2
+7 2
+1 2
+1 2
+1 2
+1 2
+11 2
+2 2
+3 6
cfn=(5720)
calls=2 +31
* 11551
+2 8
cfi=(57)
cfn=(2084)
calls=2 1286
* 136
* 16
cfi=(57)
cfn=(2086)
calls=2 1336
* 218
+12 2
+1 42
cfi=(58)
cfn=(5776) socket_close
calls=1 +48
* 20
cfi=(25)
cfn=(5774)
calls=1 2776
* 22540
cfi=(140)
cfn=(5772) smgrshutdown
calls=1 -73
* 26
-1 30
+4 2
+1 4
fn=(2110)
362 66
+1 33
+5 66
+1 66
+2 33
+2 44
+5 44
fl=(128)
fn=(2278)
40 80
+1 40
+1 80
cfi=(119)
cfn=(2152)
calls=20 -12
* 220
+1 40
fn=(5760)
199 3
+1 2
+2 2
+1 1
+8 2
fl=(184)
fn=(3450)
109 44810
+1 13443
+1 13443
+1 13443
+1 13443
+1 13443
+1 13443
+1 31367
cfi=(171)
cfn=(3452) fmgr_info_copy
calls=4481 612
* 188202
+1 8962
fn=(3342)
81 17064
+1 3792
+1 5688
+1 5688
+1 3792
+1 3792
+1 5688
+1 11376
cfi=(171)
cfn=(3344) fmgr_info
calls=1896 +37
* 155472
+1 3792
fl=(227)
fn=(5214)
3833 4000
+12 2000
cfi=(151)
cfn=(3306)
calls=500 1114
* 12603284
* 500
+1 1000
+5 4000
+10 2000
+1 2500
cfi=(170)
cfn=(5216) IsSystemClass
calls=500 80
* 56000
-1 1000
+15 1500
cfi=(181)
cfn=(3328)
calls=500 58
* 7000
* 1000
+5 1500
cfi=(151)
cfn=(3280)
calls=500 1161
* 51500
+1 1000
+39 2000
fn=(4502) pg_namespace_aclcheck
4694 12
+1 12
cfn=(4504) pg_namespace_aclmask
calls=2 4173
* 66
* 4
+1 4
+3 4
fn=(3970) pg_language_aclcheck
4668 6
+1 6
cfn=(3972) pg_language_aclmask
calls=1 4037
* 33
* 2
+1 2
+3 2
fn=(4504)
4173 16
+9 6
cfi=(181)
cfn=(3328)
calls=2 58
* 28
* 4
+1 4
+64 8
fn=(5010)
4656 18
+1 18
cfn=(5012) pg_proc_aclmask
calls=3 3983
* 99
* 6
+1 6
+3 6
fn=(3972)
4037 8
+9 3
cfi=(181)
cfn=(3328)
calls=1 58
* 14
* 2
+1 2
+36 4
fn=(5012)
3983 24
+9 9
cfi=(181)
cfn=(3328)
calls=3 58
* 42
* 6
+1 6
+36 12
fl=(314) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/../../../../src/include/port/atomics/generic-gcc.h
fn=(5430) pg_atomic_fetch_or_u32_impl
212 24000
+1 60000
+1 12000
fl=(79) /home/mithuncy/fsm_p11patch/src/backend/utils/error/../../../../src/include/utils/palloc.h
fn=(1884) MemoryContextSwitchTo
110 108
+1 72
+2 72
+1 36
+1 72
fl=(260)
fn=(4598)
574 12
+3 15
cfi=(261)
cfn=(4600)
calls=3 78
* 24
* 12
+22 6
fn=(4602)
611 15
+4 6
+2 6
+1 30
cfn=(4604) pull_up_subqueries_recurse
calls=3 +63
* 141
-1 3
+4 12
+4 12
fn=(4604)
681 30
+2 12
+50 12
+2 6
+1 3
+9 12
+3 12
cfi=(261)
cfn=(4600)
calls=3 78
* 24
* 12
+27 6
+4 3
+76 3
+1 6
fl=(150) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/relmapper.c
fn=(3618) AtEOXact_RelationMap
477 14
+1 12
+13 6
+5 8
+17 4
fn=(2892) RelationMapInitialize
585 2
+2 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 2
fn=(2918) RelationMapInitializePhase2
605 2
+4 3
+6 2
cfn=(2920) load_relmap_file
calls=1 +84
* 1571
+1 2
fn=(2920)
699 12
+7 4
+2 7
cfi=(17)
cfn=(462)
calls=1 203
* 360
+2 2
+4 9
cfi=(17)
cfn=(462)
calls=1 203
* 470
+2 1
+4 4
cfi=(25)
cfn=(2328)
calls=1 2236
* 122
* 4
cfi=(25)
cfn=(2328)
calls=1 2236
* 122
* 2
+1 4
+13 4
cfi=(157) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/../../../../src/include/pgstat.h
cfn=(2922) pgstat_report_wait_start
calls=2 1239
* 32
+1 12
cob=(5)
cfi=(5)
cfn=(684)
calls=2 0
* 14
* 2
* 2
+1 4
+12 2
cfi=(157)
cfn=(2924) pgstat_report_wait_end
calls=2 1263
* 28
+2 6
cfi=(25)
cfn=(2332)
calls=2 2413
* 148
+3 8
+1 4
-1 4
+2 4
-1 4
+7 2
+1 12
cfi=(71)
cfn=(1608)
calls=2 23
* 1818
* 2
+1 2
+2 8
+4 8
fn=(3362) RelationMapInitializePhase3
626 2
+4 3
+6 2
cfn=(2920)
calls=1 +63
* 1682
+1 2
fn=(2938) RelationMapOidToFilenode
160 165
+5 66
+2 21
+1 126
+5 21
+1 42
+2 3294
+1 105
-3 2724
+8 12
+1 72
+5 12
+1 24
+2 684
+1 60
-3 558
+8 66
fn=(5530) AtCCI_RelationMap
440 1000
+1 1500
+7 1500
+7 1000
fl=(228) /home/mithuncy/fsm_p11patch/src/backend/utils/fmgr/dfmgr.c
fn=(4126) find_rendezvous_variable
681 4
+7 3
+4 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 3227
* 1
+7 7
cfi=(31)
cfn=(836)
calls=1 910
* 676
* 1
+6 4
+1 2
+2 2
+1 2
fn=(4130) lookup_external_function
172 5
+1 5
cob=(6)
cfi=(6)
cfn=(4054) dlsym
calls=1 0
* 1110
* 1
+1 2
fn=(3996) internal_load_library
185 5
+10 5
+6 2
+5 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+6 5
+7 2
+6 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 26
* 1
* 1
-1 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 332
* 1
* 1
+2 2
+5 55
+1 6
cob=(3)
cfi=(3)
cfn=(810)
calls=1 0
* 99
* 1
+1 3
+2 3
+2 2
+2 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 254568
* 5
* 2
+1 4
+13 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 3134
* 5
-1 1
+2 2
+2 2
cob=(12)
cfi=(230)
cfn=(4068) Pg_magic_func
calls=1 36
* 5
* 1
+2 5
+1 6
cob=(3)
cfi=(3)
cfn=(3062)
calls=1 0
* 27
* 1
-1 2
+29 5
cob=(6)
cfi=(6)
cfn=(4054)
calls=1 0
* 765
* 1
* 1
+1 3
+1 2
cob=(12)
cfi=(230)
cfn=(4070) _PG_init
calls=1 148
* 3509517
+3 3
+1 3
+3 2
+3 2
+1 4
fn=(3988) load_external_function
109 9
+6 3
cfn=(3990) expand_dynamic_library_name
calls=1 496
* 2258
* 1
+3 3
cfn=(3996)
calls=1 +67
* 3768667
* 1
+3 2
+1 3
+3 5
cob=(6)
cfi=(6)
cfn=(4054)
calls=1 0
* 975
* 1
* 1
+2 2
+6 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 1
+1 4
fn=(3992) substitute_libpath_macro
566 10
+6 8
+3 6
cfi=(11)
cfn=(456)
calls=2 104
* 162
* 6
+3 12
+1 10
cob=(3)
cfi=(3)
cfn=(1044)
calls=2 0
* 54
* 2
-1 4
+7 12
cfi=(81)
cfn=(3170)
calls=2 47
* 1063
+1 8
fn=(3990)
496 4
+7 3
cfi=(11)
cfn=(456)
calls=1 104
* 81
* 3
+2 4
+8 3
cfn=(3992)
calls=1 +53
* 676
* 1
+1 3
cfn=(3994) file_exists
calls=1 -50
* 44
* 2
+2 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+3 6
cfi=(81)
cfn=(3170)
calls=1 47
* 517
* 1
+2 4
+9 3
cfn=(3992)
calls=1 +36
* 681
* 1
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfn=(3994)
calls=1 -68
* 36
* 2
+1 2
+9 2
fn=(3994)
464 10
+5 10
cfi=(9)
cfn=(490)
calls=2 0
* 34
* 4
+1 5
+1 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+5 1
+1 8
fl=(71)
fn=(1608)
23 30
+1 12
+1 24
+10 6
+2 820
fi=(321) /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include/smmintrin.h
822 492
fe=(71)
37 164
+1 164
-3 680
+7 24
+2 5
fi=(321)
815 3
fe=(71)
44 1
+1 1
+16 6
+2 12
fi=(321)
803 6
fe=(71)
63 2
+1 2
-3 24
+6 6
+1 12
fl=(107) /home/mithuncy/fsm_p11patch/src/backend/replication/logical/origin.c
fn=(2280) ReplicationOriginShmemInit
496 3
+3 3
+4 1
cfn=(2066) ReplicationOriginShmemSize
calls=1 -27
* 91
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1167
-1 1
+4 3
+2 4
+4 2
+2 4
cfn=(2066)
calls=1 -38
* 91
* 521
+2 2
+3 10
-1 130
cfi=(99)
cfn=(2144)
calls=10 678
* 640
+2 110
cfi=(128)
cfn=(2278)
calls=10 40
* 230
-4 43
+8 5
cfi=(99)
cfn=(2158)
calls=1 +79
* 17
+2 2
fn=(2066)
476 9
+1 3
+7 9
+3 12
cfi=(87)
cfn=(2002)
calls=3 -11
* 63
* 3
+2 15
cfi=(87)
cfn=(2000)
calls=3 +4
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 -13
* 63
* 3
+2 3
+1 6
fl=(123)
fn=(2206)
227 81920
+3 81920
cfi=(124)
cfn=(2208)
calls=16384 -68
* 344064
+1 32768
-4 10
+3 10
cfi=(124)
cfn=(2208)
calls=2 -68
* 42
+1 4
fn=(5418)
332 7500
+2 7500
cfi=(175)
cfn=(5420)
calls=1500 190
* 18000
+1 3000
fn=(3214) pg_atomic_read_u32
245 108096
+2 81072
cfi=(124)
cfn=(3216)
calls=27024 47
* 189168
+1 54048
fn=(3218) pg_atomic_compare_exchange_u32
316 153144
+4 153144
cfi=(175)
cfn=(3220)
calls=25524 170
* 510480
+1 51048
fn=(5428) pg_atomic_fetch_or_u32
376 30000
+2 30000
cfi=(314)
cfn=(5430)
calls=6000 212
* 96000
+1 12000
fn=(5438) pg_atomic_write_u32
262 30000
+3 30000
cfi=(124)
cfn=(2210)
calls=6000 56
* 54000
+1 12000
fl=(264)
fn=(4630)
56 21
+1 9
+8 15
+3 9
cfi=(265)
cfn=(4632) build_empty_join_rel
calls=3 1121
* 2943
* 3
+8 15
+2 21
cfi=(259)
cfn=(4636)
calls=3 1089
* 57
-1 6
+7 9
-1 6
-1 12
cfi=(267)
cfn=(4638) create_result_path
calls=3 1441
* 786
* 3
-1 12
cfi=(267)
cfn=(4640)
calls=3 423
* 1020
+6 9
cfi=(267)
cfn=(4644)
calls=3 245
* 1092
+6 6
+1 18
cfi=(258)
cfn=(4646)
calls=3 3442
* 336
+2 6
243 6
fl=(134) /home/mithuncy/fsm_p11patch/src/backend/libpq/../../../src/include/utils/palloc.h
fn=(2532) MemoryContextSwitchTo
110 48
+1 32
+2 32
+1 16
+1 32
fl=(232) /home/mithuncy/fsm_p11patch/src/backend/executor/../../../src/include/lib/ilist.h
fn=(4142) slist_init
555 3
+1 2
+1 2
fl=(245)
fn=(4416)
330 20
+3 12
cfi=(219)
cfn=(4292)
calls=4 78
* 40
* 8
+2 12
+2 28
cfn=(4418) markTargetListOrigin
calls=4 +16
* 64
-4 28
+6 8
fn=(4418)
353 28
+5 24
+1 4
+68 8
fn=(4432)
300 20
+3 12
cfi=(219)
cfn=(4292)
calls=4 78
* 40
* 8
+2 12
+1 16
cfi=(247)
cfn=(4434)
calls=4 43
* 96
* 4
+2 8
-5 28
+14 8
fn=(4398)
133 24
+1 4
+8 12
+2 12
cfi=(219)
cfn=(4292)
calls=4 -66
* 40
* 8
+2 12
+7 8
+2 20
+14 20
+22 48
cfn=(4400) transformTargetEntry
calls=4 91
* 707742
* 4
-1 16
cfi=(45)
cfn=(960)
calls=4 -61
* 1098
* 4
-46 28
+61 16
+7 4
+1 8
fn=(4400)
91 40
+2 8
+7 8
+3 24
cfi=(246)
cfn=(4402)
calls=4 +44
* 706548
* 4
+3 24
+6 12
cfn=(4410) FigureColname
calls=4 1652
* 201
* 4
+3 4
+1 20
-1 20
cfi=(218)
cfn=(4414)
calls=4 241
* 817
+4 8
fn=(4410)
1652 16
+1 4
+2 20
cfn=(4412) FigureColnameInternal
calls=4 +36
* 136
+1 12
+1 2
+2 3
+1 8
fn=(4412)
1691 20
+1 4
+2 8
+3 62
1928 2
1742 4
cfi=(219)
cfn=(3882)
calls=1 84
* 10
* 4
+1 2
+2 4
+6 4
+5 1
1931 3
+1 8
fl=(38)
fn=(3756) pgstat_setheader
4156 272
+1 204
+1 136
fn=(3762)
2991 15
+1 6
+3 3
+4 6
+3 12
+28 3
cfi=(26)
cfn=(3764)
calls=3 709
* 15
* 3
+1 6
+7 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 41
* 1
* 8
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 41
* 1
* 2
+2 1
cfi=(21)
cfn=(656)
calls=1 1571
* 22
* 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 3
+5 15
+2 9
+1 9
+2 6
+2 8
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 68
* 1
+1 6
+1 3
+3 5
+1 2
-1 10
+1 4
fn=(2050) BackendStatusShmemSize
2609 3
+4 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+3 2
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 2
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 2
-1 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+7 1
+1 2
fn=(3694) pgstat_clear_snapshot
5615 4
+2 6
+4 2
+1 2
+1 2
+1 2
+1 4
fn=(3594)
2790 3
+14 3
+1 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 70
* 1
* 1
+10 2
+5 3
+2 1
cfi=(105)
cfn=(2832)
calls=1 3272
* 5
* 2
+5 1
cfi=(105)
cfn=(2834)
calls=1 3278
* 5
* 2
+5 3
+5 3
+8 3
+33 5
+1 5
+2 3
+1 3
+1 2
+1 2
+1 2
+1 3
+3 4
+3 1
cfi=(54)
cfn=(3578)
calls=1 415
* 5
* 3
+4 24
+1 7
+4 3
+16 2
+2 2
+1 3
+1 3
+2 4
+1 4
+1 7
+1 2
+1 2
+8 5
+3 3
+1 3
cfn=(888)
calls=1 3164
* 281
+1 2
fn=(3754) pgstat_send_tabstat
920 272
+5 204
+7 272
+2 201
+1 201
+1 201
+1 201
+1 67
+1 67
+1 67
+1 134
+4 2
+1 2
+1 2
+1 2
+3 3
+1 8
+3 4
cfn=(3756)
calls=1 4156
* 9
-4 201
+1 536
+3 268
cfn=(3756)
calls=67 4156
* 603
+1 340
cfn=(3758) pgstat_send
calls=68 4169
* 2448
+1 136
fn=(3758)
4169 340
+3 204
+3 204
+5 476
cob=(5)
cfi=(5)
cfn=(2502)
calls=68 0
* 816
* 68
* 68
+1 136
+7 136
fn=(5480) add_tabstat_xact_level
1885 2500
+8 1500
cfn=(5482) get_tabstat_stack_level
calls=500 -30
* 7633
* 500
+4 500
-1 1500
cfi=(13)
cfn=(2156)
calls=500 815
* 95000
* 500
+3 1500
+1 2000
+1 1500
+1 2000
+1 1500
+1 1500
+1 1000
fn=(888)
3164 12
+1 6
+3 6
+1 1
+3 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 30
* 2
* 12
cfi=(19)
cfn=(3570)
calls=2 821
* 416
* 2
+7 10
+2 16
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 24
* 2
+1 12
+2 10
+1 6
fn=(2256) CreateSharedBackendStatus
2637 3
+7 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1064
-1 1
+3 4
+5 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 4279
* 1
+4 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1270
-1 1
+3 4
+2 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 849
* 1
+3 2
+1 2
+2 1428
+1 119
-3 599
+8 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1259
-1 1
+3 4
+2 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 849
* 1
+3 2
+1 2
+2 1428
+1 119
-3 599
+9 2
-1 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+3 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1118
-1 1
+5 4
+2 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 13344
* 1
+3 2
+1 2
+2 1428
+1 357
-3 599
+28 2
fn=(3744)
813 15
+12 21
+1 1
-1 2
+1 3
+1 2
-1 2
+2 1
+6 2
cfi=(26)
cfn=(3746) GetCurrentTransactionStopTimestamp
calls=2 721
* 39
* 2
+1 8
+1 12
cfi=(21)
cfn=(3748)
calls=2 1672
* 34
* 2
-1 4
+3 4
+9 6
+1 6
cfi=(31)
cfn=(3750) hash_destroy
calls=2 -33
* 1061
+1 2
+8 4
+1 2
+1 2
+1 2
+2 6
+2 16
+2 6430
+11 3858
cob=(3)
cfi=(3)
cfn=(3062)
calls=643 0
* 28837
* 643
* 1286
+2 109
+5 3204
+1 5830
+1 2120
+1 4240
cob=(3)
cfi=(3)
cfn=(856)
calls=530 0
* 30375
* 530
-3 4
+1 44
+1 16
+1 32
cob=(3)
cfi=(3)
cfn=(856)
calls=4 0
* 243
* 4
+2 4806
+2 195
cfn=(3754)
calls=65 +29
* 6175
+1 130
-28 3247
+32 248
cob=(3)
cfi=(3)
cfn=(828)
calls=8 0
* 8563
* 8
+2 16
-36 44
+43 6
+2 6
cfn=(3754)
calls=2 +13
* 190
+1 6
+1 3
cfn=(3754)
calls=1 +11
* 86
+3 2
cfn=(3760) pgstat_send_funcstats
calls=2 +52
* 16
+1 6
fn=(3074)
1715 25524
+1 19143
+1 25524
+3 18606
+1 5844
+9 44667
+11 25524
+1 17274
-1 11516
+2 5738
+3 5144
cfn=(3076) get_tabstat_entry
calls=643 +8
* 356120
* 1286
+1 12762
fn=(5734)
2953 5
+1 2
+8 3
+1 2
cfn=(3744)
calls=1 813
* 25
+7 5
+2 2
+2 5
+1 2
fn=(3760)
964 6
+8 6
+40 4
fn=(2480)
356 4
+2 1
+8 1
+17 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 7
cfi=(77)
cfn=(1630)
calls=1 59
* 10405
* 1
+1 5
+16 3
+4 4
+4 3
+7 6
cob=(3)
cfi=(3)
cfn=(1656) socket
calls=1 0
* 5
* 1
* 4
+12 9
cob=(3)
cfi=(3)
cfn=(1802) bind
calls=1 0
* 5
* 1
* 2
+10 1
+1 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1340
* 5
* 2
+16 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 790
* 5
* 2
+16 1
+3 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 758
* 5
* 2
+19 27
+1 21
+2 1
+1 1
+1 9
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1276
* 5
* 1
+1 2
+3 2
+9 21
+16 3
+3 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 777
* 5
* 2
+12 3
+11 1
408 2
564 5
+8 3
cfi=(132) /home/mithuncy/fsm_p11patch/src/port/noblock.c
cfn=(2518) pg_set_noblock
calls=1 26
* 67
* 3
+18 1
+2 9
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1326
* 5
* 2
+8 1
+1 4
+8 5
cfi=(77)
cfn=(1942)
calls=1 89
* 228
* 1
+22 4
fn=(2970) pgstat_report_xact_timestamp
3193 12
+1 8
+2 24
+8 20
+1 12
+1 20
+1 8
fn=(3076)
1754 3858
+9 1929
+4 10
cob=(3)
cfi=(3)
cfn=(828)
calls=2 0
* 44
* 2
+1 2
+1 2
+2 12
cfi=(31)
cfn=(794)
calls=2 317
* 5503
* 2
+9 14
cfi=(31)
cfn=(836)
calls=2 910
* 1805
* 4487
cfi=(31)
cfn=(836)
calls=641 910
* 285585
* 643
+1 2572
+3 1286
+6 2572
+8 1929
+4 4
cfi=(13)
cfn=(2156)
calls=1 815
* 1637
-1 1
+5 2
+1 1
-1 1284
+1 642
+2 4492
+2 20
cfi=(13)
cfn=(2156)
calls=5 815
* 8619
-1 10
+3 15
-6 20
+6 3354
-6 7044
+13 9002
+1 1929
+1 1929
+5 1929
+2 643
+1 1286
fn=(5482)
1863 2000
+3 1000
+1 2996
+3 1
-1 3
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+3 3
+1 3
+1 2
+1 2
+2 1
+1 2
-1 499
+1 998
fn=(2608)
728 3
+8 3
+9 2
cob=(10)
cfi=(22)
cfn=(1810)
calls=1 0
* 3
* 1
* 1
+1 7
+3 2
+8 1
cfi=(137)
cfn=(2556)
calls=1 32
* 295
* 7
+25 1
+5 2
fn=(2914)
2750 2
+2 3
+3 13
+19 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(3692) AtEOXact_PgStat
2058 10
+7 4
+1 8
+9 4
+1 4
+6 4
+6 1500
+3 2000
+3 3500
+1 3500
+1 3500
+1 1000
+2 2000
+1 2000
+7 1000
+1 3000
-1 1500
+3 1000
+1 2500
-1 1500
+3 1000
+1 2500
+1 1000
-1 500
-1 2000
+11 1000
-42 2502
+45 2
+3 2
cfn=(3694)
calls=2 5615
* 22
+1 4
fn=(5478)
1912 2500
+1 1500
+2 1000
+3 500
cfi=(26)
cfn=(3532) GetCurrentTransactionNestLevel
calls=500 759
* 4000
* 500
+2 2000
+2 2500
cfn=(5480)
calls=500 -37
* 120633
+2 4000
+2 1000
fl=(61)
fn=(1270)
110 18
+1 12
+2 12
+1 6
+1 12
-5 12
+1 8
+2 8
+1 4
+1 8
fl=(32)
fn=(968)
37 1605
+3 1605
+1 1605
+2 963
-3 770
+1 770
+2 462
+2 536
+2 693
+3 924
+1 454
+1 12
+3 693
+1 1065
+2 524
+1 108
+2 216
-1 154
+2 642
fn=(1510)
123 7130
+1 5704
+1 2852
+3 1426
+1 2852
fn=(834) pg_toupper
106 425
+1 282
+1 224
+1 87
+2 85
+1 170
fn=(970)
70 7890
+1 1315
+2 16710
+1 16710
+2 10026
+2 3280
+1 1596
+1 66
+3 1712
+1 62
+1 2367
+3 2460
+1 4030
+2 5072
-20 19255
+23 509
+1 2630
fl=(97) /home/mithuncy/fsm_p11patch/src/backend/access/transam/twophase.c
fn=(2038) TwoPhaseShmemSize
237 6
+4 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 28
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 8
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 28
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+3 2
+1 4
fn=(2258) TwoPhaseShmemInit
253 3
+3 1
cfn=(2038)
calls=1 -19
* 103
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1189
* 1
+3 4
+6 2
+1 2
+6 1
+1 5
-2 3
+4 5
+26 2
fl=(172)
fn=(3118)
322 28820
+4 5764
+1 5688
-1 5688
+2 8532
cfi=(189) /home/mithuncy/fsm_p11patch/src/backend/catalog/index.c
cfn=(3412) ReindexIsProcessingIndex
calls=2844 4029
* 116604
* 2844
-1 5688
+2 11376
cfi=(190)
cfn=(3417) index_open'2
calls=203 152
* 431142
cfi=(190)
cfn=(3416) index_open
calls=2641 152
* 7346690
* 5688
+2 38
+2 76
cfi=(13)
cfn=(940)
calls=38 925
* 3527
* 5688
cfi=(13)
cfn=(940)
calls=2844 925
* 277427
* 2882
+2 8646
+1 8646
+2 5764
+2 6783
+2 6783
cfi=(110)
cfn=(3120)
calls=2261 +99
* 692803
* 4522
cfi=(110)
cfn=(3128)
calls=2261 864
* 1037834
* 2261
+1 9044
+5 1242
+3 5764
+5 5688
+4 8954
+2 110124
+2 53724
+1 4477
-5 38349
+8 26862
-12 26440
+16 19908
cfi=(190)
cfn=(3418) index_beginscan
calls=2844 226
* 3032444
* 5688
+2 22752
cfi=(190)
cfn=(3428) index_rescan
calls=2844 -60
* 606893
+1 8532
+11 304
cfi=(169)
cfn=(3142)
calls=38 1437
* 55567
* 76
+3 76
+3 38
+1 76
-1 2844
+1 5688
fn=(3119) systable_beginscan'2
322 30
+4 6
+1 6
-1 6
+2 9
cfi=(189)
cfn=(3412)
calls=3 4029
* 123
* 3
-1 6
+2 12
cfi=(190)
cfn=(3417)
calls=3 152
* 6351
* 6
+4 6
cfi=(13)
cfn=(940)
calls=3 925
* 276
* 3
+2 9
+1 9
+2 6
+2 6
+2 6
cfi=(110)
cfn=(3120)
calls=2 +99
* 441
* 4
cfi=(110)
cfn=(3128)
calls=2 864
* 884
* 2
+1 8
+5 2
+3 6
+5 6
+4 8
+2 90
+2 48
+1 4
-5 31
+8 24
-12 25
+16 21
cfi=(190)
cfn=(3418)
calls=3 226
* 2584
* 6
+2 24
cfi=(190)
cfn=(3428)
calls=3 -60
* 572
+1 9
+17 3
+1 6
fn=(3186)
406 12976
+3 12976
+2 15800
cfi=(190)
cfn=(3434) index_getnext
calls=3160 661
* 31136502
* 3160
+9 19515
+1 3160
+3 420
cfi=(169)
cfn=(3188)
calls=84 1848
* 5840876
* 84
+2 84
+1 168
-1 3160
+1 6320
fn=(3254)
489 11540
+1 11540
+2 11388
cfi=(190)
cfn=(3508) index_endscan
calls=2847 342
* 2478029
+1 14235
cfi=(190)
cfn=(3514) index_close
calls=2847 178
* 7221175
* 2847
+3 152
cfi=(169)
cfn=(3256)
calls=38 1585
* 19916
+2 11540
+1 9052
cfi=(110)
cfn=(3266)
calls=2263 906
* 595017
+2 8655
cfi=(13)
cfn=(952)
calls=2885 1032
* 245225
+1 5770
fn=(3424) RelationGetIndexScan
79 17082
+3 5694
cfi=(13)
cfn=(940)
calls=2847 925
* 277579
* 2847
+2 5694
+1 8541
+1 5694
+1 8541
+1 8541
+5 5694
+1 22776
cfi=(13)
cfn=(940)
calls=2847 925
* 293569
* 8541
+3 5694
+3 5694
+2 5694
+12 5694
+1 2847
cfi=(26)
cfn=(3426) TransactionStartedDuringRecovery
calls=2847 869
* 17082
* 5694
+1 28470
+2 5694
+2 5694
+1 5694
+1 5694
+1 5694
+2 17082
+1 5694
+1 5694
+1 5694
+2 2847
+1 5694
fn=(3512) IndexScanEnd
147 11388
+1 11388
+1 11388
cfi=(13)
cfn=(952)
calls=2847 1032
* 241995
+1 11388
+3 8541
cfi=(13)
cfn=(952)
calls=2847 1032
* 241995
+1 5694
fl=(223)
fn=(3914)
78 5030
+6 5030
+6 4024
+3 3018
cfi=(13)
cfn=(952)
calls=1006 1032
* 85510
+1 4024
fn=(4960)
162 12
+2 12
+1 8
fn=(3906)
45 4024
+3 2012
cfi=(13)
cfn=(2546)
calls=1006 956
* 313462
* 1006
+2 3018
+3 2012
+1 2012
+2 2012
+13 1006
+1 2012
fn=(4406)
471 24
+9 32
+3 8
+2 2
+1 2
+1 2
+1 2
+51 6
+2 2
+1 2
+1 2
+1 2
+32 48
cfi=(218)
cfn=(4408) makeConst
calls=4 305
* 880
* 4
+7 12
+2 4
+1 8
fn=(4942)
147 20
+2 12
+1 12
+1 8
+1 12
+1 12
+1 12
+1 8
fl=(240)
fn=(5264) ExecInitRangeTable
720 2500
+5 1500
+3 1500
cfi=(242)
cfn=(4564) list_length
calls=500 90
* 5000
* 1500
+2 3000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
-1 1000
+2 500
+1 1500
cfi=(242)
cfn=(4372)
calls=500 78
* 5000
* 1000
+2 5500
-2 3500
+11 3000
cfi=(13)
cfn=(2546)
calls=500 956
* 69500
-1 1000
+7 1000
+1 1000
fn=(5290) MakePerTupleExprContext
415 2000
+1 2000
+1 1500
cfn=(4336) CreateExprContext
calls=500 242
* 369317
* 1000
+2 1000
+1 1000
fn=(4526)
1091 16
+1 4
+3 12
cfi=(242)
cfn=(4372)
calls=4 78
* 40
* 8
+2 12
+2 20
+1 4
-5 28
+7 4
+1 8
fn=(5508) FreeExprContext
373 3006
+4 2505
cfn=(5510) ShutdownExprContext
calls=501 926
* 6513
+2 2004
cfi=(13)
cfn=(1396)
calls=501 212
* 319117
+2 1503
+1 1002
+1 3006
cfi=(45)
cfn=(5512)
calls=501 591
* 137775
* 1002
+3 1503
cfi=(13)
cfn=(952)
calls=501 1032
* 42585
+1 1002
fn=(4322) CreateExecutorState
86 1503
+8 3507
cfi=(14)
cfn=(432)
calls=501 395
* 56281
* 501
+8 1503
cfi=(233) /home/mithuncy/fsm_p11patch/src/backend/executor/../../../src/include/utils/palloc.h
cfn=(4144) MemoryContextSwitchTo
calls=501 +8
* 5010
* 501
+2 2004
cfi=(13)
cfn=(3400)
calls=501 853
* 213426
* 2505
+5 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+1 1002
+2 1002
+2 1002
+2 1002
+1 1002
+1 1002
+2 1002
+1 1002
+2 1002
+2 1002
+1 1002
+1 1002
+1 1002
+2 1002
+1 1002
+2 1002
+2 1503
+2 1002
+2 1002
+2 1002
+1 1002
+1 1002
+2 1002
+2 1002
+2 1002
+2 1002
+2 1002
+1 1002
+1 1002
+1 1002
+2 1002
+2 1002
+1 1002
+5 1503
cfi=(233)
cfn=(4144)
calls=501 -63
* 5010
+2 501
+1 1002
fn=(4336)
242 2004
+5 2004
cfi=(233)
cfn=(4144)
calls=501 110
* 5010
* 501
+2 2004
cfi=(13)
cfn=(3400)
calls=501 853
* 122244
* 2505
+3 1002
+1 1002
+1 1002
+2 2004
+6 4008
cfi=(14)
cfn=(432)
calls=501 395
* 54241
-1 1002
+5 2004
+1 2004
+2 1002
+1 1002
+2 1002
+1 1002
+2 1002
+1 1002
+2 1503
+2 1002
+7 3006
cfi=(45)
cfn=(1586)
calls=501 -27
* 145290
* 1002
+2 1503
cfi=(233)
cfn=(4144)
calls=501 110
* 5010
+2 501
+1 1002
fn=(5506) FreeExecutorState
195 2004
+7 501
+6 2000
cfi=(242)
cfn=(4372)
calls=500 78
* 5000
* 2000
cfn=(5508)
calls=500 373
* 522000
-6 4004
+12 2004
+10 2004
cfi=(13)
cfn=(1396)
calls=501 -12
* 151435
+1 1002
fn=(5510)
926 3006
+5 2004
+1 501
+20 1002
fl=(301) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/rls.c
fn=(5224) check_enable_rls
53 4500
+1 1500
cfi=(54)
cfn=(3326)
calls=500 381
* 2500
* 1000
+8 1000
+4 2000
cfi=(151)
cfn=(3306)
calls=500 1114
* 171000
* 500
+1 1000
+2 4000
+2 1500
+1 1500
+2 1500
cfi=(151)
cfn=(3280)
calls=500 1161
* 51500
+3 2000
+1 1000
+55 2500
fl=(26)
fn=(736)
625 2072
+1 2072
+2 2072
+1 2072
fn=(986) IsTransactionState
334 14
+1 14
+9 28
+1 14
fn=(3740)
4471 4
+1 4
+2 8
+1 4
+3 4
fn=(3746)
721 4
+1 6
+1 2
+1 1
cfi=(21)
cfn=(656)
calls=1 1571
* 22
+1 4
fn=(2946)
735 4
+1 6
+1 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 2
+3 4
fn=(2950) StartTransaction
1801 6
+7 2
+1 4
+13 4
+1 4
+7 4
+1 4
+1 4
+1 4
+1 4
+6 14
cfi=(54)
cfn=(2952) GetUserIdAndSecContext
calls=2 486
* 24
+13 2
cfi=(53)
cfn=(2878)
calls=2 7896
* 22
* 4
+7 4
+1 4
+2 4
+1 4
+1 2
+1 2
+5 4
+1 2
+1 2
+1 2
+5 2
+1 4
+5 2
cfn=(2954) AtStart_Memory
calls=2 992
* 1057
+1 2
cfn=(2958) AtStart_ResourceOwner
calls=2 1039
* 1424
+6 4
+1 2
cfi=(101)
cfn=(2964)
calls=2 770
* 22
* 2
+5 6
cfi=(91)
cfn=(2966) VirtualXactLockTableInsert
calls=2 4297
* 496
+7 6
+13 6
+2 2
cfi=(163) /home/mithuncy/fsm_p11patch/src/backend/executor/spi.c
cfn=(2968) SPI_inside_nonatomic_context
calls=2 424
* 18
* 6
+1 6
+6 6
cfi=(38)
cfn=(2970)
calls=2 3193
* 52
+2 2
+5 2
cfi=(29)
cfn=(2972)
calls=2 5542
* 16
+1 2
cfn=(2974) AtStart_Cache
calls=2 983
* 144
+1 2
cfi=(165)
cfn=(2982) AfterTriggerBeginXact
calls=2 4778
* 12
+6 4
+2 4
cfn=(2984) ShowTransactionState
calls=2 5114
* 24
+1 4
fn=(3000) GetCurrentCommandId
663 10032
+2 5016
+9 500
+2 500
+1 1000
-1 2008
+1 4016
fn=(5628) GetCurrentTransactionIdIfAny
418 2
+1 2
+1 2
fn=(3596)
2775 6
+1 4
+2 14
+19 2
cfn=(3598) CommitTransaction
calls=2 1955
* 869908
+1 4
+1 2
3008 4
fn=(2958)
1039 6
+1 4
+10 6
cfi=(162)
cfn=(2960)
calls=2 422
* 1382
* 4
+2 6
+1 6
+1 6
+1 4
fn=(3622) GetTopTransactionIdIfAny
388 4
+1 2
+1 4
fn=(3956)
4453 2
+1 2
+2 8
+1 2
+3 2
fn=(1192) IsSubTransaction
4526 4
+1 4
+2 8
+3 2
+1 4
fn=(3768) TransactionBlockStatusCode
4485 6
+1 4
+2 14
+4 4
+27 4
fn=(2984)
5114 16
+2 24
+2 8
fn=(3426)
869 5694
+1 5694
+1 5694
fn=(5528) AtCCI_LocalCache
1363 1000
+6 500
cfi=(150)
cfn=(5530)
calls=500 440
* 5000
+5 500
cfi=(155)
cfn=(5532) CommandEndInvalidationMessages
calls=500 1084
* 4000
+1 1000
fn=(5726) AtAbort_Memory
1640 2
+9 3
+1 3
cfi=(161)
cfn=(2956)
calls=1 110
* 10
* 1
+3 2
fn=(3532)
759 3054
+1 3054
+2 3054
+1 3054
fn=(5332)
401 1500
+1 1000
+2 2000
+1 3
cfn=(5334) AssignTransactionId
calls=1 +68
* 2577
+1 1000
+1 1000
fn=(3598)
1955 6
+1 4
+4 10
+3 4
+3 4
cfn=(2984)
calls=2 5114
* 24
+5 8
+16 2
cfi=(165)
cfn=(3600) AfterTriggerFireDeferred
calls=2 4974
* 76
+7 4
cfi=(156)
cfn=(3604)
calls=2 671
* 876
* 6
+1 2
+3 10
cfn=(3606) CallXactCallbacks
calls=2 3367
* 48
+11 2
cfn=(1210)
calls=2 911
* 16
* 4
+4 4
cfi=(165)
cfn=(3608) AfterTriggerEndXact
calls=2 5030
* 32
+6 2
cfi=(200) /home/mithuncy/fsm_p11patch/src/backend/commands/tablecmds.c
cfn=(3610) PreCommit_on_commit_actions
calls=2 13150
* 52
+3 4
cfi=(201) /home/mithuncy/fsm_p11patch/src/backend/libpq/be-fsstubs.c
cfn=(3612) AtEOXact_LargeObject
calls=2 584
* 22
+7 2
cfi=(92)
cfn=(3614) PreCommit_CheckForSerializationFailure
calls=2 4667
* 32
+7 2
cfi=(113)
cfn=(3616) PreCommit_Notify
calls=2 776
* 30
+3 6
+3 8
cfi=(150)
cfn=(3618)
calls=2 477
* 44
+6 4
+1 4
+2 8
+6 2
cfn=(3620) RecordTransactionCommit
calls=2 1123
* 2572
* 4
+24 10
cfi=(100)
cfn=(3630) ProcArrayEndTransaction
calls=2 398
* 346
+18 6
cfn=(3606)
calls=2 3367
* 50
+3 12
cfi=(162)
cfn=(3632)
calls=2 481
* 260
+5 4
cfi=(50)
cfn=(3638) AtEOXact_Buffers
calls=2 2422
* 54
+3 4
cfi=(148)
cfn=(3646) AtEOXact_RelationCache
calls=2 2828
* 44
+9 4
cfi=(155)
cfn=(3648) AtEOXact_Inval
calls=2 948
* 22
+2 2
cfi=(98) /home/mithuncy/fsm_p11patch/src/backend/access/transam/multixact.c
cfn=(3650) AtEOXact_MultiXact
calls=2 1663
* 64
+2 12
cfi=(162)
cfn=(3632)
calls=2 481
* 821702
+3 12
cfi=(162)
cfn=(3632)
calls=2 481
* 350
+13 4
cfi=(202) /home/mithuncy/fsm_p11patch/src/backend/catalog/storage.c
cfn=(3666) smgrDoPendingDeletes
calls=2 306
* 58
+2 2
cfi=(113)
cfn=(3668) AtCommit_Notify
calls=2 875
* 24
+1 6
cfi=(29)
cfn=(3670)
calls=2 5576
* 32
+1 4
cfi=(163)
cfn=(3672) AtEOXact_SPI
calls=2 303
* 60
+1 2
cfi=(205) /home/mithuncy/fsm_p11patch/src/backend/catalog/pg_enum.c
cfn=(3676) AtEOXact_Enum
calls=2 612
* 10
+1 4
cfi=(200)
cfn=(3678) AtEOXact_on_commit_actions
calls=2 13250
* 46
+1 8
cfi=(55)
cfn=(3680) AtEOXact_Namespace
calls=2 3962
* 30
+1 2
cfi=(140)
cfn=(3682) AtEOXact_SMgr
calls=2 814
* 16
+1 4
cfi=(25)
cfn=(3684)
calls=2 2762
* 72
+1 2
cfi=(206)
cfn=(3688)
calls=2 184
* 16
+1 4
cfi=(31)
cfn=(3690) AtEOXact_HashTables
calls=2 1835
* 30
+1 4
cfi=(38)
cfn=(3692)
calls=2 -93
* 40066
+1 6
cfi=(110)
cfn=(3696) AtEOXact_Snapshot
calls=2 1060
* 226
+1 4
cfi=(72)
cfn=(3698) AtEOXact_ApplyLauncher
calls=2 858
* 34
+1 4
cfi=(38)
cfn=(2970)
calls=2 3193
* 52
+2 2
+1 6
cfi=(162)
cfn=(3700)
calls=2 688
* 876
+1 4
+1 2
+1 2
+2 2
cfn=(3706) AtCommit_Memory
calls=2 1382
* 1238
+2 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+2 2
+1 2
+6 4
+2 6
+1 4
fn=(2954)
992 6
+1 4
+9 6
+2 7
cfi=(14)
cfn=(432)
calls=1 395
* 438
-1 1
+16 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 7
cfi=(14)
cfn=(432)
calls=1 395
* 111
-1 2
+9 4
+1 6
+3 6
cfi=(161)
cfn=(2956)
calls=2 110
* 20
+1 4
fn=(3626) xactGetCommittedChildren
5248 6
+1 4
+2 8
+1 6
+4 4
+1 4
fn=(5660)
429 2
+1 4
+1 2
+1 2
fn=(4782) CommandCounterIncrement
920 6008
+7 4506
+7 500
cfn=(1210)
calls=500 -23
* 4000
* 2500
+3 1500
+1 1500
+7 500
+3 1500
cfi=(110)
cfn=(5526) SnapshotSetCommandId
calls=500 545
* 9000
+8 500
cfn=(5528)
calls=500 1363
* 12000
+2 6008
fn=(3706)
1382 4
+5 6
cfi=(161)
cfn=(2956)
calls=2 110
* 20
+6 6
cfi=(13)
cfn=(1396)
calls=2 212
* 1190
+1 2
+1 2
+1 4
+1 4
fn=(4118) RegisterXactCallback
3333 5
+4 1
-1 3
cfi=(13)
cfn=(798)
calls=1 772
* 91
* 1
+2 3
+1 3
+1 3
+1 2
+1 2
fn=(4122) RegisterSubXactCallback
3388 5
+4 1
-1 3
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+2 3
+1 3
+1 3
+1 2
+1 2
fn=(5334)
473 4
+1 5
+2 1
+10 1
cfn=(1210)
calls=1 911
* 8
* 5
+9 2
+33 2
+12 3
cfi=(308)
cfn=(5336)
calls=1 49
* 370
* 2
+1 4
+1 3
+2 2
+7 4
+1 4
cfi=(92)
cfn=(5346) RegisterPredicateLockingXid
calls=1 1835
* 9
+7 2
+1 3
+2 4
cfi=(160)
cfn=(5348) XactLockTableInsert
calls=1 +19
* 2133
+2 2
+20 2
+34 2
fn=(5724)
4349 3
+1 2
+3 1
cfn=(5726)
calls=1 1640
* 21
+7 7
+3 4
+18 1
+58 4
+6 1
cfn=(5728) AtCleanup_Memory
calls=1 1730
* 45
+1 2
fn=(5728)
1730 2
+7 3
cfi=(161)
cfn=(2956)
calls=1 110
* 10
+5 3
+1 3
cfi=(13)
cfn=(3734)
calls=1 137
* 15
+5 3
+2 1
+1 1
+1 2
+1 2
fn=(3606)
3367 16
+3 12
+1 16
cob=(12)
cfi=(241) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/pl_exec.c
cfn=(5606) plpgsql_xact_cb
calls=2 8134
* 28
-1 18
+2 8
fn=(5612) XactLogCommitRecord
5278 13
+13 1
+3 2
+1 2
+6 2
+2 2
+2 3
+2 4
+7 3
+7 5
+7 2
+6 2
+6 2
+6 2
+11 3
+8 3
+5 1
cfi=(147)
cfn=(5614) XLogBeginInsert
calls=1 121
* 35
+2 4
cfi=(147)
cfn=(5618) XLogRegisterData
calls=1 324
* 37
+2 3
+3 4
+3 4
+8 4
+8 4
+7 4
+7 4
+4 2
cfi=(147)
cfn=(5620) XLogSetRecordFlags
calls=1 398
* 8
+2 4
cfi=(147)
cfn=(5622) XLogInsert
calls=1 416
* 1336
+1 2
fn=(1210)
911 5118
+1 10236
+1 5118
fn=(3738)
354 6
+1 6
+2 12
+1 6
-1 6
+4 3
+1 6
fn=(3764)
709 8
+1 4
+1 8
fn=(2948)
2704 6
+1 4
+2 14
+7 2
cfn=(2950)
calls=2 1801
* 3477
+1 4
+1 2
+51 6
cfi=(161)
cfn=(2956)
calls=2 110
* 20
+1 4
fn=(2974)
983 4
+1 2
cfi=(155)
cfn=(2976)
calls=2 680
* 134
+1 4
fn=(3620)
1123 8
+1 2
cfn=(3622)
calls=2 388
* 10
* 2
+1 6
+1 2
+5 2
+1 2
+1 2
+4 8
cfi=(202)
cfn=(3624) smgrGetPendingDeletes
calls=2 389
* 60
* 2
+1 6
cfn=(3626)
calls=2 5248
* 32
* 2
+1 6
+1 10
cfi=(155)
cfn=(3628) xactGetCommittedInvalidationMessages
calls=2 828
* 32
* 2
+2 8
+6 8
+8 2
+17 2
+13 4
+1 1
+10 6
+7 1
cfi=(50)
cfn=(5608) BufmgrCommit
calls=1 2598
* 4
+19 3
+1 2
+2 1
cfn=(5610) SetCurrentTransactionStopTimestamp
calls=1 747
* 28
+2 22
cfn=(5612)
calls=1 5278
* 1507
+7 2
+15 4
+1 2
+2 10
cfi=(95)
cfn=(5664)
calls=1 148
* 19
+30 2
+1 3
+1 2
+23 3
cfi=(53)
cfn=(5666)
calls=1 2643
* 88
+7 2
+1 6
cfi=(166)
cfn=(5668) TransactionIdAsyncCommitTree
calls=1 274
* 584
+7 2
+2 2
+1 3
+4 6
cfi=(166)
cfn=(5682) TransactionIdLatest
calls=1 367
* 15
* 1
+11 2
+4 2
+3 1
+3 6
+3 2
+1 8
fn=(5610)
747 2
+1 1
cfi=(21)
cfn=(656)
calls=1 1571
* 22
* 1
+1 2
fl=(220)
fn=(3892)
90 3
+1 5
+1 2
-2 1512
+1 2520
+1 1008
fn=(3894)
78 1515
+1 2525
+1 1010
-2 1515
+1 2525
+1 1010
fl=(44) /home/mithuncy/fsm_p11patch/src/backend/utils/mmgr/../../../../src/include/utils/memutils.h
fn=(954) GetMemoryChunkContext
113 128427
+14 128427
+4 42809
+1 85618
fl=(88) /home/mithuncy/fsm_p11patch/src/backend/storage/buffer/buf_init.c
fn=(2010) BufferShmemSize
162 3
+1 1
+3 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 1
cfi=(89)
cfn=(2012)
calls=1 455
* 516
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+11 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 5
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(2204) InitBufferPool
69 3
+8 9
cfi=(87)
cfn=(2168)
calls=1 373
* 1091
-1 1
+6 9
cfi=(87)
cfn=(2168)
calls=1 373
* 994
-1 1
+6 9
cfi=(87)
cfn=(2168)
calls=1 373
* 1032
-1 1
+5 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+1 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+10 10
cfi=(87)
cfn=(2168)
calls=1 373
* 1055
-1 1
+4 12
+13 2
+2 98304
+2 163840
+2 81920
cfi=(123)
cfn=(2206)
calls=16384 227
* 540672
+1 32768
+2 49152
+6 65536
+2 81920
cfi=(99)
cfn=(2144)
calls=16384 678
* 1048576
+3 147456
cfi=(99)
cfn=(2144)
calls=16384 678
* 1048576
-20 65539
+25 7
+4 10
cfi=(89)
cfn=(2212)
calls=1 476
* 237901
+3 3
cfi=(50)
cfn=(2218) WritebackContextInit
calls=1 4239
* 11
+2 2
fl=(180)
fn=(3294)
146 5
+1 4
cfi=(80)
cfn=(1922)
calls=1 271
* 35
+1 5
cfn=(3296) pq_writeint32
calls=1 -72
* 23
+1 2
fn=(3296)
76 4
+1 3
+3 8
+1 6
+1 2
fl=(226)
fn=(3964)
2093 8
+1 4
cfi=(13)
cfn=(3400)
calls=1 853
* 153
* 5
+2 1
+1 1
+7 4
cfi=(46) /home/mithuncy/fsm_p11patch/src/backend/commands/../../../src/include/nodes/pg_list.h
cfn=(966) list_head
calls=1 78
* 10
* 2
+2 3
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 2
+4 3
-10 7
+25 2
+1 5
+7 2
+3 1
+3 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 28190
* 1
+1 2
+7 8
+1 4
+1 4
+1 3
+2 4
+5 1
cfi=(54)
cfn=(3326)
calls=1 381
* 5
* 7
cfi=(227)
cfn=(3970)
calls=1 4668
* 51
* 1
+2 2
+1 1
+12 3
+1 2
+6 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+3 5
cfi=(171)
cfn=(3974) OidFunctionCall1Coll
calls=1 1406
* 367628407
+1 5
fl=(68)
fn=(1598)
1263 4
+1 4
+2 12
+1 2
+7 4
-11 2
+1 2
+2 6
+1 1
+7 2
fn=(1596)
1239 6
+1 4
+2 12
+1 2
+7 4
-11 3
+1 2
+2 6
+1 1
+7 2
fl=(96)
fn=(2036) SUBTRANSShmemSize
186 2
+1 3
cfi=(93)
cfn=(2020)
calls=1 -41
* 52
+1 2
fn=(2200) SUBTRANSShmemInit
192 3
+1 1
+2 2
-1 8
cfi=(93)
cfn=(2196)
calls=1 -27
* 4802
+4 1
+1 2
fn=(5344)
325 4
+7 6
+2 1
+10 2
fl=(194) /home/mithuncy/fsm_p11patch/src/backend/access/nbtree/nbtcompare.c
fn=(3486) btoidcmp
268 66201
+1 66201
+1 66201
+2 66201
+1 18604
+1 38295
+1 7224
+2 9153
+1 44134
fn=(3526) btint2cmp
83 5478
+1 5478
+1 5478
+2 9130
+1 3652
fl=(275)
fn=(4676)
2579 21
+5 3
+3 12
+37 6
fl=(142)
fn=(2836)
225 8
+1 2
+2 10
+6 2
+1 6
fl=(149)
fn=(3016)
1163 8040
+1 11055
cfn=(3018) SearchCatCacheInternal
calls=1005 +51
* 27189128
+1 2010
fn=(3410) int4eqfast
172 8708
+1 10885
+1 4354
fn=(3312) nameeqfast
143 10
+1 4
+1 4
+2 12
cob=(3)
cfi=(3)
cfn=(1044)
calls=2 0
* 58
* 2
* 4
+1 4
fn=(3542)
1044 462
+1 308
+1 216
cfn=(3020) CatalogCacheInitializeCache
calls=72 933
* 2350472
+2 154
+1 154
-1 154
+2 152
-1 152
+11 375
cfi=(160)
cfn=(3026)
calls=75 106
* 132653
+1 375
cfi=(190)
cfn=(3416)
calls=75 152
* 5251092
* 75
+11 300
cfi=(190)
cfn=(3514)
calls=75 178
* 133927
+1 375
cfi=(160)
cfn=(3408) UnlockRelationOid
calls=75 197
* 133102
+2 154
fn=(3020)
933 308
+8 385
cfi=(169)
cfn=(3022)
calls=77 1307
* 2589733
* 77
+8 231
cfi=(152)
cfn=(2898)
calls=77 110
* 770
* 77
+5 308
cfi=(159) /home/mithuncy/fsm_p11patch/src/backend/access/common/tupdesc.c
cfn=(3078) CreateTupleDescCopyConstr
calls=77 151
* 48290
* 77
+6 385
cfi=(13)
cfn=(928)
calls=77 1162
* 14699
* 154
+1 385
+5 231
cfi=(152)
cfn=(2898)
calls=77 110
* 770
+2 308
cfi=(169)
cfn=(3080)
calls=77 1283
* 137038
+8 154
+7 875
+2 1875
+3 500
+11 2250
cfn=(3102) GetCCHashEqFuncs
calls=125 209
* 2755
+9 1750
cfi=(171)
cfn=(3104) fmgr_info_cxt
calls=125 135
* 10375
+5 2000
+3 1250
+1 1250
+2 1250
-43 933
+54 231
+1 154
fn=(3110) CatalogCacheComputeHashValue
279 34353
+1 3817
+2 11451
+7 22703
+3 72
cfn=(3330) int4hashfast
calls=12 178
* 384
* 12
+2 36
+1 36
+3 72
cfn=(3330)
calls=12 178
* 384
* 24
cfn=(3330)
calls=4 178
* 128
* 16
+2 48
+1 48
+3 96
cfn=(4972) oidvectorhashfast
calls=2 202
* 247
cfn=(3330)
calls=14 178
* 448
* 6060
cfn=(3330)
calls=1010 178
* 32320
* 1026
+2 3078
+1 3078
+3 5130
cfn=(3330)
calls=9 178
* 288
cfn=(3112) namehashfast
calls=1017 152
* 138729
* 13955
cfn=(3330)
calls=2782 178
* 89024
cfn=(3112)
calls=9 152
* 993
* 3817
+2 7634
+1 3817
+6 3817
+1 7634
fn=(3116) IndexScanOK
1095 6508
+1 6775
+10 316
+1 14
+1 72
+11 2
+10 8
+1 4
+4 1545
+4 1545
+1 3090
-1 72
+1 164
fn=(3310) CatalogCacheCompareTuple
386 15232
+1 6528
+3 4352
+2 45759
cfn=(3410)
calls=2177 172
* 23947
cfn=(3312)
calls=2 143
* 98
* 6537
-2 15244
+5 2176
+1 4352
fn=(3018)
1215 34191
+16 26593
+1 15
cfn=(3020)
calls=5 933
* 471356
+7 7598
+1 7598
+1 7598
+1 7598
+5 37990
cfn=(3110)
calls=3799 279
* 390120
* 3799
+1 18995
+8 22794
+1 40719
+2 12693
+2 16924
+3 16924
+1 2055
+2 19584
cfn=(3310)
calls=2176 386
* 124225
* 6528
+9 13056
cfi=(153) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/../../../../src/include/lib/ilist.h
cfn=(3314) dlist_move_head
calls=2176 386
* 26112
+6 10880
+2 6519
cfi=(162)
cfn=(3250) ResourceOwnerEnlargeCatCacheRefs
calls=2173 982
* 49979
+1 10865
+1 13038
cfi=(162)
cfn=(3252) ResourceOwnerRememberCatCacheRef
calls=2173 993
* 93439
+9 6519
+11 6
-49 29581
+53 19476
cfn=(3114) SearchCatCacheMiss
calls=1623 +19
* 41855798
+1 7598
fn=(4892) CatalogCacheComputeTupleHashValue
329 84
+1 14
+1 14
+1 14
+1 14
+1 14
+1 42
+1 42
+3 122
+3 998
cfi=(178)
cfn=(3238)
calls=1 +86
* 637
* 13
+7 1130
cfi=(178)
cfn=(3238)
calls=2 +79
* 982
* 14
+7 1130
cfi=(178)
cfn=(3238)
calls=2 +72
* 1817
* 14
+7 728
cfi=(178)
cfn=(3238)
calls=2 +65
* 170
* 14
+5 14
+6 140
cfn=(3110)
calls=14 -95
* 3927
+1 28
fn=(4904)
1185 54
+1 72
cfn=(3018)
calls=9 +29
* 114592
+1 18
fn=(5540) RehashCatCache
870 12
+5 12
cfi=(57)
cfn=(2084)
calls=3 1286
* 204
* 48
cfi=(57)
cfn=(2086)
calls=3 1336
* 327
+4 12
+1 24
cfi=(13)
cfn=(2156)
calls=3 -65
* 2272
* 3
+3 6
+4 9582
+2 3081
+1 6162
+2 3081
cfi=(153)
cfn=(5542) dlist_delete
calls=1027 359
* 15405
+1 11297
cfi=(153)
cfn=(3246) dlist_push_head
calls=1027 301
* 35260
-6 11291
-4 2572
+15 12
cfi=(13)
cfn=(952)
calls=3 1032
* 257
+1 9
+1 9
+1 6
fn=(4874)
1522 32
+1 4
+17 16
+10 8
+1 8
+1 8
+1 8
+7 40
cfn=(3110)
calls=4 279
* 728
* 4
+8 44
+2 9
+2 12
+3 12
+1 3
-8 37
+53 12
cfi=(162)
cfn=(4876) ResourceOwnerEnlargeCatCacheListRefs
calls=4 1017
* 395
+2 4
+2 32
cob=(3)
cfi=(3)
cfn=(370)
calls=4 0
* 112
* 4
* 16
+10 56
cob=(3)
cfi=(3)
cfn=(856)
calls=4 0
* 325
* 4
+1 8
+1 8
+1 8
+1 8
+2 20
cfi=(169)
cfn=(3022)
calls=4 1307
* 8928
* 4
+4 20
cfn=(3116)
calls=4 1095
* 48
-2 44
cfi=(172)
cfn=(3118)
calls=4 322
* 18258
* 4
+8 20
+2 4
+4 14
+6 14
+1 98
cfn=(4892)
calls=14 329
* 12116
* 14
+1 70
+2 84
+1 128
+2 3
+2 8
+3 4
+3 7
cfi=(292) /home/mithuncy/fsm_p11patch/src/backend/storage/page/itemptr.c
cfn=(5058) ItemPointerEquals
calls=1 30
* 34
* 3
+7 4
+1 1
-18 63
+24 56
+3 126
cfn=(3244) CatalogCacheCreateEntry
calls=14 1819
* 12211
* 14
+7 70
cfi=(45)
cfn=(960)
calls=14 129
* 2570
* 14
+1 70
-50 42
cfi=(172)
cfn=(3186)
calls=14 406
* 21429
* 12
cfi=(172)
cfn=(3186)
calls=4 406
* 55232
* 54
+53 12
cfi=(172)
cfn=(3254)
calls=4 489
* 11029
+2 16
cfi=(169)
cfn=(3080)
calls=4 1283
* 6948
+3 12
cfi=(152)
cfn=(2898)
calls=4 110
* 40
* 4
+1 12
cfi=(256) /home/mithuncy/fsm_p11patch/src/backend/utils/cache/../../../../src/include/nodes/pg_list.h
cfn=(4878) list_length
calls=4 90
* 38
* 4
+2 16
-1 8
cfi=(13)
cfn=(940)
calls=4 925
* 492
* 4
+5 8
-1 44
cfn=(4496) CatCacheCopyKeys
calls=4 1949
* 1676
+2 12
cfi=(152)
cfn=(2898)
calls=4 110
* 40
+30 16
+2 8
+1 12
+1 8
+1 8
+1 12
+1 16
+1 12
+1 12
+2 4
+1 12
cfi=(256)
cfn=(4520) list_head
calls=4 78
* 38
* 8
+2 154
+2 42
+3 70
+2 56
-9 78
+14 28
cfi=(153)
cfn=(3246)
calls=4 301
* 130
+3 20
+1 20
cfi=(162)
cfn=(4880) ResourceOwnerRememberCatCacheListRef
calls=4 1028
* 172
+5 4
+1 8
fn=(3112)
152 4104
+1 2052
+2 3078
cob=(3)
cfi=(3)
cfn=(424)
calls=1026 0
* 19414
* 1026
* 5130
cfi=(34) /home/mithuncy/fsm_p11patch/src/backend/access/hash/hashfunc.c
cfn=(840) hash_any
calls=1026 429
* 102866
+1 2052
fn=(3330)
178 15372
+1 11529
cfi=(182)
cfn=(3332)
calls=3843 42
* 88389
+1 7686
fn=(4496)
1949 4599
+8 1022
+2 7147
+1 11231
+1 7147
+9 4084
+2 2525
cfi=(158)
cfn=(2930)
calls=505 253
* 49691
+1 1010
+3 2525
+2 1010
-2 505
+1 1010
-1 2525
cfi=(254)
cfn=(4498)
calls=505 129
* 102010
* 2580
+2 1032
-2 516
+1 1032
-1 2580
cfi=(254)
cfn=(4498)
calls=516 129
* 7740
* 1021
-19 5617
+24 2044
fn=(4972)
202 8
+1 10
cfi=(171)
cfn=(4974) DirectFunctionCall1Coll
calls=2 794
* 225
+1 4
fn=(2896)
778 693
+23 231
+3 231
cfi=(152)
cfn=(2898)
calls=77 110
* 770
* 77
+5 231
+2 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+1 3
cfi=(153)
cfn=(2900) slist_init
calls=1 555
* 7
+1 2
+12 1
+1 3
cfi=(13)
cfn=(2546)
calls=1 956
* 649
-1 76
+1 228
cfi=(13)
cfn=(2546)
calls=76 956
* 50188
* 231
+1 385
cfi=(13)
cfn=(2546)
calls=77 956
* 28536
* 154
+7 231
+1 154
+1 231
+1 231
+1 154
+1 154
+1 154
+1 231
+1 231
+1 154
+1 1375
-1 731
+12 462
cfi=(153)
cfn=(2902) slist_push_head
calls=77 575
* 1001
+5 231
cfi=(152)
cfn=(2898)
calls=77 110
* 770
+2 77
+1 154
fn=(3102)
209 875
+1 755
+3 2
+1 2
+1 2
+1 1
+2 4
+1 4
+1 4
+1 2
+2 50
+1 50
+1 50
+1 25
+2 8
+1 8
+1 8
+1 4
+2 10
+1 10
+1 10
+1 5
+2 2
+1 2
+1 2
+1 1
+12 172
+1 172
+1 172
+1 86
+2 2
+1 2
+1 2
+1 1
+8 250
fn=(3308)
1177 13925
+1 22280
cfn=(3018)
calls=2785 +37
* 16115043
+1 5570
fn=(3114)
1329 14607
+9 3246
+1 3246
+1 3246
+1 3246
+6 21099
cob=(3)
cfi=(3)
cfn=(856)
calls=1623 0
* 76211
* 1623
+1 3246
+1 3246
+1 3246
+1 3246
+17 8115
cfi=(169)
cfn=(3022)
calls=1623 -61
* 4394392
* 1623
+4 8115
cfn=(3116)
calls=1623 1095
* 20067
-2 17853
cfi=(172)
cfn=(3119)
calls=1 322
* 4085
cfi=(172)
cfn=(3118)
calls=1622 322
* 8312573
* 1623
+7 1623
+2 4869
cfi=(172)
cfn=(3186)
calls=1623 406
* 17341371
* 4869
+2 10044
cfn=(3244)
calls=1116 1819
* 731876
* 1116
+4 3348
cfi=(162)
cfn=(3250)
calls=1116 982
* 26305
+1 5580
+1 6696
cfi=(162)
cfn=(3252)
calls=1116 993
* 47988
+1 1116
+3 3348
cfi=(172)
cfn=(3254)
calls=1116 489
* 4267169
* 1521
cfi=(172)
cfn=(3254)
calls=507 489
* 1857042
+2 6492
cfi=(169)
cfn=(3080)
calls=1623 1283
* 4183977
+12 3246
+2 1521
+3 4563
cfn=(3244)
calls=507 1819
* 425165
* 507
+14 1014
+12 2232
+1 3246
fn=(4882) ReleaseCatCacheList
1794 16
+4 20
+1 20
cfi=(162)
cfn=(4884) ResourceOwnerForgetCatCacheListRef
calls=4 1037
* 280
+4 8
-2 8
+6 8
fn=(2890) CreateCacheMemoryContext
630 2
+5 3
+1 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
+3 2
fn=(3244)
1819 16370
+6 3274
+13 7910
+3 2260
+3 3390
cfi=(152)
cfn=(2898)
calls=1130 110
* 11300
* 1130
+3 2260
-1 4520
cfi=(13)
cfn=(940)
calls=1130 925
* 138959
* 1130
+2 4520
+1 6780
+1 4520
+2 4520
-1 3390
+5 2260
-2 1130
+1 2260
-1 5650
cob=(3)
cfi=(3)
cfn=(856)
calls=1130 0
* 101603
* 1130
+3 3390
cfi=(152)
cfn=(2898)
calls=1130 110
* 11300
+2 3390
+4 2260
+5 49618
cfi=(178)
cfn=(3238)
calls=1 428
* 251
* 59867
cfi=(178)
cfn=(3238)
calls=1618 428
* 152696
* 3289
+5 8355
-10 14005
+16 1521
cfi=(152)
cfn=(2898)
calls=507 110
* 5070
* 507
+1 1014
cfi=(13)
cfn=(940)
calls=507 925
* 62330
* 507
+7 1014
-1 6084
cfn=(4496)
calls=507 +63
* 220527
+2 1521
cfi=(152)
cfn=(2898)
calls=507 110
* 5070
+7 3274
+1 4911
+1 3274
+1 3274
+1 3274
+1 4911
+1 4911
+2 16370
cfi=(153)
cfn=(3246)
calls=1637 301
* 49145
+2 8185
+1 6548
+6 11459
+1 9
cfn=(5540)
calls=3 870
* 100944
+2 1637
+1 3274
fn=(3282)
1452 13156
+1 9867
+7 16445
+1 19734
cfi=(162)
cfn=(3284) ResourceOwnerForgetCatCacheRef
calls=3289 1002
* 230230
+4 6578
-2 6578
+7 6578
fl=(58)
fn=(2788) pq_recvbuf
940 12
+1 9
+2 8
+9 6
+4 4
cfn=(2790) socket_set_nonblocking
calls=2 -33
* 32
* 2
cfn=(2790)
calls=1 -33
* 16
+8 12
-1 24
cfi=(139)
cfn=(2792)
calls=3 147
* 65282
* 2
+3 4
+15 4
+9 8
+1 2
+2 8
fn=(3778) internal_flush
1423 12
+3 15
+1 15
+2 3
+4 30
cfi=(139)
cfn=(3780)
calls=3 252
* 315
* 3
+2 6
+44 3
+1 9
+1 12
-52 18
+55 9
+1 3
+1 12
fn=(3790)
1001 4
+3 2
+2 2
cfn=(2788)
calls=2 -66
* 65274
* 2
-2 12
+5 6
+1 2
fn=(2784)
1211 12
+5 9
+5 3
+1 12
fn=(3300)
1561 119
+1 102
+2 17
+1 51
+1 68
cfn=(3302) internal_putbytes
calls=17 1370
* 1003
* 34
+2 68
+4 68
+1 68
cfn=(3302)
calls=17 1370
* 1003
* 34
+3 85
cfn=(3302)
calls=17 1370
* 1107
* 34
+2 17
+1 34
+5 34
fn=(1156)
1889 5
+1 2
+1 2
+37 2
fn=(2644)
845 16
+1 12
cob=(5)
cfi=(5)
cfn=(692)
calls=4 0
* 28
* 4
+1 8
fn=(2738)
195 2
+2 1
+1 6
cfi=(13)
cfn=(798)
calls=1 772
* 1393
* 1
+1 7
+1 1
+1 1
+1 1
+3 3
cfi=(67)
cfn=(1578)
calls=1 306
* 32
+13 4
cfi=(132)
cfn=(2518)
calls=1 26
* 67
* 3
+5 4
cfi=(122)
cfn=(2740) CreateWaitEventSet
calls=1 543
* 1738
* 1
+1 8
cfi=(122)
cfn=(2748) AddWaitEventToSet
calls=1 692
* 1465
+2 8
cfi=(122)
cfn=(2748)
calls=1 692
* 122
+1 7
cfi=(122)
cfn=(2748)
calls=1 692
* 110
+1 2
fn=(5776)
257 5
+2 3
+30 3
cfi=(139)
cfn=(5778)
calls=1 135
* 5
+12 2
+2 2
fn=(1164)
1813 5
+1 2
+1 2
+41 2
fn=(3810)
1273 6
+5 3
cfi=(80)
cfn=(1890)
calls=1 63
* 12
+3 4
cfn=(2786)
calls=1 1095
* 59
* 2
+8 3
+2 5
+9 3
+2 3
+7 8
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 4
+2 5
cfi=(80)
cfn=(1922)
calls=1 271
* 35
+13 4
+3 7
cfn=(2786)
calls=1 1095
* 134
* 2
+7 3
+2 6
+4 1
+2 1
+1 4
fn=(5704) socket_endcopyout
1637 5
+1 4
+1 1
+5 2
fn=(2628)
717 12
+2 4
+1 4
+1 4
-1 10
cob=(5)
cfi=(5)
cfn=(2634)
calls=1 0
* 7
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 775
* 6
* 12
+20 4
+1 4
+1 4
-1 12
cob=(3)
cfi=(3)
cfn=(1804) getsockname
calls=2 0
* 10
* 2
* 4
+9 8
+80 2
+1 8
fn=(2790)
923 36
+1 18
+5 18
+1 24
fn=(2798)
1235 2
+3 1
+1 2
fn=(3302)
1370 255
+3 51
+3 204
+6 306
+1 153
+1 102
+1 459
cob=(3)
cfi=(3)
cfn=(856)
calls=51 0
* 716
* 51
+1 255
+1 102
+1 102
-15 204
+17 51
+1 102
fn=(1962) Lock_AF_UNIX
615 5
+9 5
cfi=(54)
cfn=(1964) CreateSocketLockFile
calls=1 1192
* 3667
+6 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1315
* 5
+5 3
cfi=(13)
cfn=(928)
calls=1 1162
* 195
* 5
cfi=(45)
cfn=(960)
calls=1 129
* 290
* 1
+2 1
+1 2
fn=(2786)
1095 20
+5 4
+2 4
+2 1
cfn=(2788)
calls=1 940
* 161
* 2
-2 20
+5 24
+1 12
+1 4
+1 16
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 24
* 2
* 16
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 149
* 2
+1 20
+1 8
+1 8
-13 16
+15 4
+1 8
fn=(1628)
333 24
+11 2
+3 2
+1 2
+6 2
+4 138
+1 4
+1 2
+1 2
+3 4
+6 16
cfi=(17)
cfn=(462)
calls=1 203
* 749
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 2
+8 5
cfn=(1962)
calls=1 615
* 5497
* 2
+2 3
+5 8
cfi=(17)
cfn=(462)
calls=1 203
* 489
+1 2
+3 6
cfi=(77)
cfn=(1630)
calls=1 59
* 92045
* 6
cfi=(77)
cfn=(1630)
calls=1 59
* 2126
* 2
+1 10
+15 6
+2 14
+10 3
+2 48
+1 3
-3 21
+5 9
+9 18
+3 1
+1 1
+3 1
+1 1
+4 1
+1 1
+12 12
+1 3
+5 4
-1 20
cfi=(77)
cfn=(1832)
calls=2 126
* 4073
+5 4
+3 12
cob=(3)
cfi=(3)
cfn=(1656)
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1273
* 6
* 6
cob=(3)
cfi=(3)
cfn=(1656)
calls=1 0
* 5
* 1
* 9
+23 12
+2 16
cob=(3)
cfi=(3)
cfn=(1862) setsockopt
calls=1 0
* 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1326
* 6
* 4
+15 12
+2 8
cob=(3)
cfi=(3)
cfn=(1862)
calls=1 0
* 6
* 1
* 2
+20 27
cob=(3)
cfi=(3)
cfn=(1802)
calls=2 0
* 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1267
* 7
* 3
+1 6
+19 12
+2 3
cfn=(1980) Setup_AF_UNIX
calls=1 +92
* 1277
* 2
+13 9
+1 6
+3 15
cob=(3)
cfi=(3)
cfn=(1872) listen
calls=2 0
* 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1265
* 7
* 3
+1 6
+12 12
+1 6
cfi=(57)
cfn=(1548)
calls=1 232
* 323
* 7
cfi=(57)
cfn=(1882)
calls=1 785
* 1009
* 3
cfi=(57)
cfn=(1896)
calls=1 411
* 10095
* 1
+5 12
cfi=(57)
cfn=(1548)
calls=2 232
* 1969
* 18
cfi=(57)
cfn=(1882)
calls=2 785
* 3422
* 6
cfi=(57)
cfn=(1896)
calls=2 411
* 21497
+5 21
+1 3
406 19
599 10
cfi=(77)
cfn=(1942)
calls=2 89
* 1802
+2 4
+3 2
+1 10
fn=(1160)
1731 5
+1 2
+1 2
+42 2
fn=(3776) socket_flush
1401 9
+4 9
+2 3
+1 6
cfn=(2790)
calls=3 923
* 48
+1 3
cfn=(3778)
calls=3 +14
* 465
* 3
+1 3
+1 3
+1 6
fn=(1980)
646 5
+7 4
+39 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1250
* 5
* 2
+8 1
+1 4
fl=(160)
fn=(2934) RelationInitLockInfo
69 1881
+4 2508
+2 3135
+1 63
+2 1818
+1 1254
fn=(3026)
106 32410
+5 32410
cfn=(3028) SetLocktagRelationOid
calls=6482 -24
* 825909
+2 58338
cfi=(91)
cfn=(3032) LockAcquireExtended
calls=6482 738
* 13084503
* 6482
+18 12964
+2 6473
cfi=(155)
cfn=(2976)
calls=6473 680
* 433691
+1 19419
cfi=(91)
cfn=(3052) MarkLockClear
calls=6473 1709
* 45311
+2 12964
fn=(3028)
87 32915
+3 19749
cfi=(170)
cfn=(3030) IsSharedRelation
calls=6583 225
* 652809
* 13166
+1 150
+2 13016
+2 91112
+1 13016
-1 1050
+1 150
fn=(5412) ConditionalLockRelationForExtension
418 7500
+3 15000
+4 9000
cfi=(91)
cfn=(3350) LockAcquire
calls=1500 712
* 3169384
* 3000
+1 3000
fn=(3348)
966 8
+3 9
+6 6
cfi=(91)
cfn=(3350)
calls=1 712
* 2117
+3 1
cfi=(155)
cfn=(2976)
calls=1 680
* 67
+1 2
fn=(5348)
581 4
+3 7
+2 6
cfi=(91)
cfn=(3350)
calls=1 712
* 2114
+1 2
fn=(5474) UnlockRelationForExtension
450 7500
+3 15000
+4 9000
cfi=(91)
cfn=(3092) LockRelease
calls=1500 1885
* 2834706
+1 3000
fn=(3408)
197 505
+3 505
cfn=(3028)
calls=101 87
* 11224
+2 606
cfi=(91)
cfn=(3092)
calls=101 1885
* 168198
+1 202
fn=(3090)
182 29405
+3 58810
+2 35286
cfi=(91)
cfn=(3092)
calls=5881 1885
* 13940025
+1 11762
fl=(164) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/sinval.c
fn=(2978) ReceiveSharedInvalidMessages
74 34895
+12 34895
+12 20937
+3 20937
cfi=(101)
cfn=(2980)
calls=6979 540
* 174475
* 6979
+2 13958
+10 6979
+1 13958
+2 34895
+12 20937
+10 20937
+6 13958
fl=(205)
fn=(3676)
612 4
+6 2
+1 4
fl=(307)
fn=(5312)
122 1042500
+4 1459500
+2 834000
+5 834000
+1 208500
+2 417000
fn=(5310)
145 1042500
+4 1251000
+2 834000
+5 834000
+1 208500
+2 417000
fl=(72)
fn=(2286) ApplyLauncherShmemInit
818 3
+4 1
cfn=(2072) ApplyLauncherShmemSize
calls=1 -52
* 66
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1303
-1 1
+5 4
+4 1
cfn=(2072)
calls=1 -60
* 66
* 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 58
* 1
+3 2
+2 48
+2 20
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 104
* 4
+1 8
-5 19
+8 2
fn=(5700)
1088 2
+1 5
+1 2
fn=(1612)
789 3
+3 3
+3 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 72
* 1
+1 1
+2 1
+1 7
cfi=(17)
cfn=(462)
calls=1 203
* 216
+1 7
cfi=(17)
cfn=(462)
calls=1 203
* 229
+1 6
cfi=(17)
cfn=(462)
calls=1 203
* 240
+2 7
cfi=(17)
cfn=(462)
calls=1 203
* 240
+2 1
+1 1
+1 1
+2 3
cfi=(73)
cfn=(1614) RegisterBackgroundWorker
calls=1 +40
* 459
+1 2
fn=(2072)
770 9
+6 3
+1 12
+1 15
cfi=(87)
cfn=(2000)
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+2 3
+1 6
fn=(3698)
858 10
+6 4
+4 6
+12 6
+8 2
+1 2
+1 4
fl=(82) /home/mithuncy/fsm_p11patch/src/timezone/strftime.c
fn=(1908) _fmt
137 48
+1 6
+2 450
+3 378
+55 42
cfn=(1912) _conv
calls=6 501
* 3384
* 6
+1 6
+18 42
cfn=(1912)
calls=6 501
* 3384
* 6
+1 6
+42 42
cfn=(1912)
calls=6 501
* 3366
* 6
+1 6
+2 54
cfn=(1912)
calls=6 501
* 3384
* 6
+1 6
+17 42
cfn=(1912)
calls=6 501
* 3389
* 6
+1 6
434 66
cfn=(1910) _yconv
calls=6 +93
* 7392
* 6
+3 6
+2 24
+1 42
cfn=(1914) _add
calls=6 +70
* 384
* 6
+7 6
+45 180
+2 360
138 534
496 6
+1 12
fn=(1912)
501 294
+3 294
cfi=(17)
cfn=(1138)
calls=42 231
* 20615
+1 252
cfn=(1914)
calls=42 +5
* 2100
+1 84
fn=(1914)
510 240
+1 48
+1 102
-1 1950
+2 48
+1 96
fn=(1910)
527 60
+5 156
+1 180
+1 78
+1 12
+5 12
+5 12
+2 12
+3 36
cfn=(1912)
calls=6 -49
* 3366
* 6
+2 12
+1 60
cfn=(1912)
calls=6 -52
* 3366
* 6
+1 6
+1 12
fn=(1906) pg_strftime
123 42
+2 6
+2 60
cfn=(1908)
calls=6 +10
* 27095
* 6
+1 30
+2 12
+1 24
+1 12
fl=(225)
fn=(3938)
107 4
+1 2
+5 3
+2 4
+12 2
fn=(3936) printtup_create_DR
79 4
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 243
* 1
+2 2
+1 2
+1 2
+1 2
+1 3
+6 4
+2 2
+1 2
+1 2
+1 2
+2 1
+1 2
fn=(5590)
558 4
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 2
fl=(299) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/arrayutils.c
fn=(5192) ArrayGetNItems
76 3000
+6 1000
+2 500
+1 1000
+5 4000
+6 5500
+2 1000
+1 2000
-14 3500
+21 1500
+5 500
+1 2000
fl=(35) /home/mithuncy/fsm_p11patch/src/timezone/localtime.c
fn=(1456) getrule
780 10
+1 8
+9 8
+5 4
+1 2
+1 14
cfn=(1454) getnum
calls=2 682
* 113
* 2
+1 4
+2 12
+2 14
cfn=(1454)
calls=2 682
* 92
* 2
+1 4
+2 12
+2 14
cfn=(1454)
calls=2 682
* 92
* 4
+12 4
+2 8
+9 4
+1 2
+1 4
fn=(1050) localsub
1291 72
+4 36
+2 24
+2 48
+1 24
-1 24
+1 100
+36 98
+2 8
+4 10
+1 30
+2 10
+2 550
+2 880
+1 222
+2 108
-7 360
+9 70
+2 90
+7 70
cfn=(1052) timesub
calls=10 +83
* 8460
-7 18
+7 14
cfn=(1052)
calls=2 +83
* 1618
* 12
+1 24
+2 60
+1 108
+2 12
+1 24
fn=(1458) increment_overflow_time
1588 12800
+7 6400
+1 1200
-1 600
+2 21000
-2 12400
+4 22400
+1 3200
+1 6400
fn=(1056) leaps_thru_end_of
1437 288
+3 360
cfn=(1058) leaps_thru_end_of_nonneg
calls=72 -9
* 2232
+1 144
fn=(1446) detzcode64
149 558
+3 186
+1 558
+1 744
+1 558
+2 930
+1 372
+1 15624
-1 4278
+3 744
+7 100
+2 50
+1 100
-1 136
+1 272
fn=(1460) transtime
842 10010
+11 2002
+1 20810
+1 6072
-1 968
+1 9944
+35 36036
+1 12012
+1 20020
+1 26026
+1 20020
+1 40040
-1 36036
+2 4004
+1 373
+6 1492
+1 746
-1 6516
+1 3258
+1 1710
+1 4004
+2 2002
+1 12012
-1 2002
+3 1001
-5 13013
+11 6006
+1 4004
+1 144144
-1 82082
+2 2002
+8 12012
+1 4004
fn=(1464) differ_by_repeat
175 4896
+3 7344
+1 2448
fn=(1448) getzname
644 6
+3 2
+2 6
-2 110
+3 2
+1 4
fn=(1422) tzloadbody
217 9
+5 2
+1 1
+2 6
+2 2
+7 4
+3 5
cfi=(30)
cfn=(1424) pg_open_tzfile
calls=1 77
* 45394
* 1
+1 2
+3 6
cob=(5)
cfi=(5)
cfn=(684)
calls=1 0
* 7
* 1
* 1
+1 4
+7 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
* 2
+2 2
+2 8
cfn=(1444) detzcode
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 2
+1 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 8
cfn=(1444)
calls=2 123
* 150
* 2
+1 10
+7 8
+1 8
+1 8
+1 8
+1 6
-4 6
+9 10
+1 4
+1 12
+1 4
+1 8
+1 4
+1 4
-7 2
-1 4
+10 6
+1 6
+1 6
+1 6
+7 2
+1 4
+3 1302
cfn=(1444)
calls=186 123
* 14050
* 930
cfn=(1446)
calls=186 149
* 25210
-1 372
+3 1488
+1 2232
+2 744
+4 3704
+7 2976
+2 1116
-21 1868
+24 2
+1 4
+2 1860
+2 1860
+2 2232
+1 2604
-7 1868
+9 6
+1 4
+6 90
+1 30
cfn=(1444)
calls=10 123
* 770
* 20
+1 10
+1 50
+1 20
+2 40
+1 50
+1 50
+2 30
-16 58
+18 4
+1 320
-1 208
+2 8
+3 2
+1 12
+25 6
+2 4
+4 90
+1 20
+4 72
+2 80
-11 58
+14 4
+4 90
+1 20
+4 72
+2 80
-11 58
+18 8
+2 12
+1 12
cob=(3)
cfi=(3)
cfn=(482)
calls=2 0
* 584
* 2
251 8
419 4
+1 2
-1 2
+1 6
+1 3
-1 2
+3 3
+2 4
+1 7
cfn=(846) tzparse
calls=1 938
* 766889
* 2
+10 1
+1 3
+2 2
+2 26
+3 4
+1 140
cob=(3)
cfi=(3)
cfn=(446)
calls=14 0
* 433
* 14
* 28
+2 16
+1 2
+1 2
-5 54
+7 6
-12 14
+25 4
+2 3
+7 5
+1 6
+1 6
-1 2
+4 2
+1 2148
+1 7518
-2 2684
+4 1
+3 16104
+1 7320
+1 5856
-1 7320
+2 7320
+1 1464
-7 5860
+1 5856
+8 2
+1 40
-1 14
+5 4
+2 4
+2 2
+1 19788
cfn=(1462) typesequiv
calls=1649 605
* 132714
* 3298
+1 8240
cfn=(1464)
calls=824 175
* 9888
-1 1648
-1 8249
+7 5
+2 3200
-1 9600
cfn=(1462)
calls=800 +97
* 64400
* 1600
+2 6000
cfn=(1464)
calls=400 175
* 4800
-1 800
+4 2
+1 1
-7 2399
+27 2
+1 9900
-1 8254
+3 6
+7 2
+17 2
+16 3
+2 1
+1 2
fn=(1450) getoffset
753 5
+1 1
+2 4
+5 4
+2 5
cfn=(1452) getsecs
calls=1 -51
* 71
* 1
+1 2
+2 2
+2 1
+1 2
fn=(1452)
712 5
+8 6
cfn=(1454)
calls=1 -38
* 46
* 1
+1 2
+2 4
+1 4
+17 1
+1 2
fn=(1454)
682 42
+4 63
+2 7
+3 70
+1 21
-1 10
+1 3
+2 32
+1 32
+1 21
+2 21
+1 7
+1 14
fn=(848) init_ttinfo
113 21
+1 9
+1 9
+1 9
+1 6
+1 6
+1 6
fn=(1054) increment_overflow
1570 160
+1 120
+9 360
+2 240
+1 40
+1 80
fn=(1046) pg_tz_acceptable
1905 24
+9 6
+1 30
cfn=(1048) pg_localtime
calls=6 1375
* 7172
* 6
+1 36
+3 6
+1 12
fn=(1052)
1446 96
+11 12
+1 12
+1 72
+1 48
+11 12
+1 132
+1 192
+1 12
+7 240
+1 96
+3 48
+1 48
+1 24
+1 12
+1 30
cfn=(1054)
calls=6 +81
* 150
-1 36
+1 90
cfn=(1054)
calls=18 +81
* 450
* 48
+2 96
cfn=(1056)
calls=24 -54
* 1008
* 24
+1 96
cfn=(1056)
calls=24 -55
* 1008
-1 72
+2 312
+1 72
+1 48
-21 606
+27 24
+1 48
+1 12
+2 4
+1 4
-3 32
+5 36
+5 12
+2 16
cfn=(1054)
calls=4 +55
* 100
* 8
+2 32
-4 32
+6 178
+6 36
+1 60
cfn=(1054)
calls=12 +44
* 300
* 24
+2 36
+6 204
+2 48
cfn=(1056)
calls=12 -99
* 504
-1 12
+2 24
cfn=(1056)
calls=12 1437
* 504
-1 24
+1 36
-4 24
+6 216
+1 48
+2 144
+1 156
+1 168
+6 264
+1 188
+1 30
-1 14
+1 6
+1 352
-1 724
+2 48
+1 24
+1 48
+1 24
+5 48
fn=(1058)
1431 216
+1 1872
+1 144
fn=(3724) pg_get_timezone_name
1890 3
+1 2
+1 2
+2 2
fn=(846)
938 14
+2 2
+9 4
+1 4
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 1
+1 2
+1 2
+4 4
+12 3
cfn=(1448)
calls=1 644
* 64
* 1
+1 5
+2 4
+2 5
cfn=(1450)
calls=1 753
* 98
* 1
+1 2
+3 6
+1 4
+12 12
+1 4
+2 8
+2 4
+11 2
+1 3
cfn=(1448)
calls=1 644
* 66
* 1
+1 5
+2 2
+2 5
+1 2
+2 8
+7 3
+1 4
+32 4
+8 1
+3 1
+1 5
cfn=(1456)
calls=1 780
* 206
* 3
+2 6
+2 5
cfn=(1456)
calls=1 780
* 227
* 3
+2 4
+2 2
+5 9
cfn=(848)
calls=1 113
* 22
+1 10
cfn=(848)
calls=1 113
* 22
+1 2
+1 1
+1 1
+1 1
+5 2332
-1 304
+3 152
+1 1064
cfn=(1458)
calls=152 1588
* 4104
-3 96
-1 96
+3 48
+1 336
cfn=(1458)
calls=48 1588
* 1296
* 400
+5 400
+2 3
+1 3
+3 6006
cfn=(1460)
calls=1001 842
* 212203
* 1001
+1 6006
cfn=(1460)
calls=1001 842
* 334180
* 1001
+2 11923
+2 3036
+2 1518
-4 968
+2 968
+2 484
+7 2002
+1 3003
+1 4004
+2 5005
-2 2002
+4 2002
+1 1
+1 6000
+2 13000
cfn=(1458)
calls=1000 1588
* 27000
-1 3000
+3 9000
+1 6000
+2 13000
cfn=(1458)
calls=1000 1588
* 27000
-1 3000
+4 7000
+1 3000
+4 7000
cfn=(1458)
calls=1000 1588
* 27000
-1 2000
+3 1000
-42 4003
+44 3
+1 2
+5 6
+1 6
-96 1
1250 1
+5 1
+1 2
+1 2
+1 9
cfn=(848)
calls=1 113
* 22
+1 2
+2 4
+1 3
+1 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1364
* 5
-2 4
+1 3
+1 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 14
* 1
+1 4
+1 8
+1 4
+2 6
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 14
* 1
+1 4
+2 1
+1 2
-1 1
+1 2
fn=(1048)
1375 60
+1 84
cfn=(1050)
calls=12 -85
* 13184
+1 24
fn=(1420) tzload
589 8
+1 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 385
* 1
* 1
+2 2
+4 8
cfn=(1422)
calls=1 217
* 1248062
* 1
+2 3
cob=(3)
cfi=(3)
cfn=(590)
calls=1 0
* 113
* 1
+1 1
+2 2
fn=(1444)
123 624
+3 208
+1 624
+1 832
+1 624
+2 1040
+1 416
+1 7488
-1 2288
+3 832
+7 120
+2 60
+1 120
-1 148
+1 296
fn=(1462)
605 14694
+3 9796
+1 14694
+1 9796
+4 22041
+1 22041
+2 9796
+3 4898
-2 4896
-1 2448
+2 4896
-1 2448
+2 4896
-1 2448
+3 2448
-1 18360
cob=(3)
cfi=(3)
cfn=(446)
calls=1224 0
* 26928
* 1224
-1 6121
-3 2450
+7 1225
+1 2450
-8 2448
+7 1224
+1 2448
fl=(73)
fn=(1614)
849 7
+4 4
+1 6
cfi=(57)
cfn=(1548)
calls=1 232
* 50
* 2
+3 4
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
-1 2
+11 4
cfn=(1616) SanityCheckBackgroundWorker
calls=1 584
* 47
* 3
+3 4
+15 7
+16 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 176
* 1
* 1
+1 2
+8 75
+1 2
+1 2
+1 2
+1 2
+1 2
+2 5
cfi=(74)
cfn=(1618)
calls=1 575
* 13
+1 6
fn=(2260) BackgroundWorkerShmemInit
160 3
+3 1
cfn=(2040) BackgroundWorkerShmemSize
calls=1 -19
* 62
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1110
* 1
+3 4
+3 1
+2 3
+1 2
+1 2
+8 3
+2 7
+3 3
+2 2
+1 2
+1 2
+1 2
+1 3
+1 2
+1 7
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 121
* 1
+1 1
-14 9
+20 1
+2 49
+2 14
+1 7
-5 24
+10 2
fn=(1616)
584 6
+2 5
+2 5
+9 4
+12 4
+2 2
-1 2
+15 4
+1 3
-1 2
+13 5
+3 1
+1 4
fn=(2040)
144 6
+4 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+3 2
+1 4
fn=(2618)
441 4
+4 8
+1 4
+2 4
+2 2
fl=(297) /home/mithuncy/fsm_p11patch/src/backend/access/heap/tuptoaster.c
fn=(5188) heap_tuple_untoast_attr
173 2000
+1 2000
+15 2000
+26 2000
+9 3000
+7 3000
+5 3500
+1 1500
+3 1500
cfi=(13)
cfn=(940)
calls=500 925
* 46000
* 500
+1 2000
+1 4000
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 12000
* 500
+1 1000
+3 500
+1 1000
fl=(312)
fn=(5476) PageInit
42 9000
+1 3000
+2 6000
+6 34500
cob=(3)
cfi=(3)
cfn=(828)
calls=1500 -51
* 1368000
* 1500
+2 3000
+1 3000
+1 9000
+1 9000
+1 7500
+2 3000
fn=(5394)
663 368000
+3 276000
cfn=(5396) PageGetFreeSpace
calls=92000 -87
* 1932000
* 92000
+1 184000
+8 914000
+1 3000
-1 90500
+1 181000
+35 92000
+1 184000
fn=(5402) PageAddItemExtended
195 875000
+1 175000
+6 87500
+5 350000
+1 350000
-1 175000
+2 350000
-1 175000
+2 175000
-1 175000
+10 955000
+3 3000
-3 86000
+3 522000
+25 525000
+7 43000
+2 4450500
+1 2580000
+1 21500
-4 2902500
+6 64500
+9 132000
+5 262500
+7 525000
+12 305500
+1 396000
+2 86000
+2 86000
+2 150500
+2 64500
-4 264000
+2 462000
+2 198000
+6 787500
+2 175000
+5 2100000
+17 787500
cob=(3)
cfi=(3)
cfn=(856)
calls=87500 0
* 1575000
* 87500
+3 350000
+1 350000
+2 87500
+1 350000
fn=(5396)
579 276000
+7 276000
+1 276000
-1 276000
+3 184000
+2 276000
+2 184000
+1 184000
fl=(122)
fn=(3798)
520 6
+4 4
+8 2
+1 4
fn=(2848)
767 35
+5 50
+8 20
+1 12
-1 8
+1 8
+1 2
+2 15
+1 4
-1 4
+7 15
+6 9
+2 6
+2 6
+4 12
cfn=(2750) WaitEventAdjustEpoll
calls=2 +14
* 80
* 6
cfn=(2750)
calls=1 +14
* 53
+6 10
fn=(2850)
437 24
+12 6
+3 24
+3 12
+26 18
+1 12
+2 18
+2 9
+1 1
cfn=(5692) sendSelfPipeByte
calls=1 1520
* 23
* 1
+3 12
cob=(3)
cfi=(3)
cfn=(2664)
calls=3 0
* 15
* 3
+22 12
fn=(2718) InitLatch
229 3
+1 2
+1 3
+1 2
+10 2
fn=(2748)
692 24
+6 6
+6 6
+2 5
+2 4
+2 4
+1 1
+4 8
+5 14
+3 33
+1 21
+1 9
+1 9
+1 9
+5 6
+2 3
+1 4
+2 4
+3 4
+3 3
+6 6
cfn=(2750)
calls=1 +70
* 44
* 12
cfn=(2750)
calls=2 +70
* 1446
+7 6
+1 6
fn=(2750)
819 42
+5 12
+2 6
+3 24
+3 12
+2 12
+2 4
+7 10
+1 3
+1 10
+1 3
+8 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1355
* 5
* 40
cob=(3)
cfi=(3)
cfn=(2756) epoll_ctl
calls=5 0
* 30
* 5
* 6
+2 12
+4 24
fn=(3800) WaitEventSetWaitBlock
1071 16
+1 2
+6 16
cob=(3)
cfi=(3)
cfn=(3806) epoll_wait
calls=1 0
* 12
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1329
* 6
* 2
+4 4
+3 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+7 2
+2 2
+11 4
+6 3
+2 4
+1 4
+1 2
+2 4
+14 4
+24 5
+4 5
+1 3
-1 2
+4 6
+3 5
+7 4
+2 4
+1 1
+1 1
-69 1
-2 9
-1 2
+1 9
-1 2
+1 3
+76 1
+1 8
fn=(2716) InitializeLatchSupport
156 3
+4 3
+8 3
+37 3
cob=(3)
cfi=(3)
cfn=(2422) pipe
calls=1 0
* 5
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428)
calls=1 0
* 20
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428)
calls=1 0
* 20
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428)
calls=1 0
* 20
* 1
* 2
+2 6
cob=(5)
cfi=(5)
cfn=(2428)
calls=1 0
* 20
* 1
* 2
+3 2
+1 2
+1 2
+4 2
fn=(2740)
543 5
+3 1
+8 1
+1 9
+3 9
+8 5
cfi=(13)
cfn=(2156)
calls=1 815
* 284
* 1
+2 2
+1 1
+2 3
+1 9
+3 3
+1 9
+9 2
+1 3
+1 2
+4 2
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1373
* 5
* 2
+1 4
+25 1
+1 2
fn=(3792)
954 24
+1 3
+3 3
+8 6
+7 9
cfi=(210) /home/mithuncy/fsm_p11patch/src/backend/storage/ipc/../../../../src/include/pgstat.h
cfn=(3794) pgstat_report_wait_start
calls=3 1239
* 48
+3 3
+5 3
+31 36
+2 4
+1 8
+2 22
-1 4
+2 4
+1 2
+1 2
+2 2
+8 14
cfn=(3800)
calls=2 +41
* 1495
* 2
+3 4
+3 4
+3 6
-58 10
+68 3
+3 3
cfi=(210)
cfn=(3796) pgstat_report_wait_end
calls=3 1263
* 42
+2 3
+1 6
fn=(2844)
297 4
+9 4
+3 3
+1 2
fn=(2192)
261 351
+16 234
+1 234
+1 234
+1 234
fn=(5692)
1520 3
+2 1
+3 6
cob=(5)
cfi=(5)
cfn=(1568)
calls=1 0
* 7
* 1
* 1
+1 2
+20 2
fn=(5766)
317 3
+4 2
+1 2
fl=(133)
fn=(2530) tokenize_file
471 40
+1 4
+4 28
cfi=(14)
cfn=(432)
calls=4 -81
* 456
* 4
+3 12
cfi=(134)
cfn=(2532)
calls=4 110
* 40
* 4
+2 8
+2 4
+4 274
+1 274
+2 1370
cob=(3)
cfi=(3)
cfn=(1486)
calls=274 0
* 65504
* 274
* 548
+2 4
cob=(5)
cfi=(5)
cfn=(472)
calls=4 0
* 12
* 4
* 8
+2 12
cob=(3)
cfi=(3)
cfn=(1366)
calls=4 0
* 144
* 4
* 8
+1 8
+9 810
cob=(3)
cfi=(3)
cfn=(424)
calls=270 0
* 5932
* 270
* 540
+12 810
cob=(3)
cfi=(3)
cfn=(424)
calls=270 0
* 5932
* 270
* 1080
+1 270
+1 1080
-1 5304
+4 540
+1 270
+4 1812
cfn=(2534) next_field_expand
calls=302 332
* 211137
* 302
+3 604
+1 280
cfi=(45)
cfn=(960)
calls=56 129
* 10652
* 56
-8 3194
+12 1314
+4 24
cfi=(13)
cfn=(940)
calls=12 925
* 1476
* 12
+1 36
+1 36
+1 36
cfi=(13)
cfn=(928)
calls=12 1162
* 3883
* 24
+1 36
+1 72
cfi=(45)
cfn=(960)
calls=12 129
* 2148
* 24
+3 12
-63 36
cob=(3)
cfi=(3)
cfn=(1480)
calls=12 0
* 432
* 12
+63 258
-63 774
cob=(3)
cfi=(3)
cfn=(1480)
calls=258 0
* 9288
* 258
* 12
cob=(3)
cfi=(3)
cfn=(1480)
calls=4 0
* 144
* 4
* 1370
cob=(3)
cfi=(3)
cfn=(1366)
calls=274 0
* 9864
* 274
* 548
+66 12
cfi=(134)
cfn=(2532)
calls=4 110
* 40
+2 4
+1 24
fn=(2552)
2917 8
+2 2
+3 2
+1 2
+6 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1465
* 2
+1 4
+10 12
cfn=(2530)
calls=2 471
* 79930
* 2
+1 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1049
+4 14
cfi=(14)
cfn=(432)
calls=2 395
* 1087
* 2
+3 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
* 2
+1 6
cfi=(135)
cfn=(2542)
calls=2 78
* 16
* 8
+28 6
cfi=(13)
cfn=(1396)
calls=2 212
* 248
+1 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
+2 8
+18 6
+9 6
+1 3
cfi=(13)
cfn=(1396)
calls=1 212
* 119
+2 4
+1 4
+2 2
+1 8
fn=(3286) check_db
611 7
+4 3
cfi=(135)
cfn=(2542)
calls=1 78
* 10
* 2
+2 3
+1 3
+9 10
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 2
-13 2
+31 2
fn=(2538) pg_isblank
161 5680
+1 9104
+1 1712
-1 564
+1 1128
fn=(2540) make_hba_token
289 480
+4 240
cob=(3)
cfi=(3)
cfn=(424)
calls=80 0
* 1224
* 80
* 80
+2 400
cfi=(13)
cfn=(940)
calls=80 925
* 9778
* 80
+1 320
+1 240
+1 720
cob=(3)
cfi=(3)
cfn=(856)
calls=80 0
* 1040
* 80
+2 80
+1 160
fn=(2544) parse_hba_line
946 108
+1 36
+1 36
+13 24
cfi=(13)
cfn=(2546)
calls=12 -5
* 10409
* 12
+1 36
+1 48
cfi=(13)
cfn=(928)
calls=12 1162
* 3836
* 24
+4 48
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 12
+1 36
+1 48
+11 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+1 60
cob=(3)
cfi=(3)
cfn=(446)
calls=12 0
* 536
* 12
* 24
+3 12
+11 40
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 203
* 8
* 16
+5 48
+25 48
+7 16
-32 8
+48 36
+1 24
+10 24
+1 36
+1 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+3 48
cfn=(2548) copy_hba_token
calls=12 308
* 2410
* 12
-1 60
cfi=(45)
cfn=(960)
calls=12 129
* 3480
* 24
-2 84
+7 36
+1 24
+10 24
+1 36
+1 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+3 48
cfn=(2548)
calls=12 308
* 2436
* 12
-1 60
cfi=(45)
cfn=(960)
calls=12 129
* 3480
* 24
-2 84
+6 48
+3 24
+1 16
+10 24
+1 32
+11 24
cfi=(135)
cfn=(2542)
calls=8 78
* 80
* 16
+2 80
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 230
* 8
* 16
+4 80
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 220
* 8
* 16
+5 80
cob=(3)
cfi=(3)
cfn=(446)
calls=8 0
* 230
* 8
* 16
+8 16
+3 32
cfi=(13)
cfn=(928)
calls=8 +27
* 1344
* 8
+3 32
cob=(3)
cfi=(3)
cfn=(1120) __strchr_sse42
calls=8 0
* 216
* 8
* 8
+1 16
+1 16
+3 8
+1 8
+1 8
+1 8
+1 8
+1 8
+1 8
+1 8
+2 48
cfi=(77)
cfn=(1630)
calls=8 59
* 12465
* 8
+1 40
+2 16
-1 64
cob=(3)
cfi=(3)
cfn=(856)
calls=8 0
* 128
* 8
* 8
+19 40
cfi=(77)
cfn=(1942)
calls=8 89
* 2696
+3 16
+2 32
+14 16
-1 64
cfi=(136) /home/mithuncy/fsm_p11patch/src/backend/libpq/ifaddr.c
cfn=(2550) pg_sockaddr_cidr_mask
calls=8 116
* 2624
* 16
+13 24
cfi=(13)
cfn=(952)
calls=8 1032
* 628
* 8
+67 36
+1 24
+10 36
+1 48
+11 36
cfi=(135)
cfn=(2542)
calls=12 78
* 120
* 24
+2 12
+1 60
cob=(3)
cfi=(3)
cfn=(446)
calls=12 0
* 554
* 12
* 24
+1 36
+76 24
+17 48
+1 8
-1 8
+5 48
+1 8
-1 8
+12 48
+1 16
-1 16
+18 48
+1 24
-1 24
+21 48
+1 24
-1 24
+9 48
+7 72
+38 48
+56 48
+53 48
+5 12
+1 84
fn=(2548)
308 96
+1 192
cfn=(2540)
calls=24 -20
* 4462
* 24
+2 24
+1 48
fn=(3008) check_hba
2026 4
+6 5
cfi=(168)
cfn=(3010)
calls=1 5191
* 37823
* 1
+2 3
cfi=(135)
cfn=(2542)
calls=1 78
* 10
* 2
+2 3
+3 4
+2 4
+55 9
cfn=(3286)
calls=1 611
* 69
* 3
+4 8
cfn=(3288) check_role
calls=1 587
* 106
* 3
+4 3
+1 1
-71 2
+78 2
fn=(3006)
3028 4
+1 3
cfn=(3008)
calls=1 2026
* 38065
+1 2
fn=(2528)
2127 8
+2 2
+2 2
+1 2
+5 8
cfi=(25)
cfn=(1278)
calls=2 +49
* 1379
* 2
+1 4
+9 12
cfn=(2530)
calls=2 471
* 272750
* 2
+1 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1020
+4 14
cfi=(14)
cfn=(432)
calls=2 395
* 1177
* 2
+3 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
* 2
+1 6
cfi=(135)
cfn=(2542)
calls=2 78
* 20
* 4
+2 36
+4 48
+6 48
cfn=(2544)
calls=12 946
* 52677
* 36
+13 60
cfi=(45)
cfn=(960)
calls=12 129
* 2086
* 12
-25 64
+33 8
+10 6
cfi=(13)
cfn=(1396)
calls=2 212
* 1454
+1 6
cfi=(134)
cfn=(2532)
calls=2 110
* 20
+2 8
+8 6
+1 3
cfi=(13)
cfn=(1396)
calls=1 212
* 865
+1 4
+1 4
+2 2
+1 8
fn=(2534)
332 2114
+4 302
+4 3926
cfn=(2536) next_token
calls=302 198
* 173368
* 906
+3 246
+3 392
+4 336
cfn=(2540)
calls=56 -61
* 10540
* 280
cfi=(45)
cfn=(960)
calls=56 129
* 17597
* 56
+1 168
+2 302
+1 604
fn=(3288)
587 6
+4 3
cfi=(135)
cfn=(2542)
calls=1 78
* 10
* 2
+2 3
+1 10
+5 6
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 3
-1 2
+1 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 2
-10 2
+13 2
fn=(2536)
198 3020
+2 604
+1 1812
+1 302
+1 302
+1 302
+4 604
+1 604
+3 11810
cfn=(2538)
calls=822 -51
* 9948
* 2248
+7 302
+4 2092
+2 112246
+2 246
+3 924
+17 616
+6 616
+1 1540
+3 616
+3 308
+2 616
+8 2464
-51 1220
+1 2392
cfn=(2538)
calls=598 -59
* 8240
* 598
-1 1196
+1 88
+57 1510
+2 604
+2 2114
+1 984
-1 56
+1 224
fl=(318)
fn=(5698)
1766 2
+1 3
+1 2
fl=(147)
fn=(5662) XLogResetInsertion
194 2
+3 5
+3 1
+1 1
+1 1
+1 1
+1 1
+1 1
+1 2
fn=(5618)
324 5
+5 4
+2 11
+2 3
+1 3
+7 3
+1 2
+2 4
+1 2
fn=(2886)
1029 2
+2 3
+2 7
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
+5 3
+3 4
cfi=(13)
cfn=(2156)
calls=1 815
* 5021
-1 1
+3 1
+2 3
+2 4
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
+2 1
+6 3
+1 4
cfi=(13)
cfn=(2156)
calls=1 815
* 259
* 1
+2 2
fn=(5614)
121 2
+6 1
cfi=(53)
cfn=(5616)
calls=1 7991
* 23
* 3
+3 3
+3 1
+1 2
fn=(5620)
398 4
+2 2
+1 2
fn=(5622)
416 7
+4 4
+7 4
+11 3
+19 5
cfi=(53)
cfn=(5624)
calls=1 8197
* 12
+2 9
cfn=(5626) XLogRecordAssemble
calls=1 +27
* 225
* 1
+3 7
cfi=(53)
cfn=(5630)
calls=1 976
* 1037
* 1
+1 2
+2 1
cfn=(5662)
calls=1 194
* 15
+2 1
+1 2
fn=(5626)
486 9
+2 1
+3 1
+3 2
+8 2
+1 1
+2 1
+1 1
+1 2
+8 6
+8 2
+1 5
738 5
+1 1
-1 2
+9 3
+2 3
+8 4
+1 5
+2 3
+1 2
+1 2
+2 2
+2 5
+1 2
+10 1
+1 9
cfi=(71)
cfn=(1608)
calls=1 23
* 55
* 1
+1 3
+1 9
cfi=(71)
cfn=(1608)
calls=1 23
* 41
* 1
-1 7
+8 1
cfi=(26)
cfn=(5628)
calls=1 418
* 6
* 2
+1 3
+1 3
+1 3
+1 2
+1 3
+2 1
+1 2
fl=(154)
fn=(4536) CachedPlanSetParentContext
1292 15
+6 12
+2 12
+4 18
cfi=(13)
cfn=(1400) MemoryContextSetParent
calls=3 355
* 156
+7 12
+5 6
fn=(4580) BuildCachedPlan
882 3521
+6 1006
+16 2515
+8 1006
+2 2515
+1 12
cfi=(243)
cfn=(4376)
calls=3 4767
* 9925
* 6
+2 1500
+7 500
+1 500
cfi=(110)
cfn=(4582) ActiveSnapshotSet
calls=500 -73
* 3500
-1 3
+1 3
cfi=(110)
cfn=(4582)
calls=3 -73
* 21
* 1509
+11 3521
cfi=(52)
cfn=(3918)
calls=503 +11
* 571125
* 503
+3 1006
+9 2515
+2 21
cfi=(14)
cfn=(432)
calls=3 395
* 1586
* 3
+3 18
cfi=(13)
cfn=(930) MemoryContextStrdup
calls=3 1149
* 600
* 15
cfi=(13)
cfn=(812)
calls=3 330
* 27
+5 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
+2 9
cfi=(243)
cfn=(4376)
calls=3 4767
* 10478
* 6
+3 1000
+5 1000
cfi=(13)
cfn=(940)
calls=500 -43
* 61500
* 6
cfi=(13)
cfn=(940)
calls=3 -43
* 369
* 503
+1 1006
+1 1509
+7 503
cfi=(54)
cfn=(3326)
calls=503 381
* 2515
* 1006
+1 2012
+1 503
+1 1509
cfi=(256)
cfn=(4520)
calls=503 78
* 5030
* 1006
+2 1509
+2 2012
+1 500
+2 12
+2 12
-9 3521
+12 1006
+6 1006
+1 1006
+1 1509
+1 2012
+1 1006
+1 1006
+3 4527
+2 1509
cfi=(152)
cfn=(2898)
calls=503 110
* 5030
+2 503
+1 1006
fn=(4568) RevalidateCachedQuery
558 6030
+16 9070
+3 1000
+8 2020
+3 2020
cfi=(55)
cfn=(4570) OverrideSearchPathMatchesCurrent
calls=505 3395
* 54035
* 1515
+13 4040
+10 2020
+2 2525
cfn=(4572) AcquirePlannerLocks
calls=505 1619
* 43430
+6 2020
+3 1010
784 4020
fn=(4572)
1619 3030
+3 1515
cfi=(256)
cfn=(4520)
calls=505 78
* 5050
* 1010
+2 1515
+2 2020
+9 2525
cfn=(4574) ScanQueryForLocks
calls=505 +9
* 22220
-13 3535
+15 1010
fn=(4574)
1644 3030
+9 2020
cfi=(256)
cfn=(4520)
calls=505 78
* 4040
* 2020
+26 2020
cfi=(256)
cfn=(4520)
calls=505 78
* 4040
* 2020
+11 2020
+6 1010
fn=(4374) CreateCachedPlan
170 18
+14 21
cfi=(14)
cfn=(432)
calls=3 395
* 1338
* 3
+8 9
cfi=(152)
cfn=(2898)
calls=3 -82
* 30
* 3
+2 6
cfi=(13)
cfn=(2546)
calls=3 956
* 939
* 3
+1 6
+1 9
cfi=(243)
cfn=(4376)
calls=3 4767
* 10918
* 6
+1 9
cfi=(13)
cfn=(928)
calls=3 1162
* 633
* 6
+1 18
cfi=(13)
cfn=(812)
calls=3 330
* 27
+1 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 9
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 9
+1 9
+1 6
+2 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
+2 3
+1 6
fn=(4468) CompleteCachedPlan
348 5533
+1 1509
+1 1006
+13 2012
+2 1500
+2 6
+8 21
cfi=(14)
cfn=(432)
calls=3 +20
* 1556
* 3
+3 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
+1 9
cfi=(243)
cfn=(4376)
calls=3 4767
* 10350
* 3
+3 9
+1 9
+2 15
-3 1500
+1 1500
+2 2530
+8 27
cfi=(251)
cfn=(4478) extract_query_dependencies
calls=3 2637
* 5782
+6 3
cfi=(54)
cfn=(3326)
calls=3 -18
* 15
* 6
+1 9
+9 9
cfi=(55)
cfn=(4488) GetOverrideSearchPath
calls=3 3343
* 45340
* 6
+8 9
cfi=(152)
cfn=(2898)
calls=3 110
* 30
* 1500
cfi=(152)
cfn=(2898)
calls=500 110
* 5000
+2 1006
+6 1006
+1 1509
+1 1509
+1 1509
+1 1509
+1 1509
+1 1509
cfn=(4518) PlanCacheComputeResultDesc
calls=503 1732
* 51352
* 1006
+2 1509
cfi=(152)
cfn=(2898)
calls=503 110
* 5030
+2 1006
+1 1006
+1 1006
fn=(4578) CheckCachedPlan
797 2525
+1 1515
+6 1010
+1 6
+9 4016
+8 2008
+8 2510
cfn=(4750) AcquireExecutorLocks
calls=502 1564
* 26606
+6 2008
+1 1004
-1 1004
+9 2008
+3 1004
+13 2020
fn=(4744) ReleaseCachedPlan
1263 6048
+2 2016
+3 2525
cfi=(162)
cfn=(4746) ResourceOwnerForgetPlanCacheRef
calls=505 1117
* 35350
+3 5040
+1 4032
+3 1006
+3 2515
+1 12
cfi=(13)
cfn=(1396)
calls=3 212
* 1041
+2 2016
fn=(5160) CreateOneShotCachedPlan
253 3000
+9 1000
cfi=(13)
cfn=(2546)
calls=500 956
* 156500
* 500
+1 1000
+1 1500
+1 1500
+1 1500
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1500
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1000
+1 1500
+1 1500
+1 1000
+2 500
+1 1000
fn=(5574) DropCachedPlan
500 12
+4 12
+2 12
cfi=(153)
cfn=(5542)
calls=3 359
* 45
+1 6
+4 9
cfn=(4548) ReleaseGenericPlan
calls=3 +18
* 1188
+3 6
+6 15
+1 12
cfi=(13)
cfn=(1396)
calls=3 212
* 2798
+1 6
fn=(4566) GetCachedPlan
1143 8040
+1 1005
+8 4535
+4 5025
cfn=(4568)
calls=1005 558
* 134755
* 1005
+3 5025
cfn=(4576) choose_custom_plan
calls=1005 1020
* 13070
* 1005
+2 4020
+2 1515
cfn=(4578)
calls=505 797
* 49244
* 1010
+3 2008
+6 21
cfn=(4580)
calls=3 882
* 291183
* 3
+2 9
cfn=(4548)
calls=3 529
* 30
+2 9
+1 15
+2 12
+3 18
cfi=(13)
cfn=(1400)
calls=3 355
* 156
+1 9
+9 12
cfn=(4730) cached_plan_cost
calls=3 1077
* 153
* 12
+11 15
cfn=(4576)
calls=3 1020
* 42
* 3
+7 3
+4 2010
+3 3000
cfn=(4580)
calls=500 882
* 438000
* 500
+2 2000
+2 3500
cfn=(4730)
calls=500 1077
* 22000
* 1500
+1 2500
+7 2010
+1 1515
cfi=(162)
cfn=(4732) ResourceOwnerEnlargePlanCacheRefs
calls=505 1097
* 11918
+1 5025
+1 2010
+1 2525
cfi=(162)
cfn=(4734) ResourceOwnerRememberPlanCacheRef
calls=505 1108
* 21715
+8 4010
+6 1005
+1 2010
fn=(4730)
1077 3018
+1 1006
+3 2012
cfi=(256)
cfn=(4520)
calls=503 78
* 5030
* 1006
+2 1509
+2 2012
+1 500
+2 18
+2 6
-9 3521
+38 503
+1 2012
fn=(4518)
1732 2012
+3 1509
cfi=(224)
cfn=(3928) ChoosePortalStrategy
calls=503 220
* 40168
* 2515
+4 9
cfi=(256)
cfn=(4520)
calls=3 78
* 30
* 6
+1 12
cfi=(257)
cfn=(4522) ExecCleanTypeFromTL
calls=3 +61
* 3082
* 3
+14 500
+2 500
+1 1006
fn=(4546) SaveCachedPlan
456 12
+7 12
+10 9
cfn=(4548)
calls=3 +56
* 30
+7 18
cfi=(13)
cfn=(1400)
calls=3 355
* 171
+5 15
cfi=(153)
cfn=(4550) dlist_push_tail
calls=3 318
* 75
+2 6
+1 6
fn=(4548)
529 36
+2 36
+2 9
+3 6
+1 12
cfn=(4744)
calls=3 1263
* 1131
+2 18
fn=(4750)
1564 3012
+3 1506
cfi=(256)
cfn=(4520)
calls=502 78
* 5020
* 1004
+2 1506
+3 2008
+16 2008
cfi=(256)
cfn=(4520)
calls=502 78
* 4016
* 2008
-21 3514
+40 1004
fn=(2906)
131 2
+1 3
cfi=(155)
cfn=(2908) CacheRegisterRelcacheCallback
calls=1 1451
* 25
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+1 2
fn=(4576)
1020 4032
+4 4032
+1 1000
+3 1016
+1 1016
+37 2016
fl=(140)
fn=(3156) add_to_unowned_list
260 1590
+2 1590
+1 1060
+1 1060
fn=(2824)
118 3
+3 2
+2 10
+1 9
cfi=(141)
cfn=(2826)
calls=1 +83
* 134
-3 7
+7 3
cfi=(67)
cfn=(1578)
calls=1 306
* 32
+1 2
fn=(5772)
136 5
+3 2
+2 10
-2 7
+5 2
fn=(3154) smgropen
153 4240
+5 1590
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 3181
* 1
+2 1
+4 4
+1 2
+1 7
cfi=(31)
cfn=(836)
calls=1 910
* 1403
-2 2116
+1 1058
+1 3703
cfi=(31)
cfn=(836)
calls=529 910
* 217461
* 530
+5 2120
+5 1060
+1 1060
+1 1060
+1 1060
+1 1060
+3 1060
+1 10600
-1 7420
+4 1590
cfn=(3156)
calls=530 +65
* 5300
+3 530
+1 1060
fn=(5444) smgrextend
617 13500
+1 22500
cfi=(141)
cfn=(5446)
calls=1500 497
* 876772
+2 3000
fn=(3162)
688 20190
+1 56532
cfi=(141)
cfn=(3164)
calls=4038 847
* 1559523
+1 8076
fn=(5368)
303 12500
+1 35000
cfi=(141)
cfn=(5370)
calls=2500 -26
* 5797534
+1 5000
fn=(3158) smgrsetowner
209 2650
+13 2120
+3 1590
cfn=(3160) remove_from_unowned_list
calls=530 +56
* 11660
+3 1590
+1 1590
+1 1060
fn=(3160)
281 1590
+4 2650
+4 1590
+2 2120
+1 1060
+1 530
-8 1060
+11 1060
fn=(3682)
814 4
+5 8
+5 4
fl=(210)
fn=(3796)
1263 6
+1 6
+2 18
+7 6
+1 6
fn=(3794)
1239 9
+1 6
+2 18
+7 9
+1 6
fl=(110)
fn=(3736)
532 4
+1 6
+4 4
fn=(2988) HistoricSnapshotActive
2025 8960
+1 13440
+1 8960
fn=(3128)
864 9056
+1 4528
+3 11320
cfn=(3130) RegisterSnapshotOnOwner
calls=2264 +9
* 1009724
+1 4528
fn=(3132) CopySnapshot
661 13068
+9 6534
-1 19602
+2 13068
+3 16335
cfi=(13)
cfn=(798)
calls=3267 +98
* 315423
* 3267
+1 19602
cob=(3)
cfi=(3)
cfn=(856)
calls=3267 0
* 192135
* 3267
+2 6534
+1 6534
+1 6534
+3 13068
+7 6534
+8 13068
+8 6534
+2 3267
+1 6534
fn=(3138)
945 13584
+1 6792
+1 6792
+2 15848
cfi=(166)
cfn=(2998) TransactionIdPrecedes
calls=2264 301
* 38488
* 4528
+2 15848
cfi=(166)
cfn=(3140) TransactionIdFollows
calls=2264 335
* 38488
* 4528
+3 2264
+1 4528
fn=(3696)
1060 14
+10 6
+6 2
+5 6
+31 2
cfn=(2990)
calls=2 511
* 156
+3 4
+4 6
+4 10
+8 2
+1 2
+1 2
+2 2
+1 2
+2 2
+7 4
+4 4
fn=(5164) UpdateActiveSnapshotCommandId
782 1500
+16 2000
+1 1000
cfi=(26)
cfn=(3000)
calls=500 663
* 4500
* 500
+1 500
cfi=(26)
cfn=(1210)
calls=500 911
* 4000
* 1000
+2 2000
+1 1000
fn=(3274) FreeSnapshot
716 13068
+5 9801
cfi=(13)
cfn=(952)
calls=3267 1032
* 277695
+1 6534
fn=(3948) PushActiveSnapshot
734 4012
+5 4012
cfi=(13)
cfn=(798)
calls=1003 +33
* 91335
* 1003
+6 3009
+1 3009
cfn=(3132)
calls=1003 -85
* 191605
* 3009
+4 3009
+1 1003
cfi=(26)
cfn=(3532)
calls=1003 +8
* 8024
* 2006
+2 5015
+2 2006
+1 3009
+1 2
+1 2006
fn=(4800) PopActiveSnapshot
813 3009
+3 3009
+4 5015
+2 5015
+1 3009
-1 2006
+2 4012
cfn=(3274)
calls=1003 716
* 94282
+2 3009
cfi=(13)
cfn=(952)
calls=1003 1032
* 85255
+1 2006
+1 3009
+1 1
+2 1
cfn=(3276) SnapshotResetXmin
calls=1 979
* 48
* 1002
cfn=(3276)
calls=1002 979
* 9018
+1 2006
fn=(5526)
545 1500
+1 2000
+3 1500
+1 1500
+1 1500
+3 1000
fn=(2288) SnapMgrInit
268 3
+7 1
cfn=(2074) SnapMgrShmemSize
calls=1 -23
* 10
* 4
cfi=(87)
cfn=(2168)
calls=1 +98
* 1088
-1 1
+4 4
+2 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+2 2
fn=(3122) GetNonHistoricCatalogSnapshot
463 11528
+8 8646
+1 7134
cfi=(151)
cfn=(3334)
calls=2378 1470
* 38048
* 2378
-1 4756
+2 7131
cfi=(151)
cfn=(3336)
calls=2377 1493
* 361713
* 2377
-1 4754
+4 8646
+3 1008
cfi=(100)
cfn=(2992) GetSnapshotData
calls=504 1520
* 277297
* 504
+14 2520
cfi=(173)
cfn=(3124)
calls=504 113
* 18144
+3 2882
+1 5764
fn=(2990)
511 2014
+1 3021
+2 2520
cfi=(173)
cfn=(3272)
calls=504 171
* 25200
+1 504
+1 504
cfn=(3276)
calls=504 979
* 4551
+2 2014
fn=(3130)
877 11320
+3 4528
+4 15848
cfn=(3132)
calls=2264 661
* 479303
* 2264
+3 6792
cfi=(162)
cfn=(3134) ResourceOwnerEnlargeSnapshots
calls=2264 1187
* 52709
+1 11320
+1 11320
cfi=(162)
cfn=(3136) ResourceOwnerRememberSnapshot
calls=2264 1198
* 97352
+2 9056
+1 11320
cfi=(173)
cfn=(3124)
calls=2264 113
* 289800
+2 2264
+1 4528
fn=(3266)
906 9056
+1 4528
+3 11320
cfn=(3268) UnregisterSnapshotFromOwner
calls=2264 +9
* 565883
+1 4528
fn=(2074)
252 6
+3 2
+1 6
+4 2
+1 4
fn=(2986)
305 2008
+7 1004
cfn=(2988)
calls=1004 2025
* 7028
* 2008
+7 4016
+6 2
cfn=(2990)
calls=2 511
* 14
+5 2
cfi=(26)
cfn=(1210)
calls=2 911
* 16
* 4
+11 6
+15 4
cfi=(100)
cfn=(2992)
calls=2 1520
* 1565
* 2
+2 2
+1 4
+3 3006
+4 1002
cfn=(2990)
calls=1002 511
* 40080
+2 2004
cfi=(100)
cfn=(2992)
calls=1002 1520
* 550074
* 1002
+2 1002
+1 2008
fn=(3120)
441 11528
+8 2882
cfn=(2988)
calls=2882 2025
* 20174
* 5764
+3 8646
cfn=(3122)
calls=2882 +11
* 765230
+1 5764
fn=(4582)
852 1008
+1 1512
+1 1008
fn=(3950) GetActiveSnapshot
840 4
+3 4
+1 4
fn=(3268)
919 11320
+1 4528
+6 11320
cfi=(162)
cfn=(3270) ResourceOwnerForgetSnapshot
calls=2264 1207
* 158480
+2 11320
+1 9056
+1 11320
cfi=(173)
cfn=(3272)
calls=2264 171
* 74720
+2 18112
+2 6792
cfn=(3274)
calls=2264 716
* 212816
+1 2264
cfn=(3276)
calls=2264 +44
* 29307
+2 4528
fn=(3276)
979 11313
+3 11313
+1 3538
+2 699
+2 6
+1 3
+3 460
cfi=(173)
cfn=(3278)
calls=230 131
* 1610
* 460
+3 1610
cfi=(166)
cfn=(2998)
calls=230 301
* 3910
* 460
+2 7542
fl=(155)
fn=(3648)
948 10
+2 6
+1 2
+34 4
fn=(2976)
680 13958
+1 20937
cfi=(164)
cfn=(2978)
calls=6979 74
* 418740
+42 13958
fn=(5532)
1084 1000
+6 1500
+1 500
+6 1000
fn=(2908)
1451 5
+1 3
+3 6
+1 6
+2 3
+1 2
fn=(2910)
1410 72
+1 48
+2 36
+3 60
+3 66
+5 6
+2 11
+2 10
+3 10
+1 8
+1 9
+1 9
+2 3
+1 2
-6 110
+1 88
+1 99
+1 99
+2 33
+1 22
fn=(3628)
828 10
+4 6
+2 4
+1 4
+1 4
+35 4
fl=(163)
fn=(3672)
303 14
+2 6
+3 10
+6 2
cfn=(3674) SPICleanup
calls=2 -25
* 18
+1 10
fn=(5154) _SPI_prepare_oneshot_plan
1982 2500
+9 500
+1 1000
+1 1000
+1 1000
+5 1500
cfi=(52)
cfn=(3832)
calls=500 633
* 6345564
* 500
+5 500
+2 1500
cfi=(242)
cfn=(4372)
calls=500 78
* 5000
* 1000
+2 1500
+3 2000
cfi=(221)
cfn=(3896)
calls=500 +72
* 8500
* 3000
cfi=(154)
cfn=(5160)
calls=500 253
* 194500
* 500
+4 2500
cfi=(45)
cfn=(960)
calls=500 129
* 145000
* 500
-9 3500
+12 1500
+1 1000
+5 1000
+1 1000
fn=(3674)
289 4
+1 2
+1 2
+2 2
+1 2
+1 2
+1 4
fn=(2968)
424 4
+1 6
+1 4
+4 4
fn=(4538) _SPI_end_call
2624 2515
+1 1006
+3 503
cfn=(4540) _SPI_procmem
calls=503 -41
* 9054
+2 1006
+2 2012
cfi=(13)
cfn=(3734)
calls=503 137
* 174590
+3 503
+1 1006
fn=(4544) SPI_keepplan
692 12
+3 18
+1 6
-1 6
+1 12
+8 6
+1 18
cfi=(13)
cfn=(1400)
calls=3 355
* 177
+2 12
cfi=(242)
cfn=(4372)
calls=3 78
* 30
* 6
+2 9
+2 9
cfi=(154)
cfn=(4546)
calls=3 456
* 354
-4 21
+7 3
+1 6
fn=(4366) _SPI_begin_call
2600 3024
+1 1512
+3 1008
+3 1006
cfi=(26)
cfn=(736)
calls=503 625
* 4024
* 503
+2 503
cfn=(4368) _SPI_execmem
calls=503 -28
* 9054
+3 504
+1 2016
fn=(4370) _SPI_prepare_plan
1877 15
+9 3
+1 6
+1 6
+1 6
+5 9
cfi=(52)
cfn=(3832)
calls=3 633
* 34256
* 3
+6 3
+2 9
cfi=(242)
cfn=(4372)
calls=3 78
* 30
* 6
+2 9
+8 12
cfi=(221)
cfn=(3896)
calls=3 2083
* 51
* 18
cfi=(154)
cfn=(4374)
calls=3 170
* 14218
* 3
+8 12
+7 3
-4 30
cfi=(52)
cfn=(4388)
calls=3 722
* 587724
* 6
+16 57
cfi=(154)
cfn=(4468)
calls=3 348
* 66827
+10 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
-47 21
+50 9
+1 6
+5 6
+1 6
fn=(4364) SPI_prepare_params
658 21
+4 6
+6 6
cfn=(4366)
calls=3 2600
* 138
* 3
+1 9
+3 15
cob=(3)
cfi=(3)
cfn=(828)
calls=3 0
* 48
* 3
+1 3
+1 6
+1 3
+1 3
+1 6
+1 6
+2 15
cfn=(4370)
calls=3 1877
* 704258
+3 9
cfn=(4534) _SPI_make_plan_non_temp
calls=3 2664
* 3890
* 3
+2 6
cfn=(4538)
calls=3 2624
* 690
+2 3
+1 6
fn=(5162) _SPI_execute_plan
2042 6000
+1 500
+1 500
+1 500
+1 500
+1 500
+2 500
+6 500
+1 500
+1 1000
+1 1000
+24 1000
+15 2000
cfi=(242)
cfn=(4372)
calls=500 78
* 5000
* 1000
+2 1500
+4 1500
+5 2000
+2 1500
+1 1500
+7 1000
+2 2000
+15 500
-4 5000
cfi=(52)
cfn=(3902)
calls=500 683
* 617500
* 500
+8 9500
cfi=(154)
cfn=(4468)
calls=500 348
* 93000
+15 4500
cfi=(154)
cfn=(4566)
calls=500 1143
* 510500
* 500
+1 1500
+6 5500
+2 1000
+2 500
cfi=(110)
cfn=(2986)
calls=500 305
* 290994
* 1000
cfi=(110)
cfn=(3948)
calls=500 734
* 163000
+1 500
+3 1500
cfi=(242)
cfn=(4372)
calls=500 78
* 5000
* 1000
+2 1500
+1 1500
+3 1000
+1 1000
+2 2000
+2 2500
+2 1500
+2 2000
+3 500
+10 1000
+7 500
cfi=(26)
cfn=(1210)
calls=500 911
* 4000
* 1000
+7 4500
+2 500
cfi=(26)
cfn=(4782)
calls=500 920
* 5500
+1 500
cfi=(110)
cfn=(5164)
calls=500 782
* 18000
+3 3000
cfi=(209)
cfn=(3934)
calls=500 114
* 6500
* 500
+2 2000
+32 4500
+1 1000
+8 500
-4 5500
cfi=(221)
cfn=(3953)
calls=500 345
* 348579446
+9 2000
+4 500
+6 2500
+25 2500
+3 3500
cfi=(294)
cfn=(5518)
calls=500 559
* 81788
* 500
+10 1000
+2 1500
+1 1500
cfn=(5524) SPI_freetuptable
calls=500 1102
* 5000
+1 1500
+1 1500
+8 1000
2169 3500
2334 3500
cfi=(154)
cfn=(4744)
calls=500 1263
* 13000
+1 500
+7 2000
+1 500
cfi=(26)
cfn=(4782)
calls=500 920
* 39000
2097 3500
2349 1000
+1 500
cfi=(110)
cfn=(4800)
calls=500 813
* 112000
+3 1000
+6 1000
+3 1000
+1 1000
+3 1000
+7 1000
+3 500
+1 2000
fn=(5572) SPI_freeplan
741 12
+3 18
+4 12
cfi=(242)
cfn=(4372)
calls=3 78
* 30
* 6
+2 9
+2 9
cfi=(154)
cfn=(5574)
calls=3 500
* 4121
-4 21
+8 12
cfi=(13)
cfn=(1396)
calls=3 212
* 910
+2 3
+1 6
fn=(4540)
2587 1006
+1 2012
cfi=(233)
cfn=(4144)
calls=503 110
* 5030
+1 1006
fn=(4140) SPI_connect_ext
96 5
+4 3
+2 6
+2 1
+2 13
cfi=(13)
cfn=(798)
calls=1 772
* 91
-1 1
+3 3
+17 3
+3 11
+1 2
+1 2
+1 2
+1 4
cfi=(232)
cfn=(4142)
calls=1 555
* 7
+1 2
+1 2
+1 2
cfi=(26)
cfn=(736)
calls=1 625
* 8
* 1
+1 2
+1 6
+1 2
+1 3
+1 3
+1 3
+14 12
cfi=(14)
cfn=(432)
calls=1 395
* 424
* 1
+3 13
cfi=(14)
cfn=(432)
calls=1 395
* 424
* 1
+4 5
cfi=(233)
cfn=(4144)
calls=1 -52
* 10
* 1
+6 1
+1 1
+1 1
+2 1
+1 4
fn=(5524)
1102 4000
+1 1000
+3 2000
+1 1000
+44 2000
fn=(4534)
2664 12
+2 9
+15 21
cfi=(14)
cfn=(432)
calls=3 395
* 1859
* 3
+3 9
cfi=(233)
cfn=(4144)
calls=3 110
* 30
* 3
+3 6
cfi=(13)
cfn=(2546)
calls=3 956
* 582
* 3
+1 6
+1 9
+1 12
+1 12
+1 12
+6 6
+1 12
+1 12
+8 12
cfi=(242)
cfn=(4372)
calls=3 78
* 30
* 6
+2 9
+2 15
cfi=(154)
cfn=(4536)
calls=3 1292
* 231
+3 18
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 6
-7 21
+10 9
cfi=(233)
cfn=(4144)
calls=3 110
* 30
+3 6
+2 3
+1 6
fn=(4562) SPI_plan_get_cached_plan
1738 2020
+8 2020
+4 2020
cfi=(242)
cfn=(4564)
calls=505 90
* 5050
* 1010
+2 2020
cfi=(242)
cfn=(4372)
calls=505 78
* 5050
* 1010
+3 505
+1 1515
+1 1010
+1 1010
+4 505
-1 4040
cfi=(154)
cfn=(4566)
calls=505 1143
* 541220
* 505
+5 1010
+2 505
+1 1010
fn=(5152) SPI_execute
436 3500
+4 2000
+3 1000
cfn=(4366)
calls=500 2600
* 23000
* 500
+1 1000
+3 2500
cob=(3)
cfi=(3)
cfn=(828)
calls=500 0
* 8000
* 500
+1 500
+1 500
+2 2500
cfn=(5154)
calls=500 1982
* 6727564
+2 5500
cfn=(5162)
calls=500 2042
* 350690728
* 500
+4 1000
cfn=(4538)
calls=500 2624
* 191505
+1 500
+1 1000
fn=(5584) SPI_finish
177 3
+3 2
cfn=(4366)
calls=1 2600
* 16
* 1
+1 2
+4 4
cfi=(233)
cfn=(4144)
calls=1 -75
* 10
+3 4
cfi=(13)
cfn=(1396)
calls=1 +24
* 119
+1 2
+1 4
cfi=(13)
cfn=(1396)
calls=1 +22
* 877
+1 2
+6 3
+1 3
+1 3
+3 3
+1 3
+1 2
+4 1
+1 2
fn=(4368)
2581 1006
+1 2012
cfi=(233)
cfn=(4144)
calls=503 110
* 5030
+1 1006
fn=(4556) SPI_plan_get_plan_sources
1722 9
+2 6
+1 6
fl=(201)
fn=(3612)
584 10
+3 6
+1 2
+26 4
fl=(86)
fn=(2128) PGReserveSemaphores
200 5
+13 3
cfn=(1998) PGSemaphoreShmemSize
calls=1 -48
* 34
* 2
cfi=(87)
cfn=(2130)
calls=1 +15
* 32
-1 1
+4 1
+1 2
+1 3
+2 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(2242)
252 348
+7 464
+9 696
+1 232
+1 348
cfn=(2244) PosixSemaphoreCreate
calls=116 135
* 3703
+3 348
+2 116
+1 232
fn=(2852)
285 4
+7 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 854
* 5
* 3
cob=(5)
cfi=(5)
cfn=(2858)
calls=1 0
* 8
* 1
* 4
+2 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 3
+6 1
+1 2
fn=(2244)
135 464
+1 580
cob=(5)
cfi=(5)
cfn=(2250)
calls=115 0
* 1265
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 810
* 120
* 232
+2 232
fn=(1998)
165 8
+6 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
+2 4
fl=(100)
fn=(2048) ProcArrayShmemSize
181 3
+6 1
+1 7
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+18 3
+4 6
-2 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 6
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 1
+1 2
fn=(5684) ProcArrayEndTransactionInternal
453 6
+1 2
+1 2
+1 2
+2 6
+1 2
+1 2
+3 2
+1 2
+3 6
cfi=(166)
cfn=(2998)
calls=1 301
* 17
* 2
+2 3
+1 2
fn=(5750)
335 5
+1 2
+9 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 2
+15 2
+2 9
+4 4
-1 20
cob=(3)
cfi=(3)
cfn=(482)
calls=1 0
* 12
* 1
+2 7
+1 5
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 1
-10 4
+18 2
fn=(2992)
1520 7540
+1 3016
+5 1508
+1 1508
+1 1508
+1 1508
+1 1508
+15 6032
+7 2
cfn=(2994) GetMaxSnapshotXidCount
calls=2 -85
* 12
* 8
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 442
* 2
* 2
-1 4
+2 8
+6 2
cfn=(2996) GetMaxSnapshotSubxidCount
calls=2 -81
* 20
* 8
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 587
* 2
* 2
-1 4
+2 8
+10 7540
cfi=(99)
cfn=(2170)
calls=1508 1122
* 205088
+3 4524
+2 4524
+3 6032
+2 1508
cfi=(53)
cfn=(2878)
calls=1508 7896
* 16588
* 3016
+2 7540
+2 4524
+8 4524
+1 3016
+2 42224
+1 54288
+7 36192
+5 18096
+1 12064
+1 6020
-1 3010
+5 18096
+8 12064
+1 8982
+1 6032
-31 30160
1720 4524
+1 4524
+2 6032
+1 15
+2 12
cfi=(99)
cfn=(2182)
calls=3 *
* 270
* 6020
cfi=(99)
cfn=(2182)
calls=1505 *
* 135450
+7 7540
cfi=(166)
cfn=(2998)
calls=1508 301
* 25636
* 3016
+4 7540
+1 4524
+4 3016
+5 3016
+6 3016
+4 3016
+2 4524
+1 4524
+1 4524
+1 4524
+1 4524
+2 3016
cfi=(26)
cfn=(3000)
calls=1508 663
* 13572
* 3016
+6 3016
+1 3016
+1 3016
+2 4524
+6 3016
+1 4524
+14 1508
+1 6032
fn=(2254) CreateSharedProcArray
223 3
+8 3
-3 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 888
-1 1
+7 4
+5 2
+1 5
+1 8
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+3 3
+1 3
+3 3
+5 6
-2 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1069
-1 1
+7 6
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1166
-1 1
+7 3
cfi=(99)
cfn=(2158)
calls=1 603
* 17
+1 2
fn=(3630)
398 10
+1 20
+2 4
+15 5
cfi=(99)
cfn=(5674)
calls=1 1294
* 129
* 2
+2 6
cfn=(5684)
calls=1 +35
* 56
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
* 1
+14 2
+1 2
+2 6
+1 2
+1 2
+5 4
fn=(2870)
277 5
+1 2
+3 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+2 6
+22 2
+6 16
-6 4
+11 3
-1 20
cob=(3)
cfi=(3)
cfn=(482)
calls=1 0
* 19
* 1
+2 7
+1 5
+2 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+1 4
fn=(2994)
1467 4
+1 4
+1 4
fn=(2996)
1478 4
+1 12
+1 4
fl=(113)
fn=(3742)
1102 6
+5 8
+1 2
+50 4
fn=(3668)
875 6
+7 12
+1 2
+30 4
fn=(2080) AsyncShmemSize
427 3
+4 6
cfi=(87)
cfn=(2000)
calls=1 +62
* 23
* 1
+1 4
cfi=(87)
cfn=(2002)
calls=1 +44
* 21
* 1
+2 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 +42
* 21
* 1
+2 1
+1 2
fn=(2298) AsyncShmemInit
444 3
+11 6
cfi=(87)
cfn=(2000)
calls=1 +38
* 23
* 1
+1 4
cfi=(87)
cfn=(2002)
calls=1 +20
* 21
* 1
+3 5
cfi=(87)
cfn=(2168)
calls=1 -86
* 1061
-1 1
+3 4
+5 4
+1 4
+1 2
+2 2
+2 791
+1 791
+1 1582
-4 455
+11 1
+2 2
-1 8
cfi=(93)
cfn=(2196)
calls=1 167
* 2104
+3 1
+2 4
+5 4
cfi=(93)
cfn=(2300)
calls=1 1377
* 3533
+3 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+1 5
cfi=(93)
cfn=(2316)
calls=1 264
* 1254
* 1
+2 4
cfi=(93)
cfn=(2322)
calls=1 +81
* 1773
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+2 2
fn=(3616)
776 8
+3 12
+1 2
+84 8
fl=(129)
fn=(2336) dsm_postmaster_startup
146 4
+1 1
+12 3
+5 3
-1 1
+2 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+2 3
cfn=(2338) dsm_control_bytes_needed
calls=1 1101
* 11
* 1
+12 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1303
* 5
* 1
+1 3
+2 10
cfi=(130)
cfn=(2346)
calls=1 -21
* 11655
* 2
+3 1
+2 2
+1 4
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 8
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+3 3
+3 2
+1 2
+1 3
+1 2
fn=(2714)
1016 3
+3 14
+21 2
fn=(5730)
621 6
+1 6
cfi=(320)
cfn=(5732)
calls=2 290
* 34
* 6
+7 4
fn=(2338)
1101 3
+2 5
-1 1
+2 2
fl=(181)
fn=(3324)
48 2
+1 1
cfi=(54)
cfn=(3326)
calls=1 381
* 5
* 2
cfn=(3328)
calls=1 +9
* 17049
+1 2
fn=(3328)
58 4028
+5 6039
+1 2012
+3 4
+4 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 16834
* 1
+1 2
+2 9
+1 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
* 1
+9 4
+2 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+3 1
+4 2
+1 2
+2 1
+1 2014
fl=(287)
fn=(4934) typeidType
560 8
+3 8
cfi=(151)
cfn=(3306)
calls=2 1114
* 684
* 2
+1 4
+2 2
+1 4
fn=(5042)
295 7
+3 6
cfn=(5044) typenameType
calls=1 -50
* 47880
* 1
+1 10
+1 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+1 2
fn=(4938) typeLen
581 6
+3 16
+1 4
+1 4
fn=(5044)
248 8
+3 6
cfn=(5046) LookupTypeName
calls=1 59
* 47846
* 1
+1 2
+6 11
+6 1
+1 5
fn=(5046)
59 10
+5 4
+5 4
+83 7
cfi=(55)
cfn=(4860) DeconstructQualifiedName
calls=1 2792
* 68
+2 3
+6 7
cfi=(223)
cfn=(4942)
calls=1 -13
* 24
+2 5
cfi=(55)
cfn=(5048) LookupExplicitNamespace
calls=1 2874
* 18504
* 1
+1 2
+1 9
cfi=(151)
cfn=(3012)
calls=1 1227
* 28791
* 2
+6 3
cfi=(223)
cfn=(4960)
calls=1 -8
* 8
* 1
+9 4
+4 2
+7 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 342
* 1
+1 2
+3 6
cfn=(5050) typenameTypeMod
calls=1 316
* 20
* 1
+2 2
+1 3
+2 1
+1 5
fn=(4936) typeTypeCollation
622 6
+3 16
+1 4
+1 4
fn=(4940) typeByVal
591 6
+3 16
+1 4
+1 4
fn=(5050)
316 8
+10 4
+1 3
+82 5
fn=(4910) typeOrDomainTypeRelid
671 56
+7 56
cfi=(151)
cfn=(3306)
calls=14 1114
* 4788
* 14
+1 28
+2 112
+1 56
+3 14
+6 42
+1 42
cfi=(151)
cfn=(3280)
calls=14 1161
* 1442
+1 14
+1 28
fn=(4944) stringTypeDatum
636 12
+1 16
+1 6
+1 6
cfi=(272)
cfn=(4946) getTypeIOParam
calls=2 2049
* 38
* 2
+2 12
cfi=(171)
cfn=(4948) OidInputFunctionCall
calls=2 1825
* 692
+1 4
fl=(265)
fn=(4632)
1121 12
+6 12
cfi=(13)
cfn=(3400)
calls=3 853
* 1404
* 15
+1 6
+1 6
+1 9
+1 6
+1 3
cfi=(266)
cfn=(4634)
calls=3 672
* 561
* 6
+2 18
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 6
+2 3
+1 6
fn=(4678)
1155 54
+12 54
cfi=(268)
cfn=(4642)
calls=9 78
* 84
* 18
+2 18
+2 36
cfi=(276) /home/mithuncy/fsm_p11patch/src/backend/nodes/bitmapset.c
cfn=(4686) bms_equal
calls=6 154
* 78
* 12
+1 12
-5 18
+8 12
cfi=(13)
cfn=(3400)
calls=3 853
* 1404
* 15
+1 6
+1 9
cfi=(276)
cfn=(4680) bms_copy
calls=3 134
* 30
* 6
+3 21
+1 6
+1 6
+1 3
cfi=(266)
cfn=(4634)
calls=3 672
* 561
* 6
+1 6
+1 6
+1 6
+1 6
+1 6
+2 24
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 12
+2 3
+1 18
fl=(157)
fn=(2922)
1239 6
+1 4
+2 12
+7 6
+1 4
fn=(2924)
1263 4
+1 4
+2 12
+7 4
+1 4
fl=(162)
fn=(4734)
1108 2525
+1 3030
cfn=(3072) ResourceArrayAdd
calls=505 263
* 15150
+1 1010
fn=(3262) ResourceOwnerForgetBuffer
915 86310
+1 120834
cfn=(3088) ResourceArrayRemove
calls=17262 301
* 947148
* 51786
+3 34524
fn=(5274) ResourceOwnerEnlargeTupleDescs
1141 2000
+1 2000
cfn=(3068) ResourceArrayEnlarge
calls=500 208
* 6803
+1 1000
fn=(3222) ResourceOwnerRememberBuffer
906 86310
+1 120834
cfn=(3072)
calls=17262 263
* 517860
+1 34524
fn=(3702) ResourceOwnerNewParent
749 12
+1 9
+2 6
+2 4
+1 5
+16 6
+9 6
+1 6
+2 6
fn=(5598) ResourceOwnerGetParent
739 3
+1 2
+1 2
fn=(3066) ResourceOwnerEnlargeRelationRefs
1052 37720
+1 37720
cfn=(3068)
calls=9430 208
* 123196
+1 18860
fn=(3134)
1187 9056
+1 9056
cfn=(3068)
calls=2264 208
* 30069
+1 4528
fn=(3250)
982 13156
+1 13156
cfn=(3068)
calls=3289 208
* 43394
+1 6578
fn=(3284)
1002 16445
+1 19734
cfn=(3088)
calls=3289 301
* 177606
* 9867
+3 6578
fn=(3632)
481 72
+2 54
cfn=(3634) ResourceOwnerReleaseInternal
calls=9 +8
* 899061
+1 18
fn=(4876)
1017 16
+1 16
cfn=(3068)
calls=4 208
* 355
+1 8
fn=(4746)
1117 2525
+1 3030
cfn=(3088)
calls=505 301
* 27270
* 1515
+3 1010
fn=(3072)
263 166270
+6 133016
+3 133016
+15 99762
+1 232778
+1 166270
+1 66508
fn=(3086) ResourceOwnerForgetRelationRef
1072 47150
+1 56580
cfn=(3088)
calls=9430 301
* 509220
* 28290
+3 18860
fn=(3270)
1207 11320
+1 13584
cfn=(3088)
calls=2264 301
* 122256
* 6792
+3 4528
fn=(3634)
491 72
+7 54
+7 18
+1 18
+2 18
+11 21
cfn=(3636) ResourceArrayGetAny
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 9
+7 12
+2 6
+7 6
+2 6
cfi=(84)
cfn=(3654)
calls=2 772
* 821562
+1 6
cfi=(92)
cfn=(3664) ReleasePredicateLocks
calls=2 3223
* 22
* 2
+19 4
+2 1
+1 2
+8 2
+1 5
cfi=(91)
cfn=(5596) LockReassignCurrentOwner
calls=1 2489
* 76524
* 1
+5 6
+9 21
cfn=(3636)
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 6
+10 21
cfn=(3636)
calls=3 370
* 36
* 6
+11 45
+3 18
+1 18
fn=(5276) ResourceOwnerRememberTupleDesc
1152 2500
+1 3000
cfn=(3072)
calls=500 263
* 15000
+1 1000
fn=(4732)
1097 2020
+1 2020
cfn=(3068)
calls=505 208
* 6868
+1 1010
fn=(2962) ResourceArrayInit
189 120
+7 90
+2 60
fn=(3068)
208 133016
+7 199524
+1 33243
+2 33
+1 33
+3 44
+1 66
cfi=(13)
cfn=(798)
calls=11 772
* 1094
* 11
+2 22
+1 1232
-1 737
+4 33
+1 33
+1 55
+1 22
+2 22
+20 66508
fn=(3088)
301 166270
+3 99762
+5 133016
+2 133016
+1 232778
-1 66508
+3 483810
+1 161270
+2 161270
+1 64508
+2 2000
+2 9000
+2 15000
+1 5000
+2 5000
+1 2000
-8 4000
+37 66508
fn=(3094) ResourceOwnerForgetLock
953 42375
+3 33900
+1 7328
+3 5735
+2 8029
+2 13764
+1 5735
+1 1147
-6 2294
+11 16950
fn=(3700)
688 12
+21 15
+8 12
cfn=(3702)
calls=3 +32
* 60
+3 12
cfn=(3704) ResourceArrayFree
calls=3 402
* 208
+1 12
cfn=(3704)
calls=3 402
* 208
+1 12
cfn=(3704)
calls=3 402
* 119
+1 12
cfn=(3704)
calls=3 402
* 208
+1 12
cfn=(3704)
calls=3 402
* 119
+1 12
cfn=(3704)
calls=3 402
* 119
+1 12
cfn=(3704)
calls=3 402
* 208
+1 12
cfn=(3704)
calls=3 402
* 30
+1 12
cfn=(3704)
calls=3 402
* 30
+1 12
cfn=(3704)
calls=3 402
* 30
+2 9
cfi=(13)
cfn=(952)
calls=3 1032
* 255
+1 6
fn=(5500) ResourceOwnerForgetTupleDesc
1161 2500
+1 3000
cfn=(3088)
calls=500 301
* 27000
* 1500
+3 1000
fn=(3048) ResourceOwnerRememberLock
933 33900
+3 33900
+1 7296
+2 4716
+1 8239
+5 5885
+1 2354
-1 10
+1 14596
fn=(3070) ResourceOwnerRememberRelationRef
1063 47150
+1 56580
cfn=(3072)
calls=9430 263
* 282900
+1 18860
fn=(3252)
993 16445
+1 19734
cfn=(3072)
calls=3289 263
* 98670
+1 6578
fn=(3636)
370 120
+1 120
+1 60
+23 60
fn=(4884)
1037 20
+1 24
cfn=(3088)
calls=4 301
* 216
* 12
+3 8
fn=(3136)
1198 11320
+1 13584
cfn=(3072)
calls=2264 263
* 67920
+1 4528
fn=(3198) ResourceOwnerEnlargeBuffers
893 69048
+3 69048
cfn=(3068)
calls=17262 208
* 225043
+1 34524
fn=(4880)
1028 20
+1 24
cfn=(3072)
calls=4 263
* 120
+1 8
fn=(2960)
422 15
+3 12
cfi=(13)
cfn=(2156)
calls=3 815
* 1630
* 3
+2 9
+2 6
+2 3
+1 4
+1 3
+3 5
cfn=(2962)
calls=1 189
* 9
* 10
cfn=(2962)
calls=2 189
* 18
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+1 15
cfn=(2962)
calls=3 189
* 27
+2 3
+1 6
fn=(3704)
402 120
+1 120
+1 44
cfi=(13)
cfn=(952)
calls=11 1032
* 935
+1 60
fl=(252)
fn=(4484)
78 18
+1 24
+1 12
-2 108
+1 126
+1 72
-2 36
+1 36
+1 24
fn=(4624)
90 9
+1 9
+1 6
-2 36
+1 42
+1 24
-2 9
+1 9
+1 6
fn=(4670)
84 9
+1 15
+1 6
fl=(283)
fn=(4962) oprid
246 6
+1 16
+1 4
fn=(4856) oper
379 20
+4 2
+1 2
+5 20
cfn=(4858) make_oper_cache_key
calls=2 1035
* 800
* 2
+2 4
+2 6
cfn=(4866) find_oper_cache_entry
calls=2 1078
* 4363
* 2
+1 6
+11 12
cfn=(4868) binary_oper_exact
calls=2 270
* 57330
* 2
+1 6
+8 5
cfi=(55)
cfn=(4890) OpernameGetCandidates
calls=1 1568
* 66701
* 1
+3 2
+8 2
+2 2
+2 2
+1 2
+1 6
cfn=(4894) oper_select_candidate
calls=1 323
* 358992
* 1
+4 6
+1 10
cfi=(151)
cfn=(3306)
calls=2 1114
* 47206
* 2
+2 4
+2 4
+1 10
cfn=(4926) make_oper_cache_entry
calls=2 1118
* 3074
* 2
+5 2
+1 4
fn=(4926)
1118 10
+5 12
cfi=(31)
cfn=(836)
calls=2 910
* 3040
* 2
+3 6
+1 4
fn=(4868)
270 12
+2 2
+3 6
+2 2
+1 2
+2 2
+6 12
cfi=(55)
cfn=(4870) OpernameGetOprid
calls=2 1465
* 56782
* 2
+1 4
+1 2
+2 2
+3 3
cfi=(272)
cfn=(4886)
calls=1 2267
* 488
* 1
+2 3
+8 1
+1 4
fn=(4854)
749 22
+13 4
+7 4
+10 6
cfi=(247)
cfn=(4434)
calls=2 43
* 48
* 2
+1 6
cfi=(247)
cfn=(4434)
calls=2 43
* 48
* 2
+1 18
cfn=(4856)
calls=2 379
* 538617
* 2
+3 16
+3 8
+11 4
+8 4
+11 8
cfi=(45)
cfn=(1586)
calls=2 260
* 518
* 10
cfi=(45)
cfn=(1586)
calls=2 260
* 322
* 2
+1 4
+1 4
+1 6
+1 6
+1 2
+8 16
cfi=(285)
cfn=(4928)
calls=2 1677
* 724
* 2
+7 12
cfi=(284)
cfn=(4930)
calls=2 1823
* 1928
+3 8
cfi=(13)
cfn=(3400)
calls=2 +13
* 317
* 10
+1 6
cfn=(4962)
calls=2 246
* 26
* 4
+1 8
+1 6
+1 8
cfi=(272)
cfn=(4964) get_func_retset
calls=2 1499
* 44943
* 4
+2 6
+1 6
+3 8
+7 6
cfi=(151)
cfn=(3280)
calls=2 1161
* 206
+2 2
+1 10
fn=(4858)
1035 18
+5 12
cfi=(55)
cfn=(4860)
calls=2 2792
* 110
+3 292
+3 12
cfi=(16)
cfn=(460)
calls=2 46
* 132
+1 6
+1 6
+2 6
+12 10
cfi=(55)
cfn=(4864) fetch_search_path_array
calls=2 4304
* 186
* 4
+5 2
+1 4
fn=(4894)
323 7
+7 6
cfi=(284)
cfn=(4896)
calls=1 908
* 266786
* 1
+4 2
+5 2
+10 6
cfi=(284)
cfn=(4918)
calls=1 992
* 92170
* 1
+2 3
+2 4
+1 2
+5 2
fn=(4866)
1078 8
+3 6
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 2725
* 1
+4 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+3 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 65
+6 12
cfi=(31)
cfn=(836)
calls=2 910
* 1333
* 2
+3 4
+1 4
+3 4
fl=(91)
fn=(3034) LockTagHashCode
491 33844
+1 42305
cfi=(31)
cfn=(2226)
calls=8461 861
* 1159157
+1 16922
fn=(2966)
4297 8
+3 10
cfi=(99)
cfn=(2170)
calls=2 1122
* 274
+6 4
+1 6
+2 8
cfi=(99)
cfn=(2182)
calls=2 1726
* 182
+1 4
fn=(5596)
2489 5
+1 3
cfi=(162)
cfn=(5598)
calls=1 739
* 7
* 1
+4 2
+5 5
cfi=(31)
cfn=(3528)
calls=1 1380
* 53
+2 1
+1 2505
cfn=(5600) LockReassignOwner
calls=501 +17
* 40764
-1 1506
cfi=(31)
cfn=(3534)
calls=502 1390
* 30163
* 1507
+10 2
fn=(3032)
738 103792
+1 31936
+11 7984
+2 31936
+2 31936
+1 47904
+3 7984
cfi=(53)
cfn=(2878)
calls=7984 7896
* 87824
* 15968
+18 15968
+3 15968
+5 143712
cob=(3)
cfi=(3)
cfn=(828)
calls=7984 0
* 111776
* 7984
+1 39920
+1 15968
+2 55888
cfi=(31)
cfn=(836)
calls=7984 910
* 3202420
* 7984
+7 31936
+2 15950
+1 15950
+1 23925
cfn=(3034)
calls=7975 491
* 1180300
* 15950
+1 15950
+1 15950
+1 15950
+1 15950
+1 15950
+1 15950
+3 15950
-1 55825
cfi=(13)
cfn=(798)
calls=7975 -35
* 742295
-1 23925
+7 54
+10 23952
+2 15968
+1 19446
+8 31936
+2 45
cfn=(3046) GrantLockLocal
calls=9 1602
* 360
+1 36
+1 18
+17 15950
+19 128280
+1 6420
-1 12840
+3 3255
+9 5425
cfi=(99)
cfn=(2170)
calls=1085 1122
* 148645
+1 5425
+3 6510
cfn=(3366) FastPathGrantRelationLock
calls=1085 2565
* 362784
* 1085
+2 4340
cfi=(99)
cfn=(2182)
calls=1085 1726
* 98735
+1 2170
+7 2170
+1 2170
+1 5425
cfn=(3046)
calls=1085 1602
* 80058
+1 2170
+10 87342
+28 55120
+2 27560
cfi=(99)
cfn=(2170)
calls=6890 1122
* 943930
+11 55120
cfn=(3036) SetupLockInTable
calls=6890 1121
* 5758560
* 6890
+2 13780
+16 20670
+1 20670
+1 20670
+7 82680
+3 41340
cfn=(3042) LockCheckConflicts
calls=6890 1348
* 192920
* 6890
+3 13780
+3 41340
cfn=(3044) GrantLock
calls=6890 1468
* 454740
+1 34450
cfn=(3046)
calls=6890 1602
* 407920
* 6890
+95 6890
cfn=(3050) FinishStrongLockAcquire
calls=6890 1657
* 34450
+2 20670
cfi=(99)
cfn=(2182)
calls=6890 1726
* 626990
+6 13780
+11 6890
+1 39920
fn=(3378) FastPathUnGrantRelationLock
2602 23744
+2 5936
+2 5936
+1 11872
+2 569856
+1 16635
+3 18445
+1 1085
+3 1139712
+1 240837
-11 296800
+13 5936
+1 11872
fn=(3050)
1657 13780
+1 6890
+1 13780
fn=(3052)
1709 19419
+2 12946
+1 12946
fn=(3096) UnGrantLock
1492 41340
+1 6890
+9 34450
+1 75790
+1 34450
+1 75790
+2 48230
+3 75790
+14 82680
+6 75790
+3 6890
+1 13780
fn=(3660)
2090 40
+9 5
+2 20
+2 20
+13 10
+1 2
cfn=(3662) VirtualXactLockTableCleanup
calls=2 4320
* 512
+2 15
+10 25
cfi=(31)
cfn=(3528)
calls=5 1380
* 265
+2 5
+7 2008
+7 2510
+8 2008
+2 1506
+3 1004
+2 4518
+3 5522
cfi=(162)
cfn=(3094)
calls=502 953
* 6055
-5 4518
+8 2008
+1 1004
-1 1004
+11 1004
+7 3952
+2 48
+4 288
+11 64
+2 5
cfi=(99)
cfn=(2170)
calls=1 1122
* 137
+1 1
+4 3
+1 5
cfn=(3378)
calls=1 2602
* 427
-1 45
+1 75
cfn=(3378)
calls=15 2602
* 6045
* 32
+2 48
cfn=(3100) RemoveLocalLock
calls=16 1297
* 7472
+1 16
+25 1944
+1 6318
+3 1458
cfn=(3100)
calls=486 1297
* 227001
2131 1521
cfi=(31)
cfn=(3534)
calls=507 1390
* 47265
* 1521
2245 10
+1 4
cfi=(99)
cfn=(2182)
calls=1 1726
* 91
+5 10
+3 640
+3 560
+21 480
cfi=(126)
cfn=(2234)
calls=80 146
* 1251
* 160
+2 63
+2 68
cfi=(99)
cfn=(2170)
calls=17 1122
* 2329
+2 102
cfi=(126)
cfn=(2234)
calls=17 146
* 306
* 34
+5 486
+4 972
-1 2430
cfi=(126)
cfn=(2234)
calls=486 146
* 8697
* 486
+6 1458
+3 2430
+7 972
+9 1944
+13 972
+2 34992
+1 3402
cfn=(3096)
calls=486 1492
* 40338
* 2430
-3 17010
+10 972
+3 486
+2 486
-2 972
cfn=(3034)
calls=486 491
* 71928
* 3402
cfn=(3098) CleanUpLock
calls=486 1550
* 281895
-56 972
-3 1006
+65 51
cfi=(99)
cfn=(2182)
calls=17 1726
* 1547
-98 250
2356 20
fn=(5600)
2519 2505
+3 501
+1 501
+6 1503
+1 2505
+2 5010
+1 1500
+1 9
+1 2
-5 2505
+8 1002
+1 1
+2 1000
+3 4000
+1 2500
cfi=(162)
cfn=(3048)
calls=500 933
* 5718
* 500
+11 2500
cfi=(162)
cfn=(3094)
calls=500 953
* 6000
+1 1002
fn=(2016) LockShmemSize
3437 3
+1 1
+4 7
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+1 4
cfi=(31)
cfn=(2006)
calls=1 733
* 435
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 1
+1 4
cfi=(31)
cfn=(2006)
calls=1 733
* 438
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+5 8
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(3046)
1602 39920
+1 23952
+5 39920
+2 15968
+2 81
+2 81
+1 9
-5 31936
+8 63800
+1 55825
+1 39875
+1 15950
+1 39875
cfi=(162)
cfn=(3048)
calls=7975 933
* 105178
+1 15968
fn=(3658)
1667 9
+2 6
+2 6
+1 3
+10 6
fn=(3040) ProcLockHashCode
539 55120
+1 27560
+6 41340
+1 41340
+2 13780
+1 27560
fn=(3092)
1885 52374
+1 29928
+9 29928
+2 29928
+1 44892
+13 134676
cob=(3)
cfi=(3)
cfn=(828)
calls=7482 0
* 104748
* 7482
+1 37410
+1 14964
+2 44892
cfi=(31)
cfn=(836)
calls=7482 910
* 2199674
* 7482
+7 44892
+11 22446
+5 14964
+3 14964
+2 37410
+2 67338
+3 89784
+2 14946
+1 37365
cfi=(162)
cfn=(3094)
calls=7473 953
* 125202
+2 37365
+1 29892
+3 7482
-14 14964
+17 14964
+13 37410
+2 29928
+1 18
+9 14946
+3 119264
+1 5920
-1 11840
+9 29600
cfi=(99)
cfn=(2170)
calls=5920 1122
* 811040
+1 35520
cfn=(3378)
calls=5920 2602
* 2342194
* 5920
+2 23680
cfi=(99)
cfn=(2182)
calls=5920 1726
* 538720
+1 11840
+2 3207
cfn=(3100)
calls=1069 1297
* 503068
+1 2138
+7 57636
+2 25616
cfi=(99)
cfn=(2170)
calls=6404 1122
* 877348
+10 19212
+1 12808
+24 19212
+7 57636
+13 38424
cfn=(3096)
calls=6404 1492
* 531532
* 6404
+2 57636
cfn=(3098)
calls=6404 1550
* 3719143
+4 19212
cfi=(99)
cfn=(2182)
calls=6404 1726
* 582764
+2 19212
cfn=(3100)
calls=6404 1297
* 3039157
+1 6404
+1 14964
fn=(2220) InitLocks
378 3
+10 7
cfi=(87)
cfn=(2002)
calls=1 +88
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+1 6
+6 118
+1 1
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 -78
* 53886
* 1
+7 1
+1 1
+6 1
+1 1
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 -97
* 99180
* 1
+10 5
cfi=(87)
cfn=(2168)
calls=1 -56
* 1322
-1 1
+3 4
+1 2
+11 3
+3 1
+1 1
+2 6
cfi=(31)
cfn=(794)
calls=1 317
* 2788
* 1
+4 2
fn=(3098)
1550 62010
+5 27560
+5 27560
cfi=(126)
cfn=(2236)
calls=6890 69
* 172250
+1 27560
cfi=(126)
cfn=(2236)
calls=6890 69
* 172250
+1 34450
cfn=(3040)
calls=6890 539
* 103350
* 6890
+2 6890
-1 41340
cfi=(31)
cfn=(842)
calls=6890 924
* 1595057
* 13780
+8 27560
+9 6890
-1 41340
cfi=(31)
cfn=(842)
calls=6890 924
* 1599851
* 13780
+5 6890
+7 13780
fn=(3350)
712 12016
+1 12016
cfn=(3032)
calls=1502 +25
* 3146579
+2 3004
fn=(3044)
1468 34450
+1 34450
+1 75790
+1 68900
+1 82680
+1 75790
+1 68900
+4 13780
fn=(3100)
1297 31900
+3 55825
+5 15950
+1 31900
+1 31900
cfi=(13)
cfn=(952)
calls=7975 1032
* 677875
+1 15950
+2 31900
+14 7975
-1 39875
cfi=(31)
cfn=(836)
calls=7975 910
* 2803748
* 15950
+4 15950
fn=(3366)
2565 4340
+2 1085
+3 2170
+2 208320
+1 44091
+1 15978
-4 54250
+13 2170
+2 5425
+1 17360
+1 3255
+1 2170
+5 2170
fn=(3662)
4320 6
+9 10
cfi=(99)
cfn=(2170)
calls=2 1122
* 274
+2 6
+1 6
+1 4
+1 4
+2 8
cfi=(99)
cfn=(2182)
calls=2 1726
* 182
+6 8
+12 4
fn=(3036)
1121 55120
+10 55120
cfi=(31)
cfn=(842)
calls=6890 924
* 1793134
* 6890
+5 13780
+6 27560
+2 13780
+1 13780
+1 27560
cfi=(126)
cfn=(2228)
calls=6890 37
* 82680
+1 27560
cfi=(84)
cfn=(3038)
calls=6890 1023
* 158470
+1 13780
+1 13780
+1 434070
+1 103350
cob=(3)
cfi=(3)
cfn=(828)
calls=6890 0
* 110240
* 6890
+14 13780
+1 13780
+2 34450
cfn=(3040)
calls=6890 539
* 103350
* 6890
+5 55120
cfi=(31)
cfn=(842)
calls=6890 924
* 1788186
* 6890
+5 13780
+25 27560
+2 20670
+12 13780
+1 20670
-1 13780
+2 13780
+1 13780
+2 48230
cfi=(126)
cfn=(2230)
calls=6890 90
* 158470
+1 82680
cfi=(126)
cfn=(2230)
calls=6890 90
* 158470
+52 34450
+1 75790
+7 62010
+6 6890
+1 13780
fn=(3042)
1348 48230
+1 20670
+2 55120
+2 6890
+14 34450
+3 13780
+83 13780
fl=(305)
fn=(5260)
569 3500
+4 2000
+1 500
+25 2500
fl=(47)
fn=(976)
78 126
+1 198
+1 84
-2 13107
+1 16141
+1 8738
fl=(209)
fn=(5686)
167 6
+1 5
+10 5
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 5
cfi=(58)
cfn=(3300)
calls=1 1561
* 228
+1 1
+13 4
fn=(3898)
104 4
+2 2
fn=(3766)
251 8
+1 10
+5 8
+4 8
cfi=(179)
cfn=(3292)
calls=2 88
* 336
+1 2
cfi=(26)
cfn=(3768)
calls=2 4485
* 32
* 10
cfi=(207)
cfn=(3770)
calls=2 162
* 176
+1 6
cfi=(179)
cfn=(3298)
calls=2 +36
* 670
* 2
+5 6
cfi=(58)
cfn=(3776)
calls=2 1401
* 372
+1 2
+13 4
fn=(3934)
114 2004
+6 2505
+4 3
cfi=(225)
cfn=(3936)
calls=1 -45
* 276
* 1
+12 1000
+23 1002
fl=(116)
fn=(2138)
225 2008
+1 502
+2 2510
+6 502
+1 1506
fl=(171)
fn=(3974)
1406 6
+5 5
cfn=(3344)
calls=1 125
* 3808854
+2 8
+2 2
+1 1
+2 5
cob=(12)
cfi=(230)
cfn=(4136) plpgsql_inline_handler
calls=1 301
* 363819519
* 1
+3 3
+3 1
+1 2
fn=(3978) fmgr_info_C_lang
360 6
+9 3
cfn=(3980) lookup_C_func
calls=1 531
* 20
* 1
+1 2
+18 7
cfi=(151)
cfn=(3982)
calls=1 1376
* 1985
* 1
+2 3
+2 3
cfi=(41)
cfn=(3984)
calls=1 186
* 184
* 1
+2 7
cfi=(151)
cfn=(3982)
calls=1 1376
* 1785
* 1
+2 3
+2 3
cfi=(41)
cfn=(3984)
calls=1 186
* 213
* 1
+3 7
cfi=(228)
cfn=(3988)
calls=1 109
* 3772024
* 1
+4 5
cfn=(4128) fetch_finfo_record
calls=1 +66
* 1767
* 1
+3 6
cfn=(4134) record_C_func
calls=1 556
* 3958
+2 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+3 4
+4 3
+1 1
+7 2
fn=(4950) InputFunctionCall
1710 612514
+4 175004
+3 612514
+2 175004
+1 175004
+1 262506
+1 262506
+1 87502
+1 87502
+2 437510
cfi=(185) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/int.c
cfn=(5306) int4in
calls=87500 265
* 27885500
cfi=(41)
cfn=(4952) textin
calls=2 512
* 404
* 87502
+3 175004
+8 262506
+5 87502
+1 175004
fn=(5146) OidOutputFunctionCall
1834 2500
+3 2500
cfn=(3344)
calls=500 125
* 41000
+1 2500
cfn=(5130) OutputFunctionCall
calls=500 -84
* 137000
+1 1000
fn=(5018)
2015 2505
+4 1002
+3 2004
+1 2004
+14 2505
cfi=(290)
cfn=(5020)
calls=501 90
* 5010
* 1002
+3 2505
cfi=(45)
cfn=(5022)
calls=501 411
* 13527
* 1002
cfi=(247)
cfn=(4434)
calls=501 43
* 12024
* 501
+6 2004
+4 501
+1 1002
fn=(3344)
125 17410
+1 20892
cfn=(3106) fmgr_info_cxt_security
calls=3482 +20
* 4049030
+1 6964
fn=(3452)
612 26886
+1 26886
cob=(3)
cfi=(3)
cfn=(856)
calls=4481 0
* 98582
* 4481
+1 13443
+1 8962
+1 8962
fn=(4948)
1825 14
+3 10
cfn=(3344)
calls=2 125
* 164
+1 12
cfn=(4950)
calls=2 1710
* 488
+1 4
fn=(3104)
135 906
+1 906
cfn=(3107) fmgr_info_cxt_security'2
calls=1 +10
* 69
cfn=(3106)
calls=150 +10
* 10350
+1 302
fn=(3240)
1134 394352
+4 450688
+2 112672
+1 112672
+1 56336
+1 56336
+2 281680
cfi=(158)
cfn=(3966)
calls=11242 205
* 1142561
cfi=(194)
cfn=(3526)
calls=1826 83
* 29216
cfi=(194)
cfn=(3486)
calls=22067 268
* 382214
cfi=(185)
cfn=(3376) int2gt
calls=948 464
* 15168
cfi=(183)
cfn=(3338)
calls=18727 355
* 283667
cfi=(158)
cfn=(3242)
calls=1526 136
* 127469
* 56336
+3 169008
+3 56336
+1 112672
fn=(3108) fmgr_isbuiltin
74 10899
+4 7266
+1 2
+6 10896
+1 7264
+3 25424
+1 7266
fn=(3396)
1386 395
+5 395
cfn=(3344)
calls=79 125
* 6478
+2 632
+2 395
cfi=(188)
cfn=(3398) bthandler
calls=79 107
* 28203
* 79
+3 237
+3 79
+1 158
fn=(3986) pg_detoast_datum_packed
1950 10012
+1 25030
+3 2503
+1 5006
fn=(5126) get_fn_expr_argtype
1996 2500
+5 3000
+3 3000
cfn=(5018)
calls=500 +11
* 49000
+1 1000
fn=(4128)
471 7
+5 5
cfi=(81)
cfn=(3170)
calls=1 47
* 514
* 1
+3 5
cfi=(228)
cfn=(4130)
calls=1 172
* 1123
* 1
+2 2
+11 2
cob=(12)
cfi=(230)
cfn=(4132) pg_finfo_plpgsql_inline_handler
calls=1 297
* 5
* 1
+3 2
+2 4
+4 1
+9 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 1
+1 5
fn=(5132) FunctionCall1Coll
1114 6000
+4 8000
+2 2000
+1 1000
+2 5000
cfi=(41)
cfn=(5134) textout
calls=1000 523
* 227000
* 1000
+3 3000
+3 1000
+1 2000
fn=(3106)
146 32688
+13 7264
+1 7264
+1 10896
+1 7264
+2 10896
cfn=(3108)
calls=3632 -90
* 68998
* 10896
+5 14524
+1 14524
+1 14524
+1 7262
+1 14524
+1 10893
+1 3631
+4 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 26410
* 1
+1 2
+2 8
+2 4
+1 4
+1 4
+16 4
+1 2
-1 2
+2 5
cfi=(178)
cfn=(3976)
calls=1 362
* 42
* 1
-1 2
+2 1
-3 2
+12 4
+32 6
cfn=(3978)
calls=1 360
* 3782184
+1 2
+1 1
+13 3
+1 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+1 14528
fn=(3107)
146 9
+13 2
+1 2
+1 3
+1 2
+2 3
cfn=(3108)
calls=1 -90
* 19
* 3
+5 4
+1 4
+1 4
+1 2
+1 4
+1 3
+1 1
+88 4
fn=(3980)
531 4
+1 9
+3 3
+1 2
+12 2
fn=(4134)
556 6
+1 9
+5 3
+4 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 2772
* 1
+7 1
-1 6
cfi=(31)
cfn=(836)
calls=1 910
* 1014
* 1
+6 5
+1 6
+1 3
+1 3
+1 2
fn=(4958)
1918 2008
+1 3012
+1 1500
cfi=(297)
cfn=(5188)
calls=500 173
* 88000
* 500
+2 2
+1 1004
fn=(4974)
794 12
+4 14
+2 4
+1 2
+2 8
cfi=(34)
cfn=(4976) hashoidvector
calls=2 208
* 171
* 2
+3 6
+3 2
+1 4
fn=(5120) get_fn_expr_variadic
2130 1500
+7 3000
+3 1500
+2 2000
+1 1500
+3 1000
fn=(5130)
1754 5000
+1 5000
cfn=(5132)
calls=1000 1114
* 256000
+1 2000
fl=(202)
fn=(3624)
389 12
+1 2
cfi=(26)
cfn=(3532)
calls=2 759
* 16
* 2
+5 2
+1 10
+6 4
+2 4
+1 4
+14 4
fn=(3666)
306 10
+1 2
cfi=(26)
cfn=(3532)
calls=2 759
* 16
* 2
+4 2
+1 2
+1 2
+1 2
+2 2
+1 10
+42 4
+9 4
fl=(13)
fn=(430)
93 2
+6 6
cfi=(14)
cfn=(432)
calls=1 395
* 412
* 1
+8 2
+15 7
cfi=(14)
cfn=(432)
calls=1 395
* 457
* 1
+5 4
cfn=(436) MemoryContextAllowInCriticalSection
calls=1 412
* 10
+1 2
fn=(2156)
815 7077
+6 2022
+3 2022
+2 8088
cfi=(14)
cfn=(800)
calls=1011 715
* 88120
* 1011
+1 5055
+12 78863
cob=(3)
cfi=(3)
cfn=(828)
calls=317 0
* 19634
* 317
+2 1011
+1 5055
fn=(812)
330 400
+2 300
+1 200
fn=(1404)
156 12152
+4 15190
+2 9114
cfn=(1398) MemoryContextCallResetCallbacks
calls=3038 303
* 36456
+12 18228
cfi=(14)
cfn=(1406)
calls=3038 566
* 826630
+1 6076
+4 6076
fn=(1514)
1045 14
+1 6
cfi=(44)
cfn=(954)
calls=2 113
* 18
* 2
+3 4
+8 16
cfi=(14)
cfn=(1516)
calls=2 +12
* 2250
* 2
+1 10
+12 2
+1 10
fn=(2546)
956 569550
+3 189850
+5 189850
+3 189850
+2 759400
cfi=(14)
cfn=(800)
calls=94925 715
* 8789080
* 94925
+1 474625
+12 2354247
cob=(3)
cfi=(3)
cfn=(828)
calls=89518 0
* 1888864
* 89518
+2 94925
+1 474625
fn=(3708) MemoryContextDeleteChildren
257 24
+7 6
+1 28
cfn=(1397) MemoryContextDelete'2
calls=7 -53
* 2701
-1 52
+2 12
fn=(940)
925 322014
+3 107338
+5 107338
+3 107338
+2 429352
cfi=(14)
cfn=(800)
calls=53669 715
* 5798308
* 53669
+1 268345
+12 53669
+1 268345
fn=(434)
729 11466
+5 4914
+1 3276
+1 4914
+1 4914
+1 3276
+1 3276
+1 4914
+1 3276
+1 3276
+3 3276
+2 6548
+1 6548
+1 2464
+1 1848
+2 3080
-2 3063
+2 5105
+4 2
+1 2
+4 3276
fn=(3400)
853 51100
+6 14600
+3 14600
+2 58400
cfi=(14)
cfn=(800)
calls=7300 715
* 602040
* 7300
+1 36500
+12 891713
+2 7300
+1 36500
fn=(436)
412 5
+3 3
+1 2
fn=(928)
1162 9200
+1 11500
cfn=(930)
calls=2300 -14
* 381033
+1 4600
fn=(930)
1149 14415
+2 8649
cob=(3)
cfi=(3)
cfn=(424)
calls=2883 0
* 57900
* 2883
* 5766
+2 14415
cfn=(798)
calls=2883 772
* 311202
* 2883
+2 17298
cob=(3)
cfi=(3)
cfn=(856)
calls=2883 0
* 51178
* 2883
+2 2883
+1 5766
fn=(1396)
212 6128
+8 6128
+1 15
cfn=(3708)
calls=5 +36
* 2812
+8 4596
cfn=(1398)
calls=1532 +74
* 18384
+7 6128
cfn=(1400)
calls=1532 355
* 59324
+7 3064
+2 9192
cfi=(14)
cfn=(1402)
calls=1532 628
* 655327
+3 3064
fn=(1397)
212 28
+8 28
+9 21
cfn=(1398)
calls=7 +74
* 84
+7 28
cfn=(1400)
calls=7 355
* 269
+7 14
+2 42
cfi=(14)
cfn=(1402)
calls=7 628
* 2173
+3 14
fn=(1400)
355 6204
+5 6204
+4 6204
+2 4653
+2 6204
+1 138
+4 6112
+3 6204
+1 2640
+4 3102
+3 36
+1 24
+1 48
+1 48
+1 48
+1 48
+4 3078
+1 3078
+1 3078
+2 3102
fn=(952)
1032 171228
+1 128421
cfi=(44)
cfn=(954)
calls=42807 113
* 385263
* 42807
+2 342456
cfi=(14)
cfn=(956)
calls=42807 -47
* 2905122
+2 85614
fn=(798)
772 122612
+6 35032
+3 35032
+2 140128
cfi=(14)
cfn=(800)
calls=17516 -68
* 1192752
* 17516
+1 87580
+19 17516
+1 87580
fn=(1398)
303 18308
+8 27462
+5 9154
fn=(3734)
137 8032
+4 8032
+4 10040
+1 4518
cfn=(1404)
calls=1506 +10
* 343195
+1 4016
fl=(55)
fn=(4890)
1568 8
+1 1
+1 1
+1 1
+8 6
cfn=(4860)
calls=1 2792
* 55
+2 3
+10 1
+1 1
cfn=(4490) recomputeNamespacePath
calls=1 3691
* 22
+4 7
cfi=(151)
cfn=(4872)
calls=1 1427
* 65125
* 1
+14 4
+1 9
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
+2 2
+2 77
+1 88
+1 11
+4 66
+3 22
+15 33
cfi=(253) /home/mithuncy/fsm_p11patch/src/backend/catalog/../../../src/include/nodes/pg_list.h
cfn=(4492) list_head
calls=11 78
* 110
* 22
+2 66
+1 33
-1 22
+2 11
-4 22
+7 22
+14 22
+4 40
+2 60
+1 8
-1 4
+4 20
+13 20
+17 55
+1 33
+2 33
+1 44
+1 22
+1 22
+1 22
+1 22
+1 44
+1 44
+1 33
+1 22
-99 59
1715 3
cfi=(149)
cfn=(4882)
calls=1 +79
* 90
+2 1
+1 2
fn=(5048)
2874 6
+5 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 47
* 1
* 2
+12 5
cfn=(4494) get_namespace_oid
calls=1 3026
* 18364
* 1
+1 2
+3 1
cfi=(54)
cfn=(3326)
calls=1 381
* 5
* 6
cfi=(227)
cfn=(4502)
calls=1 4694
* 51
* 1
+1 2
+4 3
+2 1
+1 2
fn=(1122)
4190 4
+6 1
+1 2
fn=(5174)
230 4500
+3 500
+1 500
+1 2500
+8 2000
+33 1000
+10 2000
+25 2000
+14 2000
cfn=(5176) RelnameGetRelid
calls=500 674
* 27310487
* 500
+13 1000
+10 1000
+12 1000
+15 1000
+2 2000
+1 2500
cfi=(160)
cfn=(3026)
calls=500 106
* 1163548
* 500
+22 1500
+1 500
+11 1000
+15 500
+1 2000
fn=(4870)
1465 12
+7 12
cfn=(4860)
calls=2 2792
* 110
+2 6
+29 18
cfi=(151)
cfn=(4872)
calls=2 -76
* 56346
* 2
+5 8
+3 3
cfi=(149)
cfn=(4882)
calls=1 1794
* 90
+1 2
+8 1
cfn=(4490)
calls=1 3691
* 22
+2 3
cfi=(253)
cfn=(4492)
calls=1 78
* 10
* 2
+2 3
+3 3
+3 2
+2 7
+1 8
+2 4
+2 3
+2 3
cfi=(149)
cfn=(4882)
calls=1 1794
* 90
+1 2
-10 4
-8 2
+25 4
fn=(4860)
2792 49
+2 7
+1 7
+2 21
cfi=(253)
cfn=(4862) list_length
calls=7 90
* 70
* 38
+3 18
cfi=(253)
cfn=(4492)
calls=6 78
* 60
* 18
+1 6
+2 3
cfi=(253)
cfn=(4492)
calls=1 78
* 10
* 3
+1 3
cfi=(253)
cfn=(4492)
calls=1 78
* 10
* 4
+1 1
+23 21
+1 21
+1 28
fn=(4864)
4304 10
+1 2
+3 2
cfn=(4490)
calls=2 3691
* 44
+2 6
cfi=(253)
cfn=(4492)
calls=2 78
* 20
* 4
+2 12
+2 12
+3 12
+1 28
+1 4
-9 24
+12 2
+1 4
fn=(5176)
674 2000
+4 500
cfn=(4490)
calls=500 3691
* 11000
+2 1500
cfi=(253)
cfn=(4492)
calls=500 78
* 5000
* 1000
+2 3000
+2 5000
cfi=(272)
cfn=(5178) get_relname_relid
calls=1000 1655
* 27272987
* 1000
+1 2000
+1 1000
-6 3500
+11 1000
fn=(4570)
3395 2020
+4 505
cfn=(4490)
calls=505 3691
* 11110
+3 1515
cfi=(253)
cfn=(4492)
calls=505 78
* 5050
* 505
+3 2020
+8 2020
+2 3030
+1 2020
+5 4040
+3 2020
cfi=(253)
cfn=(4492)
calls=505 78
* 5050
* 1010
+2 4040
+1 1515
-3 4040
+7 1010
+2 505
+1 1010
fn=(4490)
3691 3039
+1 1013
cfi=(54)
cfn=(3326)
calls=1013 381
* 5065
* 1013
+11 3039
+4 6075
+1 1012
+3 3
cfi=(13)
cfn=(928)
calls=1 1162
* 189
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 1707
* 3
+13 1
+1 1
+1 3
cfi=(253)
cfn=(4492)
calls=1 78
* 10
* 2
+2 6
+3 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 93
* 2
* 4
+5 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 342
* 1
+1 2
+4 9
+1 4
cfn=(4494)
calls=1 3026
* 19306
* 1
+1 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+1 2
+5 1
+3 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 47
* 1
* 2
+19 4
cfn=(4494)
calls=1 3026
* 18693
* 1
+1 2
+1 5
cfi=(45)
cfn=(3414)
calls=1 506
* 23
* 1
-1 2
+2 6
cfi=(227)
cfn=(4502)
calls=1 4694
* 51
-1 2
+3 1
-1 5
+2 5
cfi=(45)
cfn=(4506)
calls=1 165
* 290
* 1
-51 12
+60 2
+3 3
cfi=(253)
cfn=(4492)
calls=1 78
* 10
* 2
+7 4
cfi=(45)
cfn=(3414)
calls=1 506
* 34
* 3
+1 4
cfi=(45)
cfn=(4508)
calls=1 296
* 161
* 1
+2 3
+8 3
cfi=(255) /home/mithuncy/fsm_p11patch/src/backend/catalog/../../../src/include/utils/palloc.h
cfn=(4510) MemoryContextSwitchTo
calls=1 110
* 10
* 1
+1 3
cfi=(45)
cfn=(4512)
calls=1 1164
* 420
* 1
+1 3
cfi=(255)
cfn=(4510)
calls=1 110
* 10
+3 3
cfi=(45)
cfn=(972)
calls=1 1137
* 35
+1 2
+1 2
+1 2
+3 1
+1 2
+3 2
+1 2
+1 2
+3 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 319
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 319
+1 2026
fn=(3680)
3962 14
+9 6
+27 6
+18 4
fn=(3588)
4206 3
+1 3
+25 4
cfi=(155)
cfn=(2910)
calls=1 1410
* 86
+4 1
+2 2
fn=(4488)
3343 12
+5 3
cfn=(4490)
calls=3 3691
* 42499
+2 9
cfi=(255)
cfn=(4510)
calls=3 110
* 30
* 3
+2 6
cfi=(13)
cfn=(2546)
calls=3 956
* 446
* 3
+1 9
cfi=(45)
cfn=(4512)
calls=3 1164
* 1645
* 3
+1 3
+2 9
cfi=(253)
cfn=(4492)
calls=3 78
* 30
* 12
+5 6
+2 9
cfi=(45)
cfn=(4514)
calls=3 667
* 429
* 3
-9 30
cfi=(253)
cfn=(4492)
calls=6 78
* 60
* 24
+11 9
+2 9
cfi=(255)
cfn=(4510)
calls=3 110
* 30
+2 3
+1 6
fn=(4970)
925 12
+1 1
+1 1
+11 6
cfn=(4860)
calls=1 2792
* 55
+2 3
+10 1
+1 1
cfn=(4490)
calls=1 3691
* 22
+4 7
cfi=(151)
cfn=(4872)
calls=1 1427
* 33888
* 1
+2 2
+2 14
+1 16
+1 8
+2 2
+4 2
+3 4
+14 6
cfi=(253)
cfn=(4492)
calls=2 78
* 20
* 4
+2 12
+1 6
-1 4
+2 2
-4 4
+7 4
+4 4
+50 10
+2 6
+1 6
+1 14
+11 6
+9 2
+3 18
+1 1
+9 4
+2 4
-1 2
cfi=(13)
cfn=(940)
calls=1 925
* 92
* 1
+3 3
+1 4
+1 3
+1 3
+1 3
+12 10
cob=(3)
cfi=(3)
cfn=(856)
calls=1 0
* 12
* 1
+3 2
+4 7
+2 4
+1 6
-1 8
+5 5
+10 2
1258 3
+1 2
957 14
1262 3
cfi=(149)
cfn=(4882)
calls=1 1794
* 90
+2 1
+1 2
fn=(5222) isTempToastNamespace
3152 4500
+1 4500
+2 1500
+1 3000
fn=(1112)
4156 6
+5 4
cfi=(13)
cfn=(928)
calls=1 1162
* 158
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 2597
* 3
+17 3
cfi=(13)
cfn=(952)
calls=1 1032
* 85
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 319
+2 1
+1 2
fn=(4494)
3026 21
+3 24
cfi=(151)
cfn=(3012)
calls=3 1227
* 56290
* 3
+2 10
+5 3
+1 12
fl=(233)
fn=(4144)
110 6012
+1 4008
+2 4008
+1 2004
+1 4008
-5 3042
+1 2028
+2 2028
+1 1014
+1 2028
fl=(43)
fn=(3820) pg_verify_mbstr_len
1895 700008
+9 262503
cfn=(3574)
calls=87501 -83
* 1137513
* 175002
+12 787509
+2 87501
+2 87501
+5 834740
+2 834740
+2 208685
+1 208685
+1 208685
+1 208685
-12 592372
+32 87501
+1 175002
fn=(3818)
1878 700008
+1 525006
cfn=(3820)
calls=87501 +16
* 6596632
* 175002
+1 175002
fn=(3576)
542 24
+3 32
+1 16
+15 8
+1 16
fn=(942)
1834 2036
+1 1018
cfi=(19)
cfn=(612)
calls=1018 1005
* 6108
* 7126
+1 2036
fn=(3574)
1821 262509
+3 700024
+1 175006
fl=(41)
fn=(5116) text_catenate
698 2500
+7 7500
+1 7500
+3 1000
+2 1000
+3 2500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+3 2000
+3 1500
+1 1000
+1 7000
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 7000
* 500
+1 1000
+1 8500
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 6802
* 500
+2 500
+1 1000
fn=(5134)
523 4000
+1 3000
+2 3000
cfn=(3984)
calls=1000 186
* 215000
+1 2000
fn=(5138) text_format_append_string
5757 4000
+1 500
+4 1000
+2 2500
cfi=(80)
cfn=(1918)
calls=500 164
* 62000
+1 500
+32 2000
fn=(1960)
3634 7
+1 2
+1 1
+2 2
+2 6
cfi=(42)
cfn=(934)
calls=1 222
* 17
* 2
+3 4
+9 4
+21 4
+1 1
+3 20
cfi=(42)
cfn=(934)
calls=4 222
* 68
* 12
+1 12
+1 4
-5 36
+7 3
+4 6
cfi=(42)
cfn=(934)
calls=1 222
* 17
* 2
+3 4
+7 4
+1 2
+5 2
+3 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 15
* 1
* 2
+6 3
cfi=(13)
cfn=(928)
calls=1 1162
* 145
* 1
+1 3
cfi=(11)
cfn=(484)
calls=1 255
* 294
+1 6
cfi=(45)
cfn=(960)
calls=1 129
* 228
* 2
+3 4
+2 1
+1 2
fn=(5114) textcat
683 2000
+1 2000
cfi=(171)
cfn=(3986)
calls=500 1950
* 8500
* 500
+1 2000
cfi=(171)
cfn=(3986)
calls=500 1950
* 8500
* 500
+2 2500
cfn=(5116)
calls=500 +11
* 123302
+1 1000
fn=(932)
3507 63
+1 18
+1 9
+2 18
+2 54
cfi=(42)
cfn=(934)
calls=9 222
* 153
* 18
+3 36
+1 4
+8 48
+3 6
+3 10
cob=(3)
cfi=(3)
cfn=(1120)
calls=1 0
* 27
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1301
* 6
* 2
+1 4
+2 10
+1 2
+6 6
+32 2
-24 20
+1 10
+2 45
-2 412
+1 225
cfi=(42)
cfn=(934)
calls=45 222
* 765
* 45
-1 90
+3 20
+1 30
+12 50
+1 60
cfi=(42)
cfn=(936)
calls=10 132
* 2707
* 10
+2 70
cob=(3)
cfi=(3)
cfn=(950)
calls=9 0
* 280
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1321
* 14
+1 30
cfi=(13)
cfn=(952)
calls=10 1032
* 733
+3 70
cfi=(42)
cfn=(934)
calls=12 222
* 204
* 24
+3 48
+2 5
+1 5
+1 5
-1 25
cfi=(42)
cfn=(934)
calls=5 222
* 85
* 25
cfi=(42)
cfn=(934)
calls=5 222
* 50
* 25
+4 28
+1 14
+5 24
+3 36
cob=(3)
cfi=(3)
cfn=(424)
calls=12 0
* 188
* 12
* 72
cfi=(42)
cfn=(958)
calls=12 188
* 168
+5 72
cfi=(45)
cfn=(960)
calls=12 129
* 2910
* 24
+3 48
+2 7
+1 18
fn=(4956) cstring_to_text_with_len
165 5010
+1 5010
cfi=(13)
cfn=(940)
calls=1002 925
* 116715
* 1002
+2 5010
+1 8016
cob=(3)
cfi=(3)
cfn=(856)
calls=1002 0
* 19840
* 1002
+2 1002
+1 2004
fn=(5118) text_format
5304 3000
+10 500
+1 500
+1 500
+1 500
+1 500
+5 2000
+4 2000
cfi=(171)
cfn=(5120)
calls=500 2130
* 10500
* 1000
+44 2000
+1 500
+4 2000
cfi=(171)
cfn=(3986)
calls=500 1950
* 8500
* 500
+1 4500
+1 9000
+1 1500
cfi=(80)
cfn=(1888)
calls=500 47
* 77473
+1 500
+3 1500
+14 134000
+2 660000
+1 33000
+3 2000
+3 2000
+7 5000
cfn=(5122) text_format_parse_format
calls=500 5632
* 60000
* 500
+12 3000
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 13500
* 500
* 1000
+8 1500
+60 1500
+2 1500
+6 2000
+2 3000
+1 2500
+1 3000
cfi=(171)
cfn=(5126)
calls=500 1996
* 58500
* 1000
+8 1000
+3 500
+7 1500
+5 3000
cfi=(272)
cfn=(5078)
calls=500 2642
* 250500
+1 2500
cfi=(171)
cfn=(3344)
calls=500 125
* 41000
+1 1000
+6 4500
+5 6000
cfn=(5128) text_format_string_conversion
calls=500 5710
* 798152
+3 1000
5383 135500
5557 1500
+2 1500
+4 2500
cfn=(4956)
calls=500 165
* 88500
* 500
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+2 500
+1 2500
fn=(5122)
5632 5500
+1 1000
+4 1000
+1 1000
+1 1000
+1 1000
+3 3000
cfn=(5124) text_format_parse_digits
calls=500 -62
* 17000
* 1000
+19 2500
+6 2000
+26 3000
cfn=(5124)
calls=500 5581
* 17000
* 1000
+5 500
+1 2500
fn=(5128)
5710 6000
+4 1000
+14 2500
cfi=(171)
cfn=(5130)
calls=500 1754
* 131000
* 500
+3 1000
+3 1500
cfi=(295)
cfn=(5136)
calls=500 10555
* 532652
* 3000
cfn=(5138)
calls=500 +23
* 72500
* 500
+14 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 2000
fn=(4952)
512 2008
+1 1506
+2 1506
cfn=(4954) cstring_to_text
calls=502 153
* 91182
+1 1004
fn=(3984)
186 4012
+2 3009
cfi=(171)
cfn=(3986)
calls=1003 1950
* 17051
* 1003
+1 15051
+3 5000
cfi=(13)
cfn=(940)
calls=1000 925
* 123000
-3 3
+3 15
cfi=(13)
cfn=(940)
calls=3 925
* 338
* 1003
+1 14033
cob=(3)
cfi=(3)
cfn=(856)
calls=1000 0
* 20000
* 1000
* 12
cob=(3)
cfi=(3)
cfn=(856)
calls=3 0
* 48
* 3
+1 5015
+2 3009
+3 1003
+1 2006
fn=(4954)
153 2008
+1 1506
cob=(3)
cfi=(3)
cfn=(424)
calls=502 0
* 7541
* 502
* 2510
cfn=(4956)
calls=502 +11
* 76111
+1 1004
fn=(5124)
5581 8000
+1 1000
+1 3000
+1 1000
+2 9000
+13 3000
+1 3000
+2 1000
+1 5000
fl=(273)
fn=(4666)
2987 15
+3 9
+6 12
+1 6
3717 6
fl=(296)
fn=(5166)
796 5000
+2 1500
+1 2500
+3 500
+6 2000
+2 2000
+11 1500
cfi=(54)
cfn=(3326)
calls=500 381
* 2500
* 1500
cfi=(168)
cfn=(5168)
calls=500 4932
* 15500
* 1500
+7 2000
+9 2000
+2 2500
+9 3000
cfi=(169)
cfn=(5170)
calls=500 1336
* 65247981
* 500
+2 1500
+2 4000
cfi=(282)
cfn=(5200)
calls=500 1290
* 815500
* 500
+2 3000
+2 1500
+1 3500
cfn=(5206) CopyGetAttnums
calls=500 4827
* 168000
* 500
+1 1500
cfi=(46)
cfn=(966)
calls=500 78
* 5000
* 1000
+2 2000
+3 1000
+1 3000
cfi=(276)
cfn=(4844) bms_add_member
calls=500 -99
* 108500
* 1500
-6 3500
+10 2500
cfi=(300)
cfn=(5210)
calls=500 571
* 12787784
+16 3000
cfi=(301)
cfn=(5224)
calls=500 53
* 250500
* 1000
+93 500
+16 1000
+5 1500
+2 1000
cfi=(221)
cfn=(5226)
calls=500 258
* 10000
+2 8000
cfn=(5228) BeginCopyFrom
calls=500 3152
* 2548802
* 500
+2 1500
cfn=(5250) CopyFrom
calls=500 2285
* 265291287
* 1000
+1 1500
cfn=(5514) EndCopyFrom
calls=500 3635
* 605092
* 500
+16 1000
+1 4000
cfi=(169)
cfn=(3080)
calls=500 1283
* 56500
+1 2500
fn=(5302) CopyGetData
567 8000
+1 1000
+2 6000
+3 8000
cob=(3)
cfi=(3)
cfn=(1336) fread
calls=1000 0
* 226500
* 1000
* 1000
+1 4000
cob=(3)
cfi=(3)
cfn=(1366)
calls=1000 0
* 36000
* 1000
* 2000
+4 2000
+1 1000
+1 1000
+88 1000
+1 4000
fn=(5304) CopyReadAttributesCSV
4355 437500
+1 350000
+1 350000
+1 350000
+10 350000
+9 350000
cfi=(80)
cfn=(1890)
calls=87500 63
* 1050000
+9 525000
+2 262500
+3 262500
+1 612500
+3 87500
+3 87500
+1 87500
+6 350000
+8 175000
+1 700000
+16 175000
+1 262500
-1 417000
+1 625500
+1 87500
+1 1042500
+2 625500
+6 625500
+6 1042500
+1 208500
+48 350000
+3 437500
+1 700000
+4 87500
+2 350000
+1 87500
+4 87500
+2 700000
+2 175000
+1 350000
fn=(5328) CopyFromInsertBatch
3064 4500
+4 1500
+6 1000
+1 1500
+6 5000
cfi=(302)
cfn=(5232)
calls=500 110
* 5000
* 500
+1 5000
cfi=(169)
cfn=(5330)
calls=500 2699
* 82065823
+6 1500
cfi=(302)
cfn=(5232)
calls=500 110
* 5000
+6 2000
+22 2000
+14 1500
+1 1500
+1 1000
fn=(5206)
4827 7000
+1 1000
+2 2000
+3 3000
+3 2000
+2 11000
+2 6000
cfi=(45)
cfn=(5208)
calls=1000 147
* 290000
* 1000
-4 8000
+55 1000
+1 4000
fn=(5516) EndCopy
1736 2500
+1 2000
+6 4000
cfi=(25)
cfn=(1374)
calls=500 2385
* 255117
* 1000
+7 2000
cfi=(13)
cfn=(1396)
calls=500 212
* 287975
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
+1 2000
fn=(5234) ProcessCopyOptions
1047 5000
+1 500
+4 1000
+3 1500
+2 1000
+3 1500
cfi=(46)
cfn=(966)
calls=500 78
* 5000
* 1000
+2 1500
+2 2500
cob=(3)
cfi=(3)
cfn=(446)
calls=500 0
* 26000
* 500
* 1000
+2 1500
cfi=(303)
cfn=(5236)
calls=500 50
* 11000
* 500
+2 1000
+5 500
+1 2000
cob=(3)
cfi=(3)
cfn=(446)
calls=500 0
* 11000
* 500
* 1000
+2 2000
cob=(3)
cfi=(3)
cfn=(446)
calls=500 0
* 11000
* 500
* 1000
+1 1500
+4 500
-21 3500
1238 2000
+5 2000
+6 2000
+1 4000
+2 2000
+1 4000
+1 2000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1500
+2 2000
+2 2000
+1 1000
+1 2000
+1 2000
+4 2000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1000
+6 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
* 1000
+1 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
-1 1000
+6 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
* 1000
+1 2500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
-1 1000
+16 2500
+8 2500
+6 2500
+5 4000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1000
+5 6000
+6 2500
+5 4000
cob=(3)
cfi=(3)
cfn=(424)
calls=500 0
* 7500
* 500
* 1000
+6 2500
+4 4000
+6 2500
+4 2000
+6 2500
+5 2000
+6 4500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
* 1000
+6 2000
+1 4500
cob=(3)
cfi=(3)
cfn=(1120)
calls=500 0
* 11500
* 500
-1 1000
+5 2500
fn=(5296) CopyReadLine
3651 352000
+3 352000
cfi=(80)
cfn=(1890)
calls=88000 63
* 1056000
+1 176000
+3 176000
+3 264000
cfn=(5298) CopyReadLineText
calls=88000 +79
* 28620000
* 88000
+2 176000
+7 2000
+14 350000
+5 437500
+1 612500
+1 87500
+22 352000
+4 792000
cfi=(19)
cfn=(3816)
calls=88000 562
* 10539000
* 88000
+3 352000
+10 176000
+2 88000
+1 176000
fn=(5514)
3635 2000
+3 1500
cfn=(5516)
calls=500 1736
* 600592
+1 1000
fn=(5250)
2285 3000
+7 500
+1 500
cfi=(240)
cfn=(4322)
calls=500 86
* 335353
* 500
+4 1000
+2 500
+1 500
+2 1000
cfi=(26)
cfn=(3000)
calls=500 663
* 5000
* 500
+1 500
+3 500
+1 500
+3 500
+4 500
+1 500
+1 500
+1 500
+1 500
+1 1000
+9 3000
+29 2000
+51 3000
+1 1500
-1 1000
+2 1500
-1 1000
+19 2000
+46 2000
cfi=(13)
cfn=(3400)
calls=500 853
* 134500
* 2500
+1 4000
cfi=(300)
cfn=(5252)
calls=500 1286
* 148000
+5 1000
+3 2000
cfi=(300)
cfn=(5258)
calls=500 1081
* 25500
+2 2000
cfi=(306)
cfn=(5262)
calls=500 150
* 10000
+2 1500
+1 1000
+1 1500
+2 3000
cfi=(240)
cfn=(5264)
calls=500 720
* 163500
+3 3000
cfi=(257)
cfn=(5266) ExecInitExtraTupleSlot
calls=500 1683
* 336803
* 500
+3 2500
cfi=(257)
cfn=(5266)
calls=500 1683
* 212500
* 1000
+7 2000
cfi=(13)
cfn=(3400)
calls=500 853
* 211500
* 2500
+1 1000
+1 1500
+1 1000
+1 2000
+2 2000
+6 500
cfi=(165)
cfn=(5280) AfterTriggerBeginQuery
calls=500 4810
* 3500
+12 1000
-1 4000
cfi=(165)
cfn=(5282) MakeTransitionCaptureState
calls=500 4688
* 6000
-1 3000
+9 3000
+9 2000
+12 1000
+12 2000
+1 1000
-1 1000
+42 1000
+6 500
+2 1000
cfi=(13)
cfn=(940)
calls=500 925
* 334717
* 500
+3 3500
+3 3500
+9 2500
cfi=(165)
cfn=(5284) ExecBSInsertTriggers
calls=500 2450
* 8000
+2 3000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+1 2500
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+2 500
cfi=(169)
cfn=(5286)
calls=500 2377
* 731601
* 500
+1 3500
cfi=(240)
cfn=(5290)
calls=500 415
* 377817
* 500
+3 500
+1 1000
+1 1000
+1 1000
+7 264000
+2 176000
+7 4500
cfi=(13)
cfn=(3734)
calls=500 137
* 7500
+4 880000
cfi=(302)
cfn=(5232)
calls=88000 110
* 880000
+2 528000
cfn=(5292) NextCopyFrom
calls=88000 3448
* 118822000
* 264000
+1 500
2985 1500
2671 525000
cfi=(178)
cfn=(5314)
calls=87500 1025
* 42833705
* 87500
+6 437500
+3 262500
cfi=(302)
cfn=(5232)
calls=87500 110
* 875000
+3 175000
+1 525000
cfi=(257)
cfn=(5322) ExecStoreHeapTuple
calls=87500 1275
* 6825000
+3 175000
2859 87500
+3 175000
+10 350000
+2 175000
+11 350000
+1 350000
-1 175000
+10 350000
+9 175000
+3 175000
+1 1500
+1 4500
+1 2000
+8 1000
-9 783000
+1 348000
+8 436500
+62 87500
+2 87500
+5 1000
+8 8000
cfn=(5328)
calls=500 +69
* 82104323
+7 1000
+2 1500
cfi=(169)
cfn=(5484)
calls=500 2391
* 282968
+2 1500
cfi=(302)
cfn=(5232)
calls=500 110
* 5000
+6 2000
+4 3500
cfi=(165)
cfn=(5488) ExecASInsertTriggers
calls=500 2508
* 6500
+3 1500
cfi=(165)
cfn=(5490) AfterTriggerEndQuery
calls=500 4830
* 7000
+2 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 36000
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 36000
+2 2500
cfi=(257)
cfn=(5492) ExecResetTupleTable
calls=500 1113
* 131000
+3 2000
+5 1500
cfi=(306)
cfn=(5502)
calls=500 225
* 8500
+3 1000
+4 1500
cfi=(300)
cfn=(5504)
calls=500 1454
* 11000
+2 1500
cfi=(240)
cfn=(5506)
calls=500 195
* 693500
+6 2000
+3 500
+1 2500
fn=(5294) NextCopyFromRawFields
3395 528000
+8 354000
+7 440000
+3 264000
cfn=(5296)
calls=88000 3651
* 45312500
* 88000
+7 178000
+1 1000
+3 350000
+1 262500
cfn=(5304)
calls=87500 4355
* 14824500
* 175000
+4 350000
+1 262500
+1 87500
+1 176000
fn=(5228)
3152 6000
+2 1500
+13 5500
cfn=(5230) BeginCopy
calls=500 1401
* 1105500
* 500
+1 2000
cfi=(302)
cfn=(5232)
calls=500 110
* 5000
* 500
+3 1000
+1 1000
+1 3000
+1 1000
+1 1000
+1 1000
+3 2000
cfi=(80)
cfn=(1888)
calls=500 47
* 77000
+1 2000
cfi=(80)
cfn=(1888)
calls=500 47
* 77000
+1 1000
+1 1000
cfi=(13)
cfn=(940)
calls=500 925
* 177757
* 1000
+1 3000
+3 1000
+1 2000
+2 2000
+1 1500
+1 500
+1 500
+8 3500
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 500
+2 1000
+2 5500
+3 2000
+4 2000
+5 2000
-1 4000
cfi=(272)
cfn=(5076)
calls=500 2609
* 255500
+2 6500
cfi=(171)
cfn=(3344)
calls=500 125
* 41000
+3 3000
cfi=(45)
cfn=(5240)
calls=500 486
* 15000
* 1500
-18 3500
+55 1500
+1 1500
+1 1500
+1 1500
+1 1500
+1 1500
+1 1500
+2 1000
+5 1000
+10 1500
cfi=(13)
cfn=(928)
calls=500 1162
* 102500
* 1000
+2 2000
+13 2500
cfi=(25)
cfn=(1278)
calls=500 2186
* 259250
* 1000
+1 2000
+14 2000
cob=(3)
cfi=(3)
cfn=(1940) fileno
calls=500 0
* 3000
* 500
* 2000
cfi=(9)
cfn=(5242)
calls=500 0
* 8795
* 1000
+6 2000
+7 2000
+43 2500
+2 2000
cfi=(46)
cfn=(5248) list_length
calls=500 90
* 5000
* 500
+2 1500
+1 2000
cfi=(13)
cfn=(940)
calls=500 925
* 55000
* 1000
+3 1500
cfi=(302)
cfn=(5232)
calls=500 110
* 5000
+2 500
+1 2500
fn=(5292)
3448 704000
+4 264000
+1 264000
+1 264000
+2 264000
+1 264000
+2 352000
+1 264000
+1 352000
cfi=(46)
cfn=(5248)
calls=88000 90
* 880000
* 88000
+3 3168000
+1 1672000
cob=(3)
cfi=(3)
cfn=(828)
calls=88000 0
* 1760000
* 88000
+2 440000
+9 528000
cfn=(5294)
calls=88000 -81
* 63653500
* 264000
+1 1000
+3 525000
+5 87500
+3 350000
cfi=(46)
cfn=(966)
calls=87500 78
* 875000
* 175000
+2 262500
+1 262500
+1 875000
+2 262500
+5 787500
+2 350000
+7 350000
+2 175000
+9 875000
+13 350000
+1 262500
+1 612500
+2 437500
-2 1225000
cfi=(171)
cfn=(4950)
calls=87500 1710
* 31560500
* 87500
+4 175000
+1 437500
+1 175000
+1 175000
-53 700000
3614 437500
+13 87500
+1 352000
fn=(5230)
1401 5500
+7 1000
cfi=(13)
cfn=(2546)
calls=500 956
* 270500
* 500
+6 3500
cfi=(14)
cfn=(432)
calls=500 395
* 53500
* 1000
+4 2000
cfi=(302)
cfn=(5232)
calls=500 110
* 5000
* 500
+3 3000
cfn=(5234)
calls=500 1047
* 303500
+3 1000
+4 1500
+2 2500
1570 3500
cfn=(5206)
calls=500 4827
* 168000
* 1000
+2 1500
+3 2000
cfi=(13)
cfn=(2546)
calls=500 956
* 73000
* 1000
+1 2000
+7 2000
+22 2000
cfi=(13)
cfn=(2546)
calls=500 956
* 73000
* 1000
+1 2000
+22 2000
cfi=(13)
cfn=(2546)
calls=500 956
* 73000
* 1000
+1 2000
+22 2000
+24 2000
+1 500
cfi=(19)
cfn=(5238)
calls=500 307
* 3000
* 1000
+8 1500
cfi=(19)
cfn=(612)
calls=500 1005
* 3000
* 1000
+1 500
cfi=(43)
cfn=(942)
calls=500 1834
* 9000
-1 2500
-1 1000
+4 4000
+2 1000
+2 1500
cfi=(302)
cfn=(5232)
calls=500 110
* 5000
+2 500
+1 2000
fn=(5298)
3740 528000
+4 88000
+1 88000
+1 88000
+4 88000
+1 88000
+1 88000
+1 88000
+1 88000
+2 352000
+2 352000
+1 352000
+2 264000
+1 88000
+3 88000
+23 264000
+1 264000
+1 264000
+17 1480500
+2 4000
+6 3000
cfn=(5300) CopyLoadRawBuf
calls=1000 749
* 345500
* 3000
+1 500
+1 500
+1 1500
+6 1000
-7 500
+1 1500
+6 1000
+2 500
+1 500
+2 500
+4 1000
+1 4000
+2 2000
-3 591000
+1 2364000
+2 1182000
+11 1184000
+13 592000
+2 888000
+2 888000
+1 296000
+8 592000
+5 592000
+56 1379500
+2 700000
+9 175000
+2 87500
+7 417000
4072 834000
+11 208500
+1 208500
+5 1664500
cfi=(80)
cfn=(1920)
calls=87500 215
* 7615000
* 262500
+2 87500
+1 437500
-1 500
+1 2500
fn=(5300)
749 4000
+4 6000
+8 1000
+2 13000
cfn=(5302)
calls=1000 567
* 303500
* 1000
+2 2000
+1 6000
+1 2000
+1 3000
+1 2000
+1 2000
fl=(138)
fn=(2804)
526 24
+8 4
+3 12
cfn=(2768) find_active_timeout
calls=4 83
* 58
* 4
+1 8
+1 6
cfn=(2806) remove_timeout_index
calls=2 121
* 42
+3 16
+1 16
+3 12
+2 8
fn=(2768)
83 18
+3 12
+2 12
+1 4
-3 18
+6 4
+1 12
fn=(2772) schedule_alarm
186 8
+1 6
+6 110
+3 14
cfi=(21)
cfn=(2774)
calls=2 1646
* 80
+7 6
+3 4
+1 6
+32 2
+3 10
cob=(3)
cfi=(3)
cfn=(2780) setitimer
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1310
* 6
* 4
+3 4
fn=(2766) enable_timeout
139 12
+11 6
cfn=(2768)
calls=2 -67
* 22
* 2
+1 4
+7 10
+13 8
+1 10
+1 10
+2 10
cfn=(2770) insert_timeout
calls=2 -74
* 56
+1 4
fn=(2770)
101 10
+3 10
+4 14
+3 12
+2 6
+1 4
fn=(2758)
341 6
+4 2
+2 2
+2 4
+2 192
+1 160
+1 160
+1 160
+1 160
-6 100
+9 2
+3 6
cfi=(28)
cfn=(784)
calls=2 41
* 348
+1 4
fn=(2764)
429 10
+5 2
+3 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 2
+1 12
+1 12
cfn=(2766)
calls=2 139
* 154
+3 6
cfn=(2772)
calls=2 186
* 1575
+1 4
fn=(2762)
374 30
+5 10
+14 25
+2 5
+1 20
fn=(2806)
121 8
+3 10
+4 14
+3 6
+1 4
fl=(190)
fn=(3436) index_getnext_tid
528 15800
+4 18960
+10 28440
cfi=(188)
cfn=(3438) btgettuple
calls=3160 215
* 26214337
* 3160
+3 6320
+3 12640
+3 2084
+2 36
cfi=(50)
cfn=(3258)
calls=9 3316
* 2169
+1 18
+2 1042
+3 36946
+3 5278
+1 6320
fn=(3498) index_fetch_heap
585 10556
+1 7917
+1 2639
+4 13195
+3 7917
+4 23751
-2 21112
cfi=(50)
cfn=(3468)
calls=2639 1522
* 2609594
* 5278
+7 10556
+1 16450
cfi=(176)
cfn=(3224)
calls=2350 75
* 197400
+4 13195
cfi=(50)
cfn=(3232)
calls=2639 3553
* 427518
+6 21112
-5 42224
cfi=(169)
cfn=(3500)
calls=2639 2053
* 884529
* 2639
+6 13195
cfi=(50)
cfn=(3232)
calls=2639 3553
* 298207
+2 5278
+6 23751
+1 29029
+1 7917
+17 5278
fn=(3514)
178 14610
+1 8766
+5 8766
cfi=(148)
cfn=(3082)
calls=2922 2003
* 286356
+2 5844
+1 14610
cfi=(160)
cfn=(3090)
calls=2922 -5
* 7010306
+1 5844
fn=(3428)
314 22776
+2 17082
+6 11388
+6 5694
+2 5694
+2 28470
cfi=(188)
cfn=(3430) btrescan
calls=2847 +62
* 510667
+2 5694
fn=(3434)
661 15800
+6 12640
+13 15800
cfn=(3436)
calls=3160 528
* 26353550
* 3160
+3 6320
+1 521
+13 1042
-5 7917
cfn=(3498)
calls=2639 585
* 4700237
* 2639
+1 5278
+1 5278
+4 6320
fn=(3420) index_beginscan_internal
272 28470
+4 14235
+2 17082
+6 8541
cfi=(148)
cfn=(3064)
calls=2847 1970
* 250536
+5 22776
cfi=(188)
cfn=(3422) btbeginscan
calls=2847 +58
* 2590896
* 2847
+3 8541
+1 8541
+2 2847
+1 5694
fn=(3418)
226 22776
+3 22776
cfn=(3420)
calls=2847 +43
* 2961006
* 2847
+6 8541
+1 8541
+2 2847
+1 5694
fn=(3448)
859 35848
+5 22405
+4 35848
+2 13443
+4 31367
+3 17924
+2 78
+5 182
+8 52
+4 182
cfi=(171)
cfn=(3104)
calls=26 135
* 2158
+3 4481
+1 8962
fn=(3508)
342 11388
+2 17082
+3 11388
+2 9304
cfi=(50)
cfn=(3258)
calls=2326 3316
* 560566
+1 4652
+4 16282
cfi=(188)
cfn=(3510) btendscan
calls=2326 +99
* 826954
* 3647
cfi=(188)
cfn=(3510)
calls=521 +99
* 182595
+3 11388
cfi=(148)
cfn=(3084)
calls=2847 1983
* 253383
+2 11388
+4 8541
cfi=(172)
cfn=(3512)
calls=2847 147
* 543777
+1 5694
fn=(3416)
152 16296
+3 13580
cfi=(169)
cfn=(3025)
calls=1070 1125
* 2980138
cfi=(169)
cfn=(3024)
calls=1646 1125
* 9557892
* 2716
+2 13580
+7 2716
+1 10864
fn=(3417)
152 1236
+3 1030
cfi=(169)
cfn=(3025)
calls=206 1125
* 432961
* 206
+2 1030
+7 206
+1 824
fl=(292)
fn=(5058)
30 4
+8 9
+1 9
-1 2
+2 2
+1 2
-2 2
+3 2
+3 2
fl=(28)
fn=(784)
41 95
+5 38
+1 76
cob=(3)
cfi=(3)
cfn=(756)
calls=19 -47
* 722
* 19
+1 19
+2 38
+1 3
+2 6
cob=(5)
cfi=(5)
cfn=(782)
calls=1 -53
* 109
* 1
* 108
cob=(5)
cfi=(5)
cfn=(782)
calls=18 -53
* 1962
* 18
* 38
+2 19
+4 38
fn=(776)
72 35
+4 14
+1 28
cob=(3)
cfi=(3)
cfn=(756)
calls=7 -77
* 266
* 7
+1 7
+2 14
+1 3
+2 6
cob=(5)
cfi=(5)
cfn=(782)
calls=1 -83
* 109
* 1
* 36
cob=(5)
cfi=(5)
cfn=(782)
calls=5 -83
* 545
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -83
* 922
* 10
* 14
+2 7
+1 14
fl=(57)
fn=(1886) in_error_recursion_trouble
194 26
+2 39
+1 26
fn=(1882)
785 66
+1 30
+3 18
+1 18
+1 24
cfi=(79)
cfn=(1884)
calls=6 110
* 60
* 6
+2 18
+1 6
cfn=(1886)
calls=6 194
* 42
* 30
cfi=(80)
cfn=(1888)
calls=6 47
* 769
* 6
cob=(5)
cfi=(5)
cfn=(472)
calls=6 0
* 18
* 6
* 90
cfi=(80)
cfn=(1892)
calls=6 121
* 3800
* 66
cfi=(13)
cfn=(928)
calls=6 1162
* 1067
* 30
cfi=(13)
cfn=(952)
calls=6 1032
* 510
+2 18
cfi=(79)
cfn=(1884)
calls=6 110
* 60
+1 18
+1 6
+1 12
fn=(1896)
411 66
+1 30
+5 18
+1 18
+1 18
+6 18
cfi=(79)
cfn=(1884)
calls=6 110
* 60
* 6
+7 30
+9 12
+33 15
+1 4
cfi=(58)
cfn=(5704)
calls=1 1637
* 12
+3 6
cfn=(1898) EmitErrorReport
calls=6 1434
* 64351
+3 24
+1 24
cfi=(13)
cfn=(952)
calls=6 1032
* 510
+1 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+2 24
+3 18
+3 18
cfi=(79)
cfn=(1884)
calls=6 110
* 60
+1 18
+5 12
+8 3
+9 3
cob=(3)
cfi=(3)
cfn=(2562)
calls=1 0
* 54
* 1
+1 3
cob=(3)
cfi=(3)
cfn=(2562)
calls=1 0
* 54
* 1
+7 2
cfi=(67)
cfn=(5716)
calls=1 105
* 47594
+3 10
+19 15
+1 10
fn=(1900) send_message_to_server_log
2852 42
+3 18
cfi=(80)
cfn=(1888)
calls=6 47
* 738
+2 6
+1 6
+2 30
cfn=(1902) log_line_prefix
calls=6 2301
* 43813
+1 24
cfn=(1928) error_severity
calls=6 3323
* 90
* 12
cfn=(1930) err_gettext
calls=6 206
* 36
* 36
cfi=(80)
cfn=(1926)
calls=6 79
* 2700
+2 18
+3 24
+1 36
cfn=(1932) append_with_tabs
calls=6 3374
* 10098
* 6
+4 24
+3 24
+4 24
cfi=(80)
cfn=(1924)
calls=6 176
* 210
+2 18
+2 24
+7 24
+7 24
+7 24
+7 24
+7 18
+22 36
cfn=(1550) is_log_level_output
calls=6 3439
* 87
* 12
+1 6
-1 12
+12 24
+47 24
+7 18
+15 30
cfn=(1934) write_console
calls=6 2145
* 1489
+4 18
+4 24
+25 18
cfi=(13)
cfn=(952)
calls=6 1032
* 510
+2 36
fn=(1930)
206 21
+7 7
+2 14
fn=(1904) setup_formatted_log_time
2216 18
+4 24
+2 18
cob=(10)
cfi=(22)
cfn=(662)
calls=6 0
* 18
* 6
+1 6
+3 12
+10 30
cfi=(35)
cfn=(1048)
calls=6 1375
* 6180
-3 30
cfi=(82)
cfn=(1906)
calls=6 123
* 27287
+6 90
cfi=(17)
cfn=(1138)
calls=6 231
* 3606
+1 30
cob=(3)
cfi=(3)
cfn=(856)
calls=6 0
* 72
* 6
+1 12
fn=(5714) err_sendstring
3123 35
+1 7
cfn=(1886)
calls=7 194
* 49
* 14
+3 35
cfi=(179)
cfn=(3714)
calls=7 198
* 1126
+1 14
fn=(1902)
2301 30
+15 24
+2 2
+1 4
+1 2
+2 6
+2 6
-2 12
+2 12
+3 18
+2 144
+3 168
cfi=(80)
cfn=(1924)
calls=24 176
* 840
+1 24
+4 12
+1 48
+2 48
+22 48
+1 24
+5 108
+64 18
+3 36
cfi=(80)
cfn=(1926)
calls=6 79
* 3684
+1 6
+8 6
cfn=(1904)
calls=6 2216
* 37445
+1 18
+3 24
cfi=(80)
cfn=(1918)
calls=6 164
* 768
+1 6
2327 210
2602 12
fn=(1932)
3374 30
+3 6
+2 7506
+1 556
-3 1988
+6 12
fn=(2820)
1846 4
+4 3
+37 4
fn=(2084)
1286 108
+4 54
+8 108
+13 90
+1 36
+5 72
cob=(3)
cfi=(3)
cfn=(1880) __strrchr_sse42
calls=18 0
* 317
* 18
* 18
+1 36
+3 54
+1 54
+1 54
+2 18
cob=(5)
cfi=(5)
cfn=(472)
calls=18 0
* 54
* 18
* 54
+3 54
+1 36
fn=(1150)
1897 10
+11 11
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+1 1
-1 2
+3 3
+5 3
+2 3
cob=(3)
cfi=(3)
cfn=(384)
calls=1 0
* 242
* 1
* 1
+2 2
+2 4
fn=(1898)
1434 18
+1 30
+3 18
+1 18
+1 24
cfi=(79)
cfn=(1884)
calls=6 110
* 60
* 6
+21 42
+4 24
+1 18
cfn=(1900)
calls=6 2852
* 60515
+3 24
+1 3
cfn=(5706) send_message_to_frontend
calls=1 3135
* 3443
+2 18
cfi=(79)
cfn=(1884)
calls=6 110
* 60
+1 18
+1 12
fn=(5706)
3135 5
+4 9
cfi=(179)
cfn=(3292)
calls=1 88
* 137
+2 4
+8 4
cfn=(1928)
calls=1 3323
* 15
* 1
+1 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
+1 3
cfn=(1930)
calls=1 206
* 6
* 5
cfn=(5714)
calls=1 -28
* 182
+1 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
+1 5
cfn=(5714)
calls=1 -30
* 182
+3 3
+1 2
+2 30
+1 5
-3 17
+5 3
+2 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
+1 5
cfn=(5714)
calls=1 -42
* 178
+3 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
+1 4
+1 6
cfn=(5714)
calls=1 -47
* 194
* 1
+4 4
+8 4
+6 4
+6 4
+6 4
+6 4
+6 4
+6 4
+6 4
+7 4
+7 4
+6 4
+2 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
+1 6
cfn=(5714)
calls=1 3123
* 182
+3 4
+2 9
cfi=(17)
cfn=(462)
calls=1 203
* 489
+1 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
+1 5
cfn=(5714)
calls=1 3123
* 178
+3 4
+2 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
+1 6
cfn=(5714)
calls=1 3123
* 184
+3 4
cfi=(319)
cfn=(5708)
calls=1 162
* 88
* 1
+33 3
cfi=(179)
cfn=(3298)
calls=1 299
* 389
+10 3
cfi=(58)
cfn=(3776)
calls=1 1401
* 186
+1 4
fn=(1928)
3323 21
+3 49
+11 5
+1 5
+14 2
+1 2
+9 7
+1 14
fn=(2086)
1336 198
+1 90
+3 54
+5 54
+1 18
cob=(5)
cfi=(5)
cfn=(472)
calls=18 0
* 54
* 18
* 54
+1 180
cfn=(1548)
calls=18 232
* 1048
* 54
+1 18
+18 36
fn=(5702)
571 4
+1 5
+3 3
+2 3
+2 1
+1 2
fn=(1548)
232 848
+3 106
+7 212
+6 3
+15 2
+16 5
+11 530
cfn=(1550)
calls=106 3439
* 1687
* 106
+3 350
+8 48
+1 20
+2 85
+5 20
-5 2
+5 1012
+1 200
+6 18
+12 30
+21 36
+12 30
+1 1128
+1 18
+1 18
+1 18
+1 12
+5 24
cob=(3)
cfi=(3)
cfn=(1880)
calls=5 0
* 134
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1335
* 10
* 6
+1 12
+3 18
+1 18
+1 18
+2 30
+2 24
+2 12
+1 3
+1 10
+3 10
+2 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
* 1
cob=(5)
cfi=(5)
cfn=(472)
calls=1 0
* 3
* 1
* 18
+5 18
+2 18
+1 6
+1 212
fn=(1550)
3439 448
+1 428
+2 40
+1 20
+2 204
+7 306
+1 4
+2 100
+1 224
fn=(1934)
2145 36
+62 30
cob=(3)
cfi=(3)
cfn=(1940)
calls=5 0
* 30
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1275
* 10
* 30
cob=(5)
cfi=(5)
cfn=(1568)
calls=6 0
* 42
* 6
* 6
+2 24
fl=(136)
fn=(2550)
116 48
+4 16
+6 48
cob=(3)
cfi=(3)
cfn=(1246)
calls=8 0
* 1108
* 8
* 8
+1 64
+4 32
+7 16
+2 20
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 60
* 4
+2 8
+1 44
+4 12
+1 24
cob=(3)
cfi=(3)
cfn=(856)
calls=4 0
* 56
* 4
* 4
+10 16
+2 20
cob=(3)
cfi=(3)
cfn=(828)
calls=4 0
* 56
* 4
+1 8
+2 128
+2 128
+1 256
+6 64
-11 200
+13 24
cob=(3)
cfi=(3)
cfn=(856)
calls=4 0
* 72
* 4
* 4
+8 32
+1 8
+1 16
fl=(193)
fn=(3472)
266 33606
+3 16803
+7 11202
fl=(278)
fn=(4764) ExecInitExprRec
645 24
+1 42
+3 3
cfi=(52)
cfn=(3958)
calls=3 3263
* 81
+4 6
+1 6
+3 24
+60 4
+2 2
+1 6
+1 6
+2 10
cfn=(4766) ExprEvalPushStep
calls=2 2133
* 370
+1 2
881 2
+2 13
cfn=(5102) ExecInitFunc
calls=1 2160
* 7585
+3 5
cfn=(4766)
calls=1 2133
* 57
+1 1
2123 12
fn=(4765) ExecInitExprRec'2
645 24
+1 42
+3 3
cfi=(52)
cfn=(3958)
calls=3 3263
* 81
+4 6
+1 6
+3 24
+72 2
+3 4
+16 4
+1 4
+6 6
+2 8
cob=(12)
cfi=(241)
cfn=(5104) plpgsql_param_compile
calls=1 6355
* 247
+10 1
+6 1
892 2
+2 13
cfn=(5103) ExecInitFunc'2
calls=1 2160
* 5970
+3 5
cfn=(4766)
calls=1 2133
* 57
+1 1
1245 2
+7 7
cfn=(4765)
calls=1 645
* 343
+10 1
+3 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 1
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 964
* 1
+2 4
cfi=(247)
cfn=(4434)
calls=1 43
* 24
* 5
cfi=(272)
cfn=(5078)
calls=1 2642
* 496
+2 5
cfi=(171)
cfn=(3344)
calls=1 125
* 82
+1 3
+1 13
+5 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 1
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 1399
* 1
+2 7
cfi=(272)
cfn=(5076)
calls=1 2609
* 511
+2 5
cfi=(171)
cfn=(3344)
calls=1 125
* 82
+1 3
+1 13
+8 2
+1 4
+1 2
+1 2
+1 2
+2 5
cfn=(4766)
calls=1 2133
* 57
+1 2
2123 12
fn=(4766)
2133 45
+1 36
+2 6
+1 18
cfi=(13)
cfn=(940)
calls=3 925
* 369
* 9
+2 36
+7 135
cob=(3)
cfi=(3)
cfn=(856)
calls=9 0
* 216
* 9
+1 18
fn=(4762) ExecPushExprSlots
2281 15
+1 42
+2 3
+1 3
+3 12
+10 12
+10 12
+10 6
fn=(4756) ExecInitExprWithParams
158 15
+2 42
+3 6
+4 12
cfi=(13)
cfn=(3400)
calls=3 853
* 690
* 15
+1 9
+1 6
+1 9
+3 15
cfn=(4758) ExecInitExprSlots
calls=3 2263
* 1008
+3 24
cfn=(4764)
calls=3 645
* 8261
+3 3
+1 15
cfn=(4766)
calls=3 2133
* 171
+2 9
cfn=(4768) ExecReadyExpr
calls=3 627
* 29472
+2 3
+1 6
fn=(5102)
2160 11
+1 3
cfi=(242)
cfn=(4564)
calls=1 90
* 10
* 1
+8 1
cfi=(54)
cfn=(3326)
calls=1 381
* 5
* 6
cfi=(227)
cfn=(5010)
calls=1 4656
* 51
* 1
+1 2
+2 3
+8 2
+9 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 2
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 964
* 2
+1 3
+1 3
+3 5
cfi=(171)
cfn=(3344)
calls=1 125
* 82
+1 3
+3 16
+4 4
+1 3
+3 4
+9 1
+1 3
cfi=(242)
cfn=(4372)
calls=1 78
* 10
* 2
+2 6
+2 8
+6 2
+2 7
+1 7
+4 15
cfn=(4765)
calls=1 645
* 6114
+3 2
-20 12
+24 6
+2 4
+3 3
+9 5
fn=(5103)
2160 11
+1 3
cfi=(242)
cfn=(4564)
calls=1 90
* 10
* 1
+8 1
cfi=(54)
cfn=(3326)
calls=1 381
* 5
* 6
cfi=(227)
cfn=(5010)
calls=1 4656
* 51
* 1
+1 2
+2 3
+8 2
+9 2
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 2
+1 2
cfi=(13)
cfn=(2546)
calls=1 956
* 964
* 2
+1 3
+1 3
+3 5
cfi=(171)
cfn=(3344)
calls=1 125
* 82
+1 3
+3 16
+4 4
+1 3
+3 4
+9 1
+1 3
cfi=(242)
cfn=(4372)
calls=1 78
* 10
* 2
+2 6
+2 8
+6 2
+2 7
+1 7
+4 15
cfn=(4765)
calls=1 645
* 4497
+3 2
-20 12
+24 6
+2 6
+1 3
+11 5
fn=(4758)
2263 15
+1 9
+5 15
cfn=(4760) get_last_attnums_walker
calls=3 +56
* 843
+2 15
cfn=(4762)
calls=3 +10
* 105
+1 6
fn=(4760)
2325 15
+1 6
+2 12
+30 12
+2 12
+2 12
+2 15
cfi=(247)
cfn=(4450)
calls=3 1843
* 753
+2 6
fn=(4761)
2325 25
+1 10
+2 20
+30 20
+2 20
+2 20
+2 25
cfi=(247)
cfn=(4451)
calls=5 1843
* 672
+2 10
fn=(4768)
627 12
+1 9
cfi=(279) /home/mithuncy/fsm_p11patch/src/backend/jit/jit.c
cfn=(4770) jit_compile_expr
calls=3 157
* 36
* 6
+3 9
cfi=(280)
cfn=(4772) ExecReadyInterpretedExpr
calls=3 169
* 29394
+1 6
fl=(279)
fn=(4770)
157 12
+10 12
+1 6
+15 6
fl=(242)
fn=(4564)
90 6
+1 10
+1 4
-2 1500
+1 2500
+1 1000
-2 1515
+1 2525
+1 1010
fn=(4372)
78 6
+1 10
+1 4
-2 3000
+1 4000
+1 2000
-2 1509
+1 2515
+1 1006
-2 3012
+1 5020
+1 2008
-2 6
+1 10
+1 4
-2 6051
+1 10085
+1 4034
fl=(270)
fn=(4650)
78 9
+1 15
+1 6
-2 9
+1 9
+1 6
fl=(276)
fn=(4680)
134 48
+4 24
+1 24
+5 24
fn=(4686)
154 30
+8 12
+2 12
+1 12
+30 12
fn=(4844)
765 2505
+4 1002
+2 1002
+1 1503
cfn=(4846) bms_make_singleton
calls=501 246
* 101202
* 501
+19 1002
fn=(4846)
246 2004
+5 1002
+2 3006
+1 3507
+1 3507
cfi=(13)
cfn=(2546)
calls=501 956
* 79659
* 501
+1 2004
+1 4509
+1 501
+1 1002
fl=(310) /home/mithuncy/fsm_p11patch/src/backend/storage/freespace/freespace.c
fn=(5364) fsm_readbuf
673 4000
+1 1500
cfn=(5366) fsm_logical_to_physical
calls=500 574
* 40000
* 500
+3 6000
cfi=(140)
cfn=(3154)
calls=500 153
* 251916
* 2500
cfi=(140)
cfn=(3158)
calls=500 209
* 21000
+8 2500
+3 2500
cfi=(140)
cfn=(5368)
calls=500 303
* 1311629
* 1000
+4 1500
+4 2500
+2 1000
+3 1000
+33 2000
fn=(5366)
574 1500
+9 1000
+1 1000
+1 3000
-1 5500
+4 500
+1 1000
+2 7500
+1 10500
-3 5500
+10 1000
+3 1000
+1 1000
fn=(5362) fsm_search
831 3000
+1 500
+1 1000
+6 500
+3 3000
cfn=(5364)
calls=500 673
* 1653045
* 500
+3 1000
+11 500
+2 1000
+11 1500
+6 1000
+36 1000
fn=(5398) FSMClearLocalMap
291 4000
+1 2000
+1 8000
cob=(3)
cfi=(3)
cfn=(828)
calls=2000 0
* 34000
* 2000
+1 4000
fn=(5378) fsm_local_set
1105 8000
+8 6000
+1 7000
-1 20000
+4 4000
+3 18000
+1 8500
+2 3000
+1 4000
fn=(5380) fsm_local_search
1133 7000
+1 7000
+4 3500
+1 14000
-1 3500
+1 14000
+1 4000
+2 10000
+2 1500
+1 7000
fn=(5358) GetPageWithFreeSpace
158 3500
+1 1500
cfn=(5360) fsm_space_needed_to_cat
calls=500 551
* 8500
* 500
+5 2500
cfn=(5362)
calls=500 831
* 1667545
* 500
+2 1000
+1 1500
-1 1000
+2 1000
-1 1000
+3 2000
cfi=(50)
cfn=(3152)
calls=500 2795
* 1089493
* 500
+2 1000
+9 1000
+3 2500
cfn=(5378)
calls=500 1105
* 15500
+1 500
cfn=(5380)
calls=500 1133
* 6500
* 500
+4 500
+1 1000
fn=(5408) RecordAndGetPageWithFreeSpace
207 21000
+6 3000
+3 9000
+5 3000
+1 1500
cfn=(5380)
calls=1500 1133
* 38000
* 1500
+3 10500
cfn=(5410) fsm_allow_writes
calls=1500 1048
* 3615378
* 4500
+7 7500
cfn=(5378)
calls=1500 1105
* 63000
+1 1500
cfn=(5380)
calls=1500 1133
* 27000
* 1500
+21 6000
fn=(5410)
1048 10500
+3 3000
+4 7500
+9 3000
+9 7500
+1 4500
-1 3000
+4 1500
+3 6000
+1 7500
cfi=(140)
cfn=(5368)
calls=1500 303
* 3279378
* 3000
+3 3000
+4 6000
cfi=(50)
cfn=(3152)
calls=1500 2795
* 256500
* 3000
+1 6000
+3 1500
+1 3000
fn=(5360)
551 2000
+4 1000
+3 1000
+3 2000
+2 1000
+3 500
+1 1000
fl=(60)
fn=(1272) ProcessConfigFileInternal
173 24
+1 3
+1 3
+8 6
+1 9
+2 39
cfn=(1274) ParseConfigFile
calls=3 566
* 4489777
* 9
+15 9
+2 24
cfn=(1274)
calls=2 566
* 26991
* 6
+20 1
+5 3
+2 65
+1 65
cob=(3)
cfi=(3)
cfn=(446)
calls=13 0
* 560
* 13
-1 26
-2 67
+7 2
+2 4
+9 3
+1 1
+8 4
+2 4396
+2 3768
-4 2518
+20 6
+5 112
+7 168
cfi=(29)
cfn=(1212)
calls=28 4869
* 35242
* 28
+2 56
+3 140
+17 196
-34 144
+54 4
+4 2
+8 4
+2 4396
+3 2512
+1 42
-1 28
+2 628
-7 2518
+67 6
+2 1
cfi=(29)
cfn=(1228)
calls=1 5020
* 3797
+1 1
cfi=(29)
cfn=(1470)
calls=1 10789
* 792890
+2 1
cfi=(19)
cfn=(2650)
calls=1 1011
* 6
* 5
cfi=(29)
cfn=(1206)
calls=1 7172
* 3552
+7 6
+2 28
+4 112
+4 140
+2 84
cfi=(29)
cfn=(2652)
calls=14 7195
* 20066
* 14
+3 28
+3 42
cfi=(13)
cfn=(928)
calls=14 1162
* 2241
* 14
+3 182
cfi=(29)
cfn=(1208)
calls=14 6409
* 60218
* 182
cfi=(29)
cfn=(1208)
calls=14 6409
* 1317860
* 28
+3 56
+3 50
+2 66
cfi=(29)
cfn=(2652)
calls=11 7195
* 14966
* 11
+2 22
+2 55
cob=(3)
cfi=(3)
cfn=(446)
calls=11 0
* 359
* 11
* 22
+5 75
+2 6
+9 6
+9 112
+1 252
cfi=(29)
cfn=(1416)
calls=28 7137
* 45363
+3 56
+1 42
cfi=(13)
cfn=(952)
calls=14 1032
* 1112
-63 144
+67 4
+1 2
cfi=(21)
cfn=(656)
calls=2 1571
* 44
* 2
+3 6
+21 3
+1 12
fn=(1308) ParseConfigFp
701 50
+1 5
+1 10
+1 10
+2 5
+4 20
cob=(3)
cfi=(3)
cfn=(370)
calls=4 0
* 168
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1386
* 9
* 10
+1 10
+20 5
+1 5
+2 20
cfi=(62) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/guc-file.c
cfn=(1314) GUC_yy_create_buffer
calls=5 1374
* 2708
* 5
+1 15
cfi=(62)
cfn=(1322) GUC_yy_switch_to_buffer
calls=5 1329
* 2391
+3 5
+2 2226
+1 2226
+3 4452
+1 2185
+3 82
+2 123
cfi=(13)
cfn=(928)
calls=41 1162
* 7822
* 41
+3 41
cfi=(62)
cfn=(1328) GUC_yylex
calls=41 +1
* 9389
* 41
+1 82
+1 41
cfi=(62)
cfn=(1328)
calls=41 -1
* 28664
* 41
+3 158
+1 24
+5 82
+1 78
cfn=(1360) GUC_scanstr
calls=26 1088
* 14630
* 52
+2 45
cfi=(13)
cfn=(928)
calls=15 1162
* 2640
* 15
+3 15
cfi=(62)
cfn=(1328)
calls=15 -16
* 14973
* 26
cfi=(62)
cfn=(1328)
calls=26 -16
* 26513
* 41
+1 82
+9 164
cfi=(29)
cfn=(868)
calls=41 4930
* 1681
* 82
+15 164
cfi=(29)
cfn=(868)
calls=41 4930
* 1681
* 82
+15 164
cfi=(29)
cfn=(868)
calls=41 4930
* 1681
* 82
+18 82
cfi=(13)
cfn=(940)
calls=41 +97
* 5043
* 41
+1 123
+1 123
+1 82
+1 123
cfi=(13)
cfn=(928)
calls=41 1162
* 8409
* 82
+1 205
+1 82
+1 82
+1 82
+1 164
+1 12
+2 152
+1 114
+4 76
-4 9
+4 6
+2 41
738 2231
cfi=(62)
cfn=(1328)
calls=2231 +16
* 4346973
* 6693
905 15
cfi=(62)
cfn=(1370) GUC_yy_delete_buffer
calls=5 1402
* 1426
+2 10
+1 10
+1 5
+1 20
fn=(1274)
566 55
+2 5
+8 10
+12 25
cfn=(1276) AbsoluteConfigLocation
calls=5 -66
* 5939
* 5
+1 20
cfi=(25)
cfn=(1278)
calls=5 2186
* 4351
* 5
+1 10
+23 45
cfn=(1308)
calls=5 +88
* 4501964
* 5
+3 10
+1 15
cfi=(25)
cfn=(1374)
calls=5 2385
* 3839
+1 15
cfi=(13)
cfn=(952)
calls=5 1032
* 425
+2 5
+1 20
fn=(1268)
125 12
+16 15
+8 21
cfi=(14)
cfn=(432)
calls=3 395
* 1271
* 3
+3 9
cfi=(61)
cfn=(1270)
calls=3 -42
* 30
* 3
+5 15
cfn=(1272)
calls=3 +16
* 6838985
+3 9
cfi=(61)
cfn=(1270)
calls=3 -50
* 30
+1 9
cfi=(13)
cfn=(1396)
calls=3 +51
* 896
+1 6
fn=(1276)
522 25
+3 20
+1 9
cfi=(13)
cfn=(928)
calls=3 1162
* 615
* 3
+3 4
+10 12
cfi=(11)
cfn=(458)
calls=2 220
* 2060
+1 6
cfi=(11)
cfn=(484)
calls=2 255
* 2817
+2 6
cfi=(13)
cfn=(928)
calls=2 1162
* 352
+2 10
fn=(1360)
1088 104
+7 78
cob=(3)
cfi=(3)
cfn=(424)
calls=26 0
* 468
* 26
* 26
+5 52
+3 104
cfi=(13)
cfn=(940)
calls=26 925
* 3172
* 26
+2 78
+2 2408
+45 2616
+6 3440
+1 344
-54 1454
+59 156
+2 26
+1 52
fl=(102)
fn=(5770)
290 2
+1 2
+3 1
+3 5
+1 2
fn=(2054) PMSignalShmemSize
114 9
+3 3
+1 3
cfi=(20)
cfn=(2056)
calls=3 5589
* 33
* 12
cfi=(87)
cfn=(2000)
calls=3 493
* 69
* 15
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+3 3
+1 6
fn=(2616)
185 12
+1 12
+7 16
+2 12
+1 4
+1 28
+2 20
+1 12
+1 12
-8 8
+15 8
fn=(2690)
219 3
+4 1
+7 8
+1 5
+1 1
+1 2
fn=(2726) PostmasterDeathSignalInit
371 3
+2 1
+3 4
cfi=(28)
cfn=(784)
calls=1 41
* 174
+4 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1259
* 5
* 2
+13 1
+2 2
fn=(2264) PMSignalShmemInit
129 4
+4 1
cfn=(2054)
calls=1 -19
* 73
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 948
-1 1
+3 4
+2 4
cfn=(2054)
calls=1 -23
* 73
* 15
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 114
* 1
+1 2
cfi=(20)
cfn=(2056)
calls=1 5589
* 11
* 1
+2 4
fn=(2676)
164 24
+2 40
+2 3
+1 2
+2 7
+1 16
fn=(2840)
257 2
+1 2
+3 1
+2 5
+1 2
fl=(114) /home/mithuncy/fsm_p11patch/src/backend/utils/misc/backend_random.c
fn=(2082) BackendRandomShmemSize
42 2
+1 1
+1 2
fn=(2334) BackendRandomShmemInit
48 2
+2 2
fl=(285)
fn=(4928)
1677 33
+2 3
+1 3
+1 3
+1 3
+1 3
+4 6
-1 6
+1 9
-1 6
+3 9
+1 9
+6 6
+2 42
+1 42
+2 24
+1 10
+3 3
+1 2
+1 2
+3 2
+5 2
+2 2
+7 3
+2 10
+20 10
-50 33
+76 12
+1 4
+3 2
+38 2
+38 2
+18 4
+3 3
cfi=(272)
cfn=(4916) get_base_element_type
calls=1 2567
* 480
* 2
+7 2
+13 2
+42 2
+15 2
+13 4
+1 2
+5 1
+1 15
fn=(4900) find_coercion_pathway
2234 63
+1 9
+3 18
+3 18
+1 27
cfi=(272)
cfn=(4886)
calls=9 +25
* 4392
* 9
+1 18
+1 27
cfi=(272)
cfn=(4886)
calls=9 +23
* 135400
* 9
+3 27
+4 45
cfi=(151)
cfn=(4902)
calls=9 1125
* 114880
* 9
+4 18
+62 36
+5 27
cfi=(272)
cfn=(4906) get_element_type
calls=9 2494
* 4311
* 27
+27 18
+2 18
+1 6
cfn=(4920)
calls=2 2082
* 984
-1 4
+2 4
+1 14
+6 9
+1 18
fn=(4912) typeIsOfTypedTable
2451 35
+1 21
cfi=(287)
cfn=(4910)
calls=7 671
* 3346
* 7
+1 7
+2 14
+16 7
+1 14
fn=(4924)
2101 12
+4 12
cfi=(272)
cfn=(4922)
calls=2 2446
* 44538
+1 10
+3 2
+1 4
fn=(4914) check_generic_type_consistency
1478 24
+2 4
+1 4
+2 4
+2 4
+1 4
+1 4
+6 8
+2 56
+1 56
+2 28
+1 10
+3 3
+1 6
+1 2
+1 4
+2 6
+1 1
+1 4
+2 6
+2 10
+2 8
+1 2
+1 6
cfi=(272)
cfn=(4886)
calls=2 2267
* 976
* 2
+1 4
+2 6
+2 2
-29 44
+41 8
+2 4
+8 6
cfi=(272)
cfn=(4906)
calls=2 2494
* 952
* 2
+1 4
+1 4
+17 4
+20 4
+3 3
cfi=(272)
cfn=(4916)
calls=1 2567
* 480
* 2
+4 4
+8 2
+1 8
fn=(4898)
545 91
+1 13
+4 26
+2 175
+1 175
+5 75
+4 50
+1 1
+3 192
+2 8
+1 8
+7 32
+1 8
+6 48
cfn=(4900)
calls=8 2234
* 258097
* 8
+2 16
+1 1
+6 14
+7 14
+18 14
+7 35
cfi=(286) /home/mithuncy/fsm_p11patch/src/backend/catalog/pg_inherits.c
cfn=(4908) typeInheritsFrom
calls=7 311
* 3458
* 14
+1 35
cfn=(4912)
calls=7 2451
* 3451
* 14
+6 14
-81 111
+85 12
+2 24
cfn=(4914)
calls=4 1478
* 2785
* 12
+2 4
+3 4
+1 26
fn=(5054) build_coercion_expression
816 9
+1 1
+2 2
+28 2
+44 2
+60 2
+3 4
cfi=(13)
cfn=(3400)
calls=1 853
* 160
* 5
+4 3
+1 3
+2 3
+1 3
+2 2
+8 2
fn=(4932)
159 50
+5 25
+6 18
+1 8
+15 4
+2 12
+1 6
+36 14
+19 4
+1 8
cfi=(13)
cfn=(3400)
calls=2 853
* 272
* 10
+15 4
+1 10
cfi=(272)
cfn=(4888) getBaseTypeAndTypmod
calls=2 2284
* 952
* 2
+11 4
+3 2
+2 6
cfi=(287)
cfn=(4934)
calls=2 560
* 712
* 2
+2 6
+1 6
+1 6
cfi=(287)
cfn=(4936)
calls=2 622
* 30
* 4
+1 6
cfi=(287)
cfn=(4938)
calls=2 581
* 30
* 6
+1 6
cfi=(287)
cfn=(4940)
calls=2 591
* 30
* 4
+1 8
+7 8
+6 14
cfi=(223)
cfn=(4942)
calls=2 147
* 48
+6 10
+2 4
-1 12
cfi=(287)
cfn=(4944)
calls=2 636
* 788
* 6
+13 18
+2 8
cfi=(171)
cfn=(4958)
calls=2 1918
* 26
* 2
-1 4
+31 6
cfi=(223)
cfn=(4960)
calls=2 162
* 16
+2 4
+3 6
+7 6
cfi=(151)
cfn=(3280)
calls=2 1161
* 206
+2 4
+2 6
+1 4
+15 4
+19 6
cfn=(4900)
calls=1 2234
* 2348
* 1
+2 2
+2 2
+12 2
+1 5
cfi=(272)
cfn=(4888)
calls=1 2284
* 476
* 1
+2 12
cfn=(5054)
calls=1 816
* 203
* 1
+8 3
+1 1
+36 2
+68 20
fn=(4920)
2082 16
+4 24
cfi=(272)
cfn=(4922)
calls=4 2446
* 23825
+2 4
+1 8
fn=(5052)
83 9
+4 6
cfn=(4898)
calls=1 545
* 2411
* 3
+12 2
+1 7
+3 12
cfn=(4932)
calls=1 +56
* 3112
* 1
+12 10
-3 11
cfn=(5056) coerce_type_typmod
calls=1 744
* 17
* 1
+5 3
+12 1
+1 2
fn=(5056)
744 11
+8 2
+1 2
+16 2
fn=(5066)
2136 5
+6 3
+1 2
+58 2
fl=(166)
fn=(3140)
335 9056
+3 9056
+3 11320
+1 4528
+1 4528
fn=(5668)
274 7
+1 8
cfi=(94)
cfn=(5670)
calls=1 165
* 567
+2 2
fn=(5682)
367 6
+10 2
+1 4
+5 1
+1 2
fn=(2998)
301 26376
+7 25196
+1 2360
+2 30020
+1 12008
+1 13188
fn=(5338)
350 4
+3 4
+3 5
+1 3
+1 2
fl=(195)
fn=(3504) XidInMVCCSnapshot
1476 12955
+12 15546
cfi=(166)
cfn=(2998)
calls=2591 301
* 41097
* 5182
+1 5182
+95 5182
fn=(3502)
965 15834
+1 7917
+5 15834
1073 15834
+1 15546
cfn=(3504)
calls=2591 1476
* 85144
-1 5182
+7 15834
+1 5278
+67 5278
fl=(253)
fn=(4492)
78 4635
+1 7725
+1 3090
fn=(4862)
90 21
+1 35
+1 14
fl=(277)
fn=(4712)
2228 12
+1 12
+1 6
fn=(4684)
2109 12
+9 15
+1 3
+34 6
fn=(4688)
2171 15
+5 12
+1 3
+36 6
fl=(33) /home/mithuncy/fsm_p11patch/src/backend/utils/hash/hashfn.c
fn=(2224) tag_hash
53 223500
+1 268200
cfi=(34)
cfn=(840)
calls=44700 429
* 4981089
+2 89400
fn=(2940) uint32_hash
65 38915
+2 31132
cfi=(34)
cfn=(2942) hash_uint32
calls=7783 894
* 358018
+1 15566
fn=(838) string_hash
35 320
+6 192
cob=(3)
cfi=(3)
cfn=(424)
calls=64 -41
* 1164
* 64
* 64
+2 384
+1 384
cfi=(34)
cfn=(840)
calls=64 429
* 8620
+2 128
fl=(34)
fn=(840)
429 412128
+7 45792
+1 137376
+3 183168
+3 45763
+3 45763
+2 91150
+1 136725
+1 136725
+1 1367250
+1 45575
+1 45575
-7 182676
+11 45763
+41 228815
+3 915
+3 915
+3 915
+4 549
+1 366
+1 183
-9 115
+3 115
+4 69
+1 46
+1 23
-6 10
+4 6
+1 4
+1 2
-2 107139
+1 71426
+1 35713
+2 45
+3 45
+3 36
+3 18
+1 9
-7 15
+3 12
+3 6
+1 3
-1 18000
+1 9000
+2 30
+3 30
+3 24
-3 90
+3 45009
+10 29
+7 450
+1 475
+1 475
+2 750
+1 25
+1 25
-13 108
+56 145
+6 15
+3 15
+4 15
+3 15
+3 15
+3 12
+3 15
+3 15
+3 15
+3 9
+6 39
-31 5
+4 5
+3 5
+3 5
+3 4
+3 5
+3 5
+3 5
+3 3
+6 18
-27 10
+3 10
+3 10
+3 8
+3 10
+3 10
+3 10
+3 6
+6 46
-24 5
+3 5
+3 4
+3 5
+3 5
+3 5
+3 3
+6 28
-21 20
+3 16
+3 20
+3 20
+3 20
+3 12
+6 112
+3 4
+1 16
-22 12
+3 15
+3 15
+3 15
+3 9
+6 84
+3 3
+1 21
-19 20
+3 20
+3 20
+3 12
+6 112
+3 4
+1 28
-16 10
+3 10
+3 6
+6 56
+3 2
+1 14
-13 15
+3 9
+6 84
+3 3
+1 21
-10 6
+6 56
+3 2
+1 14
-4 1281476
+3 45767
+1 320369
-4 45
+3 3
+1 21
-4 10
+3 1
+1 7
-4 10
+3 2
+1 14
-1 1
+1 19
fn=(2942)
894 46698
+5 23349
+1 23349
+2 217924
+3 7783
+1 38915
fn=(4976)
208 8
+1 6
+2 16
cfn=(840)
calls=2 429
* 137
+1 4
fl=(59)
fn=(1226) parse_bool_with_len
37 3042
+1 4563
+13 2500
cfi=(32)
cfn=(970)
calls=500 +19
* 57500
* 1000
+2 1000
+1 1000
+1 1000
+14 15
cfi=(32)
cfn=(970)
calls=3 +1
* 165
* 6
+2 6
+1 6
+1 6
+6 32
cfi=(32)
cfn=(970)
calls=4 -9
* 248
* 8
+2 4
+1 4
+1 4
+2 16
cfi=(32)
cfn=(970)
calls=2 -15
* 150
* 4
+2 4
+1 4
+1 4
+26 1014
fn=(1224)
31 2535
+1 1521
cob=(3)
cfi=(3)
cfn=(424)
calls=507 -32
* 7605
* 507
* 3042
cfn=(1226)
calls=507 +5
* 73305
+1 1014
fl=(109) /home/mithuncy/fsm_p11patch/src/backend/replication/walreceiverfuncs.c
fn=(2070) WalRcvShmemSize
43 9
+1 3
+2 12
cfi=(87)
cfn=(2002)
calls=3 476
* 63
* 3
+2 3
+1 6
fn=(2284) WalRcvShmemInit
54 3
+4 1
cfn=(2070)
calls=1 -15
* 33
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1005
-1 1
+3 4
+3 4
cfn=(2070)
calls=1 -20
* 33
* 19
cob=(3)
cfi=(3)
cfn=(828)
calls=1 -63
* 254
* 1
+1 2
+1 2
+1 2
+2 2
fl=(224)
fn=(3926)
445 11
+14 2
+1 2
+1 2
+1 8
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 4
+2 2
+1 4
+1 3
+1 3
+2 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
* 1
+3 3
+5 4
cfn=(3928)
calls=1 220
* 84
* 2
+5 7
586 2
+1 1
+15 4
+2 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
+2 2
+1 2
+1 2
+2 3
+1 7
fn=(3940)
689 10
+15 2
+1 2
+2 3
+10 3
cfi=(156)
cfn=(3942)
calls=1 393
* 26
+4 3
+16 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 8
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 4
+2 2
+1 4
+1 3
+1 3
+2 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
+2 6
+44 10
cfn=(3944) PortalRunMulti
calls=1 1206
* 367659267
+4 3
cfi=(156)
cfn=(5586)
calls=1 412
* 30
+3 1
+1 1
+28 4
+2 4
+1 3
cfi=(208)
cfn=(3732)
calls=1 110
* 10
* 1
+3 2
+1 3
+1 3
+3 2
+2 3
+5 1
+1 2
fn=(3928)
220 2016
+10 1512
cfi=(220)
cfn=(3892)
calls=504 90
* 5040
* 1008
+2 1512
cfi=(220)
cfn=(3894)
calls=504 78
* 5040
* 1008
+2 2016
+2 1006
+2 2012
+2 2012
+2 12
+3 6
+2 2000
+2 2000
cfi=(221)
cfn=(3930)
calls=500 1747
* 9000
* 1000
+3 1000
+4 4
+2 2
+2 4
+2 4
+7 4
+2 4
cfi=(221)
cfn=(3930)
calls=1 1747
* 18
* 2
+3 2
+52 1008
fn=(3946) PortalRunUtility
1134 10
+1 3
+14 4
+1 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-1 2
+3 2
-2 2
+3 2
-1 2
+2 2
-1 2
+2 2
-1 2
+2 2
-10 2
+12 1
cfi=(110)
cfn=(2986)
calls=1 305
* 588
* 1
+2 2
+5 3
cfi=(110)
cfn=(3948)
calls=1 734
* 391
+2 1
cfi=(110)
cfn=(3950)
calls=1 840
* 6
* 2
+5 17
cfi=(221)
cfn=(3952)
calls=1 345
* 367657660
+9 4
cfi=(208)
cfn=(3732)
calls=1 110
* 10
+7 3
cfi=(110)
cfn=(4582)
calls=1 852
* 7
* 2
+1 1
cfi=(110)
cfn=(3950)
calls=1 840
* 6
-1 2
+2 1
cfi=(110)
cfn=(4800)
calls=1 813
* 264
+1 2
fn=(3944)
1206 11
+1 1
+13 4
+2 4
+7 4
cfi=(220)
cfn=(3894)
calls=1 78
* 10
* 2
+2 3
+5 3
+2 4
+79 4
+4 10
cfn=(3946)
calls=1 1134
* 367659027
* 1
+16 4
+8 4
cfi=(13)
cfn=(3708)
calls=1 257
* 11
1229 7
1349 2
+15 6
+2 4
+1 6
cob=(3)
cfi=(3)
cfn=(810)
calls=1 0
* 14
* 1
+1 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 4
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+3 4
fn=(3932)
625 7
+5 4
+1 1
+29 4
fl=(256)
fn=(4878)
90 12
+1 18
+1 8
fn=(4520)
78 12
+1 18
+1 8
-2 10584
+1 14616
+1 7056
fl=(165)
fn=(5284)
2450 3000
+5 1500
+2 1000
+1 500
+45 2000
fn=(3600)
4974 6
+2 2
+10 2
+1 8
+10 12
cfn=(3602) afterTriggerMarkEvents
calls=2 4417
* 34
* 4
+13 4
+2 4
fn=(5490)
4830 2000
+10 2000
+2 1500
+1 500
+66 1000
fn=(3608)
5030 10
+10 6
+14 2
+1 2
+8 2
+1 2
+1 2
+3 2
+1 4
fn=(5254)
2141 2500
+5 1000
+1 1000
+42 2000
fn=(5282)
4688 3000
+8 1000
+1 1000
+69 1000
fn=(5280)
4810 1000
+2 1500
+1 1000
fn=(5488)
2508 3000
+1 1500
+2 1000
+3 1000
fn=(3602)
4417 14
+1 2
+4 12
+39 2
+1 4
fn=(2982)
4778 4
+4 2
+1 2
+14 4
fl=(204) /home/mithuncy/fsm_p11patch/src/backend/access/transam/../../../../src/include/lib/ilist.h
fn=(3652) dlist_init
279 6
+1 14
+1 4
fl=(243)
fn=(4472) _copyFromExpr
2169 24
+1 24
cfi=(13)
cfn=(3400)
calls=6 853
* 918
* 30
+2 24
cfn=(4377) copyObjectImpl'2
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+2 6
+1 12
fn=(4728) CopyPlanFields
116 15
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
cfn=(4377)
calls=3 4767
* 6428
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfi=(276)
cfn=(4680)
calls=3 +5
* 30
* 6
+1 12
cfi=(276)
cfn=(4680)
calls=3 +4
* 30
* 6
+1 6
fn=(4386) _copyAConst
2589 16
+1 16
cfi=(13)
cfn=(3400)
calls=4 853
* 1463
* 20
+3 16
+1 28
+3 8
+1 2
+4 16
cfi=(13)
cfn=(928)
calls=2 1162
* 399
* 6
+1 2
+10 16
+2 4
+1 8
fn=(4988) _copyParam
1407 24
+1 24
cfi=(13)
cfn=(2156)
calls=6 815
* 912
* 30
+2 24
+1 24
+1 24
+1 24
+1 24
+1 24
+2 6
+1 12
fn=(4382) _copyList
4660 65
+7 52
cfi=(13)
cfn=(3400)
calls=13 853
* 1989
* 65
+1 52
+2 26
cfi=(13)
cfn=(940)
calls=13 925
* 1599
* 117
cfn=(4377)
calls=13 +97
* 35193
* 13
+1 39
+1 52
+2 13
+2 2
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 8
cfn=(4377)
calls=1 +91
* 490
* 1
+1 3
+1 3
-4 28
+6 26
+1 39
+2 13
+1 52
fn=(4383) _copyList'2
4660 95
+7 76
cfi=(13)
cfn=(3400)
calls=19 853
* 3229
* 95
+1 76
+2 38
cfi=(13)
cfn=(940)
calls=19 925
* 2337
* 171
cfn=(4377)
calls=19 +97
* 20494
* 19
+1 57
+1 76
+2 19
+2 14
cfi=(13)
cfn=(940)
calls=7 925
* 861
* 56
cfn=(4377)
calls=7 +91
* 8594
* 7
+1 21
+1 21
-4 52
+6 38
+1 57
+2 19
+1 76
fn=(4474) _copyTargetEntry
2117 36
+1 36
cfi=(13)
cfn=(3400)
calls=9 853
* 1566
* 45
+2 36
cfn=(4377)
calls=9 4767
* 10960
* 18
+1 36
+1 72
cfi=(13)
cfn=(928)
calls=9 1162
* 1670
* 27
+1 36
+1 36
+1 36
+1 36
+2 9
+1 18
fn=(4818) _copyColumnRef
2567 4
+1 4
cfi=(13)
cfn=(3400)
calls=1 853
* 153
* 5
+2 4
cfn=(4377)
calls=1 4767
* 1185
* 2
+1 4
+2 1
+1 2
fn=(4984) _copyFuncExpr
1513 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 522
* 15
+2 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
cfn=(4377)
calls=3 4767
* 8506
* 6
+1 12
+2 3
+1 6
fn=(4986) _copyOpExpr
1550 16
+1 16
cfi=(13)
cfn=(3400)
calls=4 853
* 696
* 20
+2 16
+1 16
+1 16
+1 16
+1 16
+1 16
+1 16
cfn=(4377)
calls=4 4767
* 5373
* 8
+1 16
+2 4
+1 8
fn=(4814) _copyValue
4713 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 438
* 15
+4 12
+1 18
+8 24
cfi=(13)
cfn=(928)
calls=3 1162
* 927
* 9
+1 3
+9 3
+1 6
fn=(4376)
4767 60
+3 30
+4 15
cfi=(52)
cfn=(3958)
calls=15 3263
* 405
+2 120
4954 6
cfn=(4988)
calls=2 1407
* 384
* 2
+1 2
+20 3
cfn=(4986)
calls=1 1550
* 1699
* 1
+1 1
5126 27
cfn=(4382)
calls=9 4660
* 30303
* 9
+1 9
+25 9
cfn=(4378) _copyRawStmt
calls=3 3036
* 10768
* 3
+1 3
5657 15
+1 30
fn=(4377)
4767 1192
+3 596
+1 414
+3 91
cfi=(52)
cfn=(3958)
calls=91 3263
* 2457
+2 728
+6 9
cfn=(4724) _copyPlannedStmt
calls=3 79
* 9200
* 3
+1 3
+5 9
cfn=(4726) _copyResult
calls=3 155
* 7640
* 3
+1 3
4951 39
cfn=(4476) _copyConst
calls=13 1369
* 4717
* 13
+1 13
+2 12
cfn=(4988)
calls=4 1407
* 768
* 4
+1 4
+14 9
cfn=(4984)
calls=3 1513
* 9190
* 3
+1 3
+5 9
cfn=(4986)
calls=3 1550
* 4570
* 3
+1 3
+32 6
cfn=(5096) _copyCoerceViaIO
calls=2 1753
* 880
* 2
+1 2
+65 27
cfn=(4474)
calls=9 2117
* 14673
* 9
+1 9
+8 18
cfn=(4472)
calls=6 2169
* 1206
* 6
+1 6
+35 9
cfn=(4814)
calls=3 4713
* 1479
* 3
+1 3
+6 69
cfn=(4383)
calls=19 4660
* 36598
cfn=(4382)
calls=4 4660
* 9760
* 23
+1 23
+22 18
cfn=(4470) _copyQuery
calls=6 2991
* 17719
* 6
+1 6
+14 9
cfn=(4380) _copySelectStmt
calls=3 3093
* 10069
* 3
+1 3
5500 3
cfn=(4816) _copyAExpr
calls=1 2553
* 2850
* 1
+1 1
+2 3
cfn=(4818)
calls=1 2567
* 1364
* 1
+1 1
+5 12
cfn=(4386)
calls=4 2589
* 2020
* 4
+1 4
+2 3
cfn=(4812) _copyFuncCall
calls=1 2620
* 5192
* 1
+1 1
+14 9
cfn=(4384) _copyResTarget
calls=3 2681
* 7207
* 3
+1 3
5657 91
+1 596
fn=(4470)
2991 24
+1 24
cfi=(13)
cfn=(3400)
calls=6 853
* 1926
* 30
+2 24
+1 24
+1 24
+1 24
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 1506
* 12
+1 24
cfn=(4377)
calls=6 4767
* 12079
* 12
+1 24
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
cfn=(4377)
calls=6 4767
* 60
* 12
+1 24
+1 24
+2 6
+1 12
fn=(4812)
2620 4
+1 4
cfi=(13)
cfn=(3400)
calls=1 853
* 430
* 5
+2 4
cfn=(4377)
calls=1 4767
* 786
* 2
+1 4
cfn=(4377)
calls=1 4767
* 3880
* 2
+1 4
cfn=(4377)
calls=1 4767
* 10
* 2
+1 4
cfn=(4377)
calls=1 4767
* 10
* 2
+1 4
+1 4
+1 4
+1 4
+1 4
cfn=(4377)
calls=1 4767
* 10
* 2
+1 4
+2 1
+1 2
fn=(4724)
79 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 732
* 15
+2 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
cfn=(4377)
calls=3 4767
* 7790
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfi=(276)
cfn=(4680)
calls=3 +38
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
+1 12
+2 3
+1 6
fn=(4476)
1369 52
+1 52
cfi=(13)
cfn=(3400)
calls=13 853
* 2619
* 65
+2 52
+1 52
+1 52
+1 52
+2 80
+6 30
+7 14
+1 14
-1 42
cfi=(254)
cfn=(4498)
calls=7 129
* 1332
* 14
+5 28
+1 28
+1 28
+2 7
+1 14
-5 24
+1 24
+1 24
+2 6
+1 12
fn=(5096)
1753 8
+1 8
cfi=(13)
cfn=(3400)
calls=2 853
* 320
* 10
+2 8
cfn=(4377)
calls=2 4767
* 484
* 4
+1 8
+1 8
+1 8
+1 8
+2 2
+1 4
fn=(4378)
3036 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 459
* 15
+2 12
cfn=(4377)
calls=3 4767
* 10219
* 6
+1 12
+1 12
+2 3
+1 6
fn=(4384)
2681 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 501
* 15
+2 21
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 6559
* 6
+1 12
+2 3
+1 6
fn=(4816)
2553 4
+1 4
cfi=(13)
cfn=(3400)
calls=1 853
* 167
* 5
+2 4
+1 4
cfn=(4377)
calls=1 4767
* 786
* 2
+1 4
cfn=(4377)
calls=1 4767
* 441
* 2
+1 4
cfn=(4377)
calls=1 4767
* 1414
* 2
+1 4
+2 1
+1 2
fn=(4726)
155 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 690
* 15
+5 15
cfn=(4728)
calls=3 -45
* 6839
+5 12
cfn=(4377)
calls=3 4767
* 30
* 6
+2 3
+1 6
fn=(4380)
3093 12
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 774
* 15
+2 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 8485
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
+1 12
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+1 12
cfn=(4377)
calls=3 4767
* 30
* 6
+2 3
+1 6
fl=(30)
fn=(788)
364 2
+8 2
cfn=(790) pg_tzset
calls=1 237
* 15784
* 1
+1 2
+1 2
fn=(792) init_timezone_hashtable
203 3
+3 118
+2 1
+1 1
+2 6
cfi=(31)
cfn=(794)
calls=1 317
* 5889
* 1
+4 3
+3 1
+1 2
fn=(1426) pg_TZDIR
44 4
+6 3
+3 3
cfi=(11)
cfn=(1428)
calls=1 705
* 4559
+1 2
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -54
* 21
* 1
* 5
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -54
* 21
* 1
* 5
cfi=(16)
cfn=(460)
calls=1 -8
* 164
+2 1
+1 1
+5 4
fn=(790)
237 35
+7 21
cob=(3)
cfi=(3)
cfn=(424)
calls=7 0
* 121
* 7
* 14
+3 21
+1 1
cfn=(792)
calls=1 -45
* 6025
* 3
+9 14
+1 7
+1 850
cfi=(32)
cfn=(834)
calls=85 106
* 1273
* 85
-1 368
+2 14
+2 42
cfi=(31)
cfn=(836)
calls=7 910
* 3680
* 7
+4 14
+3 15
+6 8
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 44
* 2
* 4
+2 6
cfi=(35)
cfn=(846)
calls=1 938
* 1484
* 3
+6 5
cob=(3)
cfi=(3)
cfn=(810)
calls=1 0
* 14
* 1
* 1
+2 6
cfi=(35)
cfn=(1420)
calls=1 589
* 1248590
* 2
+12 12
cfi=(31)
cfn=(836)
calls=2 910
* 1144
* 2
+6 12
cob=(3)
cfi=(3)
cfn=(810)
calls=2 0
* 76
* 2
+1 14
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 14724
* 2
+2 4
+1 28
fn=(1424)
77 6
+7 1
cfn=(1426)
calls=1 -40
* 4795
* 6
cfi=(16)
cfn=(460)
calls=1 -38
* 822
+1 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -85
* 23
* 1
* 3
+2 6
cob=(3)
cfi=(3)
cfn=(424)
calls=1 -87
* 19
* 1
* 3
+10 2
+18 2
+6 4
cob=(3)
cfi=(3)
cfn=(1120)
calls=1 0
* 14
* 1
* 4
cob=(3)
cfi=(3)
cfn=(1120)
calls=1 0
* 27
* 1
* 2
+1 4
+1 6
+2 3
cob=(3)
cfi=(3)
cfn=(424)
calls=1 0
* 19
* 1
* 1
+1 3
+1 3
-1 8
cfn=(1430) scan_directory_ci
calls=1 +27
* 30333
* 3
+1 3
-1 8
cfn=(1430)
calls=1 +27
* 8838
* 6
+4 10
+1 12
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 34
* 2
* 8
+1 4
+1 3
+3 1
-1 1
+3 2
+1 10
cfi=(16)
cfn=(460)
calls=1 -93
* 304
+2 6
cob=(5)
cfi=(5)
cfn=(676)
calls=1 0
* 7
* 1
+1 4
fn=(1430)
153 16
+1 2
+4 6
cfi=(25)
cfn=(718)
calls=2 2447
* 608
* 2
+2 2
+6 564
+1 4
+2 548
cob=(3)
cfi=(3)
cfn=(424)
calls=137 0
* 2411
* 137
* 548
+1 104
cfi=(32)
cfn=(970)
calls=13 70
* 1131
-1 26
+4 16
cfi=(16)
cfn=(460)
calls=2 46
* 328
+1 2
+1 2
-15 846
cfi=(25)
cfn=(1432)
calls=141 2528
* 31065
* 423
+19 6
cfi=(25)
cfn=(738)
calls=2 2565
* 368
+2 2
+1 4
fl=(145)
fn=(2864)
110 6
+1 4
+2 4
+1 2
+1 4
fl=(49)
fn=(990)
652 12
+2 3
+1 6
fn=(988)
592 21
+5 3
cfi=(26)
cfn=(986)
calls=3 334
* 30
* 6
+49 3
+1 12
fl=(196)
fn=(3516)
214 12174
+2 2029
+1 2029
+13 14203
+2 2029
+2 8116
+38 10145
+2 8116
+8 20290
+1 8116
+8 12174
+4 4052
+2 22286
+2 2026
+1 2026
-5 6078
+11 8116
+2 9
+1 3
+11 6
+3 45
+3 30
+1 30
-1 9
+3 3
+2 50
+2 20
+3 61
+2 15
+2 20
-11 29
+16 33
+4 2026
+13 2026
+1 2026
+2 20260
+2 8104
-2 20290
+2 8116
+7 16214
+1 8104
+1 8116
+21 18261
+2 4058
+4 12165
+1 2026
+2 28394
cob=(3)
cfi=(3)
cfn=(424)
calls=2026 0
* 31206
* 2026
* 10130
+2 4052
-2 3
+2 8110
+1 2026
-46 2026
+47 2026
-47 3
+47 3
+3 81171
+1 4058
fl=(251)
fn=(4478)
2637 21
+5 396
+1 3
+1 3
+1 3
+2 3
+2 1467
+1 3
+1 6
+2 15
cfn=(4480) extract_query_dependencies_walker
calls=3 +17
* 3829
+2 9
+1 9
+1 9
+1 6
fn=(4716) add_rtes_to_flat_rtable
252 18
+1 9
+11 15
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+18 3
+1 15
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+48 6
fn=(4990)
2553 30
+9 10
+15 20
fn=(4480)
2670 18
+1 6
+3 12
+40 15
cfn=(4482) fix_expr_common
calls=3 1373
* 138
+1 15
cfi=(247)
cfn=(4450)
calls=3 1843
* 3613
+2 12
fn=(4481)
2670 294
+1 98
+1 60
+2 76
+2 6
+3 12
+12 12
+4 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+15 18
cfi=(247)
cfn=(4440)
calls=3 2266
* 3226
* 3
+4 80
cfn=(4482)
calls=16 1373
* 771
+1 80
cfi=(247)
cfn=(4451)
calls=16 1843
* 4661
+2 196
fn=(4714)
210 15
+1 9
+1 12
cfi=(252)
cfn=(4624)
calls=3 90
* 24
* 3
+8 12
cfn=(4716)
calls=3 +32
* 138
+5 12
cfi=(252)
cfn=(4484)
calls=3 78
* 24
* 12
+17 18
cfn=(4718) set_plan_refs
calls=3 435
* 2663
+1 6
fn=(4722) fix_scan_expr_walker
1592 45
+1 18
+1 12
+2 18
cfn=(4482)
calls=3 1373
* 138
+1 15
cfi=(247)
cfn=(4450)
calls=3 1843
* 1769
+2 18
fn=(4723)
1592 55
+1 22
+3 66
cfn=(4482)
calls=11 1373
* 541
+1 55
cfi=(247)
cfn=(4451)
calls=11 1843
* 3113
+2 22
fn=(4482)
1373 198
+2 132
+5 132
+5 132
+2 12
cfn=(4990)
calls=2 2553
* 24
* 2
+3 124
+2 6
cfi=(247)
cfn=(4992)
calls=2 1620
* 20
+1 12
cfn=(4990)
calls=2 2553
* 24
* 2
+3 116
+6 116
+6 116
+6 116
+2 16
+3 64
+1 8
+4 84
+25 132
fn=(4718)
435 21
+3 6
+4 21
+5 24
743 6
+6 12
+5 21
cfn=(4720) fix_scan_expr
calls=3 1491
* 2066
-1 6
+3 21
cfn=(4720)
calls=3 1491
* 132
-1 6
+5 21
cfn=(4720)
calls=3 1491
* 132
-1 6
+3 3
1013 21
cfn=(4719) set_plan_refs'2
calls=3 435
* 45
* 6
+1 21
cfn=(4719)
calls=3 435
* 45
* 6
+2 3
+1 12
fn=(4719)
435 42
+3 12
+1 12
1017 24
fn=(4720)
1491 54
+3 18
+1 18
+2 18
+1 18
-1 18
+2 27
-1 18
+2 18
-1 18
+17 45
cfn=(4722)
calls=9 +76
* 2033
+1 9
+2 18
fl=(271)
fn=(4662) cost_qual_eval_node
3748 18
+3 6
+1 6
+1 6
+2 15
cfn=(4664) cost_qual_eval_walker
calls=3 +7
* 4202
+2 15
+1 6
fn=(4664)
3762 15
+1 6
+9 12
+61 12
+2 3
+1 4
cfi=(272)
cfn=(5100) get_func_cost
calls=1 1613
* 473
* 4
-1 4
+3 8
+1 4
-1 4
+2 4
-1 4
+8 8
+13 8
+1 4
-1 4
+14 8
+16 8
+12 8
+14 8
+1 4
-1 4
+2 4
-1 4
+2 4
-1 4
+2 4
-1 4
+6 8
+5 8
+5 8
+19 8
+13 8
+16 15
cfi=(247)
cfn=(4450)
calls=3 1843
* 3496
+2 6
fn=(4665)
3762 25
+1 10
+9 20
+61 20
+5 20
+1 8
-1 8
+2 8
-1 8
+4 3
cfi=(247)
cfn=(4992)
calls=1 1620
* 10
+1 3
+1 4
cfi=(272)
cfn=(5100)
calls=1 1613
* 473
* 4
-1 4
+3 16
+13 16
+1 8
-1 8
+14 16
+2 2
+6 7
cfi=(272)
cfn=(5076)
calls=1 2609
* 511
+2 6
cfi=(272)
cfn=(5100)
calls=1 1613
* 473
* 7
+2 4
cfi=(247)
cfn=(4434)
calls=1 43
* 24
* 5
cfi=(272)
cfn=(5078)
calls=1 2642
* 496
+2 6
cfi=(272)
cfn=(5100)
calls=1 1613
* 473
* 8
+2 12
+12 12
+14 12
+1 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+6 12
+5 12
+5 12
+19 12
+13 12
+16 25
cfi=(247)
cfn=(4451)
calls=5 1843
* 2918
+2 10
fn=(4656)
5257 18
+1 3
+4 9
+1 9
+2 12
cfi=(270)
cfn=(4650)
calls=3 78
* 30
* 6
+2 9
+2 12
+42 9
cfi=(247)
cfn=(4528)
calls=3 277
* 92
* 12
cfi=(247)
cfn=(4434)
calls=3 43
* 72
* 9
cfi=(272)
cfn=(4658) get_typavgwidth
calls=3 2324
* 1491
* 3
+2 6
+3 18
cfn=(4662)
calls=3 3748
* 4274
+1 18
+1 18
-53 21
+58 9
+2 3
+1 12
fl=(62)
fn=(1322)
1329 20
+7 5
cfn=(1324) GUC_yyensure_buffer_stack
calls=5 1527
* 2061
+1 55
+3 50
+8 30
+1 5
cfn=(1326) GUC_yy_load_buffer_state
calls=5 +11
* 150
+7 5
+1 10
fn=(1316) GUC_yyalloc
1837 44
+1 33
cob=(3)
cfi=(3)
cfn=(388)
calls=11 0
* 2235
* 11
+1 22
fn=(1324)
1527 15
+3 15
+6 1
+2 4
cfn=(1316)
calls=1 1837
* 212
-1 1
+3 3
+3 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 15
* 1
+2 2
+1 1
+1 1
+3 20
+3 1
+2 5
+2 6
cfn=(1410) GUC_yyrealloc
calls=1 1842
* 1709
-1 1
+4 3
+4 10
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 16
* 1
+1 2
+2 10
fn=(1372) GUC_yyfree
1854 40
+1 30
cob=(3)
cfi=(3)
cfn=(590)
calls=10 0
* 1151
* 10
+1 20
fn=(1328)
754 16478
+10 7062
+2 1
+6 3
+1 1
+2 3
+3 3
+1 2
+2 10
+6 1
cfn=(1326)
calls=1 1360
* 30
+5 4873
+3 9746
+5 4873
+2 4873
+4 24365
+1 19492
-1 394420
+1 315536
+2 78561
+1 78561
+2 83757
+2 234834
+1 156556
+1 293252
-4 1620350
+6 670056
+1 83757
+2 167514
+1 4887
+1 4887
+3 14661
+2 48870
+4 9774
-6 15
+2 50
+4 14711
fi=(60)
96 11130
+4 88
+2 52
+2 24
+2 82
fe=(62)
904 10
+5 144
+3 48
+3 192
+11 35
+1 35
+1 30
+10 264
+37 24
cfn=(1330) yy_get_next_buffer
calls=24 +69
* 12837
* 114
+4 5
+13 10
+2 35
+1 5
+13 56
-1 14
+3 14
cfn=(1356) yy_get_previous_state
calls=14 1178
* 12532
* 14
+2 14
+1 14
+1 14
+4 40
-1 5
+3 5
cfn=(1356)
calls=5 1178
* 265
* 5
+2 5
+1 5
+1 5
fi=(60)
98 2519
fe=(62)
1033 2519
+1 16478
fn=(1318) GUC_yy_init_buffer
1422 50
+1 10
cob=(5)
cfi=(5)
cfn=(472)
calls=10 0
* 30
* 10
* 20
+2 30
cfn=(1320) GUC_yy_flush_buffer
calls=10 +24
* 510
+2 30
+1 20
+6 105
+1 10
+1 10
+3 10
+2 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
-2 10
+2 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
* 20
+1 20
fn=(1326)
1360 32
+1 112
+1 144
+1 112
+1 48
+1 32
fn=(1330)
1044 168
+1 144
+1 24
+4 288
+4 192
+22 144
+2 48
+1 1344
-1 720
+3 192
+4 45
+5 171
-1 38
+3 57
+37 38
+1 19
+3 171
cob=(5)
cfi=(5)
cfn=(472)
calls=19 0
* 57
* 19
* 304
cob=(3)
cfi=(3)
cfn=(1336)
calls=18 0
* 3210
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1531
* 23
* 91
cob=(3)
cfi=(3)
cfn=(1366)
calls=4 0
* 144
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1296
* 9
* 10
+3 133
+3 72
+2 20
+2 5
+1 15
cfn=(1368) GUC_yyrestart
calls=5 1312
* 860
* 5
+5 5
+1 35
+6 14
+2 264
+8 96
+1 216
+1 240
+2 168
+2 24
+1 168
fn=(1356)
1178 95
+4 19
+2 38
+2 2016
+1 896
+2 210
+1 210
+2 224
+2 630
+1 420
+1 840
-4 4340
+6 1792
-14 953
+17 19
+1 95
fn=(1368)
1312 25
+2 50
+6 65
cfn=(1318)
calls=5 1422
* 545
+1 5
cfn=(1326)
calls=5 +39
* 150
+1 20
fn=(1370)
1402 20
+2 10
+3 55
+1 25
+2 20
+1 20
cfn=(1372)
calls=5 1854
* 776
+2 15
cfn=(1372)
calls=5 1854
* 475
+1 10
fn=(1314)
1374 25
+3 10
cfn=(1316)
calls=5 1837
* 693
* 5
+1 10
+3 20
+5 25
cfn=(1316)
calls=5 1837
* 1440
* 10
+1 20
+3 10
+2 25
cfn=(1318)
calls=5 +30
* 400
+2 5
+1 10
fn=(1410)
1842 5
+8 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1692
* 5
+1 2
fn=(1320)
1449 40
+1 20
+3 20
+6 30
+1 40
+2 40
+2 20
+1 20
+2 105
+1 5
cfn=(1326)
calls=5 1360
* 150
+1 20
fl=(64)
fn=(1546) CheckDateTokenTable
4421 12
+1 2
+3 4
+3 1096
cob=(3)
cfi=(3)
cfn=(424)
calls=137 0
* 2055
* 137
* 274
+10 274
+1 2160
cob=(3)
cfi=(3)
cfn=(446)
calls=135 0
* 2970
* 135
-1 270
-13 554
+23 2
+1 4
fn=(1544)
4453 4
+1 1
+5 6
cfn=(1546)
calls=1 -38
* 5376
* 5
+1 6
cfn=(1546)
calls=1 -39
* 4573
* 5
+1 1
+1 4
fn=(1518)
4508 10
+7 6
-1 4
+2 8
+2 4
+2 3920
+2 1568
+5 408
cob=(3)
cfi=(3)
cfn=(424)
calls=102 0
* 1814
* 102
-1 204
+2 408
-10 1574
+15 6
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 546
* 2
* 2
+1 4
+4 6
+1 6
+3 6
-1 4
+2 8
+1 4
+2 3920
+1 3136
+3 2744
cfi=(16)
cfn=(460)
calls=392 46
* 34860
+1 1568
+6 408
+1 204
+1 714
cob=(3)
cfi=(3)
cfn=(810)
calls=102 0
* 4582
* 102
+2 204
+2 408
+3 408
cob=(3)
cfi=(3)
cfn=(424)
calls=102 0
* 1814
* 102
-1 204
+2 510
+4 1934
+1 776
-28 776
+27 192
+1 384
-28 798
+38 2
+1 4
fn=(1520)
4592 8
+1 4
+2 8
cob=(3)
cfi=(3)
cfn=(828)
calls=2 0
* 74
* 2
+1 4
fl=(176)
fn=(3224)
75 13205
+1 23769
+9 2641
cfi=(53)
cfn=(2878)
calls=2641 7896
* 29051
* 5282
+17 7923
cfi=(170)
cfn=(3226)
calls=2641 -5
* 100358
* 5282
+2 7923
+14 18487
+1 2641
+42 5282
fl=(216)
fn=(3864)
67 18168
+7 9084
cob=(3)
cfi=(3)
cfn=(424)
calls=3028 -74
* 49400
* 3028
* 3028
+2 6056
+7 6056
+2 116418
+2 72044
+1 6087
+1 24348
-6 24348
+6 53264
-6 62348
+8 9084
+5 6056
+1 21196
+1 3028
+5 352562
+1 151098
cob=(3)
cfi=(3)
cfn=(446)
calls=25183 0
* 811674
* 25183
* 25183
+1 50366
+1 4034
+1 46332
+1 44336
+2 36246
-12 78582
+15 1011
+1 6056
fl=(309)
fn=(5356)
323 20000
+1 10000
+1 2000
+2 2000
+1 2000
+5 8000
+8 4000
+7 46000
+3 4000
+3 2000
+15 10000
+6 12000
+1 6000
cfi=(50)
cfn=(3476)
calls=1500 2612
* 24000
* 3000
+2 3000
+2 5000
+6 4000
cfi=(310)
cfn=(5358)
calls=500 158
* 2811038
* 500
+6 2000
+15 7000
+3 21000
cfn=(5382) ReadBufferBI
calls=3500 82
* 3081309
* 3500
+1 45500
+1 3000
cfi=(311)
cfn=(5386)
calls=500 221
* 1929470
+1 14000
cfi=(50)
cfn=(3232)
calls=3500 3553
* 577500
* 3500
+50 7000
+1 35000
cfn=(5390) GetVisibilityMapPins
calls=3500 125
* 168000
* 3500
+12 31500
+1 10500
cfi=(312)
cfn=(5394)
calls=3500 663
* 164500
* 3500
+1 17500
+3 4000
+6 1000
+1 500
cfi=(310)
cfn=(5398)
calls=500 291
* 13500
+2 1000
+9 12000
cfi=(50)
cfn=(3232)
calls=3000 3553
* 342000
+1 6000
+1 9000
cfi=(50)
cfn=(3258)
calls=3000 3316
* 441000
* 3000
+8 12000
+7 24000
cfi=(310)
cfn=(5408)
calls=3000 207
* 3813878
* 3000
392 10000
530 19500
+8 3000
+2 6000
+2 6000
cfi=(160)
cfn=(5412)
calls=1500 418
* 3206884
* 4500
+38 7500
cfn=(5382)
calls=1500 82
* 6728325
* 1500
+6 3000
+6 6000
cfi=(50)
cfn=(3232)
calls=1500 3553
* 247500
+8 3000
+1 6000
cfi=(160)
cfn=(5474)
calls=1500 450
* 2869206
+7 13500
+2 6000
+5 7500
cfi=(312)
cfn=(5476)
calls=1500 42
* 1456500
+2 4500
cfi=(312)
cfn=(5394)
calls=1500 +46
* 63000
* 3000
+15 13500
cfi=(50)
cfn=(3476)
calls=1500 2612
* 24000
* 1500
+7 1500
cfi=(310)
cfn=(5398)
calls=1500 291
* 40500
+2 1500
+1 8000
fn=(5382)
82 30000
+4 10000
+4 20000
+2 18000
cfi=(50)
cfn=(3476)
calls=4500 2612
* 72000
* 9000
+2 6000
cfi=(50)
cfn=(5384) IncrBufferRefCount
calls=1500 3354
* 175500
+1 4500
+3 12000
cfi=(50)
cfn=(3258)
calls=3000 3316
* 723000
+1 6000
+4 27000
cfi=(50)
cfn=(3194)
calls=3000 642
* 7709285
* 4500
cfi=(50)
cfn=(3194)
calls=500 642
* 535349
* 3500
+4 10500
cfi=(50)
cfn=(5384)
calls=3500 3354
* 409500
+1 10500
+2 3500
+1 10000
fn=(5400)
40 700000
+11 787500
+2 875000
cfi=(312)
cfn=(5402)
calls=87500 195
* 24622500
* 87500
+3 175000
+4 262500
cfi=(50)
cfn=(3476)
calls=87500 2612
* 1400000
* 612500
cfi=(50)
cfn=(3476)
calls=87500 2612
* 1400000
* 525000
+7 350000
+2 787500
+1 612500
+2 525000
+2 175000
fn=(5390)
125 31500
+10 38500
+1 10000
cfi=(311)
cfn=(5392)
calls=500 245
* 20000
* 5000
-1 7000
+4 10500
-2 7000
+3 28000
+1 3500
+28 7000
fl=(92)
fn=(2018) PredicateLockShmemSize
1266 3
+1 1
+4 7
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+1 4
cfi=(31)
cfn=(2006)
calls=1 733
* 421
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 1
+1 4
cfi=(31)
cfn=(2006)
calls=1 733
* 438
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+7 8
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 5
+1 6
+1 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 4
cfi=(31)
cfn=(2006)
calls=1 733
* 394
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 5
+1 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+4 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 4
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fn=(3148) SerializationNeededForRead
497 113785
+2 68271
+1 45514
+33 45514
fn=(3478)
2476 17082
+3 14235
cfn=(3148)
calls=2847 497
* 34164
* 8541
+8 5694
fn=(2232) CreatePredXact
563 3
+5 2
-1 1
-1 4
cfi=(126)
cfn=(2234)
calls=1 146
* 18
* 1
+4 2
+3 3
cfi=(126)
cfn=(2236)
calls=1 69
* 25
+1 6
cfi=(126)
cfn=(2230)
calls=1 90
* 23
+1 2
+1 2
fn=(2238) OldSerXidInit
797 3
+6 1
+2 2
-1 8
cfi=(93)
cfn=(2196)
calls=1 167
* 3099
+4 1
+6 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1055
-1 1
+4 4
+5 2
+1 2
+1 2
+2 2
fn=(3236)
3902 206748
+7 86145
cfn=(3148)
calls=17229 497
* 206748
* 51687
+1 17229
4095 103374
fn=(2222) InitPredicateLocks
1063 4
+14 7
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 6
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+6 118
+1 1
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 322
* 99447
* 1
+13 4
+2 7
cfi=(31)
cfn=(836)
calls=1 910
* 400
+6 4
cfi=(31)
cfn=(2226)
calls=1 861
* 137
* 1
+1 8
+6 118
+1 1
+1 1
+1 1
+1 1
+3 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 322
* 189628
* 1
+11 5
+10 6
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 991
* 1
+4 4
+4 3
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 4
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 2
+1 2
+1 2
+1 2
+1 2
+1 2
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 4
cfi=(87)
cfn=(2134)
calls=1 158
* 67
* 1
+2 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 18636
* 1
+1 2
+3 12320
-1 5600
cfi=(126)
cfn=(2230)
calls=1120 90
* 25760
-2 5604
+5 2
cfn=(2232)
calls=1 563
* 92
* 1
+1 6
+1 3
+1 3
+1 3
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 5
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 3
+1 3
+1 3
+1 3
+1 3
+3 3
+6 118
+1 1
+1 1
+2 7
cfi=(87)
cfn=(2162)
calls=1 322
* 18266
* 1
+18 5
+2 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1016
* 1
+4 4
+4 3
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 1
+2 4
cfi=(87)
cfn=(2134)
calls=1 158
* 67
* 1
+2 6
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 29416
* 1
+1 2
+3 50400
-1 28000
cfi=(126)
cfn=(2230)
calls=5600 90
* 128800
-2 28004
+12 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1273
-1 1
+5 4
+1 3
cfi=(126)
cfn=(2228)
calls=1 37
* 12
+6 1
cfn=(2238)
calls=1 797
* 4187
+1 4
fn=(5346)
1835 4
+9 3
+22 2
fn=(3146)
2453 210
+3 210
cfn=(3148)
calls=42 497
* 504
* 126
+7 84
fn=(3614)
4667 12
+3 6
+1 2
+74 12
fn=(3506)
2498 15834
+5 13195
cfn=(3148)
calls=2639 497
* 31668
* 7917
+1 2639
+46 5278
fn=(3664)
3223 10
+18 6
+3 2
3533 4
fn=(5352)
4282 9000
+3 3000
cfn=(5354) SerializationNeededForWrite
calls=1000 541
* 11000
* 3000
+49 6000
fn=(5354)
541 4000
+2 3000
+1 2000
+7 2000
fl=(189)
fn=(3412)
4029 11388
+1 8541
+1 14235
cfi=(45)
cfn=(3414)
calls=2847 506
* 65481
-1 11388
+2 5694
fl=(249)
fn=(4464) fireRIRrules
1727 18
+1 9
+8 3
+1 15
cfi=(250)
cfn=(4466)
calls=3 90
* 24
* 6
1865 12
cfi=(250)
cfn=(4462)
calls=3 78
* 24
* 12
+12 12
+10 3
+1 12
cfi=(250)
cfn=(4462)
calls=3 78
* 24
* 12
+95 3
+1 12
fn=(4458)
3690 12
+1 9
+19 12
cfn=(4460) RewriteQuery
calls=3 3297
* 1050
* 3
+9 3
+1 9
cfi=(250)
cfn=(4462)
calls=3 78
* 30
* 6
+2 9
+2 12
cfn=(4464)
calls=3 1727
* 201
* 3
+2 9
+2 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
-8 21
+27 9
+1 3
+1 3
+2 9
cfi=(250)
cfn=(4462)
calls=3 78
* 30
* 6
+2 9
+2 12
+4 3
+2 3
-10 6
+23 12
+3 3
+1 6
fn=(4460)
3297 21
+1 9
+1 3
+1 3
+1 3
+1 3
+1 3
+8 12
cfi=(250)
cfn=(4462)
calls=3 78
* 24
* 12
+63 6
3632 12
+2 12
+9 9
+3 15
cfi=(45)
cfn=(960)
calls=3 129
* 870
* 3
+12 12
+17 3
+1 15
fl=(293) /home/mithuncy/fsm_p11patch/src/backend/utils/adt/format_type.c
fn=(5098) type_maximum_size
398 6
+1 2
+1 2
+25 4
fl=(16)
fn=(460)
46 2400
+1 960
+1 960
+1 960
+3 960
+2 480
+2 38214
+1 480
-3 10422
+8 960
+8 2400
+1 960
fl=(83)
fn=(1992)
97 6
+1 1
+2 4
+7 1
cfi=(84)
cfn=(1994)
calls=1 +22
* 6
* 1
+1 1
cfi=(85)
cfn=(1996)
calls=1 -57
* 5
* 1
+11 1
+1 3
cfi=(86)
cfn=(1998)
calls=1 +45
* 34
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(85)
cfn=(2004)
calls=1 -81
* 12
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(31)
cfn=(2006)
calls=1 733
* 368
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
cfi=(88)
cfn=(2010)
calls=1 +38
* 823
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(91)
cfn=(2016)
calls=1 3437
* 1031
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(92)
cfn=(2018)
calls=1 1266
* 1752
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(84)
cfn=(2022)
calls=1 -24
* 367
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(53)
cfn=(2024)
calls=1 4945
* 2898
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(94)
cfn=(2028)
calls=1 693
* 88
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(95)
cfn=(2032)
calls=1 480
* 82
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(96)
cfn=(2036)
calls=1 +55
* 59
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(97)
cfn=(2038)
calls=1 237
* 103
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(73)
cfn=(2040)
calls=1 +11
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(98)
cfn=(2042) MultiXactShmemSize
calls=1 1804
* 225
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(99)
cfn=(2044)
calls=1 350
* 127
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(100)
cfn=(2048)
calls=1 +45
* 187
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(38)
cfn=(2050)
calls=1 2609
* 206
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(101)
cfn=(2052)
calls=1 +67
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(102)
cfn=(2054)
calls=1 -25
* 73
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(103)
cfn=(2058)
calls=1 -65
* 13
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(104)
cfn=(2060) CheckpointerShmemSize
calls=1 880
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(105)
cfn=(2062)
calls=1 3289
* 66
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(106)
cfn=(2064)
calls=1 -28
* 66
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(107)
cfn=(2066)
calls=1 476
* 91
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(108)
cfn=(2068)
calls=1 3028
* 63
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(109)
cfn=(2070)
calls=1 43
* 33
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(72)
cfn=(2072)
calls=1 770
* 66
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(110)
cfn=(2074)
calls=1 252
* 10
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(111)
cfn=(2076)
calls=1 2014
* 62
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(112)
cfn=(2078)
calls=1 -23
* 5
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(113)
cfn=(2080)
calls=1 427
* 144
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 1
cfi=(114)
cfn=(2082)
calls=1 42
* 5
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+6 1
+1 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+3 10
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 4
cfi=(57)
cfn=(2084)
calls=1 1286
* 68
* 6
cfi=(57)
cfn=(2086)
calls=1 1336
* 96
+5 6
cfi=(115)
cfn=(2088)
calls=1 560
* 34649
* 1
+2 3
cfi=(87)
cfn=(2126)
calls=1 -73
* 16
+5 5
cfi=(86)
cfn=(2128)
calls=1 +24
* 120
+27 5
+1 1
cfi=(87)
cfn=(2132)
calls=1 -91
* 153
+6 1
cfi=(99)
cfn=(2140)
calls=1 382
* 17679
+5 1
cfi=(87)
cfn=(2160)
calls=1 +58
* 3251
+5 1
cfi=(53)
cfn=(2190)
calls=1 4986
* 462330
+1 1
cfi=(94)
cfn=(2194)
calls=1 699
* 4713
+1 1
cfi=(95)
cfn=(2198)
calls=1 491
* 4415
+1 1
cfi=(96)
cfn=(2200)
calls=1 -31
* 4819
+1 1
cfi=(98)
cfn=(2202) MultiXactShmemInit
calls=1 1821
* 7389
+1 1
cfi=(88)
cfn=(2204)
calls=1 69
* 3666463
+5 1
cfi=(91)
cfn=(2220)
calls=1 378
* 157412
+5 1
cfi=(92)
cfn=(2222)
calls=1 1063
* 648914
+5 4
+1 1
cfi=(84)
cfn=(2240)
calls=1 -78
* 99625
+1 1
cfi=(100)
cfn=(2254)
calls=1 -19
* 3325
+1 1
cfi=(38)
cfn=(2256)
calls=1 2637
* 30983
+1 1
cfi=(97)
cfn=(2258)
calls=1 +9
* 1325
+1 1
cfi=(73)
cfn=(2260)
calls=1 -85
* 1455
+5 1
cfi=(101)
cfn=(2262)
calls=1 -30
* 7107
+5 1
cfi=(102)
cfn=(2264)
calls=1 129
* 1260
+1 1
cfi=(103)
cfn=(2266)
calls=1 85
* 1627
+1 1
cfi=(104)
cfn=(2268) CheckpointerShmemInit
calls=1 899
* 37047
+1 1
cfi=(105)
cfn=(2270)
calls=1 3308
* 1866
+1 1
cfi=(106)
cfn=(2276)
calls=1 133
* 2634
+1 1
cfi=(107)
cfn=(2280)
calls=1 496
* 3084
+1 1
cfi=(108)
cfn=(2282)
calls=1 3040
* 1567
+1 1
cfi=(109)
cfn=(2284)
calls=1 54
* 1370
+1 1
cfi=(72)
cfn=(2286)
calls=1 818
* 1720
+5 1
cfi=(110)
cfn=(2288)
calls=1 *
* 1135
+1 1
cfi=(111)
cfn=(2290)
calls=1 2027
* 2465
+1 1
cfi=(112)
cfn=(2296)
calls=1 136
* 2104
+1 1
cfi=(113)
cfn=(2298)
calls=1 444
* 13694
+1 1
cfi=(114)
cfn=(2334)
calls=1 48
* 4
+12 4
+1 3
cfi=(129)
cfn=(2336)
calls=1 146
* 13408
+5 3
+2 2
fl=(188)
fn=(3422)
347 17082
+8 17082
cfi=(172)
cfn=(3424)
calls=2847 79
* 818837
* 2847
+3 5694
cfi=(13)
cfn=(940)
calls=2847 925
* 1251065
* 2847
+1 28470
+1 28470
+1 11388
+1 25623
cfi=(13)
cfn=(940)
calls=2847 925
* 293234
* 8541
+4 5694
+1 5694
+1 5694
+1 5694
+2 5694
+1 5694
+7 17082
+2 11388
+2 8541
+2 2847
+1 5694
fn=(3430)
394 22776
+1 8541
+3 11388
+9 5694
+1 5694
+1 11388
+1 28470
+18 11388
+10 17082
+3 5694
-2 34164
cob=(3)
cfi=(3)
cfn=(482)
calls=2847 0
* 157910
* 2847
+3 5694
+3 8541
cfi=(111)
cfn=(3432)
calls=2847 204
* 167702
+1 5694
fn=(3524)
721 2084
+1 1563
+1 1563
+2 521
+3 1042
+1 521
+22 1042
fn=(3510)
453 11388
+1 8541
+3 11388
+3 9304
+2 9304
+3 5694
+1 11388
+5 11388
+1 11388
cfi=(13)
cfn=(952)
calls=2847 1032
* 241995
+2 11388
+2 11388
+2 11388
+3 8541
cfi=(13)
cfn=(952)
calls=2847 1032
* 629372
+1 5694
fn=(3398)
107 316
+1 316
cfi=(13)
cfn=(3400)
calls=79 853
* 21251
* 395
+2 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+2 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 158
+2 79
+1 158
fn=(3438)
215 15800
+1 9480
+4 6320
+7 12640
+17 12640
+1 14235
cfi=(191)
cfn=(3440)
calls=2847 569
* 26095859
* 5694
+6 1252
+21 1565
cfi=(191)
cfn=(3518)
calls=313 1162
* 18016
* 313
+4 6320
+1 2639
+2 2084
+2 3160
+1 6320
fl=(213)
fn=(3842) yy_init_globals
11083 1527
+1 1018
+5 1018
+1 1018
+1 1018
+1 1018
+1 1018
+1 1018
+2 1018
+1 1018
+1 1018
+7 1018
+1 1018
+6 509
+1 1018
fn=(3846)
10742 3054
+3 1018
+1 2545
-1 1018
+2 2545
-1 1018
+5 2036
cfi=(212)
cfn=(3840)
calls=509 1574
* 67697
* 509
+1 1018
+3 2036
+1 3563
+1 1018
+1 1018
+1 2036
+1 1018
+1 1018
+1 1018
+1 1018
+2 2545
cfn=(3848) core_yy_switch_to_buffer
calls=509 10487
* 138448
+2 509
+1 1018
fn=(3848)
10487 2545
+1 1018
+7 1527
cfn=(3850) core_yyensure_buffer_stack
calls=509 10692
* 88566
+1 7126
+3 6617
+8 4072
+1 1527
cfn=(3852) core_yy_load_buffer_state
calls=509 +11
* 23414
+7 1018
+1 1018
fn=(3844)
10927 2036
+1 1018
+1 1527
+1 1018
fn=(3876) yy_get_next_buffer
10217 8144
+1 2036
+1 8144
+1 2036
+4 16288
+4 10180
+2 9162
+5 1018
+8 1018
10347 7126
fn=(3860)
9032 39259
+4 7138
+7 10707
+2 10707
+2 14276
+2 1018
+6 2036
+1 1018
+2 2036
+1 1527
+2 2036
+1 1527
+2 6617
+6 1527
cfn=(3852)
calls=509 10519
* 23414
+5 14264
+3 21396
+5 7132
+2 28528
+7 21396
+4 164364
-1 123273
-2 164364
+1 41091
-2 82182
+1 28528
+1 7132
-2 14264
+8 15282
+2 114615
+4 40750
fi=(212)
529 1518
+1 1518
+1 5566
+1 2530
+1 1518
+3 1518
+2 506
+20 12144
+1 1012
+5 2530
+4 2530
cfn=(3868)
calls=506 1245
* 89513
* 506
+1 1012
+35 24
cfn=(4278)
calls=6 1226
* 222
+2 6
+1 4608
cfn=(3866)
calls=512 1207
* 33720
+2 512
+82 11
+1 6
cfi=(13)
cfn=(928)
calls=1 1162
* 176
* 1
+1 2
+1 3
+2 1
+8 8
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 5
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
+1 2
+1 5
cfn=(3868)
calls=1 1245
* 222
* 1
+1 2
+14 9
cfn=(3866)
calls=1 1207
* 131
+2 1
826 11
+1 2
+4 11
+1 2
+36 154
+1 70
+10 12
+1 20
cob=(3)
cfi=(3)
cfn=(4286) __strstr_sse42
calls=3 0
* 132
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1340
* 8
* 4
+1 20
cob=(3)
cfi=(3)
cfn=(4286)
calls=4 0
* 176
* 4
* 4
+2 8
+6 8
+1 8
+1 8
+11 8
+1 28
-1 8
+2 28
-1 8
+28 44
+2 24
+40 8
+3 24
cfi=(13)
cfn=(928)
calls=4 1162
* 704
* 4
+1 8
+4 22
+1 14
cob=(3)
cfi=(3)
cfn=(2672) atol
calls=2 0
* 218
* 2
* 2
+1 4
+4 55
+1 35
cfn=(4248)
calls=5 1261
* 946
* 5
+9 27
+1 11
+1 7
cfn=(4248)
calls=1 1261
* 164
* 1
+28 27775
+5 5050
-2 2525
+1 5050
-1 15150
cfi=(216)
cfn=(3864)
calls=2525 67
* 1694017
* 2525
+3 5050
+2 10085
+1 8068
+7 4572
cfi=(42)
cfn=(936)
calls=508 132
* 223465
* 508
+1 2032
+1 1016
+9 5599
+1 1018
fe=(213)
10083 7126
+3 3054
+3 10180
+11 5090
+1 5090
+1 4072
+10 15270
+36 3054
cfn=(3876)
calls=1018 +69
* 65152
* 3054
+4 1018
+13 2036
+2 4072
+1 509
+23 5599
-1 1018
+3 1527
cfn=(3878) yy_get_previous_state
calls=509 10352
* 37479
* 509
+2 1018
+1 1018
+1 509
fi=(212)
411 2537
fe=(213)
10206 3563
+1 28552
fn=(3878)
10352 2545
+3 1018
+2 2036
+2 1527
+2 18192
-2 9616
+5 509
+1 2036
fn=(3852)
10519 3054
+1 2036
+1 10180
+1 14252
+1 10180
+1 5090
+1 2036
fn=(3838)
11027 2036
+1 1018
+5 1527
cfi=(212)
cfn=(3840)
calls=509 1574
* 67697
* 1018
+2 2036
+6 3054
cob=(3)
cfi=(3)
cfn=(828)
calls=509 0
* 18812
* 509
+2 2036
cfn=(3842)
calls=509 +40
* 15270
+1 1018
fn=(3850)
10692 2036
+2 1018
+2 2036
+6 509
+2 3054
cfi=(212)
cfn=(3840)
calls=509 1574
* 61080
-1 1018
+3 2036
+3 3563
cob=(3)
cfi=(3)
cfn=(828)
calls=509 0
* 7635
* 509
+2 1527
+1 1018
+1 509
+20 1018
fl=(214)
fn=(3854)
16299 1524
+1 1016
+1 1016
fn=(3884)
15471 4
+6 4
+4 6
+1 2
fn=(4274)
15568 20
+1 16
cfi=(13)
cfn=(3400)
calls=4 853
* 640
* 20
+2 8
+1 12
+1 12
+2 4
+1 8
fn=(4290)
15487 14
+7 8
cfi=(13)
cfn=(3400)
calls=2 853
* 306
* 10
+1 2
+3 6
+1 6
cfi=(219)
cfn=(4292)
calls=2 78
* 16
* 8
+33 6
cfi=(217)
cfn=(3872)
calls=2 54
* 334
* 8
cfi=(45)
cfn=(1586)
calls=2 260
* 580
* 4
+1 2
+1 4
fn=(5030)
15538 6
+1 4
cfi=(13)
cfn=(3400)
calls=1 853
* 160
* 5
+1 3
+1 3
+1 3
+1 1
+1 2
fn=(3880)
15459 2540
+1 2032
cfi=(13)
cfn=(3400)
calls=508 853
* 77724
* 2540
+2 1524
+1 1524
+1 1016
+1 508
+1 1016
fn=(4288)
15548 20
+1 16
cfi=(13)
cfn=(3400)
calls=4 853
* 640
* 20
+2 8
+1 12
+1 12
+2 4
+1 8
fl=(244)
fn=(4396) setNamespaceLateralState
1663 32
+3 12
cfi=(219)
cfn=(4292)
calls=4 78
* 32
* 16
+7 8
fn=(4422)
2557 36
+1 4
+3 12
cfi=(219)
cfn=(4292)
calls=4 78
* 32
* 16
+16 4
+1 8
fn=(4430)
2588 36
+1 4
+1 4
+3 12
cfi=(219)
cfn=(4292)
calls=4 78
* 32
* 16
2784 4
+1 24
fn=(4420)
1686 56
+3 16
+1 16
+7 16
fn=(4424)
2455 48
+1 4
+2 4
+2 4
+1 4
+7 20
cfn=(4426) flatten_grouping_sets
calls=4 2077
* 164
* 4
+10 20
+7 12
cfi=(219)
cfn=(4292)
calls=4 78
* 32
* 16
+50 8
+1 12
+2 4
+1 16
fn=(4428)
1713 56
+3 16
+1 16
+10 16
fn=(4394)
120 20
+12 12
cfi=(219)
cfn=(4292)
calls=4 -54
* 32
* 16
+27 24
cfn=(4396)
calls=4 1663
* 100
+1 8
fn=(4426)
2077 28
+2 4
cfi=(52)
cfn=(3958)
calls=4 3263
* 108
+2 8
+1 8
+83 8
fl=(185)
fn=(3376)
464 2844
+1 2844
+1 2844
+2 4740
+1 1896
fn=(5306)
265 350000
+1 262500
+2 262500
cfi=(294)
cfn=(5308)
calls=87500 -68
* 26748000
* 87500
+1 175000
fn=(5110) int4out
276 2000
+1 1500
+1 1000
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 500
+2 2500
cfi=(294)
cfn=(5112)
calls=500 +6
* 62107
+1 500
+1 1000
fl=(288)
fn=(5014)
110 6
+1 4
+2 4
+1 2
+1 4
fl=(298)
fn=(5190)
3462 6000
+11 3500
cfi=(299)
cfn=(5192)
calls=500 76
* 25500
* 500
+1 2500
cfi=(13)
cfn=(940)
calls=500 925
* 61500
* 2000
+1 1000
+3 500
+1 1500
+2 7000
+1 3000
+1 500
+2 1000
+3 2000
+12 9000
+1 22000
+1 7000
+4 2000
-21 5500
+31 2000
fl=(104)
fn=(2060)
880 6
+7 2
+1 10
cfi=(87)
cfn=(2000)
calls=2 493
* 46
* 10
cfi=(87)
cfn=(2002)
calls=2 476
* 42
* 2
+2 2
+1 4
fn=(5470)
1096 12000
+4 6000
+3 4500
+3 7500
cfi=(99)
cfn=(2170)
calls=1500 +16
* 205500
+3 4500
+1 6000
+7 6000
+1 6000
-1 3000
+15 21000
+1 7500
+1 4500
+1 4500
+3 3000
+1 9000
-1 4500
+3 6000
cfi=(99)
cfn=(2182)
calls=1500 1726
* 136500
+3 3000
+3 1500
+1 3000
fn=(2268)
899 3
+1 1
cfn=(2060)
calls=1 -20
* 62
* 1
+4 5
cfi=(87)
cfn=(2168)
calls=1 373
* 1083
-1 1
+5 4
+7 23
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 35856
* 1
+1 2
+1 3
+2 2
fl=(132)
fn=(2518)
26 8
+4 10
cob=(5)
cfi=(5)
cfn=(2428)
calls=2 -30
* 40
* 2
* 2
+1 4
+2 16
cob=(5)
cfi=(5)
cfn=(2428)
calls=2 -33
* 40
* 2
* 4
+2 2
+7 4
fl=(148)
fn=(2916)
3477 3
+6 1
cfi=(150)
cfn=(2918)
calls=1 605
* 1580
+6 3
+6 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
* 1
+6 2
cfn=(2926) load_relcache_init_file
calls=1 5326
* 1213
* 3
+2 6
cfn=(2928) formrdesc
calls=1 1727
* 4170
+2 6
cfn=(2928)
calls=1 1727
* 2958
+2 6
cfn=(2928)
calls=1 1727
* 2159
+2 6
cfn=(2928)
calls=1 1727
* 2190
+2 6
cfn=(2928)
calls=1 1727
* 2715
+6 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
+1 2
fn=(3374) RelationBuildTupleDesc
492 3090
+7 618
+1 618
+1 618
+3 3708
+1 1854
+2 2472
cfi=(13)
cfn=(798)
calls=618 772
* 58563
* 618
+2 1236
+10 1236
-3 4944
cfi=(184)
cfn=(3342)
calls=618 81
* 70452
+4 4944
cfi=(184)
cfn=(3342)
calls=618 81
* 70452
+10 1854
cfi=(169)
cfn=(3023)
calls=39 1307
* 82982
cfi=(169)
cfn=(3022)
calls=579 1307
* 1542655
* 618
+1 6180
cfi=(172)
cfn=(3119)
calls=1 322
* 4208
cfi=(172)
cfn=(3118)
calls=617 322
* 2988296
* 618
+9 3090
+2 618
+5 7584
+2 3792
+1 7584
+5 15168
cob=(3)
cfi=(3)
cfn=(856)
calls=948 0
* 51754
* 948
+5 3792
+1 554
+3 3792
+14 3792
+50 948
+1 1896
+1 618
-88 2844
cfi=(172)
cfn=(3186)
calls=948 406
* 12285365
* 2844
+94 1854
cfi=(172)
cfn=(3254)
calls=618 489
* 2319244
+1 2472
cfi=(169)
cfn=(3080)
calls=618 1283
* 1529687
+2 1236
+23 3090
+1 1854
+5 4788
+1 2895
+2 156
+2 78
+11 78
+2 117
+2 195
+9 78
-9 39
+13 1737
cfi=(13)
cfn=(952)
calls=579 1032
* 49215
+1 1737
+2 2472
fn=(3546) write_relcache_init_file
5715 14
+13 6
+8 4
+2 9
cfi=(17)
cfn=(462)
calls=1 203
* 896
+2 7
cfi=(17)
cfn=(462)
calls=1 203
* 360
* 1
+5 11
cfi=(17)
cfn=(462)
calls=1 203
* 997
+2 9
cfi=(17)
cfn=(462)
calls=1 203
* 470
+4 6
cob=(3)
cfi=(3)
cfn=(1972)
calls=2 0
* 18
* 2
+2 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1289
* 2
+1 4
+18 2
+1 14
cob=(3)
cfi=(3)
cfn=(2442)
calls=2 0
* 772
* 2
* 4
+6 10
cfi=(31)
cfn=(3528)
calls=2 1380
* 106
+2 2
+2 750
+1 750
+3 1000
+1 125
+12 924
cfn=(3556) RelationIdIsInInitFile
calls=106 5932
* 20126
* 318
+8 625
cfn=(3548) write_item
calls=125 5913
* 57130
+3 625
cfn=(3548)
calls=125 5913
* 45294
+3 250
+2 9045
cfn=(3548)
calls=603 +97
* 208660
-2 4243
+8 250
-1 1125
cfn=(3548)
calls=125 +92
* 22125
+8 625
+5 234
-1 624
cfn=(3548)
calls=78 +80
* 30885
+6 156
-1 624
cfn=(3548)
calls=78 +75
* 22628
+6 156
-1 624
cfn=(3548)
calls=78 +70
* 22855
+6 624
-1 546
cfn=(3548)
calls=78 +65
* 23278
+6 156
-1 624
cfn=(3548)
calls=78 +60
* 22628
+6 156
-1 624
cfn=(3548)
calls=78 +55
* 22582
-77 756
cfi=(31)
cfn=(3534)
calls=252 1390
* 29996
* 756
+83 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1246
* 4
+14 10
cfi=(99)
cfn=(2170)
calls=2 1122
* 274
+3 2
cfi=(155)
cfn=(2976)
calls=2 680
* 134
+6 6
+11 10
cob=(3)
cfi=(3)
cfn=(3554) rename
calls=1 0
* 5
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1309
* 6
* 4
+9 8
cfi=(99)
cfn=(2182)
calls=2 1726
* 182
+1 10
fn=(3360)
3536 3
+4 8
+5 1
cfi=(150)
cfn=(3362)
calls=1 626
* 1691
+5 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
* 1
+7 3
+1 2
cfn=(2926)
calls=1 5326
* 1420
* 1
-1 2
+3 1
+2 6
cfn=(2928)
calls=1 1727
* 5001
+2 6
cfn=(2928)
calls=1 1727
* 4142
+2 6
cfn=(2928)
calls=1 1727
* 4658
+2 6
cfn=(2928)
calls=1 1727
* 4915
+6 3
cfi=(152)
cfn=(2898)
calls=1 110
* 10
+3 3
+28 4
+2 3
cfn=(3364) load_critical_index
calls=1 3830
* 1800234
+2 3
cfn=(3364)
calls=1 3830
* 850313
+2 3
cfn=(3364)
calls=1 3830
* 697842
+2 3
cfn=(3364)
calls=1 3830
* 720174
+2 3
cfn=(3364)
calls=1 3830
* 652901
+2 3
cfn=(3364)
calls=1 3830
* 788599
+2 3
cfn=(3364)
calls=1 3830
* 755756
+5 1
+15 4
+2 3
cfn=(3364)
calls=1 3830
* 92531
+2 3
cfn=(3364)
calls=1 3830
* 82312
+2 3
cfn=(3364)
calls=1 3830
* 82714
+2 3
cfn=(3364)
calls=1 3830
* 82497
+2 3
cfn=(3364)
calls=1 3830
* 85443
+2 3
cfn=(3364)
calls=1 3830
* 131552
+5 1
+19 5
cfi=(31)
cfn=(3528)
calls=1 1380
* 53
+2 1
+2 492
+1 164
+5 492
cfn=(3064)
calls=164 1970
* 14432
+5 820
+6 18
-1 36
cfi=(151)
cfn=(3306)
calls=9 1114
* 204667
* 9
+2 18
+3 72
+6 63
cob=(3)
cfi=(3)
cfn=(856)
calls=9 0
* 537
* 9
+3 36
+2 45
cfn=(3382) RelationParseRelOptions
calls=9 435
* 621
+11 27
cfi=(151)
cfn=(3280)
calls=9 1161
* 927
+3 45
+4 9
+11 820
+7 820
+15 820
+11 820
+9 820
+10 492
cfn=(3084)
calls=164 1983
* 14596
+3 328
+2 27
cfi=(31)
cfn=(3536) hash_seq_term
calls=9 1466
* 459
+1 45
cfi=(31)
cfn=(3528)
calls=9 1380
* 477
3677 495
cfi=(31)
cfn=(3534)
calls=165 1390
* 58824
* 495
3806 2
+8 1
cfi=(151)
cfn=(3540)
calls=1 1072
* 8005354
+3 2
cfn=(3546)
calls=1 5715
* 88951
+1 2
cfn=(3546)
calls=1 5715
* 474792
+2 2
fn=(3372) AllocateRelationDesc
380 2472
+6 1854
cfi=(152)
cfn=(2898)
calls=618 110
* 6180
* 618
+5 1236
cfi=(13)
cfn=(2546)
calls=618 956
* 315924
* 618
+3 1236
+14 1236
cfi=(13)
cfn=(940)
calls=618 925
* 75983
* 618
+2 3708
cob=(3)
cfi=(3)
cfn=(856)
calls=618 0
* 45440
* 618
+3 1854
+3 3090
cfi=(159)
cfn=(2932) CreateTemplateTupleDesc
calls=618 46
* 93326
* 1236
+2 1854
+2 1854
cfi=(152)
cfn=(2898)
calls=618 110
* 6180
+2 618
+1 1236
fn=(3386) BuildHardcodedDescriptor
3864 10
+5 6
cfi=(152)
cfn=(2898)
calls=2 110
* 20
* 2
+2 6
cfi=(159)
cfn=(2932)
calls=2 46
* 306
* 2
+1 4
+1 4
+2 4
+2 1060
cob=(3)
cfi=(3)
cfn=(856)
calls=53 0
* 3076
* 53
+2 477
-4 218
+8 4
+4 6
cfi=(152)
cfn=(2898)
calls=2 110
* 20
+2 2
+1 4
fn=(3406) LookupOpclassInfo
1562 786
+9 393
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 2932
* 1
+4 3
+4 917
cfi=(31)
cfn=(836)
calls=131 910
* 32254
* 131
+4 524
+3 16
+1 24
+2 16
+2 48
cfi=(13)
cfn=(2156)
calls=8 815
* 1224
-1 24
+22 524
+1 246
+9 24
+1 3
-1 6
+2 2
-1 4
-1 18
+10 18
cfi=(184)
cfn=(3342)
calls=2 81
* 228
-10 12
+10 54
cfi=(184)
cfn=(3342)
calls=6 81
* 684
+4 24
cfi=(169)
cfn=(3022)
calls=8 1307
* 241446
* 8
+1 72
cfi=(172)
cfn=(3118)
calls=8 322
* 30371
* 8
+3 24
cfi=(172)
cfn=(3186)
calls=8 406
* 75642
* 24
+2 64
+2 32
+1 32
+5 24
cfi=(172)
cfn=(3254)
calls=8 489
* 20233
+1 32
cfi=(169)
cfn=(3080)
calls=8 1283
* 13986
+6 24
+5 16
-3 64
cfi=(184)
cfn=(3342)
calls=8 81
* 912
+7 16
-3 72
cfi=(184)
cfn=(3342)
calls=8 81
* 912
+7 16
-3 72
cfi=(184)
cfn=(3342)
calls=8 81
* 912
+4 24
cfi=(169)
cfn=(3022)
calls=8 1307
* 258562
* 8
+1 72
cfi=(172)
cfn=(3118)
calls=8 322
* 31545
* 8
+3 8
+2 120
+2 60
+1 30
-1 30
+5 120
+1 30
-1 15
-9 45
cfi=(172)
cfn=(3186)
calls=15 406
* 273057
* 24
cfi=(172)
cfn=(3186)
calls=8 406
* 136485
* 69
+13 24
cfi=(172)
cfn=(3254)
calls=8 489
* 18228
+1 32
cfi=(169)
cfn=(3080)
calls=8 1283
* 14008
+3 16
+1 8
+1 262
fn=(2926)
5326 12
+12 4
+1 7
cfi=(17)
cfn=(462)
calls=1 203
* 360
* 1
+3 9
cfi=(17)
cfn=(462)
calls=1 203
* 470
+3 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1744
* 2
+1 4
+1 4
5707 8
fn=(3380) RelationInitIndexAccessInfo
1342 474
+22 158
-1 316
cfi=(151)
cfn=(3306)
calls=79 1114
* 1878868
* 79
+2 158
+3 237
cfi=(152)
cfn=(2898)
calls=79 110
* 790
* 79
+1 237
cfi=(178)
cfn=(3346)
calls=79 683
* 18791
* 158
+1 869
+1 237
cfi=(152)
cfn=(2898)
calls=79 110
* 790
+1 237
cfi=(151)
cfn=(3280)
calls=79 1161
* 8137
+5 553
cfi=(151)
cfn=(3306)
calls=79 1114
* 268928
* 79
+1 158
+3 632
+1 316
+1 237
cfi=(151)
cfn=(3280)
calls=79 1161
* 8137
+2 395
+1 474
+3 395
+7 553
cfi=(14)
cfn=(432)
calls=79 395
* 38343
* 79
+3 237
+1 553
cfi=(13)
cfn=(930)
calls=79 1149
* 14810
* 395
cfi=(13)
cfn=(812)
calls=79 330
* 711
+6 237
cfn=(3392) InitIndexAmRoutine
calls=79 -88
* 62937
+7 553
cfi=(13)
cfn=(2156)
calls=79 815
* 11293
-1 158
+3 553
cfi=(13)
cfn=(2156)
calls=79 815
* 11293
-1 158
+3 316
+1 158
+2 237
+3 553
cfi=(13)
cfn=(2156)
calls=79 815
* 12492
-1 158
+3 869
cfi=(13)
cfn=(2156)
calls=79 815
* 41815
-1 237
+10 553
cfi=(13)
cfn=(2156)
calls=79 815
* 10952
-1 158
+4 553
cfi=(13)
cfn=(2156)
calls=79 815
* 11334
-1 158
+8 1264
cfn=(3402) GetPgIndexDescriptor
calls=79 3907
* 2867
* 474
cfi=(178)
cfn=(3238)
calls=79 428
* 111969
* 79
+5 158
+1 790
cob=(3)
cfi=(3)
cfn=(856)
calls=79 0
* 974
* 79
+7 1422
cfn=(3402)
calls=79 3907
* 632
* 474
cfi=(178)
cfn=(3238)
calls=79 428
* 119898
* 79
+5 158
+7 1106
cfn=(3404) IndexSupportInitialize
calls=79 +46
* 1169500
+7 1422
cfn=(3402)
calls=79 3907
* 632
* 474
cfi=(178)
cfn=(3238)
calls=79 428
* 127166
* 79
+5 158
+1 790
cob=(3)
cfi=(3)
cfn=(856)
calls=79 0
* 966
* 79
+5 158
+1 158
+1 158
+1 158
+1 158
+1 158
+1 395
fn=(3054)
1904 15284
+9 22926
cfi=(31)
cfn=(836)
calls=3821 910
* 809029
* 24932
+2 7642
+2 9648
cfn=(3064)
calls=3216 +53
* 283614
+2 16080
+23 6432
+7 2420
cfn=(3368) RelationBuildDesc
calls=601 1070
* 43357096
cfn=(3369) RelationBuildDesc'2
calls=4 1070
* 900862
* 605
+1 1210
+1 1815
cfn=(3064)
calls=605 +19
* 53240
+1 605
+1 7642
fn=(3055)
1904 10240
+9 15360
cfi=(31)
cfn=(836)
calls=2560 910
* 549330
* 17920
+2 5120
+2 7680
cfn=(3064)
calls=2560 +53
* 225280
+2 12800
+23 5120
+11 5120
fn=(3064)
1970 37720
+1 28290
cfi=(162)
cfn=(3066)
calls=9430 1052
* 217496
+1 47150
+1 28290
+1 47150
cfi=(162)
cfn=(3070)
calls=9430 1063
* 405490
+1 18860
fn=(3084)
1983 37720
+2 47150
+1 28290
+1 47150
cfi=(162)
cfn=(3086)
calls=9430 1072
* 660100
+1 18860
fn=(3370) ScanPgRelation
310 4944
+13 1854
+6 4944
cfi=(184)
cfn=(3342)
calls=618 81
* 70452
+11 1854
cfi=(169)
cfn=(3023)
calls=39 1307
* 78567
cfi=(169)
cfn=(3022)
calls=579 1307
* 1542144
* 618
+7 1236
+3 1236
cfi=(110)
cfn=(3120)
calls=618 +91
* 126690
* 618
+3 4326
-1 99
cfi=(172)
cfn=(3118)
calls=11 -30
* 12127
+1 607
-1 5463
cfi=(172)
cfn=(3119)
calls=1 -30
* 3394
cfi=(172)
cfn=(3118)
calls=606 -30
* 2597020
* 618
+5 1854
cfi=(172)
cfn=(3186)
calls=618 +49
* 6847935
* 618
+5 1236
+1 1854
cfi=(178)
cfn=(3346)
calls=618 683
* 159271
* 618
+3 1854
cfi=(172)
cfn=(3254)
calls=618 489
* 2140090
+1 2472
cfi=(169)
cfn=(3080)
calls=618 1283
* 1522377
+2 618
+1 1236
fn=(3364)
3830 65
+9 52
cfi=(160)
cfn=(3026)
calls=13 106
* 25354
+1 52
cfi=(160)
cfn=(3026)
calls=13 106
* 25580
+1 52
cfn=(3368)
calls=13 1070
* 6723354
* 13
+1 26
+2 26
+1 26
+1 52
cfi=(160)
cfn=(3408)
calls=13 197
* 24165
+1 52
cfi=(160)
cfn=(3408)
calls=13 197
* 23973
+1 26
fn=(3392)
1318 316
+8 316
cfi=(187)
cfn=(3394)
calls=79 34
* 38631
* 79
+3 395
cfi=(13)
cfn=(798)
calls=79 772
* 9638
* 79
+2 474
cob=(3)
cfi=(3)
cfn=(856)
calls=79 0
* 5583
* 79
+1 237
+2 237
cfi=(13)
cfn=(952)
calls=79 1032
* 6715
+1 158
fn=(3556)
5932 424
+1 424
+1 210
+1 210
+8 2
+2 315
cfi=(151)
cfn=(3558)
calls=105 1518
* 18329
+1 212
fn=(3382)
435 3135
+4 1254
+6 6270
+7 548
+1 548
+3 316
+1 79
+10 79
cfn=(3384) GetPgClassDescriptor
calls=79 3894
* 632
* 548
cfn=(3384)
calls=548 3894
* 7441
* 3762
cfi=(186)
cfn=(3388)
calls=627 1000
* 9556363
* 627
+8 1254
+3 1500
-1 2500
cfi=(13)
cfn=(798)
calls=500 772
* 60969
* 1000
+2 5000
cob=(3)
cfi=(3)
cfn=(856)
calls=500 0
* 24856
* 500
+1 1500
cfi=(13)
cfn=(952)
calls=500 1032
* 42500
* 500
+2 1254
fn=(3384)
3894 1254
+4 1881
+1 3
cfn=(3386)
calls=1 -35
* 3053
* 1
+3 1
+1 2
-1 626
+1 1252
fn=(3646)
2828 10
+16 6
+10 10
+11 6
+10 2
+1 2
+1 2
+1 2
+1 4
fn=(2888)
3440 3
+6 3
+1 1
cfi=(149)
cfn=(2890)
calls=1 630
* 443
+5 118
+1 1
+1 1
+1 6
cfi=(31)
cfn=(794)
calls=1 317
* 3136
* 1
+6 1
cfi=(150)
cfn=(2892)
calls=1 585
* 12
+1 2
fn=(2928)
1727 81
+8 18
cfi=(13)
cfn=(2546)
calls=9 956
* 4550
* 9
+3 18
+5 18
+6 18
+1 18
+1 18
+1 18
+1 18
+11 18
cfi=(13)
cfn=(2546)
calls=9 956
* 1542
* 18
+2 63
cfi=(158)
cfn=(2930)
calls=9 253
* 928
+1 27
+1 36
+6 36
+1 18
+1 15
+3 15
+3 15
+2 15
+1 15
+1 20
+1 15
+1 15
+1 20
+9 15
cfi=(159)
cfn=(2932)
calls=5 46
* 755
-19 12
+3 12
+2 12
+1 12
+1 16
+1 12
+1 12
+1 16
+9 12
cfi=(159)
cfn=(2932)
calls=4 46
* 612
* 18
+1 27
+2 36
+1 27
+5 9
+1 18
+2 320
+1 800
-1 2240
cob=(3)
cfi=(3)
cfn=(856)
calls=160 0
* 8518
* 160
+3 2240
+2 1600
-7 667
+11 27
+3 18
+2 18
cfi=(13)
cfn=(2546)
calls=9 956
* 1557
* 9
+2 18
+1 36
+6 45
+8 27
+1 27
+8 27
cfi=(160)
cfn=(2934)
calls=9 69
* 153
+5 27
cfn=(2936) RelationInitPhysicalAddr
calls=9 1255
* 1064
+5 27
+8 27
+6 72
cfi=(31)
cfn=(836)
calls=9 910
* 3837
* 63
+3 18
+1 18
fn=(3082)
2003 25524
+2 19143
cfn=(3084)
calls=6381 -22
* 567909
+8 12762
fn=(3368)
1070 3684
+9 3070
cfn=(3370)
calls=614 310
* 14730601
* 614
+5 1228
+6 4912
+1 1842
+7 1842
cfn=(3372)
calls=614 380
* 565340
* 614
+5 1842
+7 1228
+1 1228
+1 1228
+1 1228
+1 5140
+4 1228
+1 1228
+1 614
+37 1842
cfn=(3374)
calls=614 492
* 20691624
+5 3070
+4 1228
+1 1228
+3 3070
+3 1228
+2 3070
+3 1228
+3 1228
+1 1228
+3 3070
+7 1228
+1 1228
+1 1228
+1 1228
+6 3070
+1 237
cfn=(3380)
calls=79 1342
* 3959357
+3 3070
cfn=(3382)
calls=614 435
* 9720981
+5 1842
cfi=(160)
cfn=(2934)
calls=614 69
* 10438
+5 1842
cfn=(2936)
calls=614 +40
* 33184
+3 1228
+5 1842
cfi=(178)
cfn=(3390)
calls=614 1341
* 57716
+14 1228
+1 4912
cfi=(31)
cfn=(836)
calls=614 910
* 225398
* 4298
+3 1228
+2 614
+1 1228
fn=(3369)
1070 24
+9 20
cfn=(3370)
calls=4 310
* 410243
* 4
+5 8
+6 32
+1 12
+7 12
cfn=(3372)
calls=4 380
* 3649
* 4
+5 12
+7 8
+1 8
+1 8
+1 8
+1 40
+4 8
+1 8
+1 4
+37 12
cfn=(3374)
calls=4 492
* 481215
+5 20
+4 8
+1 8
+3 20
+3 8
+2 20
+3 8
+3 8
+1 8
+3 20
+7 8
+1 8
+1 8
+1 8
+6 20
+4 20
cfn=(3382)
calls=4 435
* 3333
+5 12
cfi=(160)
cfn=(2934)
calls=4 69
* 68
+5 12
cfn=(2936)
calls=4 +40
* 168
+3 8
+5 12
cfi=(178)
cfn=(3390)
calls=4 1341
* 376
+14 8
+1 32
cfi=(31)
cfn=(836)
calls=4 910
* 1246
* 28
+3 8
+2 4
+1 8
fn=(3402)
3907 474
+4 711
+1 3
cfn=(3386)
calls=1 -48
* 2231
* 1
+3 1
+1 2
-1 236
+1 472
fn=(3404)
1515 869
+3 158
+4 917
+4 1179
cfn=(3406)
calls=131 +36
* 1159170
* 131
+4 1048
+1 1048
+1 262
+1 262
+1 262
-1 1310
cob=(3)
cfi=(3)
cfn=(856)
calls=131 0
* 1834
* 131
-15 761
+19 158
fn=(2936)
1255 2508
+1 3135
+1 126
+2 1818
+1 2508
+1 63
+2 1818
+2 3135
+12 594
cfi=(110)
cfn=(2988)
calls=594 2025
* 4158
* 1188
+20 3564
+7 99
-1 198
cfi=(150)
cfn=(2938)
calls=33 160
* 8052
-1 66
+3 132
+4 1254
fn=(3548)
5913 8676
+1 10122
cob=(3)
cfi=(3)
cfn=(2442)
calls=1446 0
* 189835
* 1446
* 2892
+2 8676
cob=(3)
cfi=(3)
cfn=(2442)
calls=1446 0
* 247742
* 1446
* 4338
+2 2892
fl=(159)
fn=(4532) TupleDescInitEntryCollation
763 18
+8 33
+1 6
fn=(2932)
46 2836
+21 4254
-1 2127
cfi=(13)
cfn=(940)
calls=709 925
* 87901
* 709
+6 2127
+1 1418
+1 1418
+1 1418
+1 1418
+2 709
+1 1418
fn=(4530) TupleDescInitEntry
602 30
+15 33
+2 6
+7 6
+2 12
+1 18
cfi=(158)
cfn=(2930)
calls=3 253
* 290
+2 6
+1 6
+1 9
+2 9
+1 9
+2 6
+1 6
+1 6
+1 6
+1 6
+1 6
+1 6
+3 12
cfi=(151)
cfn=(3306)
calls=3 1114
* 1026
* 3
+1 6
+2 24
+2 9
+1 12
+1 12
+1 12
+1 12
+1 12
+2 9
cfi=(151)
cfn=(3280)
calls=3 1161
* 309
+1 6
fn=(5498) DecrTupleDescRefCount
391 2000
+3 2500
cfi=(162)
cfn=(5500)
calls=500 1161
* 35000
+1 4500
+2 1000
fn=(5272) IncrTupleDescRefCount
373 2000
+3 1500
cfi=(162)
cfn=(5274)
calls=500 1141
* 11803
+1 2500
+1 2500
cfi=(162)
cfn=(5276)
calls=500 1152
* 21500
+1 1000
fn=(3078)
151 385
+2 231
+3 308
cfn=(2932)
calls=77 46
* 12301
* 77
+5 154
-2 308
+1 154
-1 385
cob=(3)
cfi=(3)
cfn=(856)
calls=77 0
* 18271
* 77
+5 154
+2 154
cfi=(13)
cfn=(2546)
calls=77 956
* 12174
* 77
+2 308
+2 616
+11 308
+17 616
+15 231
+4 308
+1 308
+2 77
+1 308
fl=(200)
fn=(3610)
13150 6
+2 2
+1 2
+2 6
cfi=(46)
cfn=(966)
calls=2 78
* 16
* 8
+38 4
+3 4
+42 4
fn=(3678)
13250 10
+4 2
+1 6
cfi=(46)
cfn=(966)
calls=2 78
* 16
* 2
+2 6
+24 4
fl=(46)
fn=(966)
78 265500
+1 442500
+1 177000
-2 3
+1 5
+1 2
-2 12
+1 12
+1 8
-2 9
+1 15
+1 6
fn=(5248)
90 265500
+1 442500
+1 177000
fl=(48)
fn=(1168)
1165 7
+5 4
cfi=(13)
cfn=(928)
calls=1 -8
* 143
* 1
+3 5
cfi=(41)
cfn=(932)
calls=1 3507
* 45
* 3
+14 1
cfi=(26)
cfn=(986)
calls=1 334
* 10
* 2
+74 3
cfi=(13)
cfn=(952)
calls=1 1032
* 72
+1 3
cfi=(45)
cfn=(972)
calls=1 1137
* 35
+2 1
+1 4
fn=(1170)
1270 5
+1 2
+9 2
+3 3
cfi=(25)
cfn=(1172)
calls=1 2650
* 14
+1 2
fn=(984)
1070 7
+5 1
cfi=(26)
cfn=(986)
calls=1 334
* 10
* 2
+25 1
+1 4
fl=(98)
fn=(3650)
1663 4
+8 12
+1 12
+6 2
+1 4
cfi=(204)
cfn=(3652)
calls=2 279
* 24
+1 2
+1 4
fn=(2202)
1821 3
+5 1
+1 1
+4 2
-2 8
cfi=(93)
cfn=(2196)
calls=1 167
* 2548
+6 2
-2 8
cfi=(93)
cfn=(2196)
calls=1 167
* 3462
+7 3
-1 4
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 4
cfi=(87)
cfn=(2168)
calls=1 373
* 1091
* 1
+3 4
+5 10
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 15
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 114
* 1
+9 3
+1 8
+1 2
fn=(2042)
1804 3
+8 7
cfi=(87)
cfn=(2000)
calls=1 493
* 23
* 3
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+1 3
cfi=(93)
cfn=(2020)
calls=1 146
* 52
* 5
cfi=(87)
cfn=(2002)
calls=1 476
* 21
* 1
+2 1
+1 2
fl=(23)
fn=(668)
101 30
+69 30
cfn=(670) random_from_file
calls=6 48
* 2639
* 12
+1 12
+7 12
fn=(670)
48 36
+2 12
+3 36
cob=(5)
cfi=(5)
cfn=(676)
calls=5 -53
* 35
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -53
* 745
* 10
* 6
+1 12
+3 6
+2 36
cob=(5)
cfi=(5)
cfn=(684)
calls=5 -59
* 35
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -59
* 753
* 10
* 6
+1 12
+9 12
+1 12
-13 24
+16 18
cob=(5)
cfi=(5)
cfn=(692)
calls=5 -73
* 35
cob=(1)
cfi=(1)
cfn=(223)
calls=1 -73
* 760
* 10
+1 6
+1 12
fl=(51)
fn=(1026)
78 6
+1 8
+1 4
fl=(54)
fn=(4074) pg_bindtextdomain
1612 3
+11 2
fn=(3304)
580 6
+19 1
cfi=(155)
cfn=(2976)
calls=1 +81
* 67
+2 2
+2 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 454
* 1
+1 2
+1 1
+13 8
+1 3
+1 3
+2 2
+1 3
+3 6
cfn=(3316) SetSessionUserId
calls=1 423
* 16
+4 3
+7 3
+5 5
+16 4
+10 6
cfi=(29)
cfn=(1206)
calls=1 7172
* 4859
+2 10
cfi=(29)
cfn=(1206)
calls=1 7172
* 1283
+4 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+1 4
fn=(3358)
87 4
+3 5
cfi=(13)
cfn=(930)
calls=1 1149
* 178
* 1
+1 2
fn=(3578)
415 4
+2 2
+1 4
fn=(1552)
1182 5
+1 8
cfn=(1554) CreateLockFile
calls=1 875
* 6817
+1 2
fn=(1620)
1588 2
+1 1
+1 5
cfn=(1622) load_libraries
calls=1 -54
* 19
+3 1
+1 2
fn=(1950)
1259 30
+9 25
cob=(5)
cfi=(5)
cfn=(676)
calls=5 0
* 35
* 5
* 5
+1 10
+8 10
cfi=(66)
cfn=(1562)
calls=5 -38
* 70
+1 30
cob=(5)
cfi=(5)
cfn=(684)
calls=5 0
* 35
* 5
* 5
+1 5
cfi=(66)
cfn=(1572)
calls=5 -16
* 65
+1 10
+9 15
+6 10
+1 10
+2 116
cob=(3)
cfi=(3)
cfn=(1120)
calls=29 0
* 715
* 29
* 29
+2 58
+2 87
-6 131
+8 50
cob=(3)
cfi=(3)
cfn=(856)
calls=5 0
* 176
* 5
+1 35
+6 20
+9 60
cfi=(17)
cfn=(462)
calls=5 203
* 1635
+1 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 85
* 5
* 5
+5 20
cob=(3)
cfi=(3)
cfn=(1120)
calls=5 0
* 111
* 5
* 15
+2 2
+1 24
cfi=(17)
cfn=(462)
calls=2 203
* 400
+8 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 142
* 5
* 5
+1 5
cob=(5)
cfi=(5)
cfn=(472)
calls=5 0
* 15
* 5
* 5
+1 10
cfi=(66)
cfn=(1562)
calls=5 1239
* 70
+1 25
cob=(5)
cfi=(5)
cfn=(1956)
calls=4 0
* 28
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 760
* 9
* 10
+1 35
cob=(5)
cfi=(5)
cfn=(1568)
calls=5 0
* 35
* 5
-1 10
+14 5
cfi=(66)
cfn=(1572)
calls=5 -91
* 65
+1 10
cfi=(66)
cfn=(1562)
calls=5 1239
* 70
+1 15
cfi=(25)
cfn=(1574)
calls=5 334
* 95
* 10
+7 5
cfi=(66)
cfn=(1572)
calls=5 1263
* 65
+1 15
cob=(5)
cfi=(5)
cfn=(692)
calls=5 0
* 35
* 5
* 10
+7 20
fn=(2710)
274 2
+1 1
+2 1
cfi=(20)
cfn=(648)
calls=1 2527
* 10687
+13 1
cfi=(67)
cfn=(2712)
calls=1 410
* 27
+3 1
cfi=(122)
cfn=(2716)
calls=1 156
* 144
+1 1
+1 3
cfi=(122)
cfn=(2718)
calls=1 -66
* 12
+9 1
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1265
* 5
* 2
+5 1
cfi=(102)
cfn=(2726)
calls=1 +62
* 1456
+1 2
fn=(2952)
486 8
+1 6
+1 6
+1 4
fn=(5764)
362 2
+4 1
+2 3
+1 7
cfi=(122)
cfn=(2848)
calls=1 767
* 100
+2 3
cfi=(122)
cfn=(2850)
calls=1 +66
* 24
+1 2
fn=(1526)
1459 14
+8 2
+2 12
cob=(3)
cfi=(3)
cfn=(1246)
calls=2 0
* 292
* 2
* 2
+2 16
cfi=(17)
cfn=(462)
calls=2 203
* 728
+2 8
cfi=(25)
cfn=(1278)
calls=2 2186
* 1320
* 2
+1 4
+14 2
+1 12
cob=(3)
cfi=(3)
cfn=(1532) fscanf
calls=1 0
* 678
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1939
* 6
* 2
+1 12
cob=(3)
cfi=(3)
cfn=(1246)
calls=2 0
* 256
* 2
* 2
+2 12
+9 6
cfi=(25)
cfn=(1374)
calls=2 2385
* 1214
+2 6
+7 12
fn=(1554)
875 22
+30 2
cob=(3)
cfi=(3)
cfn=(654)
calls=2 0
* 10
* 2
* 2
+3 2
cob=(3)
cfi=(3)
cfn=(1560) getppid
calls=1 0
* 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1278
* 6
* 2
+10 4
cob=(3)
cfi=(3)
cfn=(234)
calls=2 0
* 1000
* 2
* 2
+1 4
+3 2
+7 2
+8 12
cob=(5)
cfi=(5)
cfn=(676)
calls=2 0
* 14
* 2
* 2
+1 4
+1 2
1101 38
cfi=(17)
cfn=(462)
calls=2 203
* 4317
+11 8
+3 2
cob=(5)
cfi=(5)
cfn=(472)
calls=2 0
* 6
* 2
* 2
+1 4
cfi=(66)
cfn=(1562)
calls=2 1239
* 28
+1 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 52
* 2
* 12
cob=(5)
cfi=(5)
cfn=(1568)
calls=1 0
* 7
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 768
* 6
* 8
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 52
* 2
* 4
+12 2
cfi=(66)
cfn=(1572)
calls=2 1263
* 26
+2 4
cfi=(66)
cfn=(1562)
calls=2 1239
* 28
+1 6
cfi=(25)
cfn=(1574)
calls=2 334
* 38
* 4
+11 2
cfi=(66)
cfn=(1572)
calls=2 1263
* 26
+1 6
cob=(5)
cfi=(5)
cfn=(692)
calls=2 0
* 14
* 2
* 4
+16 6
+1 3
cfi=(67)
cfn=(1578)
calls=1 306
* 1479
+6 8
cfi=(13)
cfn=(928)
calls=2 -5
* 357
* 6
cfi=(45)
cfn=(1586)
calls=2 260
* 358
* 2
+1 10
fn=(1522)
100 5
+5 5
cfi=(9)
cfn=(490)
calls=1 0
* 15
* 2
+15 4
+16 2
cob=(3)
cfi=(3)
cfn=(638)
calls=1 0
* 3
* 1
* 2
+20 4
+21 3
cfi=(65)
cfn=(1524)
calls=1 35
* 12
+2 3
cob=(3)
cfi=(3)
cfn=(710) umask
calls=1 0
* 3
* 1
+1 2
+4 3
cfn=(1526)
calls=1 1459
* 3939
+1 5
fn=(1622)
1536 24
+5 18
+1 3
+39 12
fn=(1964)
1192 7
+3 8
cfi=(17)
cfn=(462)
calls=1 203
* 361
+1 8
cfn=(1554)
calls=1 875
* 3281
+1 2
fn=(3326)
381 6050
+2 3025
+1 6050
fn=(1110) SetCurrentRoleId
761 6
+8 2
+2 3
+1 1
+15 2
fn=(1408)
193 4
+6 3
cfi=(11)
cfn=(1262)
calls=1 609
* 1478
* 1
+2 3
+2 2
+1 2
fn=(1542)
214 4
+3 3
cob=(3)
cfi=(3)
cfn=(510)
calls=1 0
* 5
* 1
* 2
+5 4
fn=(3726)
1601 2
+1 5
cfn=(1622)
calls=1 -66
* 19
+3 5
cfn=(1622)
calls=1 -69
* 19
+3 2
fn=(3316)
423 10
+3 4
+1 4
+1 2
+3 4
+1 4
+1 4
fn=(3318)
504 2
+1 4
+1 2
fn=(3322) SetSessionAuthorization
715 7
+4 3
+6 5
cfn=(3316)
calls=1 423
* 16
+2 9
cfi=(29)
cfn=(1207)
calls=1 7172
* 1283
+3 4
fn=(2846)
343 2
+4 3
+2 3
+1 7
cfi=(122)
cfn=(2848)
calls=1 767
* 100
+7 3
cfi=(122)
cfn=(2850)
calls=1 +80
* 24
+1 2
fn=(2666)
1387 4
+6 5
cob=(5)
cfi=(5)
cfn=(676)
calls=1 0
* 7
* 1
* 1
+1 2
+26 2
cfi=(66)
cfn=(1562)
calls=1 1239
* 14
+1 6
cob=(5)
cfi=(5)
cfn=(684)
calls=1 0
* 7
* 1
* 1
+1 1
cfi=(66)
cfn=(1572)
calls=1 1263
* 13
+1 2
+9 3
+1 3
cob=(5)
cfi=(5)
cfn=(692)
calls=1 0
* 7
* 1
+1 3
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1488
* 5
* 1
+1 1
cob=(3)
cfi=(3)
cfn=(654)
calls=1 0
* 5
* 1
* 3
+1 2
+7 4
fn=(3320)
513 2
+1 4
+1 2
fl=(257)
fn=(5278) tts_heap_init
291 3000
+1 2000
fn=(5496) tts_heap_release
296 3000
+1 2000
fn=(5322)
1275 612500
+8 612500
+2 525000
cfn=(5324) tts_heap_store_tuple
calls=87500 426
* 4812500
+2 87500
+1 175000
fn=(5266)
1683 6000
+1 7000
cfn=(5268) ExecAllocTableSlot
calls=1000 1093
* 534303
+1 2000
fn=(5270) MakeTupleTableSlot
1036 5000
+3 3000
+6 2000
+1 2000
+1 3000
-1 500
+2 2500
-2 1500
+4 1000
+2 1500
cfi=(13)
cfn=(2546)
calls=500 -96
* 85000
* 1500
cfi=(13)
cfn=(2546)
calls=500 -96
* 92000
* 1000
+2 4000
+1 2000
+1 6000
+1 2000
+1 3000
+1 1500
+1 1500
+1 1000
+2 1000
-4 1500
+1 1500
+1 1000
+2 1000
+4 1000
-2 3000
+5 1000
+1 4500
-3 2000
+5 3500
cfi=(159)
cfn=(5272)
calls=500 373
* 42803
+6 6000
cfn=(5278)
calls=1000 291
* 5000
+2 1000
+1 2000
fn=(5492)
1113 3000
+3 1500
cfi=(242)
cfn=(4372)
calls=500 78
* 5000
* 1000
+2 3000
+3 3000
cfi=(316)
cfn=(5494)
calls=1000 405
* 39000
+1 6000
cfn=(5496)
calls=1000 296
* 5000
+1 4000
+2 4500
cfi=(159)
cfn=(5498)
calls=500 391
* 45000
+1 1000
+4 2000
-14 6000
+28 1000
+2 1000
fn=(4524) ExecTypeFromTLInternal
1807 21
+4 3
+2 6
+1 9
cfi=(240)
cfn=(4526)
calls=3 1091
* 117
* 6
+3 9
cfi=(159)
cfn=(2932)
calls=3 46
* 453
* 3
+2 9
cfi=(242)
cfn=(4372)
calls=3 78
* 30
* 6
+2 9
+2 18
+6 6
-4 6
cfi=(247)
cfn=(4528)
calls=3 277
* 92
* 3
+3 6
-3 6
cfi=(247)
cfn=(4434)
calls=3 43
* 72
* 3
+2 6
-2 21
cfi=(159)
cfn=(4530)
calls=3 602
* 1940
+8 6
-2 6
cfi=(247)
cfn=(4452)
calls=3 721
* 63
* 21
cfi=(159)
cfn=(4532)
calls=3 763
* 57
+3 3
-15 21
+18 3
+1 12
fn=(5268)
1093 6000
+1 5000
cfn=(5270)
calls=1000 -58
* 300303
* 1000
+2 6000
cfi=(45)
cfn=(960)
calls=1000 129
* 211000
* 2000
+2 1000
+1 2000
fn=(5324)
426 612500
+1 175000
+2 262500
cfn=(5326)
calls=87500 301
* 2275000
+2 175000
+1 262500
+1 175000
+1 525000
+2 175000
+2 175000
fn=(4522)
1801 12
+1 12
cfn=(4524)
calls=3 +5
* 3052
+1 6
fn=(5326)
301 354000
+1 177000
+3 531000
+6 177000
+1 531000
+1 177000
+1 177000
+1 177000
fl=(39)
fn=(926)
45 21
+1 6
+1 6
+1 3
+1 3
+1 3
+8 12
cfi=(13)
cfn=(928)
calls=3 1162
* 567
* 3
+3 15
cfi=(41)
cfn=(932)
calls=3 3507
* 6218
* 9
+9 9
cfi=(46)
cfn=(966)
calls=3 +8
* 30
* 6
+2 18
+4 24
cfi=(32)
cfn=(968)
calls=6 -39
* 486
* 12
+2 6
+2 3
+1 6
+2 12
cfi=(32)
cfn=(968)
calls=3 -46
* 123
* 6
+7 15
cfi=(32)
cfn=(970)
calls=3 -20
* 144
* 6
+7 12
cfi=(32)
cfn=(968)
calls=3 -60
* 123
* 6
+10 12
cfi=(32)
cfn=(968)
calls=3 -70
* 123
* 6
+7 12
cfi=(32)
cfn=(968)
calls=3 -77
* 123
* 6
+1 15
cfi=(32)
cfn=(970)
calls=3 -45
* 144
-1 6
+8 12
cfi=(32)
cfn=(968)
calls=3 -85
* 363
* 6
+4 6
+2 3
+1 6
-59 36
172 9
cfi=(13)
cfn=(952)
calls=3 1032
* 255
+1 9
cfi=(45)
cfn=(972)
calls=3 1137
* 957
+2 12
+9 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 805
* 3
* 3
+1 6
+3 21
+3 6
+1 3
+11 18
+9 48
+1 3
+3 12
cob=(3)
cfi=(3)
cfn=(590)
calls=2 0
* 178
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1324
* 7
+1 9
+5 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 291
* 3
* 3
+1 6
+2 9
+1 12
+1 9
+2 3
+1 12
fn=(1106)
815 6
+7 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+3 1
+1 2
+44 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 1
+1 2
+2 3
+1 3
+1 3
+2 1
+1 2
fn=(3722)
383 3
+4 3
cfi=(35)
cfn=(3724)
calls=1 1890
* 9
* 1
+2 2
+1 2
+3 2
fn=(982)
237 12
+1 6
+2 9
+1 9
+1 6
fn=(1060)
447 12
+1 9
+1 6
fn=(1190)
563 12
+1 2
cfi=(26)
cfn=(1192)
calls=2 4526
* 22
* 4
+6 6
+7 2
+1 4
fn=(1194)
526 12
+1 6
+2 7
cfi=(26)
cfn=(986)
calls=1 334
* 10
* 2
+25 2
+1 4
fn=(902)
623 24
+5 16
cfi=(40)
cfn=(904)
calls=4 488
* 3688
* 4
+1 8
+4 12
cfi=(40)
cfn=(916)
calls=4 -25
* 68
* 4
+16 12
cfi=(19)
cfn=(918)
calls=4 104
* 64
* 8
+28 24
cob=(3)
cfi=(3)
cfn=(446)
calls=4 0
* 88
* 4
* 8
+12 8
cob=(3)
cfi=(3)
cfn=(388)
calls=4 0
* 850
* 4
* 12
+1 16
+2 16
+2 4
+1 8
fn=(1174)
254 18
+6 18
cfi=(32)
cfn=(970)
calls=3 70
* 144
* 6
+61 18
cob=(3)
cfi=(3)
cfn=(1180) strtod
calls=2 0
* 166
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1384
* 7
* 9
+1 15
+11 12
cfi=(30)
cfn=(790)
calls=3 -96
* 2514
* 3
+2 6
+6 9
cfi=(35)
cfn=(1046)
calls=3 1905
* 3646
* 9
+11 6
+9 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 382
* 3
* 9
+1 12
+2 12
+2 3
+1 6
fn=(1128)
745 12
+8 8
+1 2
+2 1
cfi=(26)
cfn=(986)
calls=1 334
* 10
* 3
+11 5
cfi=(151)
cfn=(3306)
calls=1 1114
* 450
* 1
+1 2
+6 8
+1 3
+1 3
+2 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+3 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 232
* 1
* 1
+1 2
+2 3
+1 3
+1 3
+2 1
+1 4
fn=(1130)
793 10
+1 4
+3 4
+1 1
+2 8
cfi=(54)
cfn=(3322)
calls=1 -85
* 1327
+1 4
fn=(920)
699 24
+1 12
+6 12
+21 12
cfi=(19)
cfn=(922)
calls=4 202
* 72
* 8
+2 16
fn=(1124)
591 6
+1 2
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
* 188
* 1
* 3
+1 4
+3 6
+2 1
+1 2
fn=(1034)
409 18
+6 12
cfi=(30)
cfn=(790)
calls=3 237
* 1260509
* 3
+2 6
+6 9
cfi=(35)
cfn=(1046)
calls=3 1905
* 3646
* 9
+11 6
cob=(3)
cfi=(3)
cfn=(388)
calls=3 0
* 592
* 3
* 9
+1 12
+2 12
+2 3
+1 6
fn=(1108)
882 5
+1 2
+2 8
cfi=(54)
cfn=(1110)
calls=1 761
* 14
+1 2
fn=(1126)
603 5
+2 4
+2 2
+1 2
fn=(1184)
374 12
+1 9
+1 6
fn=(1196)
487 12
+1 16
+25 2
+1 4
fl=(70)
fn=(1604)
264 9
+1 3
+2 4
cfn=(1606) __get_cpuid_max
calls=1 -60
* 18
* 2
+3 11
+1 1
+1 4
fn=(1606)
207 5
+40 7
+2 2
+3 1
+1 3
fl=(286)
fn=(4908)
311 35
+1 7
+9 21
cfi=(287)
cfn=(4910)
calls=7 671
* 3346
* 7
+1 14
+1 14
+83 14
fl=(31)
fn=(796) DynaHashAlloc
279 584
+2 730
cfi=(13)
cfn=(798)
calls=146 772
* 26796
+1 292
fn=(2166)
804 28
+3 28
+1 14
fn=(5538) expand_table
1503 5060
+1 3036
+20 5060
+1 7084
+1 5060
+2 4048
+3 20
+3 40
cfn=(822) seg_alloc
calls=5 1639
* 2764
* 20
+2 25
+4 25
+8 25
+5 30
-13 5035
+8 5035
+5 6042
+2 24
+1 42
+9 42
+1 30
+2 42
+1 42
+2 30
+1 30
+2 24
-9 7042
+1 5030
+2 7042
+1 7042
+2 5030
+1 5030
+2 4024
+4 4281
+1 8562
cfn=(844) calc_bucket
calls=1427 868
* 21405
* 4281
+2 2007
+1 2007
+4 2274
+1 1516
-11 1516
-2 1516
+2 1338
-2 3362
+17 2024
+1 2024
+2 1012
+1 4048
fn=(2226)
861 103620
+1 165792
cfi=(33)
cfn=(2224)
calls=20724 53
* 2565114
+1 41448
fn=(3750)
815 8
+1 4
+7 8
cfn=(3752) hash_stats
calls=2 +11
* 12
+5 8
cfi=(13)
cfn=(1396)
calls=2 212
* 1017
+2 4
fn=(818) next_pow2_int
1743 168
+1 84
+2 126
cfn=(820) my_log2
calls=42 -27
* 1635
* 168
+1 84
fn=(2008) next_pow2_long
1735 112
+2 84
cfn=(820)
calls=28 -18
* 1600
* 112
+1 56
fn=(3528)
1380 100
+1 60
+1 40
+1 40
+1 100
+1 60
cfn=(3530) register_seq_scan
calls=20 1788
* 620
+1 40
fn=(3530)
1788 100
+1 60
+3 80
+1 40
cfi=(26)
cfn=(3532)
calls=20 759
* 160
* 40
+1 60
+1 80
fn=(1036) string_compare
294 36
+1 42
cob=(3)
cfi=(3)
cfn=(1044)
calls=5 0
* 291
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1365
* 10
+1 12
fn=(822)
1639 1208
+3 906
+1 2114
cfi=(87)
cfn=(2136)
calls=281 177
* 14331
cfn=(796)
calls=21 279
* 3462
* 302
+2 604
+3 7550
cob=(3)
cfi=(3)
cfn=(828)
calls=301 0
* 72240
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1511
* 306
+2 302
+1 604
fn=(830) choose_nelem_alloc
604 84
+7 140
+10 28
+3 28
+1 112
+1 56
-2 106
+1 424
+1 212
+2 28
+1 56
fn=(836)
910 222761
+3 63646
-2 190938
cfi=(33)
cfn=(2940)
calls=7783 65
* 443631
cfi=(33)
cfn=(2224)
calls=23976 53
* 2997075
cfi=(33)
cfn=(838)
calls=64 35
* 11320
* 254584
cfn=(842)
calls=31823 +13
* 6135062
+5 63646
fn=(794)
317 168
+14 84
+3 21
+5 56
+1 4
+2 26
+1 91
cfi=(14)
cfn=(432)
calls=13 +52
* 5900
* 7
cfi=(14)
cfn=(432)
calls=1 +52
* 428
* 14
+6 42
cob=(3)
cfi=(3)
cfn=(424)
calls=14 0
* 266
* 14
* 21
cob=(3)
cfi=(3)
cfn=(424)
calls=7 0
* 127
* 7
* 63
cfn=(796)
calls=21 -70
* 2793
* 21
+1 2331
+2 84
+1 126
cob=(3)
cfi=(3)
cfn=(810)
calls=20 0
* 1205
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1308
* 25
+3 84
+1 84
cfi=(13)
cfn=(812)
calls=14 -27
* 126
+5 84
+1 10
+1 76
+4 60
+1 21
+2 24
+3 8
+12 84
+2 84
+1 12
+2 34
+5 84
+2 84
+1 12
+2 34
+3 84
+1 35
+2 28
+2 84
+7 28
+1 35
+1 14
+1 14
+3 28
+14 28
+1 28
+1 42
+1 28
+3 84
+2 56
cfn=(796)
calls=14 279
* 1862
* 28
+1 56
+6 42
+2 63
cfn=(814) hdefault
calls=21 571
* 16863
+2 63
+2 84
+12 20
+3 84
+7 84
+6 84
+2 28
+1 28
+7 84
+3 84
+1 84
+4 84
+1 84
+1 84
+3 105
cfn=(816) init_htab
calls=21 637
* 118081
* 63
+11 84
+1 42
-1 28
+12 60
+1 10
+2 7
+2 42
+1 14
-1 30
+1 10
+7 60
+4 24
+2 24
+2 668
+2 930
cfn=(832) element_alloc
calls=155 1658
* 544484
-2 12
+2 72
cfn=(832)
calls=12 1658
* 32945
* 501
-4 704
+11 84
+1 6
+1 3
+1 12
-1 18
+1 72
fn=(814)
571 84
+1 63
+2 16296
+2 42
+1 42
+3 42
+1 42
+2 42
+2 42
+3 42
+2 42
+1 42
+5 42
fn=(816)
637 126
+1 63
+9 84
+1 10
+1 1440
-1 490
+8 210
cfn=(818)
calls=21 1743
* 1475
* 21
+8 147
+3 189
+1 126
+5 189
+1 84
cfn=(818)
calls=21 1743
* 790
* 21
+6 126
+9 84
+2 42
+2 98
cfn=(796)
calls=14 279
* 1862
-1 28
+2 56
+5 84
+2 891
cfn=(822)
calls=297 1639
* 102676
* 594
+1 1188
-3 3690
+8 84
cfn=(830)
calls=21 604
* 966
* 42
+14 21
+1 84
fn=(832)
1658 1428
+1 714
+7 952
+4 1428
+2 714
+1 1666
cfi=(87)
cfn=(2136)
calls=162 177
* 8262
cfn=(796)
calls=76 279
* 18423
* 238
+2 476
+4 238
+1 476
+1 476
+2 157560
+1 105040
+1 105040
-4 210794
+8 952
+1 1600
cfi=(125)
cfn=(2216)
calls=160 225
* 2240
* 320
+3 2856
+1 2618
+2 952
+1 1440
+2 160
+1 320
-1 78
+1 156
fn=(3752)
834 8
+13 4
fn=(2006)
733 35
+10 21
cfn=(2008)
calls=7 1735
* 626
* 7
+2 63
cfn=(2008)
calls=7 1735
* 356
* 7
+2 7
+1 28
+4 7
+2 28
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2002)
calls=7 476
* 147
* 7
+2 28
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2002)
calls=7 476
* 147
* 7
+3 21
cfn=(830)
calls=7 604
* 308
* 14
+1 42
+1 35
+1 35
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2000)
calls=7 493
* 161
* 35
cfi=(87)
cfn=(2002)
calls=7 476
* 147
* 7
+4 7
+1 14
fn=(3534)
1390 5712
+11 7140
+3 1624
+1 1624
+1 1420
+1 1218
+6 3066
+1 3066
+1 3066
+1 3066
+1 3066
+2 3066
+2 6
cfn=(3536)
calls=2 +45
* 102
+1 4
+6 8160
+1 5100
+2 7140
+8 1020
+3 20724
+2 27
+1 27
cfn=(3536)
calls=9 +21
* 459
+1 18
+2 20688
+2 11
+1 11
+1 77
-13 49536
+18 4044
+1 4044
+1 727
+1 2181
+1 1454
+1 1454
-2 852
+1 568
+1 1402
fn=(3538) deregister_seq_scan
1800 80
+4 80
+2 100
+2 140
+1 140
+1 60
+1 20
-7 40
+12 40
fn=(844)
868 298288
+3 298288
+1 298288
+1 81858
+2 27286
+1 54572
-1 47286
+1 94572
fn=(2164)
780 28
+6 21
cfn=(2008)
calls=7 1735
* 626
* 7
+2 63
cfn=(2008)
calls=7 1735
* 356
* 7
+2 7
+1 28
+3 7
+1 14
fn=(3536)
1466 80
+1 120
+1 80
cfn=(3538)
calls=20 1800
* 700
+1 40
fn=(5536) has_seq_scans
1821 3036
+3 5060
+5 1012
+1 2024
fn=(820)
1719 210
+5 210
+3 2605
+2 70
+1 140
fn=(842)
924 658305
+1 219435
+1 480193
+23 63644
-23 41323
+23 206090
+7 150881
+1 109703
-1 19946
+2 3036
cfn=(5536)
calls=1012 1821
* 11132
* 1012
-1 2024
+2 3036
cfn=(5538)
calls=1012 1503
* 152128
+6 365725
cfn=(844)
calls=73145 -97
* 1179033
* 73145
+2 585160
+1 438870
+2 512015
+2 146290
+3 365725
+1 219435
+5 219435
+1 219435
+2 73145
+2 254288
+1 321391
cob=(3)
cfi=(3)
cfn=(3062)
calls=45906 0
* 992890
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
* 1360
cfn=(1036)
calls=6 294
* 1756
* 45911
-1 91826
+2 45913
+1 35318
+1 52977
-6 181608
+13 146290
+1 101000
+5 441715
+3 52270
+1 72075
+1 4220
+3 43512
+3 87024
+1 137800
cfi=(125)
cfn=(2216)
calls=13780 225
* 192920
* 27560
+4 456876
+3 87024
+3 261072
+1 239316
+2 87024
+1 124020
+7 65268
+11 50508
+1 396
+3 100488
+4 125610
cfn=(858) get_hash_entry
calls=25122 1251
* 2260628
* 25122
+1 50244
+17 75366
+1 50244
+3 75366
+1 200976
cob=(3)
cfi=(3)
cfn=(856)
calls=25067 0
* 367454
cfi=(16)
cfn=(460)
calls=55 46
* 15418
* 25067
+9 75366
+6 292580
fn=(858)
1251 125610
+1 75366
+6 100772
+1 152810
cfi=(125)
cfn=(2216)
calls=15281 225
* 213934
* 30562
+3 277123
+2 50386
+1 25122
+57 301464
+1 527562
+2 115769
-58 284
+15 497
cfn=(832)
calls=71 1658
* 50188
* 213
+37 71
+7 137529
+2 15281
+1 30562
-1 9841
+1 19682
fn=(3690)
1835 10
+10 4
+4 10
+6 2
+1 4
fl=(280)
fn=(4792) CheckExprStillValid
1765 15
+1 3
+5 9
+1 9
+1 9
+2 6
+2 63
+2 45
cfn=(4794) ExecEvalStepOp
calls=9 2167
* 1245
* 54
+26 9
-30 57
+33 6
fn=(4796) ExecJustConst
2004 10
+1 6
+2 8
+1 4
+1 4
fn=(4772)
169 12
+2 3
cfn=(4774) ExecInitInterpreter
calls=3 2133
* 29172
+11 18
+9 6
+10 18
+7 12
+49 12
+1 6
-1 4
+3 4
+1 2
+12 2
+2 35
+2 45
-4 29
+7 6
+4 2
+1 6
fn=(4794)
2167 45
+2 54
+5 15
+1 35
cob=(3)
cfi=(3)
cfn=(284)
calls=5 0
* 1045
* 5
* 5
+6 15
+3 8
+1 18
fn=(4774)
2133 9
+3 9
+5 4
cfn=(4776) ExecInterpExpr
calls=1 299
* 18
-1 1
+4 2
+2 946
+1 516
-3 260
+7 5
cfi=(36)
cfn=(864)
calls=1 114
* 27396
+6 6
fn=(4776)
299 3507
403 2505
+1 2
+6 1500
+1 1500
+1 1500
+1 1500
+1 1500
+3 4000
+7 500
620 1500
+3 1000
+1 2500
cfi=(41)
cfn=(5118)
calls=500 5304
* 2505625
* 500
+1 2000
+1 2500
+2 2000
+5 1500
+1 1500
+5 1000
+2 7000
-2 7000
+8 1000
+1 2500
cfi=(41)
cfn=(5114)
calls=500 +35
* 150802
* 500
+1 2000
+1 2500
+3 2000
976 3500
cob=(12)
cfi=(241)
cfn=(5108) plpgsql_param_eval_var
calls=500 6429
* 17500
+1 2000
+70 2500
+9 1500
+1 2500
+1 1000
+2 1000
+1 3000
cfi=(185)
cfn=(5110)
calls=500 276
* 132607
* 500
+7 4000
+5 1500
+1 1500
+1 2500
+3 1000
+1 3000
cfi=(41)
cfn=(4952)
calls=500 512
* 96802
* 500
+1 2000
+15 2000
1734 2000
+1 1000
+1 2004
fn=(4778)
2116 2480
+1 1240
+1 1240
+2 3720
+1 764
+1 1428
+1 466
+1 5
+1 1240
fn=(4790) ExecInterpExprStillValid
1745 18
+5 15
cfn=(4792)
calls=3 +15
* 1530
+3 15
+3 21
cfn=(4776)
calls=1 299
* 6348
cfn=(4796)
calls=2 2004
* 32
+1 6
fl=(218)
fn=(4408)
305 48
+1 16
cfi=(13)
cfn=(3400)
calls=4 853
* 668
* 20
+7 24
+3 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 12
+1 8
+2 4
+1 8
fn=(4296)
585 12
+1 8
cfi=(13)
cfn=(3400)
calls=2 853
* 376
* 10
+2 6
+1 6
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 4
+1 6
+1 2
+1 4
fn=(5202)
387 2500
+1 2000
cfi=(13)
cfn=(3400)
calls=500 853
* 61000
* 2500
+2 1500
cfi=(13)
cfn=(928)
calls=500 1162
* 81000
* 1000
+1 1500
+2 500
+1 1000
fn=(4294)
33 24
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 470
* 15
+2 9
+1 9
+1 9
+1 9
+1 9
+1 3
+1 6
fn=(4414)
241 56
+1 28
cfi=(13)
cfn=(3400)
calls=7 853
* 1187
* 35
+2 21
+1 21
+1 21
+7 14
+1 14
+1 14
+2 21
+2 7
+1 14
fn=(5028)
456 4
+1 4
cfi=(13)
cfn=(3400)
calls=1 853
* 181
* 5
+2 3
+1 2
+1 2
+1 2
+1 1
+1 2
fn=(3874)
546 3006
+1 2004
cfi=(13)
cfn=(3400)
calls=501 853
* 83667
* 2505
+2 1002
+1 1503
+1 1503
+1 1002
+1 1503
+2 501
+1 1002
fn=(4436)
285 20
+1 16
cfi=(13)
cfn=(3400)
calls=4 853
* 612
* 20
+2 12
+1 12
+1 4
+1 8
fn=(5156)
422 3000
+1 2000
cfi=(13)
cfn=(3400)
calls=500 853
* 90500
* 2500
+2 1000
+1 1500
+1 1500
+1 1000
+1 1000
+1 1000
+1 1500
+2 500
+1 1000
fl=(255)
fn=(4510)
110 24
+1 16
+2 16
+1 8
+1 16
fl=(267)
fn=(4640)
423 30
+1 6
+1 6
+10 18
+3 48
+10 6
+1 24
cfi=(268)
cfn=(4642)
calls=6 78
* 48
* 24
623 12
+3 12
+3 36
cfi=(45)
cfn=(1586)
calls=6 260
* 1740
* 18
+8 12
fn=(4638)
1441 21
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 606
* 15
+2 6
+1 9
+1 9
+1 6
+1 6
+1 12
+1 6
+1 6
+1 9
+3 9
+1 12
+1 12
+1 9
-1 6
+7 6
+10 3
+1 6
fn=(4644)
245 36
+9 36
+3 45
+1 9
+2 36
cfi=(268)
cfn=(4642)
calls=9 78
* 90
* 18
+2 27
+3 36
+51 18
+2 36
+1 9
-59 63
+86 18
+1 45
cfi=(45)
cfn=(1586)
calls=9 -87
* 2610
* 9
+6 18
+4 27
+1 27
+1 18
+1 27
+1 18
fn=(4672)
2388 21
+1 12
cfi=(13)
cfn=(3400)
calls=3 853
* 627
* 15
+1 9
+2 6
+1 9
+1 9
+2 6
+1 6
+1 6
+1 12
-1 6
+2 18
cfi=(259)
cfn=(4636)
calls=3 1089
* 57
-1 15
-1 6
+3 12
+2 12
+2 9
+11 9
cfi=(274)
cfn=(4674)
calls=3 6698
* 36
* 6
+4 6
+5 12
+1 6
+1 15
-1 9
+2 6
+1 15
-1 3
+2 24
-1 3
-1 9
+21 3
+1 6
fl=(37)
fn=(884)
83 12
+4 12
+2 64
-2 56
+5 8
fn=(4250)
51 36
+3 36
cob=(3)
cfi=(3)
cfn=(1246)
calls=6 -54
* 768
* 6
* 6
+1 24
+2 6
+1 12
fl=(50)
fn=(3586)
3339 8016
+1 8016
cfn=(3232)
calls=2004 3553
* 228452
+1 6012
cfn=(3258)
calls=2004 -25
* 302464
+1 4008
fn=(5738) AbortBufferIO
3981 5
+1 2
+2 2
+43 5
fn=(2218)
4239 4
+3 3
+1 2
+1 2
fn=(3194)
642 110358
+5 49224
cfi=(140)
cfn=(3154)
calls=22 153
* 10391
* 110
cfi=(140)
cfn=(3158)
calls=22 209
* 924
+7 61310
+9 110358
+1 171668
cfn=(3196) ReadBuffer_common
calls=12262 +42
* 16931408
* 12262
+2 36786
+1 96858
+1 10762
+1 43048
-1 1500
+1 6000
fn=(3200) BufferAlloc
997 122620
+14 110358
+3 36786
cfi=(90)
cfn=(3202)
calls=12262 81
* 1851562
* 12262
+1 98096
+3 49048
cfi=(99)
cfn=(2170)
calls=12262 1122
* 1667632
+1 61310
cfi=(90)
cfn=(3204)
calls=12262 93
* 1902343
* 12262
+1 24524
+7 64572
+2 53810
cfn=(3206) PinBuffer
calls=10762 1578
* 3317516
* 10762
+3 32286
cfi=(99)
cfn=(2182)
calls=10762 1726
* 968580
+2 21524
+2 43048
+19 21524
+7 4500
cfi=(99)
cfn=(2182)
calls=1500 1726
* 135000
+9 1500
cfn=(3210) ReservePrivateRefCountEntry
calls=1500 187
* 13500
+6 7500
cfi=(89)
cfn=(5414)
calls=1500 202
* 387105
* 1500
+5 4500
+3 4500
cfn=(5436) PinBuffer_Locked
calls=1500 1663
* 199500
+9 6000
+78 6000
+34 6000
cfi=(99)
cfn=(2170)
calls=1500 -84
* 205500
+2 1500
+2 1500
+10 10500
cfi=(90)
cfn=(5440)
calls=1500 121
* 417703
* 1500
+2 3000
+51 4500
cfn=(5424)
calls=1500 4099
* 136514
* 1500
+8 4500
+1 12000
+1 1500
+24 10500
+1 4500
+3 7500
+3 4500
+2 12000
cfi=(123)
cfn=(5438)
calls=1500 262
* 31500
+2 3000
+7 4500
cfi=(99)
cfn=(2182)
calls=1500 1726
* 136500
+7 6000
cfn=(5442) StartBufferIO
calls=1500 3882
* 448514
* 3000
+1 4500
+4 1500
+1 24524
fn=(5608)
2598 2
+2 2
fn=(5740) UnlockBuffers
3525 3
+1 2
+2 2
+18 2
fn=(3152)
2795 10190
+2 8216
cfi=(140)
cfn=(3154)
calls=8 153
* 8096
* 40
cfi=(140)
cfn=(3158)
calls=8 209
* 336
+2 12228
cfi=(140)
cfn=(3162)
calls=2038 688
* 1336321
+1 4076
fn=(3206)
1578 53810
+1 43048
+4 43048
cfn=(3208) GetPrivateRefCountEntry
calls=10762 279
* 1302202
* 10762
+2 21524
+5 10762
cfn=(3210)
calls=10762 187
* 110400
+1 32286
cfn=(3212) NewPrivateRefCountEntry
calls=10762 253
* 150668
* 10762
+2 43048
cfi=(123)
cfn=(3214)
calls=10762 245
* 172192
* 10762
+3 43048
+3 21524
+3 10762
+2 21524
+3 43810
+1 40
+8 10000
+4 75334
cfi=(123)
cfn=(3218)
calls=10762 316
* 365908
* 21524
+3 53810
+1 21524
+10 53810
+2 53810
cfi=(162)
cfn=(3222)
calls=10762 906
* 473528
+1 10762
+1 21524
fn=(3208)
279 198144
+11 66048
+2 544295
+2 544295
+1 44524
-5 325839
+15 32286
+1 21524
+44 66048
fn=(3232)
3553 140510
+4 56204
+3 196714
+2 56204
+1 56204
cfi=(99)
cfn=(2182)
calls=14051 1726
* 1270090
* 14051
+1 28102
+1 42755
cfi=(99)
cfn=(2170)
calls=8551 1122
* 1162936
* 8551
+1 11000
+1 27500
cfi=(99)
cfn=(2170)
calls=5500 1122
* 753500
* 5500
+3 56204
fn=(3260) UnpinBuffer
1701 103572
+2 69048
+3 69048
cfn=(3208)
calls=17262 279
* 420801
* 17262
+3 34524
+1 86310
cfi=(162)
cfn=(3262)
calls=17262 915
* 1240602
+3 86310
+1 69048
+15 49048
cfi=(123)
cfn=(3214)
calls=12262 245
* 196192
* 12262
+3 49048
+3 24524
+2 12262
+2 85834
cfi=(123)
cfn=(3218)
calls=12262 316
* 416908
* 24524
+2 12262
+4 49048
+24 36786
cfn=(3264) ForgetPrivateRefCountEntry
calls=12262 382
* 183930
+2 34524
fn=(3490)
2839 11388
+1 19929
+1 25623
+7 2847
cfi=(53)
cfn=(1610)
calls=2847 4834
* 22776
* 19929
+1 28470
+11 5694
fn=(5384)
3354 20000
+2 15000
cfi=(162)
cfn=(3198)
calls=5000 893
* 115000
+1 10000
+6 20000
cfn=(3208)
calls=5000 279
* 120000
* 5000
+2 25000
+2 25000
cfi=(162)
cfn=(3222)
calls=5000 906
* 220000
+1 10000
fn=(3196)
706 134882
+5 61310
+2 24524
+3 36786
cfi=(162)
cfn=(3198)
calls=12262 893
* 282663
+2 36786
+10 24524
+1 7500
cfi=(140)
cfn=(3162)
calls=1500 -41
* 231000
* 1500
+2 24524
+17 122620
cfn=(3200)
calls=12262 997
* 12763785
* 12262
+2 36786
+1 43048
+1 3000
+1 6000
+9 36786
+2 43048
+3 21524
+1 32286
+2 32286
+15 43048
+2 21524
+3 21524
+4 43048
+70 13500
+2 3000
+3 33000
cob=(3)
cfi=(3)
cfn=(828)
calls=1500 0
* 1368000
* 1500
+2 10500
cfi=(140)
cfn=(5444)
calls=1500 617
* 915772
* 1500
+67 6000
+6 3000
+11 7500
cfn=(5472) TerminateBufferIO
calls=1500 3949
* 357014
+3 4500
+1 4500
+11 4500
+1 49048
fn=(3460)
595 39855
+1 55797
cfn=(3194)
calls=7971 +46
* 8547542
+1 15942
fn=(2828)
2444 3
+3 4
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 16
* 1
+2 118
+1 1
+1 1
+2 6
cfi=(31)
cfn=(794)
calls=1 317
* 2758
* 1
+2 2
fn=(3476)
2612 593166
+5 395444
+3 1384054
+3 395444
+1 395444
fn=(3640) CheckForBufferLeaks
2497 6
+34 6
fn=(994)
468 4
+1 2
+7 7
+35 2
+1 6
-1 7
+3 3
+3 10
+1 2
fn=(3210)
187 36786
+2 36786
+1 11760
+9 1004
+4 5015
+2 4012
+2 1004
+1 502
-9 2507
+47 24524
fn=(3468)
1522 32454
+1 5409
+3 10818
+3 6148
+12 21518
+2 12296
+1 1156
-1 578
+1 3468
+1 578
-1 578
+2 578
+1 11140
cfn=(3260)
calls=2785 1701
* 618270
+4 25600
cfn=(3460)
calls=5120 595
* 5556981
+1 10818
fn=(5424)
4099 24000
+4 36000
cfi=(313)
cfn=(5426)
calls=6000 1012
* 138000
+5 30000
cfi=(123)
cfn=(5428)
calls=6000 376
* 168000
* 6000
+2 24000
+1 6000
+3 18000
cfi=(143)
cfn=(5432)
calls=6000 176
* 72063
+1 12000
+1 12000
fn=(3258)
3316 57908
+1 28954
+3 28954
+9 130293
cfn=(3260)
calls=14477 1701
* 2765407
+1 28954
fn=(3264)
382 49048
+3 49048
+3 24524
+7 36786
+15 24524
fn=(3638)
2422 10
+1 2
cfn=(3640)
calls=2 +74
* 8
+2 6
cfi=(203)
cfn=(3642)
calls=2 573
* 24
+3 4
fn=(5406)
1457 10000
+5 5000
+3 5000
+6 17500
+6 10000
cfi=(123)
cfn=(3214)
calls=2500 245
* 40000
* 2500
+3 10000
+3 5000
+3 2500
+2 17500
cfi=(123)
cfn=(3218)
calls=2500 316
* 85000
* 5000
+2 2500
+6 11500
+2 4500
+1 4500
+1 4500
+3 5000
fn=(5436)
1663 6000
+15 6000
cfi=(123)
cfn=(3214)
calls=1500 245
* 24000
* 1500
+2 1500
+1 12000
cfi=(123)
cfn=(5438)
calls=1500 262
* 31500
+2 6000
+2 4500
cfn=(3212)
calls=1500 253
* 21000
* 1500
+1 7500
+2 7500
cfi=(162)
cfn=(3222)
calls=1500 906
* 66000
+1 3000
fn=(5736)
2478 5
+1 1
cfn=(5738)
calls=1 3981
* 14
+1 1
cfn=(5740)
calls=1 3525
* 9
+2 1
cfn=(3640)
calls=1 +15
* 4
+3 1
cfi=(203)
cfn=(5742)
calls=1 584
* 9
+1 2
fn=(3212)
253 36786
+7 24524
+1 12262
+3 36786
+1 24524
+2 12262
+1 24524
fn=(2876)
2468 2
+1 3
cfi=(67)
cfn=(2110)
calls=1 362
* 32
+1 2
fn=(5442)
3882 9000
+11 13500
cfi=(99)
cfn=(2170)
calls=1500 1122
* 205500
+2 4500
cfn=(5424)
calls=1500 4099
* 136514
* 1500
+2 6000
+1 1500
+15 15000
+8 1500
+1 12000
cfi=(123)
cfn=(5438)
calls=1500 262
* 31500
+2 3000
+1 3000
+2 1500
+1 3000
fn=(5472)
3949 10500
+5 4500
cfn=(5424)
calls=1500 4099
* 136514
* 1500
+4 1500
+1 3000
+3 3000
+1 12000
cfi=(123)
cfn=(5438)
calls=1500 262
* 31500
+2 1500
+2 12000
cfi=(99)
cfn=(2182)
calls=1500 1726
* 136500
+1 3000
fl=(170)
fn=(3226)
97 12564
+1 21987
cfn=(3228) IsCatalogClass
calls=3141 +11
* 93525
+1 6282
fn=(5216)
80 2500
+1 1500
cfn=(5218) IsToastClass
calls=500 +72
* 18000
* 3500
cfn=(3228)
calls=500 +28
* 27500
* 2000
+1 1000
fn=(5220) IsToastNamespace
182 6000
+1 3000
+1 4500
cfi=(55)
cfn=(5222)
calls=1500 3152
* 13500
-1 6000
+2 3000
fn=(3228)
109 18205
+1 10923
+6 10923
cfn=(3230) IsSystemNamespace
calls=3641 +52
* 25487
* 13923
cfn=(5220)
calls=1000 +66
* 24000
* 3000
+1 2000
+15 5282
+1 7282
fn=(3030)
225 19749
+2 26308
+1 13126
+1 13106
+1 13106
+1 13106
+1 13106
+1 13102
+1 13096
+1 13094
+1 13082
+2 96
+2 26134
+1 13058
+1 13056
+1 13050
+1 13046
+1 13038
+1 13038
+1 13038
+1 13038
+1 13038
+1 13034
+1 13032
+1 13032
+1 13024
+1 13022
+1 13020
+1 13018
+2 54
+2 26032
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+1 13016
+3 6508
+1 13166
fn=(3230)
168 10923
+1 7282
+1 7282
fn=(5218)
153 2000
+1 1500
+2 1500
cfn=(5220)
calls=500 +26
* 12000
+1 1000
fl=(272)
fn=(4658)
2324 15
+1 9
cfn=(4660) get_typlen
calls=3 1943
* 1422
* 6
+6 6
+1 4
+6 5
cfi=(293)
cfn=(5098)
calls=1 398
* 14
* 1
+1 2
+25 1
+1 6
fn=(4660)
1943 12
+3 12
cfi=(151)
cfn=(3306)
calls=3 1114
* 1026
* 3
+1 6
+2 24
+3 9
+1 9
cfi=(151)
cfn=(3280)
calls=3 1161
* 309
+1 6
+4 6
fn=(4946)
2049 1521
+1 4056
+6 2028
+3 1014
+1 1014
fn=(5178)
1655 5000
+1 9000
cfi=(151)
cfn=(3012)
calls=1000 1227
* 27256987
+3 2000
fn=(4888)
2284 125
+9 100
cfi=(151)
cfn=(3306)
calls=25 1114
* 139558
* 25
+1 50
+2 200
+1 100
+3 75
cfi=(151)
cfn=(3280)
calls=25 1161
* 2575
+1 25
+10 25
+1 50
fn=(4922)
2446 60
+4 40
cfi=(151)
cfn=(3306)
calls=10 1114
* 90577
* 10
+1 20
+2 80
+1 40
+1 40
+1 30
cfi=(151)
cfn=(3280)
calls=10 1161
* 1030
+1 20
fn=(5076)
2609 3535
+4 2020
cfi=(151)
cfn=(3306)
calls=505 1114
* 172710
* 505
+1 1010
+2 4040
+2 2525
+5 2020
+6 2020
+1 1515
cfn=(4946)
calls=505 2049
* 9595
* 1010
+2 1515
cfi=(151)
cfn=(3280)
calls=505 1161
* 52015
+1 2020
fn=(5086)
1518 12
+4 12
cfi=(151)
cfn=(3306)
calls=3 1114
* 1026
* 3
+1 6
+3 27
+1 9
cfi=(151)
cfn=(3280)
calls=3 1161
* 309
+1 3
+1 6
fn=(5064)
2375 4
+3 4
cfi=(151)
cfn=(3306)
calls=1 1114
* 342
* 1
+1 2
+2 8
+3 3
+1 3
cfi=(151)
cfn=(3280)
calls=1 1161
* 103
+1 2
+4 2
fn=(4916)
2567 8
+9 8
cfi=(151)
cfn=(3306)
calls=2 1114
* 684
* 2
+1 4
+2 16
+1 8
+6 8
+3 2
+1 6
cfi=(151)
cfn=(3280)
calls=2 1161
* 206
+1 4
+9 4
fn=(5078)
2642 7035
+4 4020
cfi=(151)
cfn=(3306)
calls=1005 1114
* 343710
* 1005
+1 2010
+2 8040
+2 5025
+5 4020
+6 4020
+1 11045
+2 15
cfi=(151)
cfn=(3280)
calls=5 1161
* 515
-2 3000
+2 3000
cfi=(151)
cfn=(3280)
calls=1000 1161
* 103000
+1 4020
fn=(4886)
2267 88
+1 22
+2 110
cfn=(4888)
calls=22 +14
* 141480
+1 44
fn=(5100)
1613 16
+4 16
cfi=(151)
cfn=(3306)
calls=4 1114
* 1368
* 4
+1 8
+3 36
+1 12
cfi=(151)
cfn=(3280)
calls=4 1161
* 412
+1 4
+1 16
fn=(4964)
1499 8
+4 8
cfi=(151)
cfn=(3306)
calls=2 1114
* 44685
* 2
+1 4
+3 18
+1 6
cfi=(151)
cfn=(3280)
calls=2 1161
* 206
+1 2
+1 4
fn=(4906)
2494 44
+3 44
cfi=(151)
cfn=(3306)
calls=11 1114
* 3762
* 11
+1 22
+2 88
+3 44
+1 36
+2 2
+1 6
cfi=(151)
cfn=(3280)
calls=2 1161
* 206
* 27
cfi=(151)
cfn=(3280)
calls=9 1161
* 927
+1 22
+4 22
fn=(4978)
2791 24
+3 24
cfi=(151)
cfn=(3306)
calls=6 1114
* 2052
* 6
+1 12
+2 48
+3 18
+1 18
cfi=(151)
cfn=(3280)
calls=6 1161
* 618
+1 12
+4 12
fn=(4998)
1556 8
+4 8
cfi=(151)
cfn=(3306)
calls=2 1114
* 684
* 2
+1 4
+3 18
+1 6
cfi=(151)
cfn=(3280)
calls=2 1161
* 206
+1 2
+1 4
fn=(5074)
1537 12
+4 12
cfi=(151)
cfn=(3306)
calls=3 1114
* 45305
* 3
+1 6
ob=(7)
fl=(7)
fn=(5834) 0x00000000000023b0
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5846) 0x0000000000002340
calls=1 0
0 9
0 3
fn=(2354) shm_open
0 16
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 2288
0 5
0 14
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1291
0 5
0 10
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1310
0 5
0 4
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1366
0 5
0 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 745
0 5
0 10
fn=(318) 0x00000000000023f0
0 11
ob=(9)
fl=(272)
fn=(5074)
1545 27
+1 9
cfi=(151)
cfn=(3280)
calls=3 1161
* 309
+1 3
+1 6
fl=(153)
fn=(3246)
301 13340
+1 10672
+1 3567
cfn=(3248) dlist_init
calls=1189 -24
* 14268
+2 10672
+1 8004
+1 10672
+1 8004
+3 5336
fn=(4550)
318 15
+1 12
+3 9
+1 12
+1 12
+1 9
+3 6
fn=(2902)
575 308
+1 308
+1 231
+3 154
fn=(3314)
386 10880
+2 8704
+1 2176
+6 4352
fn=(5542)
359 3081
+1 5135
+1 5135
+1 2054
ob=(7)
fl=(7)
fn=(318)
0 5
fn=(2362)
0 11
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1312
0 5
0 16
fn=(5846)
0 9
ob=(9)
fl=(153)
fn=(5542)
359 9
+1 15
+1 15
+1 6
fn=(3248)
279 3567
+1 8323
+1 2378
fn=(2900)
555 3
+1 2
+1 2
fl=(317)
fn=(5588)
266 4
+14 3
+1 2
+26 2
ob=(4) /usr/lib64/libm-2.17.so
fl=(4) ???
fn=(178) rint
0 10
fn=(1000) __rint_sse41
0 2
fn=(196) sin
0 8
fn=(5912) 0x0000000000005680
0 9
fn=(188) floorf
0 5
fn=(190) floor
0 5
fn=(182) __log_finite
0 8
ob=(8) /usr/lib64/valgrind/vgpreload_core-amd64-linux.so
fl=(8) ???
fn=(330) 0x00000000000006e0
0 11
ob=(4)
fl=(4)
fn=(186) __acos_finite
0 5
fn=(5898) 0x00000000000056f0
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5912)
calls=1 0
0 9
0 3
fn=(176) cos
0 8
fn=(180) __pow_finite
0 5
fn=(292) 0x0000000000005730
0 16
fn=(174) __exp_finite
0 8
fn=(194) __atan2_finite
0 8
fn=(184) rintf
0 5
ob=(8)
fl=(8)
fn=(330)
0 5
fn=(5808) 0x00000000000006a0
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 934
0 5
ob=(4)
fl=(4)
fn=(192) __asin_finite
0 3
ob=(8)
fl=(8)
fn=(5808)
0 1
cfn=(5826) 0x0000000000000630
calls=1 0
0 9
ob=(4)
fl=(4)
fn=(192)
0 2
ob=(8)
fl=(8)
fn=(5808)
0 3
fn=(5826)
0 9
ob=(3)
fl=(3)
fn=(348) (below main)
0 25
cfn=(350) __cxa_atexit
calls=1 0
0 61
0 13
cob=(9)
cfi=(9)
cfn=(354)
calls=1 0
0 55
0 8
cfn=(368) _setjmp
calls=1 0
0 30
0 14
cob=(9)
cfi=(10)
cfn=(374)
calls=1 61
0 397296509
fn=(408) sbrk
0 367
cfn=(410) brk
calls=16 0
0 208
0 193
cfn=(410)
calls=23 0
0 299
0 110
fn=(548) __GI_strnlen
0 249
fn=(608) _int_realloc
0 578
cfn=(400) _int_malloc
calls=10 0
0 3155
0 188
cfn=(592) _int_free
calls=10 0
0 868
0 114
cfn=(412) __GI_memcpy
calls=8 0
0 11358
0 40
fn=(774)
0 231
fn=(948) strncpy
0 9
fn=(1118) index
0 12
fn=(1336)
0 33627
cfn=(1338) _IO_sgetn
calls=1019 0
0 171924
0 24429
fn=(1340) _IO_file_xsgetn
0 66082
cfn=(1350) _IO_file_read
calls=1524 0
0 16764
0 20371
cfn=(1342) _IO_doallocbuf
calls=505 0
0 65145
0 505
fn=(1382) _IO_un_link
0 46697
cob=(5)
cfi=(5)
cfn=(1298)
calls=526 0
0 4208
0 5786
cob=(5)
cfi=(5)
cfn=(1296)
calls=526 0
0 7364
0 5768
fn=(1442) __GI_memmove
0 35613
cfn=(2470) _wordcopy_bwd_dest_aligned
calls=4 0
0 148
0 135024
fn=(1492) __uflow
0 798
cfn=(1494) _IO_default_uflow
calls=38 0
0 4888
0 190
fn=(1532)
0 30
cfn=(1534) vfscanf
calls=2 0
0 1322
0 4
fn=(1644) inet_aton
0 226
cfn=(1638)
calls=4 0
0 620
0 48
cfn=(1638)
calls=12 0
0 1344
0 428
fn=(1666) __nss_database_lookup
0 58
cfn=(572) __GI_strcmp
calls=2 0
0 48
0 84
cfn=(572)
calls=28 0
0 672
0 193
cfn=(1284)
calls=1 0
0 569
0 6
cfn=(388)
calls=1 0
0 103
0 1
0 400
cfn=(1668) getline
calls=65 0
0 11075
0 514
cfn=(536)
calls=64 0
0 1616
0 1538
cfn=(236) __GI_strlen
calls=15 0
0 210
0 60
cfn=(388)
calls=15 0
0 2749
0 15
0 105
cfn=(412)
calls=15 0
0 347
0 30
cfn=(1674) nss_parse_service_list
calls=15 0
0 8178
0 329
cfn=(590)
calls=1 0
0 85
0 1
0 2
cfn=(1380)
calls=1 0
0 402
0 6
fn=(1668)
0 195
cfn=(1670) getdelim
calls=65 0
0 10880
fn=(1690)
0 210
cfn=(1488) _IO_getline
calls=10 0
0 2763
0 134
fn=(1804)
0 45
fn=(1818) recvmsg
0 12
cfn=(1820) __recvmsg_nocancel
calls=6 0
0 30
fn=(1840) inet_ntop
0 88
cfn=(1704) __GI_strcpy
calls=1 0
0 29
0 17
cfn=(1842) sprintf
calls=1 0
0 1650
0 6
cfn=(1704)
calls=1 0
0 30
0 17
cfn=(1842)
calls=1 0
0 590
0 59
fn=(1940)
0 3036
fn=(2104) __strtoul_internal
0 3
cfn=(1640) ____strtoul_l_internal
calls=1 0
0 164
fn=(2124) shmat
0 5
fn=(2380) __mempcpy_ssse3
0 15
fn=(2422)
0 10
fn=(2448) _IO_do_write@@GLIBC_2.2.5
0 991
cfn=(2456) _IO_file_write@@GLIBC_2.2.5
calls=43 0
0 1849
0 1204
fn=(2456)
0 946
cfn=(2458) write
calls=43 0
0 301
0 602
fn=(2482) known_compare
0 5
cfn=(572)
calls=1 0
0 48
fn=(2584) _IO_list_unlock
0 72
fn=(2672)
0 9
cfn=(1246)
calls=3 0
0 434
fn=(404) sysmalloc
0 1039
cfn=(598)
calls=4 0
0 132
0 146
cfn=(406) __default_morecore
calls=13 0
0 842
0 377
cfn=(406)
calls=1 0
0 45
0 34
fn=(444) strcmp
0 10
fn=(510)
0 25
fn=(518)
0 20
fn=(536)
0 211674
fn=(552) __GI_strncmp
0 27143
fn=(594) __open_nocancel
0 2647
fn=(604) __GI_stpcpy
0 16682
fn=(628)
0 12
cfn=(630) strxfrm_l
calls=4 0
0 1768
fn=(732) __openat_nocancel
0 84
fn=(808) strcpy
0 18
fn=(828)
0 7511436
fn=(1044)
0 799567
fn=(1180)
0 12
cfn=(1182) ____strtod_l_internal
calls=3 0
0 237
fn=(1248) ____strtol_l_internal
0 117148
fn=(1286) __fopen_internal
0 5260
cfn=(388)
calls=526 0
0 53988
0 526
0 5786
cfn=(1288) _IO_no_init
calls=526 0
0 30508
0 2104
cfn=(1292) _IO_file_init@@GLIBC_2.2.5
calls=526 0
0 67328
0 2630
cfn=(1300) _IO_file_fopen@@GLIBC_2.2.5
calls=526 0
0 59565
0 4716
cfn=(1306) __fopen_maybe_mmap
calls=523 0
0 2092
0 3
cfn=(1382)
calls=3 0
0 339
0 6
cfn=(590)
calls=3 0
0 370
0 3
0 21
fn=(1302) open
0 1040
cfn=(594)
calls=520 0
0 2608
fn=(1344) _IO_file_doallocate
0 5742
cfn=(1346) _IO_file_stat
calls=522 0
0 7308
0 8352
cfn=(598)
calls=522 0
0 17226
0 3654
cfn=(1348) _IO_setb
calls=522 0
0 10962
0 4698
fn=(1352) read
0 3108
cfn=(1354) __read_nocancel
calls=1554 0
0 7770
fn=(1386) _IO_unsave_markers
0 4707
fn=(1494)
0 152
cfn=(1496) _IO_file_underflow@@GLIBC_2.2.5
calls=38 0
0 4472
0 264
fn=(1496)
0 640
cfn=(1498) _IO_switch_to_get_mode
calls=40 0
0 800
0 480
cfn=(1350)
calls=40 0
0 460
0 539
cfn=(1342)
calls=14 0
0 1806
0 28
fn=(1560)
0 6
fn=(160) _dl_vdso_vsym
0 42
fn=(232) secure_getenv
0 5
cfn=(234)
calls=1 0
0 421
fn=(256) __register_atfork
0 50
fn=(276) __ctype_init
0 16
fn=(286) intel_02_known_compare
0 324
fn=(1638)
0 2068
cfn=(1640)
calls=517 0
0 73064
fn=(1696) __res_vinit
0 39
cfn=(234)
calls=1 0
0 501
0 5
cfn=(1284)
calls=1 0
0 541
0 26
cfn=(1690)
calls=1 0
0 437
0 4
cfn=(1690)
calls=1 0
0 183
0 22
cfn=(1380)
calls=1 0
0 402
0 13
cfn=(234)
calls=1 0
0 450
0 19
cfn=(1700) gethostname
calls=1 0
0 97
0 5
cfn=(544) __GI_strchr
calls=1 0
0 28
0 5
cfn=(1704)
calls=1 0
0 93
0 5
cfn=(654)
calls=1 0
0 5
0 5
cfn=(1698) inet_makeaddr
calls=1 0
0 8
0 7
fn=(1700)
0 10
cfn=(1702) uname
calls=1 0
0 5
0 6
cfn=(236)
calls=1 0
0 27
0 7
cfn=(412)
calls=1 0
0 32
0 10
fn=(1702)
0 5
fn=(1780)
0 212
fn=(1796)
0 16
cfn=(1284)
calls=1 0
0 770
0 24
cfn=(590)
calls=1 0
0 7
0 1
0 6
cfn=(590)
calls=1 0
0 7
0 1
0 6
cfn=(590)
calls=1 0
0 7
0 1
0 8
fn=(1850) _IO_default_xsputn
0 1770
cfn=(1676) __GI_mempcpy
calls=32 0
0 2682
0 821
fn=(1862)
0 18
fn=(1948)
0 132
cfn=(590)
calls=18 0
0 126
0 18
0 30
cfn=(590)
calls=10 0
0 70
0 10
0 56
cfn=(590)
calls=28 0
0 2436
0 28
0 96
fn=(1972)
0 68
fn=(2118) shmget
0 5
fn=(2578) _IO_list_lock
0 120
fn=(2698) _IO_iter_begin
0 2
fn=(2702) _IO_iter_file
0 12
fn=(5784) exit
0 4
cfn=(5786) __run_exit_handlers
calls=1 0
0 12169
fn=(5820) __cxa_finalize
0 322
cfn=(5822) __unregister_atfork
calls=7 0
0 91
fn=(156) strcasecmp
0 10
fn=(158) time
0 18
cfn=(160)
calls=2 0
0 14
0 12
fn=(402) malloc_consolidate
0 95238
fn=(424)
0 328561
fn=(496)
0 122
fn=(544)
0 1053
fn=(556)
0 988
cfn=(608)
calls=15 0
0 16301
0 174
cfn=(558) realloc_hook_ini
calls=1 0
0 208
fn=(580) _nl_load_locale_from_archive
0 130
cfn=(582) sysconf
calls=10 0
0 340
0 58
cfn=(572)
calls=9 0
0 216
0 164
cfn=(544)
calls=1 0
0 28
0 8
cfn=(236)
calls=1 0
0 14
0 103
cfn=(572)
calls=1 0
0 24
0 223
cfn=(388)
calls=1 0
0 188
0 1
0 6
cfn=(384)
calls=1 0
0 156
0 133
cfn=(600) _nl_intern_locale_data
calls=12 0
0 7863
0 130
cfn=(536)
calls=1 0
0 23
0 6
cfn=(586) _nl_normalize_codeset
calls=1 0
0 308
0 7
cfn=(552)
calls=1 0
0 29
0 6
cfn=(590)
calls=1 0
0 85
0 1
0 7
cfn=(594)
calls=1 0
0 5
0 7
cfn=(596)
calls=1 0
0 10
0 10
cfn=(598)
calls=1 0
0 33
0 27
fn=(602) new_composite_name
0 2176
cfn=(236)
calls=176 0
0 2464
0 32
cfn=(236)
calls=16 0
0 224
0 1524
cfn=(572)
calls=24 0
0 576
0 646
cfn=(388)
calls=16 0
0 3363
0 16
0 2256
cfn=(604)
calls=176 0
0 10863
0 48
cfn=(604)
calls=16 0
0 1073
0 768
cfn=(604)
calls=192 0
0 4668
0 912
fn=(620) unsetenv
0 12
cfn=(544)
calls=1 0
0 34
0 4
cfn=(236)
calls=1 0
0 14
0 282
cfn=(552)
calls=67 0
0 2077
0 413
fn=(644) getuid
0 3
fn=(710)
0 6
fn=(854) memcpy@@GLIBC_2.14
0 40
fn=(950)
0 36826
fn=(1254)
0 18
cfn=(1256) _getopt_internal
calls=3 0
0 847
0 6
fn=(1300)
0 24283
cfn=(1302)
calls=520 0
0 3648
0 6802
cfn=(1294) _IO_link_in
calls=523 0
0 5753
0 1569
cfn=(1304) __GI_strstr
calls=523 0
0 13190
0 4274
cfn=(594)
calls=6 0
0 34
0 12
fn=(1304)
0 13190
fn=(1348)
0 27546
cfn=(1390) munmap
calls=522 0
0 2610
0 2088
fn=(1366)
0 46260
fn=(1380)
0 18798
cfn=(1392) _IO_file_finish@@GLIBC_2.2.5
calls=3 0
0 96
0 2080
cfn=(1392)
calls=520 0
0 16640
0 6276
cfn=(590)
calls=523 0
0 60273
0 523
0 4707
cfn=(1384) _IO_file_close_it@@GLIBC_2.2.5
calls=523 0
0 59387
0 2092
cfn=(1382)
calls=523 0
0 59024
0 4689
fn=(1390)
0 2610
fn=(1394) _IO_default_finish
0 7322
cfn=(1382)
calls=523 0
0 5230
fn=(1498)
0 800
fn=(234)
0 432
cfn=(236)
calls=48 0
0 856
0 19712
cfn=(552)
calls=45 0
0 1549
0 106
fn=(248) __libc_dl_error_tsd
0 42
fn=(1642) gaih_inet
0 1240
cfn=(1644)
calls=10 0
0 2666
0 70
cfn=(544)
calls=6 0
0 159
0 54
cfn=(1646)
calls=6 0
0 960
0 128
cfn=(1692) __res_maybe_init
calls=2 0
0 2920
0 762
cfn=(388)
calls=8 0
0 1819
0 8
0 12
cfn=(388)
calls=6 0
0 1385
0 6
0 724
cfn=(388)
calls=8 0
0 2045
0 8
0 12
cfn=(388)
calls=6 0
0 1062
0 6
0 78
cfn=(1706) __nss_lookup_function
calls=2 0
0 30259
0 14
cfn=(1740) _dl_mcount_wrapper_check
calls=2 0
0 8
0 16
cob=(11)
cfi=(78)
cfn=(1742)
calls=2 0
0 24031
0 152
cfn=(1648) __nscd_getai
calls=1 0
0 866
0 48
cfn=(1666)
calls=2 0
0 29396
0 13
cfn=(1684) _res_hconf_init
calls=1 0
0 4864
0 1
fn=(1648)
0 17
cfn=(236)
calls=1 0
0 14
0 7
cfn=(1650) __nscd_get_map_ref
calls=1 0
0 177
0 22
cfn=(1664) __nscd_open_socket
calls=1 0
0 108
0 14
cfn=(234)
calls=1 0
0 501
0 6
fn=(1658) connect
0 12
cfn=(1660) __connect_nocancel
calls=6 0
0 38
fn=(1698)
0 8
fn=(1708) tsearch
0 50
cfn=(2482)
calls=1 0
0 53
0 9
cfn=(388)
calls=1 0
0 270
0 1
0 32
fn=(1722)
0 333
cfn=(400)
calls=9 0
0 1971
0 282
cfn=(828)
calls=7 0
0 525
0 49
fn=(1802)
0 30
fn=(1824) qsort_r
0 100
cfn=(590)
calls=2 0
0 14
0 2
0 120
cfn=(1826) msort_with_tmp.part.0
calls=2 0
0 3354
0 4
cfn=(590)
calls=2 0
0 14
0 2
0 10
fn=(1846) _IO_str_init_static_internal
0 553
cfn=(2102) __GI___rawmemchr
calls=41 0
0 984
0 246
cfn=(1348)
calls=41 0
0 861
0 10
cfn=(1348)
calls=2 0
0 42
0 696
fn=(1880)
0 467
fn=(2310)
0 239
fn=(2378) mempcpy
0 10
fn=(2454) fputc
0 39
fn=(2524) getsockopt
0 6
fn=(2576)
0 310
cfn=(2578)
calls=10 0
0 120
0 10
cfn=(2580) __malloc_fork_lock_parent
calls=10 0
0 430
0 177
cfn=(2696) __malloc_fork_unlock_child
calls=1 0
0 31
0 1
cfn=(2698)
calls=1 0
0 2
0 8
cfn=(2704) _IO_iter_next
calls=3 0
0 6
0 6
cfn=(2700) _IO_iter_end
calls=3 0
0 6
0 1
cfn=(2700)
calls=1 0
0 2
0 14
cfn=(2702)
calls=3 0
0 6
0 15
cfn=(2702)
calls=3 0
0 6
0 16
cfn=(2706) _IO_list_resetlock
calls=1 0
0 4
0 14
cob=(5)
cfi=(5)
cfn=(2708)
calls=1 0
0 48
0 32
cfn=(2582) __malloc_fork_unlock_parent
calls=9 0
0 261
0 9
cfn=(2584)
calls=9 0
0 72
0 212
cob=(5)
cfi=(5)
cfn=(2694)
calls=1 0
0 5
0 1
fn=(2780)
0 10
fn=(4062) _dl_sym
0 12
cfn=(4064) do_sym
calls=4 0
0 2802
fn=(1838)
0 159
cfn=(1840)
calls=1 0
0 1715
0 11
cfn=(1840)
calls=1 0
0 771
0 5
fn=(388)
0 171278
cfn=(400)
calls=9515 0
0 1859116
0 209335
cfn=(390) malloc_hook_ini
calls=1 0
0 57691
fn=(389) malloc'2
0 18
cfn=(400)
calls=1 0
0 1056
0 22
fn=(400)
0 454918
cfn=(402)
calls=27 0
0 4878
0 1317989
cfn=(402)
calls=1 0
0 666
0 92
cfn=(404)
calls=17 0
0 2615
0 84140
fn=(542)
0 96
cfn=(544)
calls=12 0
0 336
0 108
cfn=(548)
calls=12 0
0 249
0 12
0 108
cfn=(412)
calls=12 0
0 289
0 60
cfn=(550) __add_to_environ
calls=12 0
0 34442
0 60
fn=(574) _nl_find_locale
0 304
cfn=(572)
calls=16 0
0 384
0 62
cfn=(572)
calls=10 0
0 240
0 40
cfn=(236)
calls=10 0
0 140
0 80
cfn=(576) memmem
calls=10 0
0 510
0 130
cfn=(578) memchr
calls=10 0
0 190
0 80
cfn=(580)
calls=10 0
0 10349
0 156
cfn=(234)
calls=4 0
0 2043
0 36
cfn=(234)
calls=4 0
0 2012
0 20
cfn=(234)
calls=3 0
0 948
0 65
fn=(576)
0 200
cfn=(578)
calls=10 0
0 190
0 120
fn=(584) getpagesize
0 30
fn=(1256)
0 39
cfn=(1258) _getopt_internal_r
calls=3 0
0 775
0 33
fn=(1258)
0 74
cfn=(234)
calls=1 0
0 450
0 49
cfn=(544)
calls=1 0
0 28
0 174
fn=(1284)
0 1052
cfn=(1286)
calls=526 0
0 235245
fn=(1652) __nscd_get_mapping
0 14
cfn=(236)
calls=1 0
0 14
0 15
cfn=(1654) open_socket
calls=1 0
0 74
0 19
fn=(1676)
0 118594
fn=(1704)
0 244
fn=(1706)
0 44
cfn=(1708)
calls=2 0
0 415
0 43
cfn=(388)
calls=1 0
0 175
0 1
0 19
cfn=(236)
calls=1 0
0 14
0 4
cfn=(236)
calls=1 0
0 27
0 8
cfn=(604)
calls=1 0
0 39
0 4
cfn=(1704)
calls=1 0
0 92
0 4
cfn=(1736) __libc_dlsym
calls=1 0
0 810
0 21
cfn=(236)
calls=1 0
0 14
0 11
cfn=(604)
calls=1 0
0 39
0 8
cfn=(1710) __libc_dlopen_mode
calls=1 0
0 28264
0 12
cfn=(388)
calls=1 0
0 175
0 1
0 15
fn=(1740)
0 8
fn=(1806) make_request
0 42
cob=(10)
cfi=(22)
cfn=(1810)
calls=2 0
0 6
0 2
0 42
cfn=(1814) sendto
calls=2 0
0 16
0 100
cfn=(1818)
calls=6 0
0 42
0 678
fn=(1822) qsort
0 4
cfn=(1824)
calls=2 0
0 128
fn=(1828) rfc3484_sort
0 3130
fn=(1852) _itoa_word
0 131
fn=(2368) statfs
0 5
fn=(2470)
0 148
fn=(2484) __nscd_get_nl_timestamp
0 5
fn=(2510) __select_nocancel
0 64
fn=(2704)
0 6
fn=(3544) systrim.isra.2
0 15909
cfn=(406)
calls=3 0
0 135
0 7968
cfn=(406)
calls=3 0
0 204
0 18
cfn=(406)
calls=3 0
0 135
0 36
fn=(4284) strstr
0 17
fn=(5786)
0 55
cfn=(5958) _IO_cleanup
calls=1 0
0 138
0 5
cfn=(5962) _Exit
calls=1 0
0 5
0 12
cob=(1)
cfi=(1)
cfn=(5790) _dl_fini
calls=1 0
0 11301
cob=(9)
cfi=(67)
cfn=(5788)
calls=1 291
0 651
0 2
fn=(5962)
0 5
fn=(170) memcpy@GLIBC_2.2.5
0 30
fn=(350)
0 16
cfn=(352) __new_exitfn
calls=2 0
0 83
0 28
fn=(352)
0 83
fn=(368)
0 2
cfn=(370)
calls=1 0
0 28
fn=(446)
0 4155685
fn=(482)
0 557769
fn=(558)
0 32
cfn=(388)
calls=1 0
0 176
fn=(578)
0 66796
fn=(590)
0 129082
cfn=(592)
calls=8047 0
0 919511
0 55
fn=(700)
0 22
cfn=(702) srandom_r
calls=2 0
0 21040
0 12
fn=(728)
0 30
cfn=(730) __opendirat
calls=10 0
0 2138
fn=(730)
0 60
cfn=(732)
calls=10 0
0 84
0 74
cfn=(734) __alloc_dir
calls=9 0
0 1917
0 3
fn=(810)
0 6194
fn=(1042) strncmp
0 5
fn=(1246)
0 3296
cfn=(1248)
calls=824 0
0 117148
fn=(1306)
0 2092
fn=(1480)
0 55440
fn=(254) __libc_pthread_init
0 8
cfn=(256)
calls=1 0
0 50
0 385
fn=(278) init_cacheinfo
0 39
cfn=(280) handle_intel.isra.0
calls=1 0
0 844
0 3
cfn=(280)
calls=1 0
0 885
0 108
fn=(280)
0 40
cfn=(282) intel_check_word
calls=2 0
0 1446
0 14
cfn=(282)
calls=2 0
0 189
0 40
fn=(1650)
0 36
cfn=(1652)
calls=1 0
0 136
0 5
fn=(1654)
0 30
cfn=(1656)
calls=2 0
0 10
0 48
cfn=(1658)
calls=2 0
0 22
0 38
fn=(1656)
0 60
fn=(1672) __underflow
0 43
cfn=(1496)
calls=2 0
0 281
0 8
fn=(1688)
0 22
cfn=(234)
calls=1 0
0 463
0 8
cfn=(1284)
calls=1 0
0 541
0 13
cfn=(1690)
calls=1 0
0 404
0 4
cfn=(1690)
calls=1 0
0 183
0 8
cfn=(536)
calls=1 0
0 23
0 76
cfn=(1680) __strncasecmp_avx
calls=1 0
0 51
0 1
0 6
cfn=(1680)
calls=1 0
0 51
0 1
0 6
cfn=(1680)
calls=1 0
0 51
0 1
0 6
cfn=(1680)
calls=1 0
0 46
0 1
0 31
cfn=(1380)
calls=1 0
0 402
0 2
cfn=(234)
calls=1 0
0 464
0 4
cfn=(234)
calls=1 0
0 450
0 5
cfn=(234)
calls=1 0
0 450
0 5
cfn=(234)
calls=1 0
0 463
0 4
cfn=(234)
calls=1 0
0 463
0 31
cfn=(1680)
calls=1 0
0 73
0 1
0 13
fn=(1694) __res_ninit
0 2
cfn=(1696)
calls=1 0
0 2900
fn=(1736)
0 14
cob=(1)
cfi=(1)
cfn=(80) _dl_catch_error
calls=1 0
0 784
0 12
fn=(1820)
0 30
fn=(1848) vfprintf
0 66
cfn=(536)
calls=2 0
0 46
0 24
cfn=(1850)
calls=2 0
0 30
0 10
cfn=(590)
calls=2 0
0 14
0 2
0 4
cfn=(590)
calls=2 0
0 14
0 2
0 309
cfn=(536)
calls=5 0
0 115
0 35
cfn=(1850)
calls=5 0
0 198
0 301
cfn=(1850)
calls=5 0
0 290
0 105
cfn=(1852)
calls=5 0
0 131
0 238
fn=(2458)
0 86
cfn=(2460) __write_nocancel
calls=43 0
0 215
fn=(2508)
0 16
cfn=(2510)
calls=8 0
0 64
fn=(2564) _IO_file_sync@@GLIBC_2.2.5
0 286
fn=(2582)
0 261
fn=(2696)
0 31
fn=(2700)
0 8
fn=(2724) setsid
0 5
fn=(5822)
0 91
fn=(1830) __free_in6ai
0 50
fn=(370)
0 285
cfn=(372) __sigjmp_save
calls=15 0
0 219
fn=(394) _dl_addr
0 14
cob=(5)
cfi=(5)
cfn=(396)
calls=1 0
0 31
0 56068
cob=(5)
cfi=(5)
cfn=(398)
calls=1 0
0 29
0 31
fn=(406)
0 46
cfn=(408)
calls=23 0
0 1177
0 138
fn=(592)
0 766808
cfn=(3544)
calls=883 0
0 24405
0 6155
cfn=(402)
calls=506 0
0 89694
0 33317
fn=(600)
0 403
cfn=(388)
calls=12 0
0 2196
0 12
0 5252
fn=(702)
0 1216
cfn=(704) random_r
calls=2 0
0 52
0 2472
cfn=(704)
calls=618 0
0 16048
0 1252
fn=(756)
0 1064
fn=(856)
0 4126593
fn=(1120)
0 83832
fn=(1350)
0 6236
cfn=(1352)
calls=1554 0
0 10878
0 30
cfn=(1354)
calls=10 0
0 50
0 30
fn=(1354)
0 7820
fn=(1384)
0 7845
cfn=(1386)
calls=523 0
0 4707
0 5230
cfn=(1348)
calls=523 0
0 20379
0 4184
cfn=(1382)
calls=523 0
0 5230
0 6799
cfn=(1388) _IO_file_close
calls=523 0
0 3661
0 1067
cfn=(2448)
calls=3 0
0 279
0 6
fn=(1506)
0 132920
fn=(1534)
0 4
cfn=(1536) _IO_vfscanf
calls=2 0
0 1318
fn=(1536)
0 5388
cfn=(1538) _IO_sputbackc
calls=4 0
0 56
0 1298
cob=(5)
cfi=(5)
cfn=(1298)
calls=43 0
0 344
0 294
cfn=(1538)
calls=1 0
0 14
0 123
cfn=(2104)
calls=1 0
0 167
0 309
cob=(5)
cfi=(5)
cfn=(1296)
calls=43 0
0 602
0 294
cfn=(1538)
calls=2 0
0 28
0 113
cfn=(1492)
calls=2 0
0 490
0 172
cfn=(1538)
calls=40 0
0 560
0 64
fn=(274) __GI_strrchr
0 51
fn=(1674)
0 1739
cfn=(388)
calls=24 0
0 4427
0 24
0 192
cfn=(1676)
calls=24 0
0 540
0 820
cfn=(1680)
calls=1 0
0 95
0 1
0 241
cfn=(1680)
calls=1 0
0 93
0 1
0 5
fn=(1710)
0 16
cob=(1)
cfi=(1)
cfn=(80)
calls=1 0
0 28241
0 7
fn=(1826)
0 94
cfn=(412)
calls=2 0
0 46
0 10
cfn=(412)
calls=2 0
0 36
0 34
cfn=(1828)
calls=2 0
0 3130
0 4
fn=(1842)
0 30
cfn=(1844) vsprintf
calls=2 0
0 2206
0 4
fn=(1844)
0 30
cfn=(1288)
calls=2 0
0 84
0 14
cfn=(1846)
calls=2 0
0 112
0 8
cfn=(1848)
calls=2 0
0 1934
0 24
fn=(1872)
0 15
fn=(2732) prctl
0 6
fn=(3808) __epoll_wait_nocancel
0 16
fn=(4066) _dl_addr_inside_object
0 260
fn=(162) strnlen
0 5
fn=(164) strncasecmp
0 5
fn=(166) memset
0 24
fn=(384)
0 16070
cfn=(236)
calls=3214 0
0 86819
0 9642
cfn=(388)
calls=3214 0
0 621605
0 3214
0 28926
cfn=(412)
calls=3214 0
0 96651
fn=(412)
0 219552
fn=(572)
0 3049
fn=(582)
0 290
cfn=(584)
calls=10 0
0 30
0 20
fn=(596)
0 10230
fn=(598)
0 17495
fn=(610) _nl_postload_ctype
0 45
fn=(734)
0 117
cfn=(388)
calls=9 0
0 1665
0 9
0 126
fn=(762)
0 84
fn=(914)
0 1193502
fn=(1182)
0 57
cfn=(236)
calls=3 0
0 42
0 138
fn=(1292)
0 4208
cfn=(1294)
calls=526 0
0 60490
0 2630
fn=(1294)
0 44677
cob=(5)
cfi=(5)
cfn=(1298)
calls=526 0
0 4208
0 5786
cob=(5)
cfi=(5)
cfn=(1296)
calls=526 0
0 7364
0 4208
fn=(1338)
0 3057
cfn=(1340)
calls=1019 0
0 168867
fn=(1342)
0 8352
cfn=(1344)
calls=522 0
0 57942
0 1044
fn=(1388)
0 1046
cfn=(748) __close_nocancel
calls=523 0
0 2615
fn=(1392)
0 4184
cfn=(1394)
calls=523 0
0 12552
fn=(168) gettimeofday
0 18
cfn=(160)
calls=2 0
0 14
0 12
fn=(270) _init
0 27
cfn=(160)
calls=1 0
0 7
0 8
cfn=(160)
calls=1 0
0 7
0 10
cfn=(272) __init_misc
calls=1 0
0 75
0 1
cfn=(276)
calls=1 0
0 16
0 14
fn=(284)
0 13431
cob=(9)
cfi=(280)
cfn=(4778)
calls=28 2116
0 565
cob=(9)
cfi=(29)
cfn=(866)
calls=1077 4918
0 152143
cfn=(286)
calls=54 0
0 324
0 5507
fn=(1636)
0 494
cfn=(1642)
calls=10 0
0 105792
0 280
cfn=(1822)
calls=2 0
0 132
0 58
cfn=(1658)
calls=4 0
0 28
0 126
cfn=(1656)
calls=4 0
0 20
0 67
cfn=(1804)
calls=4 0
0 20
0 60
cfn=(284)
calls=2 0
0 50
0 8
cfn=(284)
calls=2 0
0 50
0 56
cfn=(1824)
calls=2 0
0 3492
0 76
cfn=(1830)
calls=10 0
0 50
0 145
cfn=(1638)
calls=1 0
0 168
0 18
cob=(5)
cfi=(5)
cfn=(1686)
calls=2 0
0 886
0 42
cfn=(1800) __check_pf
calls=2 0
0 1137
0 2
fn=(1660)
0 38
fn=(1670)
0 1756
cfn=(388)
calls=1 0
0 188
0 1
0 712
cfn=(412)
calls=64 0
0 2999
0 512
cfn=(578)
calls=64 0
0 2177
0 2191
cfn=(1672)
calls=2 0
0 332
0 12
fn=(1738) do_dlsym
0 14
cob=(1)
cfi=(1)
cfn=(150) _dl_lookup_symbol_x
calls=1 0
0 707
0 4
fn=(1800)
0 43
cfn=(2484)
calls=1 0
0 5
0 10
cfn=(1656)
calls=2 0
0 10
0 26
cfn=(1802)
calls=2 0
0 10
0 81
cfn=(1804)
calls=2 0
0 10
0 10
cfn=(1806)
calls=2 0
0 928
0 4
fn=(1878) rindex
0 6
fn=(2098)
0 615
cfn=(2100) vsscanf
calls=41 0
0 15353
0 82
fn=(2100)
0 615
cfn=(1288)
calls=41 0
0 1722
0 287
cfn=(1846)
calls=41 0
0 3280
0 205
cfn=(1536)
calls=41 0
0 8998
0 246
fn=(2308) strspn
0 12
fn=(2402) posix_fallocate
0 14
fn=(2442)
0 115039
cfn=(2444) _IO_file_xsputn@@GLIBC_2.2.5
calls=3 0
0 989
0 13845
cfn=(2444)
calls=2769 0
0 261152
0 47999
fn=(2446) _IO_file_overflow@@GLIBC_2.2.5
0 1000
cfn=(2448)
calls=43 0
0 3765
0 6
cfn=(1342)
calls=3 0
0 387
0 18
fn=(2580)
0 430
fn=(2706)
0 4
fn=(2746) epoll_create1
0 5
fn=(3806)
0 4
cfn=(3808)
calls=2 0
0 16
fn=(4286)
0 352
fn=(5958)
0 8
cfn=(5960) _IO_flush_all_lockp
calls=1 0
0 88
0 42
fn=(372)
0 99
cfn=(774)
calls=6 0
0 42
0 78
fn=(392) ptmalloc_init.part.7
0 401
cfn=(394)
calls=1 0
0 56173
0 10
fn=(422) strlen
0 27
fn=(586)
0 63
cfn=(388)
calls=1 0
0 188
0 1
0 56
fn=(654)
0 35
fn=(704)
0 16126
fn=(746)
0 45
cfn=(590)
calls=9 0
0 997
0 9
0 27
cfn=(748)
calls=9 0
0 45
fn=(1290) _IO_old_init
0 14096
fn=(1440) __getdents
0 279
cfn=(236)
calls=9 0
0 126
0 13595
cfn=(236)
calls=2719 0
0 43489
0 10912
cfn=(1442)
calls=2728 0
0 170785
0 13745
fn=(1490) _IO_getline_info
0 46174
cfn=(578)
calls=1596 0
0 64239
0 4878
cfn=(412)
calls=15 0
0 645
0 8277
cfn=(1492)
calls=36 0
0 5386
0 24069
cfn=(412)
calls=1581 0
0 106953
0 17433
fn=(1538)
0 658
fn=(242)
0 15
fn=(282)
0 188
cfn=(284)
calls=8 0
0 1228
0 219
fn=(1640)
0 73228
fn=(1664)
0 19
cfn=(1654)
calls=1 0
0 74
0 15
fn=(1768) rawmemchr
0 7
fn=(1770)
0 116
fn=(1816) __sendto_nocancel
0 12
fn=(1986) chmod
0 5
fn=(2102)
0 984
fn=(2344) random
0 10
cfn=(704)
calls=1 0
0 26
0 7
fn=(2396) ftruncate
0 5
fn=(2562)
0 506
cfn=(2564)
calls=22 0
0 286
0 396
fn=(3060) bcmp
0 7
fn=(3062)
0 1021809
fn=(3554)
0 10
fn=(4064)
0 144
cfn=(4066)
calls=4 0
0 260
0 84
cob=(1)
cfi=(1)
cfn=(150)
calls=4 0
0 2198
0 116
fn=(390)
0 8
cfn=(392)
calls=1 0
0 56584
0 3
cfn=(389)
calls=1 0
0 1096
fn=(410)
0 507
fn=(454)
0 238
fn=(502)
0 25
fn=(550)
0 168
cfn=(236)
calls=12 0
0 168
0 264
cfn=(552)
calls=12 0
0 372
0 2984
cfn=(552)
calls=746 0
0 23116
0 5326
cfn=(556)
calls=7 0
0 1495
0 7
0 94
cfn=(412)
calls=1 0
0 196
0 252
fn=(568)
0 913
cfn=(572)
calls=33 0
0 841
0 598
cob=(5)
cfi=(5)
cfn=(606)
calls=17 0
0 289
0 98
cfn=(234)
calls=16 0
0 7702
0 176
cfn=(574)
calls=16 0
0 17789
0 154
cfn=(384)
calls=10 0
0 2023
0 78
cfn=(602)
calls=16 0
0 31609
0 129
cfn=(610)
calls=1 0
0 45
0 103
cfn=(590)
calls=7 0
0 595
0 7
0 111
cfn=(590)
calls=15 0
0 2223
0 15
0 128
cfn=(590)
calls=16 0
0 112
0 16
0 197
cob=(5)
cfi=(5)
cfn=(570)
calls=33 0
0 594
0 146
cob=(5)
cfi=(5)
cfn=(606)
calls=16 0
0 272
0 16
fn=(630)
0 68
cfn=(236)
calls=4 0
0 56
0 1644
fn=(638)
0 9
fn=(748)
0 2660
fn=(768)
0 390
fn=(1288)
0 5690
cfn=(1290)
calls=569 0
0 14096
0 12528
fn=(1346)
0 2088
cfn=(596)
calls=522 0
0 5220
fn=(1438)
0 74623
cfn=(1440)
calls=15 0
0 252931
0 29405
fn=(1486)
0 61659
cfn=(1488)
calls=1581 0
0 278473
0 42663
fn=(1488)
0 3182
cfn=(1490)
calls=1591 0
0 278054
fn=(236)
0 134732
fn=(272)
0 12
cfn=(274)
calls=1 0
0 51
0 12
fn=(1646)
0 418
cfn=(544)
calls=14 0
0 440
0 998
fn=(1680)
0 460
fn=(1684)
0 9
cob=(5)
cfi=(5)
cfn=(1686)
calls=1 0
0 4855
fn=(1692)
0 15
cfn=(1694)
calls=1 0
0 2902
0 3
fn=(1712) do_dlopen
0 14
cob=(1)
cfi=(1)
cfn=(1714) _dl_open
calls=1 0
0 28164
0 4
fn=(1814)
0 4
cfn=(1816)
calls=2 0
0 12
fn=(2412)
0 5000
fn=(2444)
0 85882
cfn=(1676)
calls=2767 0
0 115372
0 50053
cfn=(2446)
calls=43 0
0 5176
0 817
cfn=(1850)
calls=43 0
0 4755
0 86
fn=(2460)
0 215
fn=(2664)
0 50
fn=(2756)
0 36
fn=(5960)
0 88
ob=(10)
fl=(22)
fn=(662)
0 60
fn=(1810)
0 33
ob=(1)
fl=(1)
fn=(124) _dl_cache_libcmp
0 5440
fn=(50) uname
0 5
fn=(104) mprotect
0 90
fn=(110) access
0 9
fn=(5792) _dl_sort_fini
0 27
cfn=(106) memset
calls=1 0
0 26
0 86
cfn=(106)
calls=8 0
0 120
0 1524
cfn=(130) memmove
calls=3 0
0 195
0 72
cfn=(130)
calls=3 0
0 139
0 15
fn=(16) dl_main
0 33
cfn=(18) _dl_process_tunable_env_entries
calls=1 0
0 369
0 7
cfn=(20) _dl_next_ld_env_entry
calls=1 0
0 138
0 4
cfn=(20)
calls=2 0
0 256
0 170
cfn=(24) _dl_new_object
calls=1 0
0 244
0 10
cfn=(40) _dl_add_to_namespace_list
calls=1 0
0 34
0 138
cfn=(46) strcmp
calls=1 0
0 7
0 263
cfn=(4) _dl_setup_hash
calls=1 0
0 23
0 5
cfn=(48) _dl_discover_osversion
calls=1 0
0 93
0 78
cfn=(22) bcmp
calls=1 0
0 120
0 9
cfn=(22)
calls=1 0
0 26
0 14
cfn=(22)
calls=1 0
0 80
0 7
cfn=(52) _dl_init_paths
calls=1 0
0 4941
0 3
cfn=(72) _dl_debug_initialize
calls=1 0
0 17
0 57
cfn=(74) _dl_count_modids
calls=1 0
0 4
0 19
cfn=(110)
calls=1 0
0 9
0 19
cfn=(112) _dl_map_object_deps
calls=1 0
0 48003
0 121
cfn=(78) handle_ld_preload
calls=1 0
0 3438
0 34
cfn=(132) _dl_receive_error
calls=1 0
0 16404
0 5
cfn=(142) init_tls
calls=1 0
0 644
0 35
cfn=(198) _dl_allocate_tls_init
calls=1 0
0 238
0 5
cfn=(200) _dl_sysdep_start_cleanup
calls=1 0
0 1
0 6
cfn=(72)
calls=1 0
0 8
0 3
cfn=(76) _dl_debug_state
calls=1 0
0 1
0 2
cfn=(202) _dl_unload_cache
calls=1 0
0 15
0 21
cfn=(148) _dl_relocate_object
calls=1 0
0 8118
0 167
cfn=(148)
calls=7 0
0 150291
0 60
cfn=(172) _dl_add_to_slotinfo
calls=1 0
0 24
0 13
cfn=(76)
calls=1 0
0 1
0 15
fn=(66) strsep
0 1562
fn=(132)
0 11
cfn=(82)
calls=1 0
0 2
0 7
cfn=(134) version_check_doit
calls=1 0
0 16374
0 10
fn=(42) rtld_lock_default_lock_recursive
0 14
fn=(86) map_doit
0 9
cfn=(88) _dl_map_object
calls=1 0
0 2613
0 3
fn=(120) _dl_load_cache_lookup
0 1123
cfn=(124)
calls=59 0
0 4966
0 272
cfn=(122) _dl_sysdep_read_whole_file
calls=2 0
0 188
0 20
cfn=(22)
calls=2 0
0 224
0 30
cfn=(22)
calls=2 0
0 222
0 86
cfn=(124)
calls=6 0
0 474
0 252
cfn=(12) strlen
calls=6 0
0 361
0 60
cfn=(38) memcpy
calls=6 0
0 177
0 12
cfn=(126) strdup
calls=6 0
0 868
0 48
fn=(172)
0 24
fn=(200)
0 1
fn=(226) _dl_get_tls_static_info
0 5
fn=(1714)
0 36
cob=(5)
cfi=(5)
cfn=(396)
calls=2 0
0 62
0 44
cfn=(81) _dl_catch_error'2
calls=2 0
0 276618
0 4
cfn=(202)
calls=2 0
0 20
0 8
cob=(5)
cfi=(5)
cfn=(398)
calls=2 0
0 58
0 18
fn=(92) open_verify
0 1102
cfn=(94) open
calls=58 0
0 490
0 246
cfn=(96) read
calls=8 0
0 40
0 112
cfn=(22)
calls=8 0
0 695
0 72
cfn=(22)
calls=8 0
0 640
0 792
cfn=(22)
calls=6 0
0 438
0 32
cfn=(22)
calls=8 0
0 640
0 686
cfn=(22)
calls=3 0
0 264
0 6
fn=(128) _dl_next_tls_modid
0 6
fn=(144) _dl_determine_tlsoffset
0 56
fn=(46)
0 17638
cfn=(47) strcmp'2
calls=1735 0
0 91211
0 7324
fn=(47)
0 85917
cfn=(47)
calls=11060 0
0 544440
0 5294
fn=(80)
0 198
cob=(3)
cfi=(3)
cfn=(248)
calls=7 0
0 21
cfn=(82)
calls=15 0
0 30
0 132
cfn=(84) __sigsetjmp
calls=22 0
0 440
0 176
cob=(6)
cfi=(6)
cfn=(4056) dlsym_doit
calls=4 0
0 4148
cob=(6)
cfi=(6)
cfn=(4034) dlopen_doit
calls=1 0
0 248732
cob=(3)
cfi=(3)
cfn=(1738)
calls=1 0
0 725
cob=(3)
cfi=(3)
cfn=(1712)
calls=1 0
0 28182
cfn=(114) openaux
calls=14 0
0 41934
cfn=(86)
calls=1 0
0 2625
0 286
fn=(81)
0 54
cob=(3)
cfi=(3)
cfn=(248)
calls=6 0
0 18
0 36
cfn=(84)
calls=6 0
0 120
0 48
cfn=(114)
calls=4 0
0 3078
cfn=(1716) dl_open_worker
calls=2 0
0 276500
0 78
fn=(150)
0 108572
cfn=(152) do_lookup_x
calls=639 0
0 370047
0 1066
cfn=(152)
calls=82 0
0 14415
0 23798
fn=(4048) add_to_global
0 101
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
0 383
0 1
0 7
cfn=(38)
calls=1 0
0 42
0 5
fn=(84)
0 560
fn=(114)
0 252
cfn=(88)
calls=18 0
0 44706
0 54
fn=(136) _dl_check_all_versions
0 68
cfn=(138) _dl_check_map_versions
calls=8 0
0 16233
0 63
fn=(154) check_match.9515
0 14745
cfn=(46)
calls=469 0
0 48503
0 16173
cfn=(46)
calls=287 0
0 25046
0 1148
fn=(20)
0 394
fn=(64) fillin_rpath
0 40
cfn=(66)
calls=2 0
0 404
0 12
cfn=(66)
calls=4 0
0 1158
0 26
cfn=(12)
calls=4 0
0 248
0 134
cfn=(12)
calls=1 0
0 10
0 11
cfn=(32) malloc
calls=1 0
0 34
0 1
0 27
cfn=(32)
calls=3 0
0 102
0 3
0 44
cfn=(56) mempcpy
calls=4 0
0 226
0 156
cfn=(38)
calls=1 0
0 18
0 74
fn=(74)
0 4
fn=(134)
0 6
cfn=(136)
calls=1 0
0 16364
0 4
fn=(204) munmap
0 10
fn=(224) _dl_fixup
0 7181
cfn=(150)
calls=153 0
0 168303
0 3390
cob=(3)
cfi=(3)
cfn=(4284)
calls=1 0
0 17
cob=(3)
cfi=(3)
cfn=(3060)
calls=1 0
0 7
cob=(3)
cfi=(3)
cfn=(2378)
calls=1 0
0 10
cob=(3)
cfi=(3)
cfn=(2308)
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(158)
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(1878)
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(156)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(1768)
calls=1 0
0 7
cob=(3)
cfi=(3)
cfn=(1118)
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(1042)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(178)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(948)
calls=1 0
0 9
cob=(3)
cfi=(3)
cfn=(854)
calls=3 0
0 30
cob=(3)
cfi=(3)
cfn=(166)
calls=1 0
0 8
cob=(3)
cfi=(3)
cfn=(808)
calls=1 0
0 9
cob=(3)
cfi=(3)
cfn=(168)
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(170)
calls=1 0
0 15
cob=(3)
cfi=(3)
cfn=(444)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(422)
calls=2 0
0 18
0 22
fn=(0) 0x0000000000001170
0 2
cfn=(2) _dl_start
calls=1 0
0 236230
0 14
cfn=(208) _dl_init
calls=1 0
0 11218
0 3
cob=(9)
cfi=(9)
cfn=(340)
calls=1 0
0 397298157
fn=(4)
0 230
fn=(44) rtld_lock_default_unlock_recursive
0 14
fn=(54) _dl_important_hwcaps
0 83
cfn=(32)
calls=1 0
0 34
0 1
0 162
cfn=(56)
calls=1 0
0 22
0 5
cfn=(56)
calls=1 0
0 22
0 4
fn=(94)
0 500
fn=(112)
0 2224
cfn=(62) index
calls=18 0
0 1260
0 162
cfn=(81)
calls=4 0
0 3314
cfn=(80)
calls=14 0
0 42746
0 362
cfn=(32)
calls=6 0
0 204
0 6
0 60
cfn=(38)
calls=6 0
0 149
0 30
cfn=(38)
calls=6 0
0 149
0 196
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
0 278
cfn=(32)
calls=1 0
0 34
0 3
0 239
cfn=(106)
calls=3 0
0 46
0 866
cfn=(106)
calls=8 0
0 94
0 196
cfn=(130)
calls=1 0
0 63
0 79
cfn=(130)
calls=1 0
0 33
0 806
cfn=(38)
calls=3 0
0 96
0 9
fn=(138)
0 1024
cfn=(90) _dl_name_match_p
calls=102 0
0 6494
0 886
cfn=(140) match_symbol
calls=10 0
0 1621
0 84
cfn=(140)
calls=28 0
0 5418
0 970
cob=(3)
cfi=(3)
cfn=(1722)
calls=2 0
0 470
cfn=(28) calloc
calls=7 0
0 349
0 9
0 2107
fn=(12)
0 2404
fn=(62)
0 2564
fn=(78)
0 634
cfn=(80)
calls=1 0
0 2683
0 22
cfn=(38)
calls=1 0
0 95
0 4
fn=(102) mmap
0 819
fn=(142)
0 11
cfn=(28)
calls=1 0
0 43
0 1
0 61
cfn=(144)
calls=1 0
0 56
0 1
cfn=(146) _dl_allocate_tls_storage
calls=1 0
0 455
0 16
fn=(208)
0 321
cob=(2)
cfi=(2)
cfn=(4036) 0x0000000014dfccf0
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(1724) 0x000000000be3df18
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(326) 0x0000000004a245c0
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(314) 0x0000000004e43e98
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(300) 0x000000000504ad30
calls=1 0
0 6
cob=(2)
cfi=(2)
cfn=(288) 0x00000000052531c0
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(270)
calls=1 0
0 165
0 126
cob=(12)
cfi=(229) ???
cfn=(4040) 0x0000000000008f20
calls=1 0
0 16
cob=(11)
cfi=(78)
cfn=(1728)
calls=1 0
0 16
cob=(8)
cfi=(8)
cfn=(330)
calls=1 0
0 16
cob=(7)
cfi=(7)
cfn=(318)
calls=1 0
0 16
cob=(6)
cfi=(6)
cfn=(304) 0x0000000000000f20
calls=1 0
0 16
cob=(4)
cfi=(4)
cfn=(292)
calls=1 0
0 16
cob=(3)
cfi=(3)
cfn=(278)
calls=1 0
0 1879
0 4
cob=(6)
cfi=(6)
cfn=(312)
calls=1 0
0 3
0 119
cob=(2)
cfi=(2)
cfn=(210) 0x0000000004c2b458
calls=1 0
0 8655
0 19
cob=(5)
cfi=(5)
cfn=(260)
calls=1 0
0 16
0 5
cob=(5)
cfi=(5)
cfn=(268)
calls=1 0
0 12
0 14
fn=(1716)
0 32
cfn=(1718) _dl_check_caller
calls=2 0
0 347
0 10
cfn=(62)
calls=2 0
0 214
0 136
cfn=(72)
calls=2 0
0 16
0 20
cfn=(88)
calls=2 0
0 16037
0 38
cfn=(112)
calls=2 0
0 5701
0 74
cfn=(72)
calls=2 0
0 16
0 6
cfn=(76)
calls=2 0
0 2
0 126
cfn=(208)
calls=2 0
0 252
0 66
cfn=(148)
calls=2 0
0 249485
0 162
cfn=(138)
calls=2 0
0 3199
0 12
cfn=(4048)
calls=1 0
0 539
0 10
fn=(5790)
0 23
cob=(5)
cfi=(5)
cfn=(396)
calls=1 0
0 31
0 143
cfn=(5792)
calls=1 0
0 2204
0 2
cob=(5)
cfi=(5)
cfn=(398)
calls=1 0
0 29
0 193
cob=(6)
cfi=(6)
cfn=(5878) 0x0000000000000ee0
calls=1 0
0 1474
0 16
cob=(12)
cfi=(229)
cfn=(5940) 0x0000000000008ee0
calls=1 0
0 81
cob=(11)
cfi=(78)
cfn=(5920)
calls=1 0
0 1474
cob=(4)
cfi=(4)
cfn=(5898)
calls=1 0
0 1474
cob=(6)
cfi=(6)
cfn=(5874) fini
calls=1 0
0 11
cob=(5)
cfi=(5)
cfn=(5854)
calls=1 0
0 1474
cob=(7)
cfi=(7)
cfn=(5834)
calls=1 0
0 1474
cob=(8)
cfi=(8)
cfn=(5808)
calls=1 0
0 960
cob=(9)
cfi=(9)
cfn=(5796)
calls=1 0
0 16
0 75
cob=(2)
cfi=(2)
cfn=(5956) 0x0000000014e1c83c
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5938) 0x000000000be453e4
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5918) 0x00000000052be278
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5896) 0x000000000504b960
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5872) 0x0000000004c36d34
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5852) 0x0000000004e470b4
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5832) 0x0000000004a2487c
calls=1 0
0 3
cob=(2)
cfi=(2)
cfn=(5806) 0x0000000000a17680
calls=1 0
0 3
0 123
fn=(148)
0 7564
cob=(4)
cfi=(4)
cfn=(196)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(194)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(192)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(190)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(188)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(186)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(184)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(182)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(180)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(178)
calls=1 0
0 5
cob=(4)
cfi=(4)
cfn=(176)
calls=1 0
0 8
cob=(4)
cfi=(4)
cfn=(174)
calls=1 0
0 8
0 38581
cfn=(150)
calls=475 0
0 342556
0 12852
cob=(3)
cfi=(3)
cfn=(170)
calls=1 0
0 15
cob=(3)
cfi=(3)
cfn=(168)
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(166)
calls=1 0
0 8
cob=(3)
cfi=(3)
cfn=(164)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(162)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(158)
calls=1 0
0 22
cob=(3)
cfi=(3)
cfn=(156)
calls=1 0
0 5
0 978
cfn=(38)
calls=8 0
0 149
0 165
cfn=(104)
calls=10 0
0 50
0 351
cfn=(150)
calls=6 0
0 4134
0 204
cob=(3)
cfi=(3)
cfn=(854)
calls=1 0
0 10
cob=(3)
cfi=(3)
cfn=(444)
calls=1 0
0 5
cob=(3)
cfi=(3)
cfn=(2308)
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(166)
calls=1 0
0 8
cob=(3)
cfi=(3)
cfn=(1118)
calls=1 0
0 6
cob=(3)
cfi=(3)
cfn=(422)
calls=1 0
0 9
cob=(3)
cfi=(3)
cfn=(808)
calls=1 0
0 9
0 100
fn=(8) brk
0 12
fn=(14) sbrk
0 17
fn=(36) __libc_memalign
0 958
cfn=(102)
calls=4 0
0 132
0 487
fn=(222)
0 150
cfn=(224)
calls=6 0
0 8629
0 90
fn=(223)
0 3675
cfn=(224)
calls=147 0
0 170479
0 2205
fn=(1720) cache_rpath.part.5
0 34
fn=(5794) _wordcopy_fwd_aligned
0 40
fn=(2)
0 605
cfn=(4)
calls=1 0
0 23
0 17
cfn=(6) _dl_sysdep_start
calls=1 0
0 235521
0 64
fn=(28)
0 128
cfn=(32)
calls=16 0
0 693
0 16
fn=(40)
0 63
cob=(5)
cfi=(5)
cfn=(396)
calls=2 0
0 62
cfn=(42)
calls=7 0
0 14
0 352
cob=(5)
cfi=(5)
cfn=(398)
calls=2 0
0 58
cfn=(44)
calls=6 0
0 12
0 13
cfn=(44)
calls=1 0
0 2
0 2
fn=(56)
0 3570
fn=(90)
0 9380
cfn=(46)
calls=1340 0
0 9443
0 16131
cfn=(46)
calls=1363 0
0 28443
0 10766
fn=(98) _dl_map_object_from_fd
0 144
cfn=(72)
calls=8 0
0 64
0 40
cfn=(100) _fxstat
calls=8 0
0 80
0 548
cfn=(24)
calls=8 0
0 5035
0 2133
cfn=(128)
calls=1 0
0 6
0 251
cfn=(102)
calls=8 0
0 280
0 400
cfn=(106)
calls=8 0
0 12463
0 248
cfn=(102)
calls=8 0
0 248
0 198
cfn=(76)
calls=2 0
0 2
0 2575
cfn=(108) close
calls=1 0
0 5
0 14
cfn=(108)
calls=7 0
0 35
0 120
cfn=(4)
calls=8 0
0 184
0 138
cfn=(40)
calls=8 0
0 544
0 144
cfn=(104)
calls=8 0
0 40
0 32
cfn=(102)
calls=3 0
0 93
0 130
fn=(122)
0 22
cfn=(94)
calls=2 0
0 10
0 14
cfn=(100)
calls=2 0
0 20
0 16
cfn=(108)
calls=2 0
0 10
0 26
cfn=(102)
calls=2 0
0 66
0 4
fn=(126)
0 30
cfn=(12)
calls=6 0
0 238
0 18
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
0 175
cfn=(32)
calls=5 0
0 170
0 6
0 54
cfn=(38)
calls=6 0
0 177
fn=(6)
0 417
cfn=(8)
calls=1 0
0 12
0 6
cfn=(10) init_cpu_features.constprop.0
calls=1 0
0 112
0 4
cfn=(12)
calls=1 0
0 41
0 3
cfn=(14)
calls=1 0
0 17
0 12
cfn=(16)
calls=1 0
0 234870
0 27
fn=(10)
0 112
fn=(24)
0 135
cfn=(12)
calls=9 0
0 468
0 171
cob=(3)
cfi=(3)
cfn=(1722)
calls=2 0
0 1009
cfn=(28)
calls=7 0
0 402
0 9
0 108
cfn=(38)
calls=9 0
0 276
0 475
cfn=(12)
calls=8 0
0 390
0 228
cfn=(56)
calls=8 0
0 278
0 548
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
0 526
cfn=(32)
calls=6 0
0 204
0 8
0 44
fn=(38)
0 1577
fn=(48)
0 21
cfn=(50)
calls=1 0
0 5
0 67
fn=(1718)
0 347
fn=(60) expand_dynamic_string_token
0 39
cfn=(62)
calls=3 0
0 403
0 12
cfn=(12)
calls=3 0
0 241
0 9
cob=(3)
cfi=(3)
cfn=(388)
calls=1 0
0 357
cfn=(32)
calls=2 0
0 68
0 3
0 39
cfn=(38)
calls=3 0
0 189
fn=(76)
0 6
fn=(82)
0 34
fn=(108)
0 50
fn=(118) _xstat
0 147
fn=(130)
0 386
cfn=(5794)
calls=2 0
0 40
0 4
fn=(18)
0 369
fn=(52)
0 14
cfn=(54)
calls=1 0
0 333
0 3
cfn=(32)
calls=1 0
0 34
0 1
0 15
cfn=(32)
calls=1 0
0 34
0 1
0 81
cfn=(58) decompose_rpath
calls=1 0
0 1384
0 8
cfn=(62)
calls=1 0
0 191
0 4
cfn=(12)
calls=1 0
0 101
0 8
cfn=(38)
calls=1 0
0 60
0 584
cfn=(32)
calls=1 0
0 34
0 1
0 10
cfn=(64)
calls=1 0
0 2026
0 14
fn=(100)
0 100
fn=(116) open_path
0 546
cfn=(56)
calls=23 0
0 808
0 1116
cfn=(56)
calls=50 0
0 961
0 200
cfn=(56)
calls=50 0
0 1230
0 550
cfn=(92)
calls=50 0
0 2000
0 682
cfn=(118)
calls=12 0
0 147
0 515
fn=(146)
0 7
cfn=(36)
calls=1 0
0 78
0 1
0 315
cfn=(28)
calls=1 0
0 43
0 1
0 10
fn=(152)
0 162233
cfn=(90)
calls=1120 0
0 60186
0 53340
cfn=(154)
calls=614 0
0 105615
0 3088
fn=(32)
0 135
cfn=(36)
calls=45 0
0 1499
0 45
fn=(58)
0 14
cfn=(60)
calls=1 0
0 356
0 249
cfn=(32)
calls=1 0
0 34
0 1
0 10
cfn=(64)
calls=1 0
0 702
0 2
cfn=(70) free
calls=1 0
0 6
0 1
0 9
fn=(70)
0 6
fn=(88)
0 1868
cfn=(90)
calls=118 0
0 7483
0 513
cfn=(62)
calls=8 0
0 496
0 28
cfn=(60)
calls=2 0
0 1004
0 22
cfn=(92)
calls=2 0
0 894
0 158
cfn=(98)
calls=8 0
0 26194
0 20
cfn=(12)
calls=6 0
0 306
0 150
cfn=(116)
calls=6 0
0 6996
0 150
cfn=(116)
calls=5 0
0 1759
0 48
cfn=(1720)
calls=1 0
0 17
0 59
cfn=(120)
calls=6 0
0 9383
0 108
cfn=(92)
calls=6 0
0 3361
0 86
cfn=(1720)
calls=1 0
0 17
0 658
cfn=(46)
calls=68 0
0 1442
0 136
fn=(140)
0 3370
cfn=(46)
calls=38 0
0 3289
0 380
fn=(22)
0 3349
fn=(72)
0 121
fn=(96)
0 40
fn=(106)
0 12883
fn=(198)
0 61
cfn=(56)
calls=1 0
0 23
0 4
cfn=(106)
calls=1 0
0 134
0 16
fn=(202)
0 19
cfn=(204)
calls=2 0
0 10
ob=(2)
fl=(2)
fn=(314)
0 6
fn=(5918)
0 3
fn=(5852)
0 3
fn=(210)
0 2
cob=(5)
cfi=(5)
cfn=(212)
calls=1 0
0 8651
0 2
fn=(288)
0 6
fn=(300)
0 6
fn=(5896)
0 3
fn=(356)
0 6
fn=(1724)
0 6
fn=(4036)
0 6
fn=(5832)
0 3
fn=(5938)
0 3
fn=(5956)
0 3
fn=(326)
0 6
fn=(5872)
0 3
fn=(5806)
0 3
ob=(6)
fl=(6)
fn=(5878)
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1448
0 5
0 1
cfn=(5890) 0x0000000000000e70
calls=1 0
0 9
0 3
fn=(4004) _dlerror_run
0 50
cob=(5)
cfi=(5)
cfn=(1686)
calls=4 0
0 16
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1553
0 9
0 65
cob=(1)
cfi=(1)
cfn=(80)
calls=5 0
0 253175
0 80
cob=(5)
cfi=(5)
cfn=(4022)
calls=4 0
0 68
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 804
0 9
0 18
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1488
0 5
0 8
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 826
0 5
0 1
fn=(312)
0 6
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 796
0 5
0 7
fn=(304)
0 16
fn=(4002) dlopen@@GLIBC_2.2.5
0 11
cfn=(4004)
calls=1 0
0 253536
0 6
fn=(5876) check_free
0 9
fn=(4034)
0 22
cob=(1)
cfi=(1)
cfn=(1714)
calls=1 0
0 248704
0 6
fn=(4054)
0 52
cob=(5)
cfi=(5)
cfn=(396)
calls=4 0
0 124
0 12
cfn=(4004)
calls=4 0
0 4644
0 16
cob=(5)
cfi=(5)
cfn=(398)
calls=4 0
0 116
0 20
fn=(4056)
0 24
cob=(3)
cfi=(3)
cfn=(4062)
calls=3 0
0 2193
cob=(1)
cfi=(1)
cfn=(223)
calls=1 0
0 1911
0 8
0 12
fn=(5874)
0 2
cfn=(5876)
calls=1 0
0 9
fn=(5890)
0 9
ob=(1)
fl=(1)
fn=(202)
0 6
ob=(12)
fl=(236) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/pl_funcs.c
fn=(4234) plpgsql_ns_lookup
135 20
+2 2
+5 12
+4 12
cob=(3)
cfi=(3)
cfn=(446)
calls=2 0
* 55
* 2
* 4
+2 2
+3 2
+1 2
+1 2
-9 3
-1 2
-1 2
+1 8
-1 8
+17 6
+20 6
+3 9
-45 10
+49 2
+2 1
+1 4
fn=(4178) plpgsql_ns_additem
95 30
+7 15
cob=(3)
cfi=(3)
cfn=(424)
calls=5 0
* 83
* 5
* 15
cob=(9)
cfi=(13)
cfn=(940)
calls=5 925
* 615
* 5
* 5
+1 15
+1 15
+1 15
+1 30
cob=(3)
cfi=(3)
cfn=(810)
calls=5 0
* 114
* 5
+1 10
+1 10
fn=(4230) plpgsql_ns_top
84 8
+1 4
+1 8
fn=(5562) free_block
487 4
+1 4
cfn=(5564) free_stmts
calls=1 -12
* 5439
+1 4
+11 2
fn=(5564)
476 4
+3 3
cfi=(239) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/../../../../src/include/nodes/pg_list.h
cfn=(4354) list_head
calls=1 78
* 10
* 2
+2 8
cfn=(5566) free_stmt
calls=2 381
* 5398
-2 12
+4 2
fn=(5565) free_stmts'2
476 4
+3 3
cfi=(239)
cfn=(4354)
calls=1 78
* 10
* 2
+2 4
cfn=(5567) free_stmt'2
calls=1 381
* 1970
-2 7
+4 2
fn=(4174) plpgsql_ns_push
57 15
+1 6
+1 4
+1 10
cfn=(4178)
calls=2 +35
* 362
* 2
* 5
cfn=(4178)
calls=1 +35
* 245
* 1
+1 6
fn=(5566)
381 8
+1 24
+21 3
cfn=(5568) free_fori
calls=1 556
* 5336
+1 1
+14 3
cfn=(5578) free_return
calls=1 645
* 18
+1 1
+53 4
fn=(5567)
381 4
+1 12
+54 3
cfn=(5576) free_dynexecute
calls=1 700
* 1948
+1 1
+35 2
fn=(5576)
700 4
+3 4
cfn=(5560) free_expr
calls=1 +27
* 1922
+1 4
cfi=(239)
cfn=(4354)
calls=1 78
* 8
* 4
+4 2
fn=(4170) plpgsql_ns_init
46 2
+1 1
+1 2
fn=(5568)
556 4
+1 4
cfn=(5560)
calls=1 730
* 1652
+1 4
cfn=(5560)
calls=1 730
* 1652
+1 4
cfn=(5560)
calls=1 730
* 8
+1 4
cfn=(5565)
calls=1 -84
* 2002
+1 2
fn=(5558) plpgsql_free_function_memory
740 4
+7 2
+2 16
+2 24
+5 4
+2 8
cfn=(5560)
calls=2 -28
* 16
+1 8
cfn=(5560)
calls=2 -29
* 16
+2 2
-14 14
+33 2
+3 4
+1 4
cfn=(5562)
calls=1 487
* 5453
+1 2
+7 4
+1 4
cob=(9)
cfi=(13)
cfn=(1396)
calls=1 212
* 304
* 1
+1 2
+1 2
fn=(5560)
730 36
+1 30
+2 12
cob=(9)
cfi=(163)
cfn=(5572)
calls=3 +8
* 5169
* 3
+1 6
+2 18
fn=(4304) plpgsql_ns_pop
70 4
+2 2
+1 3
-1 12
+2 6
+1 4
fn=(5578)
645 4
+1 4
cfn=(5560)
calls=1 +84
* 8
+1 2
fl=(235) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/../../../../src/include/utils/palloc.h
fn=(4164) MemoryContextSwitchTo
110 18
+1 18
+2 18
+1 6
+1 12
-5 12
+1 12
+2 12
+1 4
+1 8
-5 9060
+1 9060
+2 9060
+1 3020
+1 6040
fl=(238) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/pl_gram.y
fn=(4252) tok_is_keyword
2549 7
+1 3
+5 2
+11 1
+1 2
fn=(4254) read_sql_construct
2661 48
+4 3
+1 3
+3 9
cob=(9)
cfi=(80)
cfn=(1888)
calls=3 47
* 400
* 3
+1 15
cob=(9)
cfi=(80)
cfn=(1918)
calls=3 164
* 360
* 3
+3 9
+1 6
+4 3
cfi=(234) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/pl_scanner.c
cfn=(4214) plpgsql_yylex
calls=3 256
* 2332
* 3
* 10
cfi=(234)
cfn=(4214)
calls=10 256
* 7874
* 10
* 13
+1 26
+1 9
+1 43
+1 2
+1 33
+2 35
+1 1
+1 38
+1 2
+1 34
+2 1
+1 2
+8 40
+17 10
+2 9
+2 6
+1 3
+1 6
+1 9
+3 12
+8 21
cfi=(234)
cfn=(4262) plpgsql_append_source_text
calls=3 527
* 374
* 3
+3 6
+2 3
+1 8
-1 48
cob=(9)
cfi=(42)
cfn=(934)
calls=4 222
* 61
* 4
* 8
+4 6
cob=(9)
cfi=(13)
cfn=(2546)
calls=3 956
* 635
* 3
* 3
+1 9
cob=(9)
cfi=(13)
cfn=(928)
calls=3 1162
* 651
* 3
* 6
+1 6
+1 6
+1 6
+1 3
cfi=(236)
cfn=(4230)
calls=3 84
* 15
* 3
* 6
+1 9
cob=(9)
cfi=(13)
cfn=(952)
calls=3 1032
* 255
* 3
+2 6
+1 6
cob=(3)
cfi=(3)
cfn=(424)
calls=2 0
* 30
* 2
* 14
cfn=(4270) check_sql_expr
calls=2 3598
* 27465
+2 3
+1 15
fn=(4300) check_labels
3693 16
+1 4
+16 10
fn=(4270)
3598 18
+5 15
+3 6
+1 6
+2 6
+1 6
+1 9
+1 9
+2 12
cfi=(235)
cfn=(4164)
calls=3 110
* 36
* 3
+1 9
cob=(9)
cfi=(211)
cfn=(3834)
calls=3 37
* 34624
* 3
+1 9
cfi=(235)
cfn=(4164)
calls=3 110
* 36
+3 9
+1 6
fn=(4276) read_sql_expression2
2622 7
+1 14
cfn=(4254)
calls=1 +38
* 10051
+2 2
fl=(231)
fn=(4196) build_datatype
2021 14
+1 16
+3 10
+6 4
cob=(9)
cfi=(13)
cfn=(940)
calls=2 925
* 184
* 2
* 2
+2 8
cob=(9)
cfi=(13)
cfn=(928)
calls=2 1162
* 352
* 2
* 4
+1 8
+1 28
+5 4
+1 2
+21 8
+1 8
+1 8
+1 8
+1 4
+4 8
+6 4
+1 8
-1 6
+13 6
+2 2
+1 8
fn=(4206) plpgsql_adddatum
2207 8
+1 10
+6 8
+1 24
+1 4
fn=(4836)
1079 9
+1 3
+3 5
+3 5
+13 8
cfn=(4838) resolve_column_ref
calls=1 +52
* 673
* 1
+2 4
+14 1
+1 6
fn=(4840) make_datum_param
1314 6
+7 4
+2 8
+5 5
cfi=(235)
cfn=(4164)
calls=1 110
* 12
* 1
+1 6
cob=(9)
cfi=(276)
cfn=(4844)
calls=1 765
* 217
* 1
* 2
+1 3
cfi=(235)
cfn=(4164)
calls=1 110
* 12
+2 5
cob=(9)
cfi=(13)
cfn=(2156)
calls=1 815
* 152
* 1
* 5
+1 2
+1 4
+1 11
cfi=(241)
cfn=(4852) plpgsql_exec_get_datum_type_info
calls=1 5562
* 39
* 1
+5 3
+2 1
+1 2
fn=(4202) plpgsql_build_variable
1804 18
+3 12
+7 4
cob=(9)
cfi=(13)
cfn=(2546)
calls=2 956
* 354
* 2
* 2
+1 4
+1 6
cob=(9)
cfi=(13)
cfn=(928)
calls=2 1162
* 354
* 2
* 4
+1 6
+1 6
+4 4
+1 4
+1 4
+2 6
cfn=(4206)
calls=2 2207
* 54
* 2
+1 4
+1 12
cfi=(236)
cfn=(4178)
calls=2 95
* 380
* 2
+3 4
+1 2
+26 2
+1 8
fn=(4826)
1065 5
+1 3
+2 5
+3 1
+1 2
fn=(4148) plpgsql_compile_inline
826 4
+1 2
+12 3
cfi=(234)
cfn=(4152) plpgsql_scanner_init
calls=1 708
* 1193
* 1
+2 3
+5 2
+1 2
+1 3
+1 3
+3 4
+3 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 956
* 621
* 1
* 1
+2 3
+6 8
cob=(9)
cfi=(14)
cfn=(432)
calls=1 395
* 428
* 1
* 1
+3 3
cfi=(235)
cfn=(4164)
calls=1 110
* 12
* 2
+2 3
cob=(9)
cfi=(13)
cfn=(928)
calls=1 1162
* 195
* 1
* 2
+1 2
+1 2
+1 3
+1 2
+1 5
+1 4
+6 2
+1 2
+2 1
cfi=(236)
cfn=(4170)
calls=1 46
* 5
* 1
+1 4
cfi=(236)
cfn=(4174)
calls=1 57
* 260
* 1
+1 2
+1 1
cfn=(4186) plpgsql_start_datums
calls=1 2190
* 141
+3 2
+1 2
+1 2
+1 2
+1 2
+2 2
+1 2
+6 2
+5 4
cfn=(4192) plpgsql_build_datatype
calls=1 2001
* 27059
* 1
* 5
cfn=(4202)
calls=1 1804
* 641
* 1
* 1
+5 4
+5 1
cfi=(237) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/pl_gram.c
cfn=(4210) plpgsql_yyparse
calls=1 1872
* 86520
* 1
* 1
+1 2
+2 4
+2 1
cfi=(234)
cfn=(4310) plpgsql_scanner_finish
calls=1 735
* 26
* 1
+6 4
+1 3
cfn=(4314) add_dummy_return
calls=1 +82
* 390
+5 2
+2 3
cfn=(4318) plpgsql_finish_datums
calls=1 2224
* 222
+5 3
+1 2
+2 2
+2 4
cfi=(235)
cfn=(4164)
calls=1 110
* 12
+1 2
+1 1
+1 2
fn=(4226) plpgsql_parse_word
1365 21
+8 12
+5 1
cfi=(236)
cfn=(4230)
calls=1 84
* 5
* 1
* 7
cfi=(236)
cfn=(4234)
calls=1 135
* 104
* 1
* 1
+4 2
+24 9
+1 18
+1 3
+1 6
fn=(4318)
2224 4
+1 1
+3 4
+1 6
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
* 2
+1 2
+2 28
+3 28
+4 2
+1 2
-10 14
+18 3
+1 2
fn=(4390)
1052 12
+1 9
+1 9
+1 9
+2 9
+1 6
fn=(4838)
1151 10
+4 1
+1 1
+1 1
+2 1
+1 1
+1 1
+7 4
+12 4
cfi=(239)
cfn=(4558) list_length
calls=1 90
* 10
* 6
+4 4
cfi=(239)
cfn=(4354)
calls=1 78
* 10
* 2
+3 3
+1 1
+1 1
+1 1
+58 11
cfi=(236)
cfn=(4234)
calls=1 135
* 72
* 1
* 1
+4 2
+3 4
+3 3
+1 8
cfn=(4840)
calls=1 +55
* 503
* 1
+47 5
fn=(4186)
2190 2
+1 1
+1 2
+2 8
cob=(9)
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
* 2
+3 1
+1 2
fn=(4192)
2001 12
+4 8
cob=(9)
cfi=(151)
cfn=(3306)
calls=2 1114
* 48901
* 2
* 2
+1 4
+3 12
cfn=(4196)
calls=2 +12
* 718
* 2
+2 6
cob=(9)
cfi=(151)
cfn=(3280)
calls=2 1161
* 206
* 2
+2 2
+1 4
fn=(4314)
1011 5
+6 5
+10 5
+1 5
cfi=(239)
cfn=(4316) list_tail
calls=1 84
* 10
* 2
-1 2
+5 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 -76
* 166
* 1
* 1
+1 2
+1 2
+1 4
+2 9
cob=(9)
cfi=(45)
cfn=(960)
calls=1 129
* 163
* 1
* 1
+2 4
fn=(4110) plpgsql_HashTableInit
2449 3
+6 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 22
* 1
+1 1
+1 1
+1 6
cob=(9)
cfi=(31)
cfn=(794)
calls=1 317
* 2898
* 1
* 1
+4 2
fl=(234)
fn=(4216) internal_yylex
430 116
+4 87
+2 15
+1 30
+1 95
+4 168
cob=(9)
cfi=(213)
cfn=(3860)
calls=24 9032
* 13830
* 24
* 24
+5 144
+1 72
cob=(3)
cfi=(3)
cfn=(424)
calls=24 0
* 389
* 24
* 72
+3 48
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+2 5
cob=(3)
cfi=(3)
cfn=(446)
calls=1 0
* 22
* 1
* 2
+5 46
+6 29
+1 58
fn=(4156) location_lineno_init
684 6
+1 6
+1 3
+2 12
cob=(3)
cfi=(3)
cfn=(1120)
calls=3 0
* 42
* 3
* 3
+1 6
fn=(4242) plpgsql_location_to_lineno
660 16
+3 20
+2 20
+3 12
+1 2
cfn=(4156)
calls=2 +15
* 54
+2 4
+2 18
+1 18
+1 24
cob=(3)
cfi=(3)
cfn=(1120)
calls=6 0
* 156
* 6
* 6
-4 60
+7 4
+1 8
fn=(4246) plpgsql_push_back_token
492 8
+3 18
+1 6
+1 4
+1 10
cfn=(4222) push_back_token
calls=2 -22
* 74
+1 4
fn=(4222)
476 25
+1 15
+2 30
+1 90
+1 15
+1 10
fn=(4214)
256 78
+5 78
cfn=(4216)
calls=26 430
* 14360
* 26
+1 98
+5 9
cfn=(4216)
calls=3 430
* 1001
* 3
+1 6
+81 15
cfn=(4222)
calls=3 476
* 111
+11 45
+24 6
-1 21
cfi=(231)
cfn=(4226)
calls=3 1365
* 191
* 3
* 6
+5 12
+1 6
-1 9
cob=(9)
cfi=(216)
cfn=(3864)
calls=3 67
* 1415
* 3
* 9
+9 3
+18 27
+1 9
+1 6
+1 6
+1 3
+1 6
-5 207
+1 69
+1 46
+1 46
+1 23
+1 46
fn=(4152)
708 4
+2 7
cob=(9)
cfi=(212)
cfn=(3836)
calls=1 1148
* 1144
* 1
* 1
+9 2
+3 2
+1 1
+2 1
+2 1
cfn=(4156)
calls=1 -43
* 27
+1 2
fn=(4310)
735 2
+2 3
cob=(9)
cfi=(212)
cfn=(3888)
calls=1 1187
* 16
* 1
+2 1
+1 1
+1 2
fn=(4262)
527 18
+2 33
cob=(9)
cfi=(80)
cfn=(1920)
calls=3 215
* 314
* 3
+2 6
fl=(281) /home/mithuncy/fsm_p11patch/src/pl/plpgsql/src/../../../../src/include/executor/executor.h
fn=(4788) ExecEvalExpr
277 3012
+1 3514
cob=(9)
cfi=(280)
cfn=(4776)
calls=499 +21
* 2995988
cob=(9)
cfi=(280)
cfn=(4790)
calls=3 1745
* 7985
+1 1004
fl=(237)
fn=(4306) yydestruct
1836 12
+3 4
+7 4
fn=(4210)
1872 6
+36 1
+17 1
+2 4
+1 4
+1 4
+1 1
+4 1
+1 1
+1 2
+1 2
+1 4
+1 1
+8 32
+3 128
+2 224
-2 4
+2 7
+68 66
+1 1
4821 1
+1 1
2023 32
+11 224
+1 64
+1 15
+5 68
+3 11
cfi=(234)
cfn=(4214)
calls=11 256
* 7270
* 11
* 22
+3 68
+2 5
+5 192
+6 32
+1 32
-1 2
+1 172
+2 84
+1 24
+4 1
+1 1
+5 22
+7 22
+2 22
+2 121
+2 55
+1 11
+7 120
+1 40
+2 20
+8 120
+10 300
+3 40
-13 6
+10 15
+3 217
+2 210
fi=(238)
361 5
fe=(237)
2129 1
fi=(238)
413 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 956
* 187
* 1
* 1
+2 2
+1 5
cfi=(234)
cfn=(4242)
calls=1 660
* 97
* 1
* 2
+1 5
+1 5
+1 5
+1 5
+1 5
+2 10
cfn=(4300)
calls=1 3693
* 15
+1 1
cfi=(236)
cfn=(4304)
calls=1 70
* 12
* 1
+2 2
fe=(237)
2213 1
fi=(238)
434 2
+1 3
+1 1
+1 1
fe=(237)
2225 1
fi=(238)
838 2
fe=(237)
2712 2
fi=(238)
842 8
+3 16
cob=(9)
cfi=(45)
cfn=(960)
calls=2 129
* 580
* 2
* 2
fe=(237)
2724 2
fi=(238)
862 3
fe=(237)
2766 1
fi=(238)
876 3
fe=(237)
2808 1
fi=(238)
1287 6
+4 4
+1 5
cfi=(234)
cfn=(4242)
calls=1 660
* 142
* 1
* 2
+1 5
+1 4
+1 3
+17 10
cfn=(4300)
calls=1 3693
* 15
+2 1
cfi=(236)
cfn=(4304)
calls=1 70
* 19
* 1
fe=(237)
3376 1
fi=(238)
1320 1
cfi=(234)
cfn=(4214)
calls=1 256
* 464
* 1
* 1
+1 3
+2 3
+48 3
+45 1
+14 6
cfn=(4252)
calls=1 2549
* 15
* 2
+4 3
cfi=(234)
cfn=(4246)
calls=1 492
* 62
* 1
+9 13
cfn=(4254)
calls=1 2661
* 1283
* 1
+11 3
+9 7
cfn=(4270)
calls=1 3598
* 7357
+3 6
cfn=(4276)
calls=1 2622
* 10074
* 1
+5 3
+4 1
+3 5
+8 4
cfi=(231)
cfn=(4192)
calls=1 2001
* 22822
* 1
* 1
+1 2
-1 4
-1 3
cfi=(231)
cfn=(4202)
calls=1 1804
* 621
* 1
* 1
+8 2
cob=(9)
cfi=(13)
cfn=(2546)
calls=1 956
* 170
* 1
* 1
+1 2
+1 3
+1 3
+1 3
+1 3
+1 3
+2 3
fe=(237)
3617 1
fi=(238)
1605 3
+1 4
cfi=(234)
cfn=(4242)
calls=1 660
* 114
* 1
* 1
+1 1
+1 1
+2 1
cfi=(234)
cfn=(4214)
calls=1 256
* 68
* 1
* 1
+1 3
cfi=(234)
cfn=(4246)
calls=1 492
* 62
* 1
+1 2
fe=(237)
3665 1
fi=(238)
1926 4
+1 4
+1 3
fe=(237)
4008 1
fi=(238)
1978 12
cfn=(4254)
calls=1 2661
* 29796
* 1
+6 2
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
* 1
+1 2
+1 4
cfi=(234)
cfn=(4242)
calls=1 660
* 75
* 1
* 2
+1 3
+1 2
+1 2
+1 2
+1 2
+11 3
+8 3
+14 3
+1 1
+5 2
fe=(237)
4116 1
fi=(238)
2264 1
fe=(237)
4381 1
fi=(238)
2397 3
cfi=(236)
cfn=(4174)
calls=1 57
* 198
* 1
+1 1
fe=(237)
4550 1
fi=(238)
2409 3
cfi=(236)
cfn=(4174)
calls=1 57
* 198
* 1
+1 1
fe=(237)
4568 1
fi=(238)
2421 2
fe=(237)
4585 2
+51 2
+15 30
+1 2
+3 20
+1 8
+6 12
+2 24
+1 4
-14 285
+1 19
+3 190
+1 76
+6 114
+2 228
+1 137
+1 42
+4 6
-2 120
+2 15
4842 4
+10 15
+2 1
+3 12
-1 12
cfn=(4306)
calls=2 1836
* 20
+2 6
-4 9
+7 3
+7 1
+1 6
fl=(230)
fn=(4136)
301 4
+1 3
+11 7
cob=(9)
cfi=(163)
cfn=(4140)
calls=1 96
* 1087
* 1
* 3
+4 4
cfi=(231)
cfn=(4148)
calls=1 826
* 117883
* 1
* 1
+3 5
+7 846
+1 69
+1 2
+1 1
+1 3
+3 1
cob=(9)
cfi=(240)
cfn=(4322)
calls=1 86
* 987
* 1
* 1
+3 10
cob=(3)
cfi=(3)
cfn=(370)
calls=1 0
* 28
* 1
* 5
+2 8
cfi=(241)
cfn=(4328) plpgsql_exec_function
calls=1 452
* 363691112
* 1
* 1
+35 6
+3 3
cob=(9)
cfi=(240)
cfn=(5506)
calls=1 195
* 454
* 1
+3 5
+4 3
cfi=(236)
cfn=(5558)
calls=1 740
* 5896
* 1
+5 1
cob=(9)
cfi=(163)
cfn=(5584)
calls=1 177
* 1066
* 1
* 3
+3 1
+1 2
fn=(4100)
130 4
+1 4
+1 2
fn=(4070)
148 3
+4 3
+3 2
cob=(9)
cfi=(54)
cfn=(4074)
calls=1 1612
* 5
* 1
+2 13
cob=(9)
cfi=(29)
cfn=(4078)
calls=1 8381
* 698842
* 1
+9 12
cob=(9)
cfi=(29)
cfn=(4088)
calls=1 8269
* 699535
* 1
+8 12
cob=(9)
cfi=(29)
cfn=(4088)
calls=1 8269
* 695255
* 1
+8 14
cob=(9)
cfi=(29)
cfn=(4092)
calls=1 8355
* 697084
* 1
+10 14
cob=(9)
cfi=(29)
cfn=(4092)
calls=1 8355
* 706301
* 1
+10 2
cob=(9)
cfi=(29)
cfn=(4106)
calls=1 8399
* 5138
* 1
+2 1
cfi=(231)
cfn=(4110)
calls=1 2449
* 2941
* 1
+1 4
cob=(9)
cfi=(26)
cfn=(4118)
calls=1 3333
* 114
* 1
+1 4
cob=(9)
cfi=(26)
cfn=(4122)
calls=1 3388
* 145
* 1
+3 2
cob=(9)
cfi=(228)
cfn=(4126)
calls=1 681
* 4055
* 1
* 2
+2 1
+1 2
fn=(4132)
297 5
fn=(4094)
63 12
+4 2
+3 10
cob=(9)
cfi=(32)
cfn=(968)
calls=2 -33
* 84
* 2
* 4
+2 10
cob=(9)
cfi=(32)
cfn=(968)
calls=2 -35
* 178
* 2
* 4
+1 4
+46 4
cob=(3)
cfi=(3)
cfn=(388)
calls=2 0
* 354
* 2
* 2
+1 4
+2 6
+1 6
+2 2
+1 4
fn=(4102)
136 4
+1 4
+1 2
fn=(4068)
36 5
fl=(229)
fn=(4040)
0 16
fn=(5940)
0 8
cob=(3)
cfi=(3)
cfn=(5820)
calls=1 0
0 59
0 1
0 1
cfn=(5950) 0x0000000000008e70
calls=1 0
0 9
0 3
fn=(5950)
0 9
fl=(241)
fn=(4344) exec_set_found
8044 12
+3 18
+1 13
cfn=(4346) assign_simple_var
calls=1 8193
* 41
* 6
cfn=(4346)
calls=1 8193
* 41
+1 4
fn=(4852)
5562 9
+1 8
+5 2
+2 5
+1 5
+1 5
+1 1
+69 4
fn=(4748) exec_eval_simple_expr
6026 4518
+1 1506
+1 2008
+8 2008
+6 2008
+8 2510
cfi=(235)
cfn=(4164)
calls=502 110
* 6024
* 502
+1 2008
cob=(9)
cfi=(163)
cfn=(4562)
calls=502 1738
* 279614
* 502
* 502
+1 1506
cfi=(235)
cfn=(4164)
calls=502 110
* 6024
+10 3012
+11 2008
+1 2008
+6 2008
+2 2510
cfn=(4752) setup_param_list
calls=502 +84
* 11024
* 1004
+7 2008
+2 15
cfi=(235)
cfn=(4164)
calls=3 110
* 36
* 3
+2 21
cob=(9)
cfi=(278)
cfn=(4756)
calls=3 158
* 39791
* 3
-1 6
+3 6
+1 9
+1 9
cfi=(235)
cfn=(4164)
calls=3 110
* 36
+9 2510
cfi=(235)
cfn=(4164)
calls=502 110
* 6024
* 502
+1 2510
+2 502
cob=(9)
cfi=(26)
cfn=(4782)
calls=502 920
* 5522
* 502
+1 502
cob=(9)
cfi=(110)
cfn=(2986)
calls=502 305
* 325212
* 502
* 1004
cob=(9)
cfi=(110)
cfn=(3948)
calls=502 734
* 163683
* 502
+6 1004
+5 3514
cfi=(281)
cfn=(4788)
calls=502 277
* 3011503
* 1004
+5 1004
+2 1004
+2 2008
+2 2510
+1 502
cob=(9)
cfi=(110)
cfn=(4800)
calls=502 813
* 112448
* 502
+2 1506
cfi=(235)
cfn=(4164)
calls=502 110
* 6024
+5 2008
cob=(9)
cfi=(154)
cfn=(4744)
calls=502 1263
* 47188
* 502
+5 502
+1 1004
fn=(4810) get_stmt_mcontext
1449 2000
+1 2000
+3 8
cob=(9)
cfi=(14)
cfn=(432)
calls=1 395
* 464
* 1
-1 2
+5 2
+1 2
-1 998
+1 998
fn=(5104)
6355 8
+8 3
+1 3
+3 4
+4 8
+2 1
+1 2
+1 2
+9 4
+2 4
+1 3
-1 2
+4 3
+24 1
+1 3
+1 3
+1 5
cob=(9)
cfi=(278)
cfn=(4766)
calls=1 2133
* 185
* 1
+1 2
fn=(4352) exec_stmts
1860 5
+3 2
+11 3
cfi=(239)
cfn=(4354)
calls=1 78
* 10
* 2
+2 6
+1 10
cfn=(4349) exec_stmt'2
calls=2 +17
* 363684995
* 2
+2 4
+1 2
-6 7
+10 2
fn=(4353) exec_stmts'2
1860 2500
+3 1000
+11 1500
cfi=(239)
cfn=(4354)
calls=500 78
* 5000
* 1000
+2 1500
+1 2500
cfn=(4349)
calls=500 +17
* 363455004
* 500
+2 1000
-5 3500
+9 500
+1 1000
fn=(4360) exec_prepare_plan
3997 24
+7 12
+5 21
cob=(9)
cfi=(163)
cfn=(4364)
calls=3 658
* 709156
* 3
* 3
+4 6
+3 6
+1 9
cob=(9)
cfi=(163)
cfn=(4544)
calls=3 692
* 705
* 3
+1 9
+3 15
cfn=(4552) exec_simple_check_plan
calls=3 7759
* 294767
+7 6
+1 6
fn=(5140) convert_value_to_string
7518 3000
+6 2500
cfi=(235)
cfn=(4164)
calls=500 110
* 6000
* 500
+1 3000
cob=(9)
cfi=(272)
cfn=(5078)
calls=500 2642
* 250500
* 500
+1 2500
cob=(9)
cfi=(171)
cfn=(5146)
calls=500 1834
* 186500
* 500
* 500
+1 1500
cfi=(235)
cfn=(4164)
calls=500 110
* 6000
+2 500
+1 1000
fn=(5548) exec_stmt_return
3085 6
+6 4
+4 2
+1 2
+1 2
+14 4
+71 4
+27 4
+1 3
-1 2
+3 2
+1 2
+1 2
+3 1
+1 4
fn=(4752)
6166 2008
+15 2008
+3 1500
+7 1500
+7 2500
+9 2
+2 2
+1 4
-1 500
+1 1000
fn=(4736) exec_save_simple_expr
7858 15
+12 12
cfi=(239)
cfn=(4354)
calls=3 78
* 30
* 6
+11 9
+5 12
cfi=(239)
cfn=(4354)
calls=3 78
* 30
* 9
+2 12
+7 3
+26 9
+1 12
+1 6
+1 6
+1 6
+2 9
cob=(9)
cfi=(247)
cfn=(4434)
calls=3 43
* 72
* 3
* 6
+1 9
cob=(9)
cfi=(247)
cfn=(4528)
calls=3 277
* 92
* 3
* 6
+1 6
fn=(4340) copy_plpgsql_datums
1215 5
+1 3
+9 5
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
-1 2
+7 4
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
* 1
+1 2
+3 3
+1 3
+1 2
+2 14
+4 24
+4 4
+1 12
cob=(3)
cfi=(3)
cfn=(856)
calls=2 0
* 48
* 2
+1 2
+1 2
+26 14
-39 11
+43 2
fn=(4552)
7759 15
+10 6
+12 12
cob=(9)
cfi=(163)
cfn=(4556)
calls=3 1722
* 21
* 3
* 3
+1 9
cfi=(239)
cfn=(4558)
calls=3 90
* 30
* 6
+2 9
cfi=(239)
cfn=(4354)
calls=3 78
* 30
* 6
+5 12
cfi=(239)
cfn=(4558)
calls=3 90
* 30
* 6
+2 12
cfi=(239)
cfn=(4354)
calls=3 78
* 30
* 6
+5 12
+2 12
+2 12
+9 12
+1 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 9
-1 6
+2 9
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+2 6
-1 6
+7 12
cfi=(239)
cfn=(4558)
calls=3 90
* 30
* 6
+9 15
cfi=(235)
cfn=(4164)
calls=3 110
* 36
* 3
+1 12
cob=(9)
cfi=(163)
cfn=(4562)
calls=3 1738
* 293421
* 3
* 3
+1 9
cfi=(235)
cfn=(4164)
calls=3 110
* 36
+6 15
cfn=(4736)
calls=3 +11
* 383
+3 12
cob=(9)
cfi=(154)
cfn=(4744)
calls=3 1263
* 282
* 3
+1 6
fn=(4328)
452 9
+9 7
cfn=(4330) plpgsql_estate_setup
calls=1 3832
* 4696
+2 2
+5 2
+1 2
+1 3
+1 3
+5 2
+1 5
cfn=(4340)
calls=1 1215
* 413
+5 2
+1 6
+87 2
+5 4
cfn=(4344)
calls=1 8044
* 67
+5 5
+6 1
+1 3
+1 6
cfn=(4348) exec_stmt
calls=1 1894
* 363685142
* 1
+1 2
+12 1
+1 2
+2 3
+2 3
+25 4
+8 3
+65 14
cfn=(4802) exec_cast_value
calls=1 7550
* 18
* 1
+14 10
+23 2
+5 5
+4 3
cfn=(5550) plpgsql_destroy_econtext
calls=1 8112
* 631
+1 3
cfn=(4804) exec_eval_cleanup
calls=1 3974
* 16
+6 3
+5 1
+1 4
fn=(4346)
8193 5020
+14 7028
+25 2008
+10 1506
+1 1506
+1 1506
+7 1004
+1 1004
fn=(4802)
7550 27
+4 18
+29 3
+1 6
fn=(4808) exec_stmt_dynexecute
4268 3500
+7 500
+1 1500
cfn=(4810)
calls=500 1449
* 6475
* 500
+6 4500
cfn=(4358) exec_eval_expr
calls=500 5705
* 4935604
* 500
+1 1500
+6 3000
cfn=(5140)
calls=500 7518
* 465000
* 500
+3 2500
cob=(9)
cfi=(13)
cfn=(930)
calls=500 1149
* 101500
* 500
* 500
+2 1500
cfn=(4804)
calls=500 3974
* 108628
+5 2000
+9 4000
cob=(9)
cfi=(163)
cfn=(5152)
calls=500 436
* 357663797
* 500
* 500
+2 6000
+19 500
+37 2000
+3 2000
+72 2000
cob=(9)
cfi=(163)
cfn=(5524)
calls=500 1102
* 5000
* 500
+1 1500
cob=(9)
cfi=(13)
cfn=(3734)
calls=500 137
* 97500
* 500
+2 500
+1 2500
fn=(4348)
1894 5
+2 1
+2 3
+1 3
+3 5
+3 4
+2 12
+3 5
cfn=(4350) exec_stmt_block
calls=1 1534
* 363685091
* 1
+1 1
2027 5
+3 3
+2 1
+1 2
fn=(4349)
1894 2510
+2 502
+2 1506
+1 1506
+3 2510
+3 2008
+2 6024
+39 5
cfn=(4356) exec_stmt_fori
calls=1 2588
* 363684849
* 1
+1 1
+19 5
cfn=(5548)
calls=1 3085
* 44
* 1
+1 1
+23 2500
cfn=(4808)
calls=500 4268
* 363429504
* 500
+1 500
+36 2510
+3 1506
+2 502
+1 1004
fn=(4350)
1534 5
+1 1
+6 3
+2 6
+85 4
1816 2
+2 6
cfn=(4352)
calls=1 +42
* 363685050
* 1
+3 2
+7 7
+5 2
+17 2
fn=(4804)
3974 2012
+2 2012
+2 1006
+6 2012
+1 2510
cob=(9)
cfi=(13)
cfn=(3734)
calls=502 137
* 98018
* 502
+1 1006
fn=(4330)
3832 7
+4 3
+2 3
+1 2
+1 2
+2 2
+1 2
+1 2
+2 4
+1 4
+1 4
+2 4
+1 2
+2 2
+1 2
+2 2
+1 2
+1 2
+7 2
+1 2
+2 3
+2 4
+1 4
+1 2
+2 4
+4 2
cob=(9)
cfi=(13)
cfn=(940)
calls=1 925
* 123
* 1
-1 2
+2 4
+1 4
+1 4
+1 3
+1 4
+1 3
+1 5
+3 2
+2 3
+2 5
cob=(3)
cfi=(3)
cfn=(828)
calls=1 0
* 22
* 1
+1 1
+1 1
+1 3
+1 6
cob=(9)
cfi=(31)
cfn=(794)
calls=1 317
* 3167
* 1
* 2
+4 5
+29 2
+1 4
+2 2
+1 2
+1 2
+2 2
+1 2
+2 2
+5 3
cfn=(4332) plpgsql_create_econtext
calls=1 8060
* 1222
+8 5
+8 2
fn=(4332)
8060 4
+11 4
+16 4
cob=(9)
cfi=(240)
cfn=(4336)
calls=1 242
* 1055
* 1
* 2
+7 2
-1 3
cob=(9)
cfi=(13)
cfn=(798)
calls=1 772
* 122
* 1
* 1
+4 4
+1 1
cob=(9)
cfi=(26)
cfn=(736)
calls=1 625
* 8
* 1
* 2
+2 3
+1 2
+1 2
fn=(4356)
2588 6
+9 1
+1 1
+2 10
+5 9
cfn=(4358)
calls=1 5705
* 119078
* 1
+5 2
-3 1
+2 2
-2 9
cfn=(4802)
calls=1 7550
* 18
* 1
+4 3
+4 2
+1 3
cfn=(4804)
calls=1 3974
* 217
+5 9
cfn=(4358)
calls=1 5705
* 48122
* 1
+5 2
-3 1
+2 2
-2 9
cfn=(4802)
calls=1 7550
* 18
* 1
+4 3
+4 2
+1 3
cfn=(4804)
calls=1 3974
* 217
+5 4
+20 1
+10 2004
+7 1503
+1 1
+3 500
+5 4000
cfn=(4346)
calls=500 8193
* 20500
+5 3000
cfn=(4353)
calls=500 1860
* 363476504
* 500
+2 3000
+6 2000
+8 2000
+2 1000
+2 500
+8 5
cfn=(4344)
calls=1 8044
* 68
+2 1
+1 4
fn=(4358)
5705 4518
+1 502
+7 2008
+1 18
cfn=(4360)
calls=3 3997
* 1004751
+6 5020
cfn=(4748)
calls=502 6026
* 4081971
* 1004
+2 1004
+53 2008
fn=(5108)
6429 2500
+3 2000
+4 1500
+1 1500
+4 4000
+4 2500
+1 2500
+4 1000
fn=(5550)
8112 4
+6 3
+1 3
cob=(9)
cfi=(13)
cfn=(952)
calls=1 1032
* 85
* 1
+1 2
+2 5
cob=(9)
cfi=(240)
cfn=(5508)
calls=1 373
* 523
* 1
+1 2
+1 2
fn=(5606)
8134 10
+7 6
+2 1
+2 3
+2 2
+2 2
+5 4
fl=(239)
fn=(4558)
90 3
+1 5
+1 2
-2 27
+1 45
+1 18
fn=(4354)
78 3
+1 5
+1 2
-2 1539
+1 2565
+1 1026
-2 9
+1 13
+1 6
fn=(4316)
84 3
+1 5
+1 2
totals: 400247405
On Sun, Dec 30, 2018 at 3:49 AM John Naylor <jcnaylor@gmail.com> wrote:
On 12/29/18, Mithun Cy <mithun.cy@enterprisedb.com> wrote:
That's curious, because once the table exceeds the threshold, it would
be allowed to update the FSM, and in the process write 3 pages that it
didn't have to in the 4 page test. The master branch has the FSM
already, so I would expect the 8 page case to regress more.
I tested with configuration HEAP_FSM_CREATION_THRESHOLD = 4 and just
tried to insert till 8 blocks to see if regression is carried on with
further inserts.
What I can do later is provide a supplementary patch to go on top of
mine that only checks the last block. If that improves performance,
I'll alter my patch to only check every other page.
Running callgrind for same test shows below stats
Before patch
==========
Number of calls function_name
2000 heap_multi_insert
2000 RelationGetBufferForTuple
3500 ReadBufferBI
After Patch
=========
Number of calls function_name
2000 heap_multi_insert
2000 RelationGetBufferForTuple
5000 ReadBufferBI
I guess Increase in ReadBufferBI() calls might be the reason which is
causing regression. Sorry I have not investigated it. I will check
same with your next patch!
--
Thanks and Regards
Mithun Chicklore Yogendra
EnterpriseDB: http://www.enterprisedb.com
Attachments:
callgrind_report.zipapplication/zip; name=callgrind_report.zipDownload
PK �"N callgrind.out.115483_after_patchUX t�.\��,\� ����G�&|�����#�R����mFE�jh��������"#�b���z����{�L���SV�L�K�r�����M���q���O����8�������j�����v������V�o��ny�P�F3Y����o�������?L��������n�?B7��}X�a�N���?L������c��?�e�����c�����r1���.>M����+�RV��/�<������|==���r3?���L��������r�O����1���~rxZ���/���u^�<������������j��[��;~�+r��U���v������������?��7�����7�Y�&
�M�����#.t�L����wx���{���s��S!������{P��,��,�����`{��}^����G�V�o���q���q��,��M�8B��&���M~���_q��zw��O8��j{����k�� �������|X�7�_�E���>w������#��<y Dx@yzB%��X��-v1�+��#�|3~�Y�+�i-k�T�i�/~���L��J��~wl_O�>Z����}�< ���u�d��6��^�S!?������s�^$�/t��_�t:�k%��G�0�LFv\i�Z��b��7O�����qv�?�{x5g�������Da��|�{�7����_��U�!��%>