Обсуждение: Backend memory dump analysis

Поиск
Список
Период
Сортировка

Backend memory dump analysis

От
Vladimir Sitnikov
Дата:
Hi,

I investigate an out of memory-related case for PostgreSQL 9.6.5, and it looks like MemoryContextStatsDetail + gdb are the only friends there.

MemoryContextStatsDetail does print some info, however it is rarely possible to associate the used memory with business cases.
For insance:
   CachedPlanSource: 146224 total in 8 blocks; 59768 free (3 chunks); 86456 used
      CachedPlanQuery: 130048 total in 7 blocks; 29952 free (2 chunks); 100096 used

It does look like a 182KiB has been spent for some SQL, however there's no clear way to tell which SQL is to blame.

Another case: PL/pgSQL function context: 57344 total in 3 blocks; 17200 free (2 chunks); 40144 used
It is not clear what is there inside, which "cached plans" are referenced by that pgsql context (if any), etc.

It would be great if there was an ability to dump the memory in a machine-readable format (e.g. Java's HPROF).

Eclipse Memory Analyzer (https://www.eclipse.org/mat/) can visualize Java memory dumps quite well, and I think HPROF format is trivial to generate (the generation is easy, the hard part is to parse memory contents).
That is we could get analysis UI for free if PostgreSQL produces the dump.

Is it something welcome or non-welcome?
Is it something worth including in-core?

Vladimir

Re: Backend memory dump analysis

От
Andres Freund
Дата:
Hi,

On 2018-03-23 16:18:52 +0000, Vladimir Sitnikov wrote:
> Hi,
> 
> I investigate an out of memory-related case for PostgreSQL 9.6.5, and it
> looks like MemoryContextStatsDetail + gdb are the only friends there.
> 
> MemoryContextStatsDetail does print some info, however it is rarely
> possible to associate the used memory with business cases.
> For insance:
>    CachedPlanSource: 146224 total in 8 blocks; 59768 free (3 chunks); 86456
> used
>       CachedPlanQuery: 130048 total in 7 blocks; 29952 free (2 chunks);
> 100096 used
> 
> It does look like a 182KiB has been spent for some SQL, however there's no
> clear way to tell which SQL is to blame.
> 
> Another case: PL/pgSQL function context: 57344 total in 3 blocks; 17200
> free (2 chunks); 40144 used
> It is not clear what is there inside, which "cached plans" are referenced
> by that pgsql context (if any), etc.
> 
> It would be great if there was an ability to dump the memory in a
> machine-readable format (e.g. Java's HPROF).
> 
> Eclipse Memory Analyzer (https://www.eclipse.org/mat/) can visualize Java
> memory dumps quite well, and I think HPROF format is trivial to generate
> (the generation is easy, the hard part is to parse memory contents).
> That is we could get analysis UI for free if PostgreSQL produces the dump.
> 
> Is it something welcome or non-welcome?
> Is it something worth including in-core?

The overhead required for it (in cycles, in higher memory usage due to
additional bookeeping, in maintenance) makes me highly doubtful it's
worth going there. While I definitely can see the upside, it doesn't
seem to justify the cost.

Greetings,

Andres Freund


Re: Backend memory dump analysis

От
Vladimir Sitnikov
Дата:
Andres>The overhead required for it (in cycles, in higher memory usage due to
additional bookeeping

Does that mean the memory contexts are unparseable? (there's not enough information to enumerate contents)

What if memory dump is produced by walking the C structures?
For instance, I assume statament cache is stored in some sort of a hash table, so there should be a way to enumerate it in a programmatic way. Of course it would take time, however I do not think it creates cpu/memory overheads. The overhead is to maintain "walker" code.

Vladimir

Re: Backend memory dump analysis

От
Andres Freund
Дата:
On 2018-03-23 18:05:38 +0000, Vladimir Sitnikov wrote:
> Andres>The overhead required for it (in cycles, in higher memory usage due
> to
> additional bookeeping
> 
> Does that mean the memory contexts are unparseable? (there's not enough
> information to enumerate contents)

You can enumerate them (that's what the stats dump you're referring to
do), but you can't associate them with individual statements etc without
further bookepping.


> What if memory dump is produced by walking the C structures?

We don't know the types of individual allocations.


> For instance, I assume statament cache is stored in some sort of a hash
> table, so there should be a way to enumerate it in a programmatic way. Of
> course it would take time, however I do not think it creates cpu/memory
> overheads. The overhead is to maintain "walker" code.

Sure, you could, entirely independent of the memory stats dump, do
that. But what information would you actually gain from it? Which row
something in the catcache belongs to isn't *that* interesting.

- Andres


Re: Backend memory dump analysis

От
Tom Lane
Дата:
Andres Freund <andres@anarazel.de> writes:
> On 2018-03-23 18:05:38 +0000, Vladimir Sitnikov wrote:
>> For instance, I assume statament cache is stored in some sort of a hash
>> table, so there should be a way to enumerate it in a programmatic way. Of
>> course it would take time, however I do not think it creates cpu/memory
>> overheads. The overhead is to maintain "walker" code.

> Sure, you could, entirely independent of the memory stats dump, do
> that. But what information would you actually gain from it? Which row
> something in the catcache belongs to isn't *that* interesting.

It'd certainly be easy to define this in a way that makes it require
a bunch of support code, which we'd be unlikely to want to write and
maintain.  However, I've often wished that the contexts in a memory
dump were less anonymous.  If you didn't just see a pile of "PL/pgSQL
function context" entries, but could (say) see the name of each function,
that would be a big step forward.  Similarly, if we could see the source
text for each CachedPlanSource in a dump, that'd be useful.  I mention
these things because we do actually store them already, in many cases
--- but the memory stats code doesn't know about them.

Now, commit 9fa6f00b1 already introduced a noticeable penalty for
contexts with nonconstant names, so trying to stick extra info like
this into the context name is not appetizing.  But what if we allowed
the context name to have two parts, a fixed part and a variable part?
We could actually require that the fixed part be a compile-time-constant
string, simplifying matters on that end.  The variable part would best
be assigned later than initial context creation, because you'd need a
chance to copy the string into the context before pointing to it.
So maybe, for contexts where this is worth doing, it'd look something
like this for plpgsql:

    func_cxt = AllocSetContextCreate(TopMemoryContext,
                                     "PL/pgSQL function context",
                                     ALLOCSET_DEFAULT_SIZES);
    plpgsql_compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);

    function->fn_signature = format_procedure(fcinfo->flinfo->fn_oid);
+   MemoryContextSetIdentifier(func_cxt, function->fn_signature);
    function->fn_oid = fcinfo->flinfo->fn_oid;
    function->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);

This would cost an extra char * field in struct MemoryContextData,
which is slightly annoying but it doesn't exactly seem like a killer.
Then the memory stats dump code would just need to know to print this
field if it isn't NULL.

If we wanted to do this I'd suggest sneaking it into v11, so that
if people have to adapt their code because of 9fa6f00b1 breaking
usages with nonconstant context names, they have a solution to turn to
immediately rather than having to change things again in v12.

Thoughts?

            regards, tom lane


Re: Backend memory dump analysis

От
Andres Freund
Дата:
Hi,

On 2018-03-23 14:33:25 -0400, Tom Lane wrote:
>     func_cxt = AllocSetContextCreate(TopMemoryContext,
>                                      "PL/pgSQL function context",
>                                      ALLOCSET_DEFAULT_SIZES);
>     plpgsql_compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);
> 
>     function->fn_signature = format_procedure(fcinfo->flinfo->fn_oid);
> +   MemoryContextSetIdentifier(func_cxt, function->fn_signature);
>     function->fn_oid = fcinfo->flinfo->fn_oid;
>     function->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
> 
> This would cost an extra char * field in struct MemoryContextData,
> which is slightly annoying but it doesn't exactly seem like a killer.
> Then the memory stats dump code would just need to know to print this
> field if it isn't NULL.

That's not a bad idea. How about storing a Node* instead of a char*?
Then we could have MemoryContextStats etc support digging out details
for a few types, without having to generate strings at runtime.

> If we wanted to do this I'd suggest sneaking it into v11, so that
> if people have to adapt their code because of 9fa6f00b1 breaking
> usages with nonconstant context names, they have a solution to turn to
> immediately rather than having to change things again in v12.

Yea, that'd make sense.

Greetings,

Andres Freund


Re: Backend memory dump analysis

От
Tom Lane
Дата:
Andres Freund <andres@anarazel.de> writes:
> On 2018-03-23 14:33:25 -0400, Tom Lane wrote:
>> +   MemoryContextSetIdentifier(func_cxt, function->fn_signature);
>> 
>> This would cost an extra char * field in struct MemoryContextData,
>> which is slightly annoying but it doesn't exactly seem like a killer.
>> Then the memory stats dump code would just need to know to print this
>> field if it isn't NULL.

> That's not a bad idea. How about storing a Node* instead of a char*?
> Then we could have MemoryContextStats etc support digging out details
> for a few types, without having to generate strings at runtime.

Well, in the cases I'm thinking of at the moment, there's no handy Node
to point at, just module-private structs like PLpgSQL_function.  So doing
anything like that would add nonzero overhead to construct something.
Not sure we want to pay that.  There's also the fact that we don't want
MemoryContextStats doing anything very complicated, because of the risk of
failure and the likelihood that any attempt to palloc would fail (if we're
there because we're up against OOM already).

>> If we wanted to do this I'd suggest sneaking it into v11, so that
>> if people have to adapt their code because of 9fa6f00b1 breaking
>> usages with nonconstant context names, they have a solution to turn to
>> immediately rather than having to change things again in v12.

> Yea, that'd make sense.

I'll put together a draft patch.

            regards, tom lane


Re: Backend memory dump analysis

От
Andres Freund
Дата:
On 2018-03-23 15:12:43 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > On 2018-03-23 14:33:25 -0400, Tom Lane wrote:
> >> +   MemoryContextSetIdentifier(func_cxt, function->fn_signature);
> >> 
> >> This would cost an extra char * field in struct MemoryContextData,
> >> which is slightly annoying but it doesn't exactly seem like a killer.
> >> Then the memory stats dump code would just need to know to print this
> >> field if it isn't NULL.
> 
> > That's not a bad idea. How about storing a Node* instead of a char*?
> > Then we could have MemoryContextStats etc support digging out details
> > for a few types, without having to generate strings at runtime.
> 
> Well, in the cases I'm thinking of at the moment, there's no handy Node
> to point at, just module-private structs like PLpgSQL_function.

Well, the cases Vladimir were concerned about seem less clear
though. It'd be nice if we could just point to a CachedPlanSource and
such.


> So doing anything like that would add nonzero overhead to construct
> something.

I'm not that sure there aren't easy way to overcome those - couldn't we
"just" make FmgrInfo etc be tagged types? The space overhead of that
can't matter in comparison to the size of the relevant structs.


> There's also the fact that we don't want MemoryContextStats doing
> anything very complicated, because of the risk of failure and the
> likelihood that any attempt to palloc would fail (if we're there
> because we're up against OOM already).

That's true. But I'm not sure there's a meaningful difference in risk
here. Obviously you shouldn't try to print a node tree or something, but
an if statement looking 

Greetings,

Andres Freund


Re: Backend memory dump analysis

От
Tom Lane
Дата:
Andres Freund <andres@anarazel.de> writes:
> On 2018-03-23 15:12:43 -0400, Tom Lane wrote:
>> Well, in the cases I'm thinking of at the moment, there's no handy Node
>> to point at, just module-private structs like PLpgSQL_function.

> Well, the cases Vladimir were concerned about seem less clear
> though. It'd be nice if we could just point to a CachedPlanSource and
> such.

You could imagine adding *two* pointers to memory contexts, a callback
function and an arg to pass to it, so that the callback localizes the
knowledge of how to dig an identifier string out of whatever struct
is involved.  I really doubt this is worth that much overhead though.
I think all of the actually interesting cases have a string available
already (though I might find out differently while doing the patch).
Furthermore, if they don't have a string available already, I'm not
real clear on how the callback would create one without doing a palloc.

> I'm not that sure there aren't easy way to overcome those - couldn't we
> "just" make FmgrInfo etc be tagged types? The space overhead of that
> can't matter in comparison to the size of the relevant structs.

Not for extensions, eg PLs, which would be one of the bigger use-cases
IMO.

            regards, tom lane


Re: Backend memory dump analysis

От
Teodor Sigaev
Дата:
Hi!

Some help you could get from
https://github.com/postgrespro/memstat

Vladimir Sitnikov wrote:
> Hi,
> 
> I investigate an out of memory-related case for PostgreSQL 9.6.5, and it 
> looks like MemoryContextStatsDetail + gdb are the only friends there.
> -- 
Teodor Sigaev                      E-mail: teodor@sigaev.ru
                                       WWW: http://www.sigaev.ru/


Re: Backend memory dump analysis

От
Tom Lane
Дата:
I wrote:
> I'll put together a draft patch.

Here's a draft patch for this.  Some notes:

* I'm generally pretty happy with the way this turned out.  For instance,
you can now tell the difference between index info, partition descriptor,
and RLS policy sub-contexts of CacheMemoryContext; previously they were
all just labeled with the name of their relation, which is useful but not
really enough anymore.  I've attached sample MemoryContextStats output
captured near the end of the plpgsql.sql regression test.

* I reverted the addition of the "flags" parameter to the context creation
functions, since it no longer had any use.  We could have left it there
for future expansion, but doing so seems like an unnecessary deviation
from the v10 APIs.  We can cross that bridge when and if we come to it.

* I'd have liked to get rid of the AllocSetContextCreate wrapper macro
entirely, reverting that to the way it was in v10 as well, but I don't see
any way to do so without giving up the __builtin_constant_p(name) check,
which seems like it'd be a bad idea.

* In some places there's a pstrdup more than there was before (hidden
inside MemoryContextCopySetIdentifier), but I don't think this is really
much more expensive than the previous behavior with MEMCONTEXT_COPY_NAME.
In particular, the fact that having a non-constant identifier no longer
disqualifies a context from participating in aset.c's freelist scheme
probably buys back the overhead.  I haven't done any performance testing,
though.

* It seemed worth expending a pstrdup to copy the source string for a
CachedPlan into its context so it could be labeled properly.  We can't
just point to the source string in the originating CachedPlanSource
because that might have a different/shorter lifespan.  I think in the
long run this would come out to be "free" anyway because someday we're
going to insist on having the source string available at execution for
error-reporting reasons.

* On the other hand, I didn't copy the source string into SPI Plan
contexts.  Looking at the sample output, I started to get a bit annoyed
that we have those as separate contexts at all --- at least in the
standard case of one subsidiary CachedPlanSource, seems like we could
combine the contexts.  That's fit material for a separate patch, though.

* While I didn't do anything about it here, I think it'd likely be a
good idea for MemoryContextStats printout to truncate the context ID
strings at 100 characters or so.  Otherwise, in situations where we
have long queries with cached plans, the output would get unreasonably
bulky.  Any thoughts about the exact rule?

* With the preceding idea in mind, I decided to fix things so that the
formatting of MemoryContextStats output is centralized in one place
instead of being repeated in each context module.  So there's now a
callback-function API there.  This has the additional benefit that people
could write extensions that collect stats output and do $whatever with it,
without relying on anything more than what memnodes.h exposes.

Comments, objections?

            regards, tom lane

diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 5d1b902..cfc6201 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -999,7 +999,6 @@ AtStart_Memory(void)
         TransactionAbortContext =
             AllocSetContextCreateExtended(TopMemoryContext,
                                           "TransactionAbortContext",
-                                          0,
                                           32 * 1024,
                                           32 * 1024,
                                           32 * 1024);
diff --git a/src/backend/catalog/partition.c b/src/backend/catalog/partition.c
index 53855f5..c0ba02d 100644
--- a/src/backend/catalog/partition.c
+++ b/src/backend/catalog/partition.c
@@ -521,10 +521,11 @@ RelationBuildPartitionDesc(Relation rel)
     }

     /* Now build the actual relcache partition descriptor */
-    rel->rd_pdcxt = AllocSetContextCreateExtended(CacheMemoryContext,
-                                                  RelationGetRelationName(rel),
-                                                  MEMCONTEXT_COPY_NAME,
-                                                  ALLOCSET_DEFAULT_SIZES);
+    rel->rd_pdcxt = AllocSetContextCreate(CacheMemoryContext,
+                                          "partition descriptor",
+                                          ALLOCSET_DEFAULT_SIZES);
+    MemoryContextCopySetIdentifier(rel->rd_pdcxt, RelationGetRelationName(rel));
+
     oldcxt = MemoryContextSwitchTo(rel->rd_pdcxt);

     result = (PartitionDescData *) palloc0(sizeof(PartitionDescData));
diff --git a/src/backend/commands/policy.c b/src/backend/commands/policy.c
index 280a14a..cfaf32c 100644
--- a/src/backend/commands/policy.c
+++ b/src/backend/commands/policy.c
@@ -214,6 +214,9 @@ RelationBuildRowSecurity(Relation relation)
         SysScanDesc sscan;
         HeapTuple    tuple;

+        MemoryContextCopySetIdentifier(rscxt,
+                                       RelationGetRelationName(relation));
+
         rsdesc = MemoryContextAllocZero(rscxt, sizeof(RowSecurityDesc));
         rsdesc->rscxt = rscxt;

diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c
index 1c00ac9..2354589 100644
--- a/src/backend/executor/functions.c
+++ b/src/backend/executor/functions.c
@@ -612,7 +612,7 @@ init_sql_fcache(FmgrInfo *finfo, Oid collation, bool lazyEvalOK)
      * must be a child of whatever context holds the FmgrInfo.
      */
     fcontext = AllocSetContextCreate(finfo->fn_mcxt,
-                                     "SQL function data",
+                                     "SQL function",
                                      ALLOCSET_DEFAULT_SIZES);

     oldcontext = MemoryContextSwitchTo(fcontext);
@@ -635,9 +635,11 @@ init_sql_fcache(FmgrInfo *finfo, Oid collation, bool lazyEvalOK)
     procedureStruct = (Form_pg_proc) GETSTRUCT(procedureTuple);

     /*
-     * copy function name immediately for use by error reporting callback
+     * copy function name immediately for use by error reporting callback, and
+     * for use as memory context identifier
      */
     fcache->fname = pstrdup(NameStr(procedureStruct->proname));
+    MemoryContextSetIdentifier(fcontext, fcache->fname);

     /*
      * get the result type from the procedure tuple, and check for polymorphic
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 5ffe638..b4016ed 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -243,19 +243,16 @@ ReorderBufferAllocate(void)

     buffer->change_context = SlabContextCreate(new_ctx,
                                                "Change",
-                                               0,
                                                SLAB_DEFAULT_BLOCK_SIZE,
                                                sizeof(ReorderBufferChange));

     buffer->txn_context = SlabContextCreate(new_ctx,
                                             "TXN",
-                                            0,
                                             SLAB_DEFAULT_BLOCK_SIZE,
                                             sizeof(ReorderBufferTXN));

     buffer->tup_context = GenerationContextCreate(new_ctx,
                                                   "Tuples",
-                                                  0,
                                                   SLAB_LARGE_BLOCK_SIZE);

     hash_ctl.keysize = sizeof(TransactionId);
diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c
index d34d5c3..6c836f6 100644
--- a/src/backend/statistics/extended_stats.c
+++ b/src/backend/statistics/extended_stats.c
@@ -74,7 +74,8 @@ BuildRelationExtStatistics(Relation onerel, double totalrows,
     MemoryContext cxt;
     MemoryContext oldcxt;

-    cxt = AllocSetContextCreate(CurrentMemoryContext, "stats ext",
+    cxt = AllocSetContextCreate(CurrentMemoryContext,
+                                "BuildRelationExtStatistics",
                                 ALLOCSET_DEFAULT_SIZES);
     oldcxt = MemoryContextSwitchTo(cxt);

diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c
index 8d7d8e0..85bb7b91 100644
--- a/src/backend/utils/cache/plancache.c
+++ b/src/backend/utils/cache/plancache.c
@@ -180,6 +180,7 @@ CreateCachedPlan(RawStmt *raw_parse_tree,
     plansource->magic = CACHEDPLANSOURCE_MAGIC;
     plansource->raw_parse_tree = copyObject(raw_parse_tree);
     plansource->query_string = pstrdup(query_string);
+    MemoryContextSetIdentifier(source_context, plansource->query_string);
     plansource->commandTag = commandTag;
     plansource->param_types = NULL;
     plansource->num_params = 0;
@@ -951,6 +952,7 @@ BuildCachedPlan(CachedPlanSource *plansource, List *qlist,
         plan_context = AllocSetContextCreate(CurrentMemoryContext,
                                              "CachedPlan",
                                              ALLOCSET_START_SMALL_SIZES);
+        MemoryContextCopySetIdentifier(plan_context, plansource->query_string);

         /*
          * Copy plan into the new context.
@@ -1346,6 +1348,7 @@ CopyCachedPlan(CachedPlanSource *plansource)
     newsource->magic = CACHEDPLANSOURCE_MAGIC;
     newsource->raw_parse_tree = copyObject(plansource->raw_parse_tree);
     newsource->query_string = pstrdup(plansource->query_string);
+    MemoryContextSetIdentifier(source_context, newsource->query_string);
     newsource->commandTag = plansource->commandTag;
     if (plansource->num_params > 0)
     {
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 6ab4db2..12ddabc 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -673,11 +673,12 @@ RelationBuildRuleLock(Relation relation)
     /*
      * Make the private context.  Assume it'll not contain much data.
      */
-    rulescxt = AllocSetContextCreateExtended(CacheMemoryContext,
-                                             RelationGetRelationName(relation),
-                                             MEMCONTEXT_COPY_NAME,
-                                             ALLOCSET_SMALL_SIZES);
+    rulescxt = AllocSetContextCreate(CacheMemoryContext,
+                                     "relation rules",
+                                     ALLOCSET_SMALL_SIZES);
     relation->rd_rulescxt = rulescxt;
+    MemoryContextCopySetIdentifier(rulescxt,
+                                   RelationGetRelationName(relation));

     /*
      * allocate an array to hold the rewrite rules (the array is extended if
@@ -850,10 +851,11 @@ RelationBuildPartitionKey(Relation relation)
     if (!HeapTupleIsValid(tuple))
         return;

-    partkeycxt = AllocSetContextCreateExtended(CurTransactionContext,
-                                               RelationGetRelationName(relation),
-                                               MEMCONTEXT_COPY_NAME,
-                                               ALLOCSET_SMALL_SIZES);
+    partkeycxt = AllocSetContextCreate(CurTransactionContext,
+                                       "partition key",
+                                       ALLOCSET_SMALL_SIZES);
+    MemoryContextCopySetIdentifier(partkeycxt,
+                                   RelationGetRelationName(relation));

     key = (PartitionKey) MemoryContextAllocZero(partkeycxt,
                                                 sizeof(PartitionKeyData));
@@ -1531,11 +1533,12 @@ RelationInitIndexAccessInfo(Relation relation)
      * a context, and not just a couple of pallocs, is so that we won't leak
      * any subsidiary info attached to fmgr lookup records.
      */
-    indexcxt = AllocSetContextCreateExtended(CacheMemoryContext,
-                                             RelationGetRelationName(relation),
-                                             MEMCONTEXT_COPY_NAME,
-                                             ALLOCSET_SMALL_SIZES);
+    indexcxt = AllocSetContextCreate(CacheMemoryContext,
+                                     "index info",
+                                     ALLOCSET_SMALL_SIZES);
     relation->rd_indexcxt = indexcxt;
+    MemoryContextCopySetIdentifier(indexcxt,
+                                   RelationGetRelationName(relation));

     /*
      * Now we can fetch the index AM's API struct
@@ -5505,12 +5508,12 @@ load_relcache_init_file(bool shared)
              * prepare index info context --- parameters should match
              * RelationInitIndexAccessInfo
              */
-            indexcxt =
-                AllocSetContextCreateExtended(CacheMemoryContext,
-                                              RelationGetRelationName(rel),
-                                              MEMCONTEXT_COPY_NAME,
-                                              ALLOCSET_SMALL_SIZES);
+            indexcxt = AllocSetContextCreate(CacheMemoryContext,
+                                             "index info",
+                                             ALLOCSET_SMALL_SIZES);
             rel->rd_indexcxt = indexcxt;
+            MemoryContextCopySetIdentifier(indexcxt,
+                                           RelationGetRelationName(rel));

             /*
              * Now we can fetch the index AM's API struct.  (We can't store
diff --git a/src/backend/utils/cache/ts_cache.c b/src/backend/utils/cache/ts_cache.c
index 3d5c194..9734778 100644
--- a/src/backend/utils/cache/ts_cache.c
+++ b/src/backend/utils/cache/ts_cache.c
@@ -294,16 +294,19 @@ lookup_ts_dictionary_cache(Oid dictId)
             Assert(!found);        /* it wasn't there a moment ago */

             /* Create private memory context the first time through */
-            saveCtx = AllocSetContextCreateExtended(CacheMemoryContext,
-                                                    NameStr(dict->dictname),
-                                                    MEMCONTEXT_COPY_NAME,
-                                                    ALLOCSET_SMALL_SIZES);
+            saveCtx = AllocSetContextCreate(CacheMemoryContext,
+                                            "TS dictionary",
+                                            ALLOCSET_SMALL_SIZES);
+            MemoryContextCopySetIdentifier(saveCtx, NameStr(dict->dictname));
         }
         else
         {
             /* Clear the existing entry's private context */
             saveCtx = entry->dictCtx;
-            MemoryContextResetAndDeleteChildren(saveCtx);
+            /* Don't let context's ident pointer dangle while we reset it */
+            MemoryContextSetIdentifier(saveCtx, NULL);
+            MemoryContextReset(saveCtx);
+            MemoryContextCopySetIdentifier(saveCtx, NameStr(dict->dictname));
         }

         MemSet(entry, 0, sizeof(TSDictionaryCacheEntry));
diff --git a/src/backend/utils/hash/dynahash.c b/src/backend/utils/hash/dynahash.c
index 5281cd5..63fdc46 100644
--- a/src/backend/utils/hash/dynahash.c
+++ b/src/backend/utils/hash/dynahash.c
@@ -341,10 +341,9 @@ hash_create(const char *tabname, long nelem, HASHCTL *info, int flags)
         else
             CurrentDynaHashCxt = TopMemoryContext;
         CurrentDynaHashCxt =
-            AllocSetContextCreateExtended(CurrentDynaHashCxt,
-                                          tabname,
-                                          MEMCONTEXT_COPY_NAME,
-                                          ALLOCSET_DEFAULT_SIZES);
+            AllocSetContextCreate(CurrentDynaHashCxt,
+                                  "dynahash",
+                                  ALLOCSET_DEFAULT_SIZES);
     }

     /* Initialize the hash header, plus a copy of the table name */
@@ -354,6 +353,10 @@ hash_create(const char *tabname, long nelem, HASHCTL *info, int flags)
     hashp->tabname = (char *) (hashp + 1);
     strcpy(hashp->tabname, tabname);

+    /* If we have a private context, label it with hashtable's name */
+    if (!(flags & HASH_SHARED_MEM))
+        MemoryContextSetIdentifier(CurrentDynaHashCxt, hashp->tabname);
+
     /*
      * Select the appropriate hash function (see comments at head of file).
      */
diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c
index 3f9b188..e3d2c4e 100644
--- a/src/backend/utils/mmgr/aset.c
+++ b/src/backend/utils/mmgr/aset.c
@@ -130,7 +130,6 @@ typedef struct AllocSetContext
     Size        initBlockSize;    /* initial block size */
     Size        maxBlockSize;    /* maximum block size */
     Size        nextBlockSize;    /* next block size to allocate */
-    Size        headerSize;        /* allocated size of context header */
     Size        allocChunkLimit;    /* effective chunk size limit */
     AllocBlock    keeper;            /* keep this block over resets */
     /* freelist this context could be put in, or -1 if not a candidate: */
@@ -228,10 +227,7 @@ typedef struct AllocChunkData
  * only its initial malloc chunk and no others.  To be a candidate for a
  * freelist, a context must have the same minContextSize/initBlockSize as
  * other contexts in the list; but its maxBlockSize is irrelevant since that
- * doesn't affect the size of the initial chunk.  Also, candidate contexts
- * *must not* use MEMCONTEXT_COPY_NAME since that would make their header size
- * variable.  (We currently insist that all flags be zero, since other flags
- * would likely make the contexts less interchangeable, too.)
+ * doesn't affect the size of the initial chunk.
  *
  * We currently provide one freelist for ALLOCSET_DEFAULT_SIZES contexts
  * and one for ALLOCSET_SMALL_SIZES contexts; the latter works for
@@ -276,7 +272,8 @@ static void AllocSetReset(MemoryContext context);
 static void AllocSetDelete(MemoryContext context);
 static Size AllocSetGetChunkSpace(MemoryContext context, void *pointer);
 static bool AllocSetIsEmpty(MemoryContext context);
-static void AllocSetStats(MemoryContext context, int level, bool print,
+static void AllocSetStats(MemoryContext context,
+              MemoryStatsPrintFunc printfunc, void *passthru,
               MemoryContextCounters *totals);

 #ifdef MEMORY_CONTEXT_CHECKING
@@ -378,14 +375,11 @@ AllocSetFreeIndex(Size size)
  *        Create a new AllocSet context.
  *
  * parent: parent context, or NULL if top-level context
- * name: name of context (for debugging only, need not be unique)
- * flags: bitmask of MEMCONTEXT_XXX option flags
+ * name: name of context (must be statically allocated)
  * minContextSize: minimum context size
  * initBlockSize: initial allocation block size
  * maxBlockSize: maximum allocation block size
  *
- * Notes: if flags & MEMCONTEXT_COPY_NAME, the name string will be copied into
- * context-lifespan storage; otherwise, it had better be statically allocated.
  * Most callers should abstract the context size parameters using a macro
  * such as ALLOCSET_DEFAULT_SIZES.  (This is now *required* when going
  * through the AllocSetContextCreate macro.)
@@ -393,13 +387,11 @@ AllocSetFreeIndex(Size size)
 MemoryContext
 AllocSetContextCreateExtended(MemoryContext parent,
                               const char *name,
-                              int flags,
                               Size minContextSize,
                               Size initBlockSize,
                               Size maxBlockSize)
 {
     int            freeListIndex;
-    Size        headerSize;
     Size        firstBlockSize;
     AllocSet    set;
     AllocBlock    block;
@@ -431,12 +423,10 @@ AllocSetContextCreateExtended(MemoryContext parent,
      * Check whether the parameters match either available freelist.  We do
      * not need to demand a match of maxBlockSize.
      */
-    if (flags == 0 &&
-        minContextSize == ALLOCSET_DEFAULT_MINSIZE &&
+    if (minContextSize == ALLOCSET_DEFAULT_MINSIZE &&
         initBlockSize == ALLOCSET_DEFAULT_INITSIZE)
         freeListIndex = 0;
-    else if (flags == 0 &&
-             minContextSize == ALLOCSET_SMALL_MINSIZE &&
+    else if (minContextSize == ALLOCSET_SMALL_MINSIZE &&
              initBlockSize == ALLOCSET_SMALL_INITSIZE)
         freeListIndex = 1;
     else
@@ -462,25 +452,17 @@ AllocSetContextCreateExtended(MemoryContext parent,
             /* Reinitialize its header, installing correct name and parent */
             MemoryContextCreate((MemoryContext) set,
                                 T_AllocSetContext,
-                                set->headerSize,
-                                sizeof(AllocSetContext),
                                 &AllocSetMethods,
                                 parent,
-                                name,
-                                flags);
+                                name);

             return (MemoryContext) set;
         }
     }

-    /* Size of the memory context header, including name storage if needed */
-    if (flags & MEMCONTEXT_COPY_NAME)
-        headerSize = MAXALIGN(sizeof(AllocSetContext) + strlen(name) + 1);
-    else
-        headerSize = MAXALIGN(sizeof(AllocSetContext));
-
     /* Determine size of initial block */
-    firstBlockSize = headerSize + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ;
+    firstBlockSize = MAXALIGN(sizeof(AllocSetContext)) +
+        ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ;
     if (minContextSize != 0)
         firstBlockSize = Max(firstBlockSize, minContextSize);
     else
@@ -508,7 +490,7 @@ AllocSetContextCreateExtended(MemoryContext parent,
      */

     /* Fill in the initial block's block header */
-    block = (AllocBlock) (((char *) set) + headerSize);
+    block = (AllocBlock) (((char *) set) + MAXALIGN(sizeof(AllocSetContext)));
     block->aset = set;
     block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ;
     block->endptr = ((char *) set) + firstBlockSize;
@@ -529,7 +511,6 @@ AllocSetContextCreateExtended(MemoryContext parent,
     set->initBlockSize = initBlockSize;
     set->maxBlockSize = maxBlockSize;
     set->nextBlockSize = initBlockSize;
-    set->headerSize = headerSize;
     set->freeListIndex = freeListIndex;

     /*
@@ -559,12 +540,9 @@ AllocSetContextCreateExtended(MemoryContext parent,
     /* Finally, do the type-independent part of context creation */
     MemoryContextCreate((MemoryContext) set,
                         T_AllocSetContext,
-                        headerSize,
-                        sizeof(AllocSetContext),
                         &AllocSetMethods,
                         parent,
-                        name,
-                        flags);
+                        name);

     return (MemoryContext) set;
 }
@@ -1327,12 +1305,13 @@ AllocSetIsEmpty(MemoryContext context)
  * AllocSetStats
  *        Compute stats about memory consumption of an allocset.
  *
- * level: recursion level (0 at top level); used for print indentation.
- * print: true to print stats to stderr.
- * totals: if not NULL, add stats about this allocset into *totals.
+ * printfunc: if not NULL, pass a human-readable stats string to this.
+ * passthru: pass this pointer through to printfunc.
+ * totals: if not NULL, add stats about this context into *totals.
  */
 static void
-AllocSetStats(MemoryContext context, int level, bool print,
+AllocSetStats(MemoryContext context,
+              MemoryStatsPrintFunc printfunc, void *passthru,
               MemoryContextCounters *totals)
 {
     AllocSet    set = (AllocSet) context;
@@ -1344,7 +1323,7 @@ AllocSetStats(MemoryContext context, int level, bool print,
     int            fidx;

     /* Include context header in totalspace */
-    totalspace = set->headerSize;
+    totalspace = MAXALIGN(sizeof(AllocSetContext));

     for (block = set->blocks; block != NULL; block = block->next)
     {
@@ -1364,16 +1343,15 @@ AllocSetStats(MemoryContext context, int level, bool print,
         }
     }

-    if (print)
+    if (printfunc)
     {
-        int            i;
-
-        for (i = 0; i < level; i++)
-            fprintf(stderr, "  ");
-        fprintf(stderr,
-                "%s: %zu total in %zd blocks; %zu free (%zd chunks); %zu used\n",
-                set->header.name, totalspace, nblocks, freespace, freechunks,
-                totalspace - freespace);
+        char        stats_string[200];
+
+        snprintf(stats_string, sizeof(stats_string),
+                 "%zu total in %zd blocks; %zu free (%zd chunks); %zu used",
+                 totalspace, nblocks, freespace, freechunks,
+                 totalspace - freespace);
+        printfunc(context, passthru, stats_string);
     }

     if (totals)
diff --git a/src/backend/utils/mmgr/generation.c b/src/backend/utils/mmgr/generation.c
index 338386a..7ee3c48 100644
--- a/src/backend/utils/mmgr/generation.c
+++ b/src/backend/utils/mmgr/generation.c
@@ -61,7 +61,6 @@ typedef struct GenerationContext

     /* Generational context parameters */
     Size        blockSize;        /* standard block size */
-    Size        headerSize;        /* allocated size of context header */

     GenerationBlock *block;        /* current (most recently allocated) block */
     dlist_head    blocks;            /* list of blocks */
@@ -154,7 +153,8 @@ static void GenerationReset(MemoryContext context);
 static void GenerationDelete(MemoryContext context);
 static Size GenerationGetChunkSpace(MemoryContext context, void *pointer);
 static bool GenerationIsEmpty(MemoryContext context);
-static void GenerationStats(MemoryContext context, int level, bool print,
+static void GenerationStats(MemoryContext context,
+                MemoryStatsPrintFunc printfunc, void *passthru,
                 MemoryContextCounters *totals);

 #ifdef MEMORY_CONTEXT_CHECKING
@@ -203,14 +203,16 @@ static const MemoryContextMethods GenerationMethods = {
 /*
  * GenerationContextCreate
  *        Create a new Generation context.
+ *
+ * parent: parent context, or NULL if top-level context
+ * name: name of context (must be statically allocated)
+ * blockSize: generation block size
  */
 MemoryContext
 GenerationContextCreate(MemoryContext parent,
                         const char *name,
-                        int flags,
                         Size blockSize)
 {
-    Size        headerSize;
     GenerationContext *set;

     /* Assert we padded GenerationChunk properly */
@@ -238,13 +240,7 @@ GenerationContextCreate(MemoryContext parent,
      * freeing the first generation of allocations.
      */

-    /* Size of the memory context header, including name storage if needed */
-    if (flags & MEMCONTEXT_COPY_NAME)
-        headerSize = MAXALIGN(sizeof(GenerationContext) + strlen(name) + 1);
-    else
-        headerSize = MAXALIGN(sizeof(GenerationContext));
-
-    set = (GenerationContext *) malloc(headerSize);
+    set = (GenerationContext *) malloc(MAXALIGN(sizeof(GenerationContext)));
     if (set == NULL)
     {
         MemoryContextStats(TopMemoryContext);
@@ -262,19 +258,15 @@ GenerationContextCreate(MemoryContext parent,

     /* Fill in GenerationContext-specific header fields */
     set->blockSize = blockSize;
-    set->headerSize = headerSize;
     set->block = NULL;
     dlist_init(&set->blocks);

     /* Finally, do the type-independent part of context creation */
     MemoryContextCreate((MemoryContext) set,
                         T_GenerationContext,
-                        headerSize,
-                        sizeof(GenerationContext),
                         &GenerationMethods,
                         parent,
-                        name,
-                        flags);
+                        name);

     return (MemoryContext) set;
 }
@@ -683,15 +675,16 @@ GenerationIsEmpty(MemoryContext context)
  * GenerationStats
  *        Compute stats about memory consumption of a Generation context.
  *
- * level: recursion level (0 at top level); used for print indentation.
- * print: true to print stats to stderr.
- * totals: if not NULL, add stats about this Generation into *totals.
+ * printfunc: if not NULL, pass a human-readable stats string to this.
+ * passthru: pass this pointer through to printfunc.
+ * totals: if not NULL, add stats about this context into *totals.
  *
  * XXX freespace only accounts for empty space at the end of the block, not
  * space of freed chunks (which is unknown).
  */
 static void
-GenerationStats(MemoryContext context, int level, bool print,
+GenerationStats(MemoryContext context,
+                MemoryStatsPrintFunc printfunc, void *passthru,
                 MemoryContextCounters *totals)
 {
     GenerationContext *set = (GenerationContext *) context;
@@ -703,7 +696,7 @@ GenerationStats(MemoryContext context, int level, bool print,
     dlist_iter    iter;

     /* Include context header in totalspace */
-    totalspace = set->headerSize;
+    totalspace = MAXALIGN(sizeof(GenerationContext));

     dlist_foreach(iter, &set->blocks)
     {
@@ -716,16 +709,15 @@ GenerationStats(MemoryContext context, int level, bool print,
         freespace += (block->endptr - block->freeptr);
     }

-    if (print)
+    if (printfunc)
     {
-        int            i;
-
-        for (i = 0; i < level; i++)
-            fprintf(stderr, "  ");
-        fprintf(stderr,
-                "Generation: %s: %zu total in %zd blocks (%zd chunks); %zu free (%zd chunks); %zu used\n",
-                ((MemoryContext) set)->name, totalspace, nblocks, nchunks, freespace,
-                nfreechunks, totalspace - freespace);
+        char        stats_string[200];
+
+        snprintf(stats_string, sizeof(stats_string),
+                 "%zu total in %zd blocks (%zd chunks); %zu free (%zd chunks); %zu used",
+                 totalspace, nblocks, nchunks, freespace,
+                 nfreechunks, totalspace - freespace);
+        printfunc(context, passthru, stats_string);
     }

     if (totals)
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index d7baa54..f50cdca 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -55,6 +55,8 @@ static void MemoryContextCallResetCallbacks(MemoryContext context);
 static void MemoryContextStatsInternal(MemoryContext context, int level,
                            bool print, int max_children,
                            MemoryContextCounters *totals);
+static void MemoryContextStatsPrint(MemoryContext context, void *passthru,
+                        const char *stats_string);

 /*
  * You should not do memory allocations within a critical section, because
@@ -118,7 +120,6 @@ MemoryContextInit(void)
      */
     ErrorContext = AllocSetContextCreateExtended(TopMemoryContext,
                                                  "ErrorContext",
-                                                 0,
                                                  8 * 1024,
                                                  8 * 1024,
                                                  8 * 1024);
@@ -296,6 +297,23 @@ MemoryContextCallResetCallbacks(MemoryContext context)
 }

 /*
+ * MemoryContextSetIdentifier
+ *        Set the identifier string for a memory context.
+ *
+ * An identifier can be provided to help distinguish among different contexts
+ * of the same kind in memory context stats dumps.  The identifier string
+ * must live at least as long as the context it is for; typically it is
+ * allocated inside that context, so that it automatically goes away on
+ * context deletion.  Pass id = NULL to forget any old identifier.
+ */
+void
+MemoryContextSetIdentifier(MemoryContext context, const char *id)
+{
+    AssertArg(MemoryContextIsValid(context));
+    context->ident = id;
+}
+
+/*
  * MemoryContextSetParent
  *        Change a context to belong to a new parent (or no parent).
  *
@@ -480,7 +498,10 @@ MemoryContextStatsInternal(MemoryContext context, int level,
     AssertArg(MemoryContextIsValid(context));

     /* Examine the context itself */
-    context->methods->stats(context, level, print, totals);
+    context->methods->stats(context,
+                            print ? MemoryContextStatsPrint : NULL,
+                            (void *) &level,
+                            totals);

     /*
      * Examine children.  If there are more than max_children of them, we do
@@ -532,6 +553,28 @@ MemoryContextStatsInternal(MemoryContext context, int level,
 }

 /*
+ * MemoryContextStatsPrint
+ *        Print callback used by MemoryContextStatsInternal
+ *
+ * For now, the passthru pointer just points to "int level"; later we might
+ * make that more complicated.
+ */
+static void
+MemoryContextStatsPrint(MemoryContext context, void *passthru,
+                        const char *stats_string)
+{
+    int            level = *(int *) passthru;
+    int            i;
+
+    for (i = 0; i < level; i++)
+        fprintf(stderr, "  ");
+    fprintf(stderr, "%s", context->name);
+    if (context->ident)
+        fprintf(stderr, " %s", context->ident);
+    fprintf(stderr, ": %s\n", stats_string);
+}
+
+/*
  * MemoryContextCheck
  *        Check all chunks in the named context.
  *
@@ -612,34 +655,23 @@ MemoryContextContains(MemoryContext context, void *pointer)
  *
  * node: the as-yet-uninitialized common part of the context header node.
  * tag: NodeTag code identifying the memory context type.
- * size: total size of context header including context-type-specific fields,
- *        as well as space for the context name if MEMCONTEXT_COPY_NAME is set.
- * nameoffset: where within the "size" space to insert the context name.
  * methods: context-type-specific methods (usually statically allocated).
  * parent: parent context, or NULL if this will be a top-level context.
- * name: name of context (for debugging only, need not be unique).
- * flags: bitmask of MEMCONTEXT_XXX option flags.
+ * name: name of context (must be statically allocated).
  *
  * Context routines generally assume that MemoryContextCreate can't fail,
  * so this can contain Assert but not elog/ereport.
  */
 void
 MemoryContextCreate(MemoryContext node,
-                    NodeTag tag, Size size, Size nameoffset,
+                    NodeTag tag,
                     const MemoryContextMethods *methods,
                     MemoryContext parent,
-                    const char *name,
-                    int flags)
+                    const char *name)
 {
     /* Creating new memory contexts is not allowed in a critical section */
     Assert(CritSectionCount == 0);

-    /* Check size is sane */
-    Assert(nameoffset >= sizeof(MemoryContextData));
-    Assert((flags & MEMCONTEXT_COPY_NAME) ?
-           size >= nameoffset + strlen(name) + 1 :
-           size >= nameoffset);
-
     /* Initialize all standard fields of memory context header */
     node->type = tag;
     node->isReset = true;
@@ -647,22 +679,10 @@ MemoryContextCreate(MemoryContext node,
     node->parent = parent;
     node->firstchild = NULL;
     node->prevchild = NULL;
+    node->name = name;
+    node->ident = NULL;
     node->reset_cbs = NULL;

-    if (flags & MEMCONTEXT_COPY_NAME)
-    {
-        /* Insert context name into space reserved for it */
-        char       *namecopy = ((char *) node) + nameoffset;
-
-        node->name = namecopy;
-        strcpy(namecopy, name);
-    }
-    else
-    {
-        /* Assume the passed-in name is statically allocated */
-        node->name = name;
-    }
-
     /* OK to link node into context tree */
     if (parent)
     {
diff --git a/src/backend/utils/mmgr/slab.c b/src/backend/utils/mmgr/slab.c
index 58beb64..26b0a15 100644
--- a/src/backend/utils/mmgr/slab.c
+++ b/src/backend/utils/mmgr/slab.c
@@ -131,7 +131,8 @@ static void SlabReset(MemoryContext context);
 static void SlabDelete(MemoryContext context);
 static Size SlabGetChunkSpace(MemoryContext context, void *pointer);
 static bool SlabIsEmpty(MemoryContext context);
-static void SlabStats(MemoryContext context, int level, bool print,
+static void SlabStats(MemoryContext context,
+          MemoryStatsPrintFunc printfunc, void *passthru,
           MemoryContextCounters *totals);
 #ifdef MEMORY_CONTEXT_CHECKING
 static void SlabCheck(MemoryContext context);
@@ -176,27 +177,22 @@ static const MemoryContextMethods SlabMethods = {
  *        Create a new Slab context.
  *
  * parent: parent context, or NULL if top-level context
- * name: name of context (for debugging only, need not be unique)
- * flags: bitmask of MEMCONTEXT_XXX option flags
+ * name: name of context (must be statically allocated)
  * blockSize: allocation block size
  * chunkSize: allocation chunk size
  *
- * Notes: if flags & MEMCONTEXT_COPY_NAME, the name string will be copied into
- * context-lifespan storage; otherwise, it had better be statically allocated.
  * The chunkSize may not exceed:
  *        MAXALIGN_DOWN(SIZE_MAX) - MAXALIGN(sizeof(SlabBlock)) - SLAB_CHUNKHDRSZ
  */
 MemoryContext
 SlabContextCreate(MemoryContext parent,
                   const char *name,
-                  int flags,
                   Size blockSize,
                   Size chunkSize)
 {
     int            chunksPerBlock;
     Size        fullChunkSize;
     Size        freelistSize;
-    Size        nameOffset;
     Size        headerSize;
     SlabContext *slab;
     int            i;
@@ -231,12 +227,8 @@ SlabContextCreate(MemoryContext parent,
      * this with the first regular block; not worth the extra complication.
      */

-    /* Size of the memory context header, including name storage if needed */
-    nameOffset = offsetof(SlabContext, freelist) + freelistSize;
-    if (flags & MEMCONTEXT_COPY_NAME)
-        headerSize = nameOffset + strlen(name) + 1;
-    else
-        headerSize = nameOffset;
+    /* Size of the memory context header */
+    headerSize = offsetof(SlabContext, freelist) + freelistSize;

     slab = (SlabContext *) malloc(headerSize);
     if (slab == NULL)
@@ -270,12 +262,9 @@ SlabContextCreate(MemoryContext parent,
     /* Finally, do the type-independent part of context creation */
     MemoryContextCreate((MemoryContext) slab,
                         T_SlabContext,
-                        headerSize,
-                        nameOffset,
                         &SlabMethods,
                         parent,
-                        name,
-                        flags);
+                        name);

     return (MemoryContext) slab;
 }
@@ -634,12 +623,13 @@ SlabIsEmpty(MemoryContext context)
  * SlabStats
  *        Compute stats about memory consumption of a Slab context.
  *
- * level: recursion level (0 at top level); used for print indentation.
- * print: true to print stats to stderr.
- * totals: if not NULL, add stats about this Slab into *totals.
+ * printfunc: if not NULL, pass a human-readable stats string to this.
+ * passthru: pass this pointer through to printfunc.
+ * totals: if not NULL, add stats about this context into *totals.
  */
 static void
-SlabStats(MemoryContext context, int level, bool print,
+SlabStats(MemoryContext context,
+          MemoryStatsPrintFunc printfunc, void *passthru,
           MemoryContextCounters *totals)
 {
     SlabContext *slab = castNode(SlabContext, context);
@@ -667,14 +657,15 @@ SlabStats(MemoryContext context, int level, bool print,
         }
     }

-    if (print)
+    if (printfunc)
     {
-        for (i = 0; i < level; i++)
-            fprintf(stderr, "  ");
-        fprintf(stderr,
-                "Slab: %s: %zu total in %zd blocks; %zu free (%zd chunks); %zu used\n",
-                slab->header.name, totalspace, nblocks, freespace, freechunks,
-                totalspace - freespace);
+        char        stats_string[200];
+
+        snprintf(stats_string, sizeof(stats_string),
+                 "%zu total in %zd blocks; %zu free (%zd chunks); %zu used",
+                 totalspace, nblocks, freespace, freechunks,
+                 totalspace - freespace);
+        printfunc(context, passthru, stats_string);
     }

     if (totals)
diff --git a/src/include/nodes/memnodes.h b/src/include/nodes/memnodes.h
index ccb64f0..2a8d83f 100644
--- a/src/include/nodes/memnodes.h
+++ b/src/include/nodes/memnodes.h
@@ -39,18 +39,21 @@ typedef struct MemoryContextCounters
  *        A logical context in which memory allocations occur.
  *
  * MemoryContext itself is an abstract type that can have multiple
- * implementations, though for now we have only AllocSetContext.
+ * implementations.
  * The function pointers in MemoryContextMethods define one specific
  * implementation of MemoryContext --- they are a virtual function table
  * in C++ terms.
  *
  * Node types that are actual implementations of memory contexts must
- * begin with the same fields as MemoryContext.
+ * begin with the same fields as MemoryContextData.
  *
  * Note: for largely historical reasons, typedef MemoryContext is a pointer
  * to the context struct rather than the struct type itself.
  */

+typedef void (*MemoryStatsPrintFunc) (MemoryContext context, void *passthru,
+                                      const char *stats_string);
+
 typedef struct MemoryContextMethods
 {
     void       *(*alloc) (MemoryContext context, Size size);
@@ -61,7 +64,8 @@ typedef struct MemoryContextMethods
     void        (*delete_context) (MemoryContext context);
     Size        (*get_chunk_space) (MemoryContext context, void *pointer);
     bool        (*is_empty) (MemoryContext context);
-    void        (*stats) (MemoryContext context, int level, bool print,
+    void        (*stats) (MemoryContext context,
+                          MemoryStatsPrintFunc printfunc, void *passthru,
                           MemoryContextCounters *totals);
 #ifdef MEMORY_CONTEXT_CHECKING
     void        (*check) (MemoryContext context);
@@ -81,6 +85,7 @@ typedef struct MemoryContextData
     MemoryContext prevchild;    /* previous child of same parent */
     MemoryContext nextchild;    /* next child of same parent */
     const char *name;            /* context name (just for debugging) */
+    const char *ident;            /* context ID if any (just for debugging) */
     MemoryContextCallback *reset_cbs;    /* list of reset/delete callbacks */
 } MemoryContextData;

diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h
index 6e6c6f2..4f2ca26 100644
--- a/src/include/utils/memutils.h
+++ b/src/include/utils/memutils.h
@@ -76,6 +76,7 @@ extern void MemoryContextDelete(MemoryContext context);
 extern void MemoryContextResetOnly(MemoryContext context);
 extern void MemoryContextResetChildren(MemoryContext context);
 extern void MemoryContextDeleteChildren(MemoryContext context);
+extern void MemoryContextSetIdentifier(MemoryContext context, const char *id);
 extern void MemoryContextSetParent(MemoryContext context,
                        MemoryContext new_parent);
 extern Size GetMemoryChunkSpace(void *pointer);
@@ -91,6 +92,10 @@ extern void MemoryContextCheck(MemoryContext context);
 #endif
 extern bool MemoryContextContains(MemoryContext context, void *pointer);

+/* Handy macro for copying and assigning context ID ... but note double eval */
+#define MemoryContextCopySetIdentifier(cxt, id) \
+    MemoryContextSetIdentifier(cxt, MemoryContextStrdup(cxt, id))
+
 /*
  * GetMemoryChunkContext
  *        Given a currently-allocated chunk, determine the context
@@ -133,11 +138,10 @@ GetMemoryChunkContext(void *pointer)
  * specific creation routines, and noplace else.
  */
 extern void MemoryContextCreate(MemoryContext node,
-                    NodeTag tag, Size size, Size nameoffset,
+                    NodeTag tag,
                     const MemoryContextMethods *methods,
                     MemoryContext parent,
-                    const char *name,
-                    int flags);
+                    const char *name);


 /*
@@ -147,47 +151,38 @@ extern void MemoryContextCreate(MemoryContext node,
 /* aset.c */
 extern MemoryContext AllocSetContextCreateExtended(MemoryContext parent,
                               const char *name,
-                              int flags,
                               Size minContextSize,
                               Size initBlockSize,
                               Size maxBlockSize);

 /*
- * This backwards compatibility macro only works for constant context names,
- * and you must specify block sizes with one of the abstraction macros below.
+ * This wrapper macro exists to check for non-constant strings used as context
+ * names; that's no longer supported.  (Use MemoryContextSetIdentifier if you
+ * want to provide a variable identifier.)  Note you must specify block sizes
+ * with one of the abstraction macros below.
  */
 #ifdef HAVE__BUILTIN_CONSTANT_P
 #define AllocSetContextCreate(parent, name, allocparams) \
     (StaticAssertExpr(__builtin_constant_p(name), \
-                      "Use AllocSetContextCreateExtended with MEMCONTEXT_COPY_NAME for non-constant context names"), \
-     AllocSetContextCreateExtended(parent, name, 0, allocparams))
+                      "memory context names must be constant strings"), \
+     AllocSetContextCreateExtended(parent, name, allocparams))
 #else
 #define AllocSetContextCreate(parent, name, allocparams) \
-    AllocSetContextCreateExtended(parent, name, 0, allocparams)
+    AllocSetContextCreateExtended(parent, name, allocparams)
 #endif

 /* slab.c */
 extern MemoryContext SlabContextCreate(MemoryContext parent,
                   const char *name,
-                  int flags,
                   Size blockSize,
                   Size chunkSize);

 /* generation.c */
 extern MemoryContext GenerationContextCreate(MemoryContext parent,
                         const char *name,
-                        int flags,
                         Size blockSize);

 /*
- * Flag option bits for FooContextCreate functions.
- * In future, some of these might be relevant to only some context types.
- *
- * COPY_NAME: FooContextCreate's name argument is not a constant string
- */
-#define MEMCONTEXT_COPY_NAME        0x0001    /* is passed name transient? */
-
-/*
  * Recommended default alloc parameters, suitable for "ordinary" contexts
  * that might hold quite a lot of data.
  */
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index d44089a..7c0d665 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -2782,10 +2782,9 @@ compile_plperl_function(Oid fn_oid, bool is_trigger, bool is_event_trigger)
         /************************************************************
          * Allocate a context that will hold all PG data for the procedure.
          ************************************************************/
-        proc_cxt = AllocSetContextCreateExtended(TopMemoryContext,
-                                                 NameStr(procStruct->proname),
-                                                 MEMCONTEXT_COPY_NAME,
-                                                 ALLOCSET_SMALL_SIZES);
+        proc_cxt = AllocSetContextCreate(TopMemoryContext,
+                                         "PL/Perl function",
+                                         ALLOCSET_SMALL_SIZES);

         /************************************************************
          * Allocate and fill a new procedure description block.
@@ -2794,6 +2793,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger, bool is_event_trigger)
         oldcontext = MemoryContextSwitchTo(proc_cxt);
         prodesc = (plperl_proc_desc *) palloc0(sizeof(plperl_proc_desc));
         prodesc->proname = pstrdup(NameStr(procStruct->proname));
+        MemoryContextSetIdentifier(proc_cxt, prodesc->proname);
         prodesc->fn_cxt = proc_cxt;
         prodesc->fn_refcount = 0;
         prodesc->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index b1a0c1c..5993325 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -342,11 +342,12 @@ do_compile(FunctionCallInfo fcinfo,
      * per-function memory context, so it can be reclaimed easily.
      */
     func_cxt = AllocSetContextCreate(TopMemoryContext,
-                                     "PL/pgSQL function context",
+                                     "PL/pgSQL function",
                                      ALLOCSET_DEFAULT_SIZES);
     plpgsql_compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);

     function->fn_signature = format_procedure(fcinfo->flinfo->fn_oid);
+    MemoryContextSetIdentifier(func_cxt, function->fn_signature);
     function->fn_oid = fcinfo->flinfo->fn_oid;
     function->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
     function->fn_tid = procTup->t_self;
diff --git a/src/pl/plpython/plpy_procedure.c b/src/pl/plpython/plpy_procedure.c
index b4c4dcd..16f1278 100644
--- a/src/pl/plpython/plpy_procedure.c
+++ b/src/pl/plpython/plpy_procedure.c
@@ -164,10 +164,9 @@ PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger)
     }

     /* Create long-lived context that all procedure info will live in */
-    cxt = AllocSetContextCreateExtended(TopMemoryContext,
-                                        procName,
-                                        MEMCONTEXT_COPY_NAME,
-                                        ALLOCSET_DEFAULT_SIZES);
+    cxt = AllocSetContextCreate(TopMemoryContext,
+                                "PL/Python function",
+                                ALLOCSET_DEFAULT_SIZES);

     oldcxt = MemoryContextSwitchTo(cxt);

@@ -183,6 +182,7 @@ PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger)
         int            i;

         proc->proname = pstrdup(NameStr(procStruct->proname));
+        MemoryContextSetIdentifier(cxt, proc->proname);
         proc->pyname = pstrdup(procName);
         proc->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
         proc->fn_tid = procTup->t_self;
diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c
index 865071b..558cabc 100644
--- a/src/pl/tcl/pltcl.c
+++ b/src/pl/tcl/pltcl.c
@@ -1479,12 +1479,10 @@ compile_pltcl_function(Oid fn_oid, Oid tgreloid,

         /************************************************************
          * Allocate a context that will hold all PG data for the procedure.
-         * We use the internal proc name as the context name.
          ************************************************************/
-        proc_cxt = AllocSetContextCreateExtended(TopMemoryContext,
-                                                 internal_proname,
-                                                 MEMCONTEXT_COPY_NAME,
-                                                 ALLOCSET_SMALL_SIZES);
+        proc_cxt = AllocSetContextCreate(TopMemoryContext,
+                                         "PL/Tcl function",
+                                         ALLOCSET_SMALL_SIZES);

         /************************************************************
          * Allocate and fill a new procedure description block.
@@ -1493,6 +1491,7 @@ compile_pltcl_function(Oid fn_oid, Oid tgreloid,
         oldcontext = MemoryContextSwitchTo(proc_cxt);
         prodesc = (pltcl_proc_desc *) palloc0(sizeof(pltcl_proc_desc));
         prodesc->user_proname = pstrdup(NameStr(procStruct->proname));
+        MemoryContextSetIdentifier(proc_cxt, prodesc->user_proname);
         prodesc->internal_proname = pstrdup(internal_proname);
         prodesc->fn_cxt = proc_cxt;
         prodesc->fn_refcount = 0;
TopMemoryContext: 2143904 total in 12 blocks; 614592 free (49 chunks); 1529312 used
  TopTransactionContext: 8192 total in 1 blocks; 7728 free (1 chunks); 464 used
  PL/pgSQL function fx(wslot): 8192 total in 1 blocks; 3608 free (2 chunks); 4584 used
  PL/pgSQL function list_partitioned_table(): 8192 total in 1 blocks; 1976 free (2 chunks); 6216 used
  dynahash Btree proof lookup cache: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  PL/pgSQL function get_from_partitioned_table(integer): 8192 total in 1 blocks; 2224 free (2 chunks); 5968 used
  PL/pgSQL function multi_test_trig(): 16384 total in 2 blocks; 7456 free (1 chunks); 8928 used
  PL/pgSQL function multi_test_trig(): 16384 total in 2 blocks; 7360 free (4 chunks); 9024 used
  PL/pgSQL function alter_table_under_transition_tables_upd_func(): 16384 total in 2 blocks; 6768 free (1 chunks); 9616
used
  PL/pgSQL function alter_table_under_transition_tables_upd_func(): 16384 total in 2 blocks; 6672 free (4 chunks); 9712
used
  PL/pgSQL function transition_table_level2_ri_child_insupd_func(): 16384 total in 2 blocks; 6184 free (1 chunks);
10200used 
  PL/pgSQL function transition_table_level1_ri_parent_upd_func(): 16384 total in 2 blocks; 2632 free (2 chunks); 13752
used
  PL/pgSQL function transition_table_level1_ri_parent_del_func(): 16384 total in 2 blocks; 4088 free (3 chunks); 12296
used
  PL/pgSQL function transition_table_level2_bad_usage_func(): 16384 total in 2 blocks; 8536 free (1 chunks); 7848 used
  PL/pgSQL function transition_table_level2_bad_usage_func(): 16384 total in 2 blocks; 8440 free (2 chunks); 7944 used
  PL/pgSQL function transition_table_level2_ri_child_insupd_func(): 16384 total in 2 blocks; 6280 free (1 chunks);
10104used 
  dynahash Attopt cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function transition_table_level2_ri_child_insupd_func(): 16384 total in 2 blocks; 6216 free (1 chunks);
10168used 
  PL/pgSQL function transition_table_level1_ri_parent_upd_func(): 16384 total in 2 blocks; 2664 free (2 chunks); 13720
used
  PL/pgSQL function transition_table_level1_ri_parent_del_func(): 16384 total in 2 blocks; 4120 free (3 chunks); 12264
used
  PL/pgSQL function transition_table_base_upd_func(): 32768 total in 3 blocks; 17120 free (2 chunks); 15648 used
  PL/pgSQL function transition_table_base_upd_func(): 32768 total in 3 blocks; 17088 free (3 chunks); 15680 used
  PL/pgSQL function transition_table_base_ins_func(): 32768 total in 3 blocks; 17376 free (2 chunks); 15392 used
  PL/pgSQL function transition_table_base_ins_func(): 32768 total in 3 blocks; 17344 free (3 chunks); 15424 used
  dynahash pgstat TabStatusArray lookup hash table: 16384 total in 2 blocks; 6424 free (2 chunks); 9960 used
  PL/pgSQL function plpgsql_arr_domain_check(integer[]): 8192 total in 1 blocks; 3896 free (2 chunks); 4296 used
  PL/pgSQL function plpgsql_domain_check(integer): 8192 total in 1 blocks; 4064 free (2 chunks); 4128 used
  PL/pgSQL function outer_outer_func(integer): 16384 total in 2 blocks; 8552 free (2 chunks); 7832 used
  PL/pgSQL function outer_func(integer): 16384 total in 2 blocks; 8584 free (2 chunks); 7800 used
  PL/pgSQL function inner_func(integer): 16384 total in 2 blocks; 2336 free (2 chunks); 14048 used
  PL/pgSQL function outer_outer_func(integer): 16384 total in 2 blocks; 8552 free (2 chunks); 7832 used
  PL/pgSQL function outer_func(integer): 16384 total in 2 blocks; 8584 free (2 chunks); 7800 used
  PL/pgSQL function inner_func(integer): 16384 total in 2 blocks; 7160 free (2 chunks); 9224 used
  PL/pgSQL function consumes_rw_array(integer[]): 8192 total in 1 blocks; 3968 free (2 chunks); 4224 used
  PL/pgSQL function returns_rw_array(integer): 16384 total in 2 blocks; 8920 free (2 chunks); 7464 used
  PL/pgSQL function testoa(integer,integer,integer): 16384 total in 2 blocks; 7528 free (2 chunks); 8856 used
  PL/pgSQL function arrayassign1(): 16384 total in 2 blocks; 8064 free (2 chunks); 8320 used
  PL/pgSQL function foreach_test(anyarray): 16384 total in 2 blocks; 7408 free (2 chunks); 8976 used
  PL/pgSQL function foreach_test(anyarray): 16384 total in 2 blocks; 7384 free (2 chunks); 9000 used
  PL/pgSQL function unreserved_test(): 16384 total in 2 blocks; 9304 free (2 chunks); 7080 used
  PL/pgSQL function conflict_test(): 16384 total in 2 blocks; 6032 free (2 chunks); 10352 used
  PL/pgSQL function scope_test(): 16384 total in 2 blocks; 2808 free (2 chunks); 13576 used
  PL/pgSQL function strtest(): 8192 total in 1 blocks; 4296 free (2 chunks); 3896 used
  PL/pgSQL function fail(): 8192 total in 1 blocks; 4584 free (2 chunks); 3608 used
  PL/pgSQL function cast_invoker(integer): 8192 total in 1 blocks; 4376 free (1 chunks); 3816 used
  PL/pgSQL function error2(text): 8192 total in 1 blocks; 3112 free (1 chunks); 5080 used
  PL/pgSQL function error2(text): 8192 total in 1 blocks; 3048 free (2 chunks); 5144 used
  PL/pgSQL function recurse(double precision): 8192 total in 1 blocks; 3416 free (2 chunks); 4776 used
  PL/pgSQL function nonsimple_expr_test(): 16384 total in 2 blocks; 7608 free (2 chunks); 8776 used
  PL/pgSQL function nonsimple_expr_test(): 32768 total in 3 blocks; 17808 free (2 chunks); 14960 used
  PL/pgSQL function leaker_2(boolean): 8192 total in 1 blocks; 1760 free (1 chunks); 6432 used
  PL/pgSQL function leaker_1(boolean): 16384 total in 2 blocks; 7192 free (2 chunks); 9192 used
  PL/pgSQL function rttest(): 32768 total in 3 blocks; 15832 free (2 chunks); 16936 used
  PL/pgSQL function tftest(integer): 8192 total in 1 blocks; 1256 free (1 chunks); 6936 used
  PL/pgSQL function pleast(numeric): 8192 total in 1 blocks; 4000 free (1 chunks); 4192 used
  PL/pgSQL function pleast(numeric[]): 16384 total in 2 blocks; 6888 free (2 chunks); 9496 used
  PL/pgSQL function vari(integer[]): 8192 total in 1 blocks; 2440 free (2 chunks); 5752 used
  PL/pgSQL function stacked_diagnostics_test(): 32768 total in 3 blocks; 8208 free (2 chunks); 24560 used
  PL/pgSQL function raise_test(): 8192 total in 1 blocks; 1928 free (2 chunks); 6264 used
  PL/pgSQL function stacked_diagnostics_test(): 16384 total in 2 blocks; 2376 free (2 chunks); 14008 used
  PL/pgSQL function zero_divide(): 16384 total in 2 blocks; 9512 free (2 chunks); 6872 used
  PL/pgSQL function compos(): 8192 total in 1 blocks; 4496 free (2 chunks); 3696 used
  PL/pgSQL function compos(): 16384 total in 2 blocks; 9736 free (2 chunks); 6648 used
  PL/pgSQL function compos(): 8192 total in 1 blocks; 2504 free (2 chunks); 5688 used
  PL/pgSQL function composrec(): 8192 total in 1 blocks; 4536 free (2 chunks); 3656 used
  PL/pgSQL function compos(): 8192 total in 1 blocks; 4496 free (2 chunks); 3696 used
  PL/pgSQL function returnqueryf(): 8192 total in 1 blocks; 3912 free (2 chunks); 4280 used
  PL/pgSQL function return_dquery(): 8192 total in 1 blocks; 3312 free (2 chunks); 4880 used
  PL/pgSQL function forc_bad(): 16384 total in 2 blocks; 10088 free (3 chunks); 6296 used
  PL/pgSQL function forc01(): 16384 total in 2 blocks; 2952 free (2 chunks); 13432 used
  PL/pgSQL function exc_using(integer): 32768 total in 3 blocks; 20416 free (4 chunks); 12352 used
  PL/pgSQL function exc_using(integer,text): 16384 total in 2 blocks; 5304 free (3 chunks); 11080 used
  PL/pgSQL function exc_using(integer,text): 16384 total in 2 blocks; 5336 free (3 chunks); 11048 used
  PL/pgSQL function ret_query2(integer): 8192 total in 1 blocks; 2504 free (2 chunks); 5688 used
  PL/pgSQL function ret_query1(): 8192 total in 1 blocks; 2128 free (1 chunks); 6064 used
  PL/pgSQL function pl_qual_names(integer): 16384 total in 2 blocks; 2568 free (2 chunks); 13816 used
  PL/pgSQL function sc_test(): 16384 total in 2 blocks; 7360 free (2 chunks); 9024 used
  PL/pgSQL function shadowtest(integer): 16384 total in 2 blocks; 9336 free (2 chunks); 7048 used
  PL/pgSQL function shadowtest(integer): 8192 total in 1 blocks; 4600 free (2 chunks); 3592 used
  PL/pgSQL function shadowtest(): 16384 total in 2 blocks; 5936 free (3 chunks); 10448 used
  PL/pgSQL function shadowtest(integer): 16384 total in 2 blocks; 6416 free (3 chunks); 9968 used
  PL/pgSQL function shadowtest(): 16384 total in 2 blocks; 6832 free (3 chunks); 9552 used
  PL/pgSQL function shadowtest(integer): 16384 total in 2 blocks; 6216 free (2 chunks); 10168 used
  PL/pgSQL function stricttest(): 32768 total in 3 blocks; 17824 free (2 chunks); 14944 used
  PL/pgSQL function stricttest(): 16384 total in 2 blocks; 8064 free (2 chunks); 8320 used
  PL/pgSQL function multi_datum_use(integer): 16384 total in 2 blocks; 5336 free (2 chunks); 11048 used
  PL/pgSQL function raise_exprs(): 32768 total in 3 blocks; 17352 free (2 chunks); 15416 used
  PL/pgSQL function excpt_test4(): 8192 total in 1 blocks; 3136 free (2 chunks); 5056 used
  PL/pgSQL function excpt_test3(): 16384 total in 2 blocks; 5120 free (2 chunks); 11264 used
  PL/pgSQL function excpt_test2(): 8192 total in 1 blocks; 3512 free (2 chunks); 4680 used
  PL/pgSQL function excpt_test1(): 8192 total in 1 blocks; 3992 free (2 chunks); 4200 used
  PL/pgSQL function execute_into_test(character varying): 32768 total in 3 blocks; 6632 free (2 chunks); 26136 used
  PL/pgSQL function execute_into_test(character varying): 32768 total in 3 blocks; 6856 free (2 chunks); 25912 used
  PL/pgSQL function missing_return_expr(): 8192 total in 1 blocks; 4568 free (2 chunks); 3624 used
  PL/pgSQL function void_return_expr(): 8192 total in 1 blocks; 4472 free (2 chunks); 3720 used
  PL/pgSQL function void_return_expr(): 8192 total in 1 blocks; 4960 free (2 chunks); 3232 used
  PL/pgSQL function missing_return_expr(): 8192 total in 1 blocks; 3912 free (2 chunks); 4280 used
  PL/pgSQL function bad_sql2(): 16384 total in 2 blocks; 9800 free (3 chunks); 6584 used
  PL/pgSQL function bad_sql1(): 16384 total in 2 blocks; 9640 free (2 chunks); 6744 used
  PL/pgSQL function reraise_test(): 16384 total in 2 blocks; 6888 free (2 chunks); 9496 used
  PL/pgSQL function raise_test3(integer): 8192 total in 1 blocks; 4096 free (1 chunks); 4096 used
  PL/pgSQL function raise_test2(integer): 8192 total in 1 blocks; 3896 free (2 chunks); 4296 used
  PL/pgSQL function raise_test1(integer): 8192 total in 1 blocks; 4160 free (2 chunks); 4032 used
  PL/pgSQL function namedparmcursor_test9(integer): 32768 total in 3 blocks; 10600 free (2 chunks); 22168 used
  PL/pgSQL function namedparmcursor_test8(): 32768 total in 3 blocks; 17664 free (2 chunks); 15104 used
  PL/pgSQL function namedparmcursor_test7(): 16384 total in 2 blocks; 4720 free (2 chunks); 11664 used
  PL/pgSQL function namedparmcursor_test6(): 16384 total in 2 blocks; 5520 free (2 chunks); 10864 used
  PL/pgSQL function namedparmcursor_test5(): 16384 total in 2 blocks; 5488 free (2 chunks); 10896 used
  PL/pgSQL function namedparmcursor_test4(): 16384 total in 2 blocks; 5536 free (2 chunks); 10848 used
  PL/pgSQL function namedparmcursor_test3(): 16384 total in 2 blocks; 5536 free (2 chunks); 10848 used
  PL/pgSQL function namedparmcursor_test2(integer,integer): 32768 total in 3 blocks; 15920 free (2 chunks); 16848 used
  PL/pgSQL function namedparmcursor_test1(integer,integer): 32768 total in 3 blocks; 15888 free (2 chunks); 16880 used
  PL/pgSQL function refcursor_test2(integer,integer): 32768 total in 3 blocks; 16032 free (2 chunks); 16736 used
  PL/pgSQL function refcursor_test1(refcursor): 8192 total in 1 blocks; 2912 free (2 chunks); 5280 used
  PL/pgSQL function return_refcursor(refcursor): 8192 total in 1 blocks; 2768 free (2 chunks); 5424 used
  PL/pgSQL function use_refcursor(refcursor): 16384 total in 2 blocks; 4376 free (6 chunks); 12008 used
  PL/pgSQL function return_unnamed_refcursor(): 16384 total in 2 blocks; 9424 free (2 chunks); 6960 used
  PL/pgSQL function sp_add_user(text): 16384 total in 2 blocks; 5560 free (2 chunks); 10824 used
  PL/pgSQL function sp_add_user(text): 16384 total in 2 blocks; 5624 free (3 chunks); 10760 used
  PL/pgSQL function sp_id_user(text): 16384 total in 2 blocks; 7072 free (2 chunks); 9312 used
  PL/pgSQL function sp_id_user(text): 16384 total in 2 blocks; 7040 free (3 chunks); 9344 used
  dynahash Sequence values: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function trap_foreign_key_2(): 8192 total in 1 blocks; 2240 free (2 chunks); 5952 used
  PL/pgSQL function trap_foreign_key(integer): 8192 total in 1 blocks; 1832 free (2 chunks); 6360 used
  dynahash RI compare cache: 8192 total in 1 blocks; 2592 free (0 chunks); 5600 used
  dynahash RI query cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  dynahash RI constraint cache: 40896 total in 2 blocks; 2592 free (0 chunks); 38304 used
  PL/pgSQL function test_variable_storage(): 16384 total in 2 blocks; 6992 free (2 chunks); 9392 used
  PL/pgSQL function trap_timeout(): 16384 total in 2 blocks; 6920 free (2 chunks); 9464 used
  LocalBufferContext: 139328 total in 2 blocks; 7936 free (0 chunks); 131392 used
  dynahash Local Buffer Lookup Table: 16384 total in 2 blocks; 2456 free (3 chunks); 13928 used
  PL/pgSQL function subxact_rollback_semantics(): 16384 total in 2 blocks; 5888 free (2 chunks); 10496 used
  PL/pgSQL function trap_matching_test(integer): 32768 total in 3 blocks; 15360 free (2 chunks); 17408 used
  PL/pgSQL function trap_zero_divide(integer): 32768 total in 3 blocks; 16880 free (5 chunks); 15888 used
  PL/pgSQL function perform_test_func(): 8192 total in 1 blocks; 1352 free (2 chunks); 6840 used
  PL/pgSQL function perform_simple_func(integer): 8192 total in 1 blocks; 2768 free (2 chunks); 5424 used
  PL/pgSQL function duplic(anyelement): 8192 total in 1 blocks; 1328 free (1 chunks); 6864 used
  PL/pgSQL function duplic(anyelement): 8192 total in 1 blocks; 1232 free (1 chunks); 6960 used
  PL/pgSQL function f1(integer): 8192 total in 1 blocks; 1336 free (1 chunks); 6856 used
  PL/pgSQL function f1(integer): 8192 total in 1 blocks; 2008 free (1 chunks); 6184 used
  PL/pgSQL function f1(integer): 8192 total in 1 blocks; 2864 free (2 chunks); 5328 used
  PL/pgSQL function f1(integer): 8192 total in 1 blocks; 4000 free (2 chunks); 4192 used
  PL/pgSQL function f1(integer): 8192 total in 1 blocks; 4160 free (1 chunks); 4032 used
  PL/pgSQL function test_ret_rec_dyn(integer): 16384 total in 2 blocks; 8112 free (2 chunks); 8272 used
  dynahash Record information cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function test_ret_set_rec_dyn(integer): 16384 total in 2 blocks; 7536 free (2 chunks); 8848 used
  PL/pgSQL function test_ret_set_scalar(integer,integer): 16384 total in 2 blocks; 7632 free (2 chunks); 8752 used
  PL/pgSQL function test_table_func_row(): 8192 total in 1 blocks; 3584 free (2 chunks); 4608 used
  PL/pgSQL function test_table_func_rec(): 16384 total in 2 blocks; 9296 free (2 chunks); 7088 used
  PL/pgSQL function test_found(): 16384 total in 2 blocks; 4944 free (2 chunks); 11440 used
  PL/pgSQL function recursion_test(integer,integer): 16384 total in 2 blocks; 7520 free (2 chunks); 8864 used
  PL/pgSQL function tg_hslot_bd(): 16384 total in 2 blocks; 3064 free (2 chunks); 13320 used
  PL/pgSQL function tg_slotlink_unset(character,character): 32768 total in 3 blocks; 4656 free (2 chunks); 28112 used
  PL/pgSQL function pslot_slotlink_view(character): 32768 total in 3 blocks; 10000 free (2 chunks); 22768 used
  PL/pgSQL function wslot_slotlink_view(character): 32768 total in 3 blocks; 3600 free (2 chunks); 29168 used
  PL/pgSQL function pslot_backlink_view(character): 32768 total in 3 blocks; 3288 free (2 chunks); 29480 used
  PL/pgSQL function tg_hslot_bu(): 16384 total in 2 blocks; 3584 free (1 chunks); 12800 used
  PL/pgSQL function tg_slotlink_a(): 32768 total in 3 blocks; 9848 free (2 chunks); 22920 used
  PL/pgSQL function tg_iface_biu(): 32768 total in 3 blocks; 13424 free (2 chunks); 19344 used
  PL/pgSQL function tg_chkslotname(): 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used
  PL/pgSQL function tg_chkslotlink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  PL/pgSQL function tg_slotlink_a(): 32768 total in 3 blocks; 9720 free (2 chunks); 23048 used
  PL/pgSQL function tg_hslot_biu(): 32768 total in 3 blocks; 9264 free (2 chunks); 23504 used
  PL/pgSQL function tg_chkslotlink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  PL/pgSQL function tg_hub_adjustslots(character,integer,integer): 16384 total in 2 blocks; 7256 free (1 chunks); 9128
used
  PL/pgSQL function tg_hub_a(): 32768 total in 3 blocks; 11968 free (2 chunks); 20800 used
  PL/pgSQL function tg_slotlink_set(character,character): 65536 total in 4 blocks; 27888 free (2 chunks); 37648 used
  PL/pgSQL function tg_slotlink_a(): 32768 total in 3 blocks; 9848 free (2 chunks); 22920 used
  PL/pgSQL function tg_chkslotname(): 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used
  PL/pgSQL function tg_chkslotlink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  PL/pgSQL function tg_pline_bu(): 16384 total in 2 blocks; 4304 free (1 chunks); 12080 used
  PL/pgSQL function tg_backlink_a(): 32768 total in 3 blocks; 9688 free (2 chunks); 23080 used
  PL/pgSQL function tg_chkslotname(): 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used
  PL/pgSQL function tg_chkbacklink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  PL/pgSQL function tg_pfield_au(): 16384 total in 2 blocks; 6752 free (2 chunks); 9632 used
  PL/pgSQL function tg_backlink_unset(character,character): 32768 total in 3 blocks; 11120 free (2 chunks); 21648 used
  PL/pgSQL function tg_pslot_bu(): 16384 total in 2 blocks; 4304 free (1 chunks); 12080 used
  PL/pgSQL function tg_wslot_bu(): 16384 total in 2 blocks; 4304 free (1 chunks); 12080 used
  PL/pgSQL function tg_backlink_set(character,character): 32768 total in 3 blocks; 4520 free (2 chunks); 28248 used
  PL/pgSQL function tg_slotlink_a(): 32768 total in 3 blocks; 9656 free (2 chunks); 23112 used
  PL/pgSQL function tg_backlink_a(): 32768 total in 3 blocks; 9624 free (2 chunks); 23144 used
  PL/pgSQL function tg_pslot_biu(): 16384 total in 2 blocks; 3872 free (2 chunks); 12512 used
  PL/pgSQL function tg_chkslotname(): 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used
  PL/pgSQL function tg_chkslotlink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  PL/pgSQL function tg_chkbacklink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  PL/pgSQL function tg_slotlink_a(): 32768 total in 3 blocks; 9688 free (2 chunks); 23080 used
  PL/pgSQL function tg_backlink_a(): 32768 total in 3 blocks; 9656 free (2 chunks); 23112 used
  dynahash TableSpace cache: 8192 total in 1 blocks; 2056 free (0 chunks); 6136 used
  PL/pgSQL function tg_wslot_biu(): 16384 total in 2 blocks; 7272 free (2 chunks); 9112 used
  dynahash Operator lookup cache: 24576 total in 2 blocks; 10720 free (4 chunks); 13856 used
  PL/pgSQL function tg_chkslotname(): 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used
  PL/pgSQL function tg_chkslotlink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  dynahash Type information cache: 24360 total in 2 blocks; 2592 free (0 chunks); 21768 used
  PLpgSQL cast info: 8192 total in 1 blocks; 4536 free (0 chunks); 3656 used
    dynahash PLpgSQL cast cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function tg_chkbacklink(): 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used
  PL/pgSQL function wslot_slotlink_view(character): 32768 total in 3 blocks; 4144 free (5 chunks); 28624 used
  PL/pgSQL function pslot_slotlink_view(character): 32768 total in 3 blocks; 10352 free (2 chunks); 22416 used
  PL/pgSQL function pslot_backlink_view(character): 32768 total in 3 blocks; 3832 free (2 chunks); 28936 used
  PL/pgSQL function tg_slotlink_unset(character,character): 32768 total in 3 blocks; 4752 free (2 chunks); 28016 used
  PL/pgSQL function tg_slotlink_set(character,character): 65536 total in 4 blocks; 28784 free (2 chunks); 36752 used
  PL/pgSQL function tg_slotlink_a(): 32768 total in 3 blocks; 9944 free (2 chunks); 22824 used
  PL/pgSQL function tg_backlink_unset(character,character): 32768 total in 3 blocks; 11504 free (2 chunks); 21264 used
  PL/pgSQL function tg_backlink_set(character,character): 32768 total in 3 blocks; 5064 free (2 chunks); 27704 used
  PL/pgSQL function tg_backlink_a(): 32768 total in 3 blocks; 9944 free (2 chunks); 22824 used
  PL/pgSQL function tg_phone_bu(): 16384 total in 2 blocks; 4792 free (1 chunks); 11592 used
  PL/pgSQL function tg_hslot_bu(): 16384 total in 2 blocks; 3616 free (1 chunks); 12768 used
  PL/pgSQL function tg_iface_bu(): 16384 total in 2 blocks; 4360 free (1 chunks); 12024 used
  PL/pgSQL function tg_pline_bu(): 16384 total in 2 blocks; 4336 free (1 chunks); 12048 used
  PL/pgSQL function tg_wslot_bu(): 16384 total in 2 blocks; 4336 free (1 chunks); 12048 used
  PL/pgSQL function tg_pslot_bu(): 16384 total in 2 blocks; 4336 free (1 chunks); 12048 used
  PL/pgSQL function tg_chkbacklink(): 16384 total in 2 blocks; 7648 free (2 chunks); 8736 used
  PL/pgSQL function tg_chkslotlink(): 16384 total in 2 blocks; 7648 free (2 chunks); 8736 used
  PL/pgSQL function tg_chkslotname(): 16384 total in 2 blocks; 7600 free (2 chunks); 8784 used
  PL/pgSQL function tg_hslot_bd(): 16384 total in 2 blocks; 3160 free (2 chunks); 13224 used
  PL/pgSQL function tg_hslot_biu(): 32768 total in 3 blocks; 9552 free (2 chunks); 23216 used
  PL/pgSQL function tg_hub_adjustslots(character,integer,integer): 16384 total in 2 blocks; 7320 free (2 chunks); 9064
used
  PL/pgSQL function tg_hub_a(): 32768 total in 3 blocks; 12032 free (2 chunks); 20736 used
  PL/pgSQL function tg_iface_biu(): 32768 total in 3 blocks; 13712 free (2 chunks); 19056 used
  PL/pgSQL function tg_system_au(): 16384 total in 2 blocks; 6816 free (2 chunks); 9568 used
  PL/pgSQL function tg_pslot_biu(): 16384 total in 2 blocks; 3936 free (5 chunks); 12448 used
  PL/pgSQL function tg_pfield_ad(): 16384 total in 2 blocks; 8232 free (2 chunks); 8152 used
  PL/pgSQL function tg_pfield_au(): 16384 total in 2 blocks; 6816 free (2 chunks); 9568 used
  PL/pgSQL function tg_wslot_biu(): 16384 total in 2 blocks; 7304 free (2 chunks); 9080 used
  PL/pgSQL function tg_room_ad(): 16384 total in 2 blocks; 8232 free (2 chunks); 8152 used
  PL/pgSQL function tg_room_au(): 16384 total in 2 blocks; 6816 free (4 chunks); 9568 used
  dynahash CFuncHash: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  dynahash Rendezvous variable hash: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  dynahash PLpgSQL function cache: 106256 total in 7 blocks; 2592 free (0 chunks); 103664 used
  RowDescriptionContext: 8192 total in 1 blocks; 6888 free (0 chunks); 1304 used
  MessageContext: 16384 total in 2 blocks; 6592 free (3 chunks); 9792 used
  dynahash Operator class cache: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  dynahash smgr relation table: 32768 total in 3 blocks; 8536 free (8 chunks); 24232 used
  TransactionAbortContext: 32768 total in 1 blocks; 32512 free (0 chunks); 256 used
  dynahash Portal hash: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  TopPortalContext: 8192 total in 1 blocks; 7656 free (2 chunks); 536 used
    PortalContext: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
      ExecutorState: 8192 total in 1 blocks; 2960 free (0 chunks); 5232 used
        printtup: 8192 total in 1 blocks; 7936 free (0 chunks); 256 used
        ExprContext: 8192 total in 1 blocks; 7656 free (0 chunks); 536 used
  dynahash Relcache by OID: 16384 total in 2 blocks; 2384 free (3 chunks); 14000 used
  CacheMemoryContext: 1048576 total in 8 blocks; 208104 free (55 chunks); 840472 used
    CachedPlan SELECT row.a: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT row.a: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT * FROM partitioned_table ORDER BY a: 8192 total in 4 blocks; 840 free (0 chunks); 7352 used
    CachedPlanSource SELECT * FROM partitioned_table ORDER BY a: 4096 total in 3 blocks; 1760 free (1 chunks); 2336
used
      CachedPlanQuery: 4096 total in 3 blocks; 1464 free (2 chunks); 2632 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT *             FROM partitioned_table WHERE a = a_val: 4096 total in 3 blocks; 1464 free (0
chunks);2632 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1248 free (2 chunks); 2848 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    partition descriptor partitioned_table: 8192 total in 1 blocks; 7568 free (1 chunks); 624 used
    partition key partitioned_table: 1024 total in 1 blocks; 152 free (0 chunks); 872 used
    index info pg_inherits_parent_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_partitioned_table_partrelid_index: 2048 total in 2 blocks; 880 free (0 chunks); 1168 used
    CachedPlan SELECT NULL: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT NULL: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (SELECT COUNT(*)
       FROM (SELECT * FROM new_test UNION ALL SELECT * FROM new_test) ss): 8192 total in 4 blocks; 1504 free (0
chunks);6688 used 
    CachedPlanSource SELECT (SELECT COUNT(*)
       FROM (SELECT * FROM new_test UNION ALL SELECT * FROM new_test) ss): 8192 total in 4 blocks; 3512 free (0
chunks);4680 used 
      CachedPlanQuery: 16384 total in 5 blocks; 7440 free (2 chunks); 8944 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (SELECT COUNT(*) FROM new_test): 4096 total in 3 blocks; 640 free (0 chunks); 3456 used
    CachedPlanSource SELECT (SELECT COUNT(*) FROM new_test): 4096 total in 3 blocks; 1560 free (0 chunks); 2536 used
      CachedPlanQuery: 4096 total in 3 blocks; 992 free (2 chunks); 3104 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (SELECT 1 FROM alter_table_under_transition_tables LIMIT 1): 4096 total in 3 blocks; 176 free (0
chunks);3920 used 
    CachedPlan SELECT (SELECT string_agg(id || '=' || name, ',') FROM i): 8192 total in 4 blocks; 2680 free (0 chunks);
5512used 
    index info alter_table_under_transition_tables_pkey: 2048 total in 2 blocks; 880 free (0 chunks); 1168 used
    CachedPlan SELECT NULL: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT NULL: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT (SELECT 1 FROM alter_table_under_transition_tables LIMIT 1): 4096 total in 3 blocks; 1592
free(0 chunks); 2504 used 
      CachedPlanQuery: 4096 total in 3 blocks; 936 free (2 chunks); 3160 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT (SELECT string_agg(id || '=' || name, ',') FROM i): 4096 total in 3 blocks; 288 free (0
chunks);3808 used 
      CachedPlanQuery: 8192 total in 4 blocks; 3504 free (2 chunks); 4688 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT (SELECT string_agg(id || '=' || name, ',') FROM d): 4096 total in 3 blocks; 288 free (0
chunks);3808 used 
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT NULL: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT NULL: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FROM i
      LEFT JOIN transition_table_level1 p
        ON p.level1_no IS NOT NULL AND p.level1_no = i.parent_no
      WHERE p.level1_no IS NULL: 8192 total in 4 blocks; 1640 free (0 chunks); 6552 used
    CachedPlanSource SELECT FROM i
      LEFT JOIN transition_table_level1 p
        ON p.level1_no IS NOT NULL AND p.level1_no = i.parent_no
      WHERE p.level1_no IS NULL: 4096 total in 3 blocks; 336 free (0 chunks); 3760 used
      CachedPlanQuery: 8192 total in 4 blocks; 1888 free (2 chunks); 6304 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FROM i
      LEFT JOIN transition_table_level1 p
        ON p.level1_no IS NOT NULL AND p.level1_no = i.parent_no
      WHERE p.level1_no IS NULL: 8192 total in 4 blocks; 1640 free (0 chunks); 6552 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan WITH p AS (SELECT level1_no, sum(delta) cnt
                 FROM (SELECT level1_no, 1 AS delta FROM i
                       UNION ALL
                       SELECT level1_no, -1 AS delta FROM d) w
                 GROUP BY level1_no
                 HAVING sum(delta) < 0)
    SELECT level1_no
      FROM p JOIN transition_table_level2 c ON c.parent_no = p.level1_no: 16384 total in 5 blocks; 512 free (0 chunks);
15872used 
    CachedPlanSource WITH p AS (SELECT level1_no, sum(delta) cnt
                 FROM (SELECT level1_no, 1 AS delta FROM i
                       UNION ALL
                       SELECT level1_no, -1 AS delta FROM d) w
                 GROUP BY level1_no
                 HAVING sum(delta) < 0)
    SELECT level1_no
      FROM p JOIN transition_table_level2 c ON c.parent_no = p.level1_no: 16384 total in 5 blocks; 6880 free (0
chunks);9504 used 
      CachedPlanQuery: 32768 total in 6 blocks; 14832 free (2 chunks); 17936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FROM p JOIN transition_table_level2 c ON c.parent_no = p.level1_no: 8192 total in 4 blocks; 1848
free(0 chunks); 6344 used 
    CachedPlanSource SELECT FROM p JOIN transition_table_level2 c ON c.parent_no = p.level1_no: 4096 total in 3 blocks;
1456free (0 chunks); 2640 used 
      CachedPlanQuery: 8192 total in 4 blocks; 2488 free (2 chunks); 5704 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info transition_table_level1_pkey: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info transition_table_level2_pkey: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    CachedPlan SELECT NULL: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT NULL: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT FROM i
      LEFT JOIN transition_table_level1 p
        ON p.level1_no IS NOT NULL AND p.level1_no = i.parent_no
      WHERE p.level1_no IS NULL: 4096 total in 3 blocks; 336 free (0 chunks); 3760 used
      CachedPlanQuery: 8192 total in 4 blocks; 1888 free (2 chunks); 6304 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT t: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT t: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT t || l || E'\n': 2048 total in 2 blocks; 176 free (0 chunks); 1872 used
    CachedPlanSource SELECT t || l || E'\n': 4096 total in 3 blocks; 1576 free (0 chunks); 2520 used
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $q$
             EXPLAIN (TIMING off, COSTS off, VERBOSE on)
             SELECT * FROM oldtable ot FULL JOIN newtable nt USING (id)
           $q$: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
    CachedPlanSource SELECT $q$
             EXPLAIN (TIMING off, COSTS off, VERBOSE on)
             SELECT * FROM oldtable ot FULL JOIN newtable nt USING (id)
           $q$: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT '': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT t: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT t: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT t || l || E'\n': 2048 total in 2 blocks; 176 free (0 chunks); 1872 used
    CachedPlanSource SELECT t || l || E'\n': 4096 total in 3 blocks; 1576 free (0 chunks); 2520 used
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $q$
             EXPLAIN (TIMING off, COSTS off, VERBOSE on)
             SELECT * FROM newtable
           $q$: 2048 total in 2 blocks; 520 free (1 chunks); 1528 used
    CachedPlanSource SELECT $q$
             EXPLAIN (TIMING off, COSTS off, VERBOSE on)
             SELECT * FROM newtable
           $q$: 2048 total in 2 blocks; 312 free (0 chunks); 1736 used
      CachedPlanQuery: 2048 total in 2 blocks; 720 free (2 chunks); 1328 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT '': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info transition_table_base_pkey: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    CachedPlan SELECT val[1] > 0: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
    CachedPlanSource SELECT val[1] > 0: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used
      CachedPlanQuery: 2048 total in 2 blocks; 320 free (2 chunks); 1728 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    Domain constraints: 1024 total in 1 blocks; 24 free (0 chunks); 1000 used
    CachedPlan SELECT val > 0: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT val > 0: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    Domain constraints: 1024 total in 1 blocks; 24 free (0 chunks); 1000 used
    CachedPlan SELECT 2 * $1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT 2 * $1: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _context: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT _context: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _context: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT _context: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sx / 0: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT sx / 0: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 5: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 5: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT inner_func($1): 2048 total in 2 blocks; 480 free (0 chunks); 1568 used
    CachedPlanSource SELECT inner_func($1): 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT outer_func($1): 2048 total in 2 blocks; 480 free (0 chunks); 1568 used
    CachedPlanSource SELECT outer_func($1): 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2 * $1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT 2 * $1: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _context: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT _context: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _context: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT _context: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT inner_func($1): 2048 total in 2 blocks; 480 free (0 chunks); 1568 used
    CachedPlanSource SELECT inner_func($1): 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT outer_func($1): 2048 total in 2 blocks; 480 free (0 chunks); 1568 used
    CachedPlanSource SELECT outer_func($1): 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1[1]: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
    CachedPlanSource SELECT $1[1]: 2048 total in 2 blocks; 328 free (0 chunks); 1720 used
      CachedPlanQuery: 2048 total in 2 blocks; 632 free (2 chunks); 1416 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array[$1, $1]: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used
    CachedPlanSource SELECT array[$1, $1]: 2048 total in 2 blocks; 344 free (0 chunks); 1704 used
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x3: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT x3: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array[x1, x2]: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used
    CachedPlanSource SELECT array[x1, x2]: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    Domain constraints: 4096 total in 3 blocks; 1760 free (0 chunks); 2336 used
    CachedPlan SELECT r.ar: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT r.ar: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'replace': 2048 total in 2 blocks; 728 free (0 chunks); 1320 used
    CachedPlanSource SELECT 'replace': 2048 total in 2 blocks; 528 free (0 chunks); 1520 used
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT row(12, '{foo,bar,baz}')::rtype: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    CachedPlanSource SELECT row(12, '{foo,bar,baz}')::rtype: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used
      CachedPlanQuery: 2048 total in 2 blocks; 480 free (2 chunks); 1568 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT x: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT return + 1: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT return + 1: 2048 total in 2 blocks; 80 free (0 chunks); 1968 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 42: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 42: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select q1,q2 from int8_tbl: 4096 total in 3 blocks; 1656 free (0 chunks); 2440 used
    CachedPlanSource select q1,q2 from int8_tbl: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used
      CachedPlanQuery: 4096 total in 3 blocks; 1632 free (2 chunks); 2464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 42: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 42: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x * 100 + y: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used
    CachedPlanSource SELECT x * 100 + y: 4096 total in 3 blocks; 1608 free (0 chunks); 2488 used
      CachedPlanQuery: 2048 total in 2 blocks; 312 free (2 chunks); 1736 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x + 2: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT x + 2: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x + 1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT x + 1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 42: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 42: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info room_rno: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used
    CachedPlan SELECT E'foo\\bar\041baz': 2048 total in 2 blocks; 728 free (0 chunks); 1320 used
    CachedPlanSource SELECT E'foo\\bar\041baz': 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT 1/0: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_cast_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    CachedPlan SELECT error1(p_name_table): 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT error1(p_name_table): 2048 total in 2 blocks; 32 free (0 chunks); 2016 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sql_recurse($1 - 1): 2048 total in 2 blocks; 168 free (0 chunks); 1880 used
    CachedPlanSource SELECT sql_recurse($1 - 1): 4096 total in 3 blocks; 1912 free (2 chunks); 2184 used
      CachedPlanQuery: 2048 total in 2 blocks; 88 free (2 chunks); 1960 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT ($1 > 0): 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT ($1 > 0): 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 408 free (2 chunks); 1640 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (SELECT 1::integer): 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used
    CachedPlanSource SELECT (SELECT 1::integer): 4096 total in 3 blocks; 1584 free (0 chunks); 2512 used
      CachedPlanQuery: 2048 total in 2 blocks; 240 free (2 chunks); 1808 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (SELECT NULL::integer): 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used
    CachedPlanSource SELECT (SELECT NULL::integer): 4096 total in 3 blocks; 1584 free (0 chunks); 2512 used
      CachedPlanQuery: 2048 total in 2 blocks; 240 free (2 chunks); 1808 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT (SELECT i+1): 4096 total in 3 blocks; 1536 free (0 chunks); 2560 used
      CachedPlanQuery: 4096 total in 3 blocks; 1952 free (3 chunks); 2144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT (SELECT i): 4096 total in 3 blocks; 1848 free (2 chunks); 2248 used
      CachedPlanQuery: 2048 total in 2 blocks; 272 free (2 chunks); 1776 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT (SELECT lr): 4096 total in 3 blocks; 1848 free (2 chunks); 2248 used
      CachedPlanQuery: 2048 total in 2 blocks; 272 free (2 chunks); 1776 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'fool': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT 'fool': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array[array['foo','bar'], array['baz', 'quux']]: 2048 total in 2 blocks; 656 free (1 chunks);
1392used 
    CachedPlanSource SELECT array[array['foo','bar'], array['baz', 'quux']]: 4096 total in 3 blocks; 1664 free (0
chunks);2432 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1920 free (2 chunks); 2176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT fail: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT fail: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (leaker_2(fail)).error_code: 2048 total in 2 blocks; 392 free (0 chunks); 1656 used
    CachedPlanSource SELECT (leaker_2(fail)).error_code: 4096 total in 3 blocks; 1776 free (1 chunks); 2320 used
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rca[2]: 2048 total in 2 blocks; 552 free (0 chunks); 1496 used
    CachedPlanSource SELECT rca[2]: 2048 total in 2 blocks; 144 free (0 chunks); 1904 used
      CachedPlanQuery: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select * from (values(10),(20)) f(a) where false': 2048 total in 2 blocks; 648 free (1 chunks);
1400used 
    CachedPlanSource SELECT 'select * from (values(10),(20)) f(a) where false': 2048 total in 2 blocks; 440 free (0
chunks);1608 used 
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rca[1]: 2048 total in 2 blocks; 552 free (0 chunks); 1496 used
    CachedPlanSource SELECT rca[1]: 2048 total in 2 blocks; 144 free (0 chunks); 1904 used
      CachedPlanQuery: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'values(10),(20)': 2048 total in 2 blocks; 712 free (0 chunks); 1336 used
    CachedPlanSource SELECT 'values(10),(20)': 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rc: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT rc: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select * from (values(10),(20)) f(a) where false: 4096 total in 3 blocks; 1096 free (0 chunks); 3000
used
    CachedPlanSource select * from (values(10),(20)) f(a) where false: 4096 total in 3 blocks; 760 free (0 chunks);
3336used 
      CachedPlanQuery: 8192 total in 4 blocks; 3640 free (2 chunks); 4552 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rc: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT rc: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan values(10),(20): 4096 total in 3 blocks; 1656 free (1 chunks); 2440 used
    CachedPlanSource values(10),(20): 2048 total in 2 blocks; 376 free (0 chunks); 1672 used
      CachedPlanQuery: 4096 total in 3 blocks; 1328 free (2 chunks); 2768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT a1 * 10 + 1: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used
    CachedPlanSource SELECT a1 * 10 + 1: 4096 total in 3 blocks; 1776 free (1 chunks); 2320 used
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT a1 * 10: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT a1 * 10: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT a1 + 1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT a1 + 1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT a1: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT a1: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1[i]: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
    CachedPlanSource SELECT $1[i]: 2048 total in 2 blocks; 160 free (0 chunks); 1888 used
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1[i] < aux: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
    CachedPlanSource SELECT $1[i] < aux: 4096 total in 3 blocks; 1672 free (0 chunks); 2424 used
      CachedPlanQuery: 2048 total in 2 blocks; 384 free (2 chunks); 1664 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array_upper($1,1): 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT array_upper($1,1): 2048 total in 2 blocks; 120 free (0 chunks); 1928 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array_lower($1,1)+1: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used
    CachedPlanSource SELECT array_lower($1,1)+1: 4096 total in 3 blocks; 1816 free (1 chunks); 2280 used
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1[array_lower($1,1)]: 2048 total in 2 blocks; 248 free (0 chunks); 1800 used
    CachedPlanSource SELECT $1[array_lower($1,1)]: 4096 total in 3 blocks; 1880 free (1 chunks); 2216 used
      CachedPlanQuery: 2048 total in 2 blocks; 352 free (2 chunks); 1696 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1[i]: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
    CachedPlanSource SELECT $1[i]: 2048 total in 2 blocks; 160 free (0 chunks); 1888 used
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array_upper($1,1): 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT array_upper($1,1): 2048 total in 2 blocks; 120 free (0 chunks); 1928 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array_lower($1,1): 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT array_lower($1,1): 2048 total in 2 blocks; 120 free (0 chunks); 1928 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _schema_name: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used
    CachedPlanSource SELECT _schema_name: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _table_name: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used
    CachedPlanSource SELECT _table_name: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _datatype_name: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used
    CachedPlanSource SELECT _datatype_name: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _constraint_name: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT _constraint_name: 2048 total in 2 blocks; 368 free (0 chunks); 1680 used
      CachedPlanQuery: 2048 total in 2 blocks; 888 free (2 chunks); 1160 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _column_name: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used
    CachedPlanSource SELECT _column_name: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '>>some schema name<<': 2048 total in 2 blocks; 712 free (0 chunks); 1336 used
    CachedPlanSource SELECT '>>some schema name<<': 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '>>some table name<<': 2048 total in 2 blocks; 712 free (0 chunks); 1336 used
    CachedPlanSource SELECT '>>some table name<<': 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '>>some datatype name<<': 2048 total in 2 blocks; 712 free (0 chunks); 1336 used
    CachedPlanSource SELECT '>>some datatype name<<': 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '>>some constraint name<<': 2048 total in 2 blocks; 680 free (0 chunks); 1368 used
    CachedPlanSource SELECT '>>some constraint name<<': 2048 total in 2 blocks; 472 free (0 chunks); 1576 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '>>some column name<<': 2048 total in 2 blocks; 712 free (0 chunks); 1336 used
    CachedPlanSource SELECT '>>some column name<<': 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'substitute message': 2048 total in 2 blocks; 712 free (0 chunks); 1336 used
    CachedPlanSource SELECT 'substitute message': 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlstate: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT sqlstate: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT 1/0: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 10 / v: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT 10 / v: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (1, 'hello')::compostype: 2048 total in 2 blocks; 688 free (0 chunks); 1360 used
    CachedPlanSource SELECT (1, 'hello')::compostype: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 42: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 42: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (2, 'goodbye')::compostype: 2048 total in 2 blocks; 656 free (1 chunks); 1392 used
    CachedPlanSource SELECT (2, 'goodbye')::compostype: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT null::compostype: 2048 total in 2 blocks; 768 free (0 chunks); 1280 used
    CachedPlanSource SELECT null::compostype: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (1, 'hello'::varchar): 2048 total in 2 blocks; 688 free (0 chunks); 1360 used
    CachedPlanSource SELECT (1, 'hello'::varchar): 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (2 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 3: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 3: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (1, 'hello'): 2048 total in 2 blocks; 688 free (0 chunks); 1360 used
    CachedPlanSource SELECT (1, 'hello'): 2048 total in 2 blocks; 248 free (0 chunks); 1800 used
      CachedPlanQuery: 2048 total in 2 blocks; 256 free (2 chunks); 1792 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT (1, 'hello')::compostype: 2048 total in 2 blocks; 688 free (0 chunks); 1360 used
    CachedPlanSource SELECT (1, 'hello')::compostype: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select * from tabwithcols: 4096 total in 3 blocks; 1072 free (1 chunks); 3024 used
    CachedPlan SELECT 'select * from tabwithcols': 2048 total in 2 blocks; 680 free (0 chunks); 1368 used
    CachedPlanSource SELECT 'select * from tabwithcols': 2048 total in 2 blocks; 472 free (0 chunks); 1576 used
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select * from tabwithcols: 4096 total in 3 blocks; 1960 free (4 chunks); 2136 used
      CachedPlanQuery: 4096 total in 3 blocks; 1048 free (2 chunks); 3048 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 50: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 50: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 40: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 40: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select * from (values($1),($2)) f': 2048 total in 2 blocks; 648 free (1 chunks); 1400 used
    CachedPlanSource SELECT 'select * from (values($1),($2)) f': 2048 total in 2 blocks; 440 free (0 chunks); 1608 used
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select * from (values(10),(20)) f': 2048 total in 2 blocks; 648 free (1 chunks); 1400 used
    CachedPlanSource SELECT 'select * from (values(10),(20)) f': 2048 total in 2 blocks; 440 free (0 chunks); 1608 used
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan update forc_test set i = i * 100, j = r.j * 2 where current of c: 8192 total in 4 blocks; 3768 free (1
chunks);4424 used 
    CachedPlanSource update forc_test set i = i * 100, j = r.j * 2 where current of c: 4096 total in 3 blocks; 1408
free(0 chunks); 2688 used 
      CachedPlanQuery: 4096 total in 3 blocks; 952 free (2 chunks); 3144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT r.j: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT r.j: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT r.i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT r.i: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (2 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select * from forc_test: 4096 total in 3 blocks; 1656 free (0 chunks); 2440 used
    CachedPlanSource select * from forc_test: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used
      CachedPlanQuery: 4096 total in 3 blocks; 1632 free (2 chunks); 2464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'fooled_ya': 2048 total in 2 blocks; 728 free (0 chunks); 1320 used
    CachedPlanSource SELECT 'fooled_ya': 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_publication_rel_prrelid_prpubid_index: 2048 total in 2 blocks; 608 free (1 chunks); 1440 used
    CachedPlan SELECT i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT i: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (2 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1+1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT $1+1: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select * from generate_series(1,$1)': 2048 total in 2 blocks; 648 free (1 chunks); 1400 used
    CachedPlanSource SELECT 'select * from generate_series(1,$1)': 2048 total in 2 blocks; 440 free (0 chunks); 1608
used
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $2: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT $2: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select $2 + $2*3 + length($1)': 2048 total in 2 blocks; 648 free (1 chunks); 1400 used
    CachedPlanSource SELECT 'select $2 + $2*3 + length($1)': 2048 total in 2 blocks; 472 free (0 chunks); 1576 used
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT i: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1+1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT $1+1: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select * from generate_series(1,$1)': 2048 total in 2 blocks; 648 free (1 chunks); 1400 used
    CachedPlanSource SELECT 'select * from generate_series(1,$1)': 2048 total in 2 blocks; 440 free (0 chunks); 1608
used
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select md5(s.x::text), s.x, s.x > 0
                 from generate_series(-8, lim) s (x) where s.x % 2 = 0: 8192 total in 4 blocks; 1808 free (0 chunks);
6384used 
      CachedPlanQuery: 8192 total in 4 blocks; 3608 free (2 chunks); 4584 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select x + 1, x * 10 from generate_series(0, 10) s (x): 4096 total in 3 blocks; 392 free (0 chunks);
3704used 
    CachedPlanSource select x + 1, x * 10 from generate_series(0, 10) s (x): 4096 total in 3 blocks; 240 free (0
chunks);3856 used 
      CachedPlanQuery: 4096 total in 3 blocks; 400 free (2 chunks); 3696 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT -2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT -2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT -1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT -1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT innerblock.param1: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used
    CachedPlanSource SELECT innerblock.param1: 2048 total in 2 blocks; 272 free (0 chunks); 1776 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT outerblock.param1: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used
    CachedPlanSource SELECT outerblock.param1: 2048 total in 2 blocks; 272 free (0 chunks); 1776 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT pl_qual_names.param1: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used
    CachedPlanSource SELECT pl_qual_names.param1: 2048 total in 2 blocks; 272 free (0 chunks); 1776 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT param1: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT param1: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select * from generate_series(1, 10): 4096 total in 3 blocks; 1512 free (0 chunks); 2584 used
    CachedPlanSource select * from generate_series(1, 10): 4096 total in 3 blocks; 1512 free (0 chunks); 2584 used
      CachedPlanQuery: 4096 total in 3 blocks; 1520 free (2 chunks); 2576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'c'::pg_catalog.refcursor: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used
    CachedPlanSource SELECT 'c'::pg_catalog.refcursor: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select * from foo where f1 > p1 or f1::text = p3: 4096 total in 3 blocks; 280 free (0 chunks);
3816used 
      CachedPlanQuery: 4096 total in 3 blocks; 656 free (2 chunks); 3440 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'foo': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT 'foo': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select * from foo where f1 > 3': 2048 total in 2 blocks; 648 free (1 chunks); 1400 used
    CachedPlanSource SELECT 'select * from foo where f1 > 3': 2048 total in 2 blocks; 472 free (0 chunks); 1576 used
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x = y: 2048 total in 2 blocks; 536 free (0 chunks); 1512 used
    CachedPlanSource SELECT x = y: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (2 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          unique1/p1, unique1/$1 from tenk1 group by unique1/p1: 4096 total in 3 blocks; 160
free(0 chunks); 3936 used 
      CachedPlanQuery: 8192 total in 4 blocks; 3352 free (2 chunks); 4840 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT NULL: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT NULL: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT row(10,'aaa',NULL,30): 2048 total in 2 blocks; 688 free (0 chunks); 1360 used
    CachedPlanSource SELECT row(10,'aaa',NULL,30): 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 4096 total in 3 blocks; 1784 free (2 chunks); 2312 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT (select c || 'abc'): 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used
      CachedPlanQuery: 4096 total in 3 blocks; 1832 free (3 chunks); 2264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT c: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT c: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT a[i]: 2048 total in 2 blocks; 584 free (0 chunks); 1464 used
    CachedPlanSource SELECT a[i]: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used
      CachedPlanQuery: 2048 total in 2 blocks; 672 free (2 chunks); 1376 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT a: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT a: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'xyz': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT 'xyz': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '{10,20,30}': 2048 total in 2 blocks; 728 free (0 chunks); 1320 used
    CachedPlanSource SELECT '{10,20,30}': 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT 1/0: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlerrm: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sqlerrm: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlstate: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT sqlstate: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlerrm: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sqlerrm: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlstate: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT sqlstate: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT 10/0: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlerrm: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sqlerrm: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlstate: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT sqlstate: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlerrm: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sqlerrm: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlstate: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT sqlstate: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_inherits_relid_seqno_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    CachedPlan SELECT 'select 1,2': 2048 total in 2 blocks; 728 free (0 chunks); 1320 used
    CachedPlanSource SELECT 'select 1,2': 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT k: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT k: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT j: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT j: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT i: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select *, 20 from '||$1||' limit 1': 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used
    CachedPlanSource SELECT 'select *, 20 from '||$1||' limit 1': 4096 total in 3 blocks; 1832 free (1 chunks); 2264
used
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (2 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _rt.y: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT _rt.y: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _rt.i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT _rt.i: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select * from '||$1||' limit 1': 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used
    CachedPlanSource SELECT 'select * from '||$1||' limit 1': 4096 total in 3 blocks; 1848 free (2 chunks); 2248 used
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (2 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _r.y: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT _r.y: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT _r.i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT _r.i: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'select (row).* from (select row(10,1)::eifoo) s': 2048 total in 2 blocks; 648 free (1 chunks);
1400used 
    CachedPlanSource SELECT 'select (row).* from (select row(10,1)::eifoo) s': 2048 total in 2 blocks; 440 free (0
chunks);1608 used 
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'insert into '||$1||' values(10,15)': 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used
    CachedPlanSource SELECT 'insert into '||$1||' values(10,15)': 4096 total in 3 blocks; 1848 free (2 chunks); 2248
used
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (2 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2+2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2+2: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2+2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2+2: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlerrm: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sqlerrm: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sqlerrm: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sqlerrm: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select count(*) from tenk1 where thousand = p1 and tenthous = p2
      and four = debug: 8192 total in 4 blocks; 3752 free (1 chunks); 4440 used
      CachedPlanQuery: 8192 total in 4 blocks; 2928 free (2 chunks); 5264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT p1 AS p1, p2 AS p2, 2 AS debug;: 4096 total in 3 blocks; 1480 free (0 chunks); 2616 used
      CachedPlanQuery: 2048 total in 2 blocks; 448 free (2 chunks); 1600 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1006: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1006: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used
    CachedPlanSource SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info tenk1_thous_tenthous: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info tenk1_hundred: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used
    index info tenk1_unique2: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used
    index info tenk1_unique1: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used
    CachedPlanSource select count(*) from tenk1 where thousand = p1 and tenthous = p2: 4096 total in 3 blocks; 440 free
(0chunks); 3656 used 
      CachedPlanQuery: 8192 total in 4 blocks; 3336 free (2 chunks); 4856 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_aggregate_fnoid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    CachedPlan SELECT 77 -- test
  , 42;: 2048 total in 2 blocks; 512 free (0 chunks); 1536 used
    CachedPlanSource SELECT 77 -- test
  , 42;: 2048 total in 2 blocks; 376 free (0 chunks); 1672 used
      CachedPlanQuery: 2048 total in 2 blocks; 616 free (2 chunks); 1432 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used
    CachedPlanSource SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT 42/0 AS p1, 77 AS p2;: 2048 total in 2 blocks; 0 free (0 chunks); 2048 used
      CachedPlanQuery: 2048 total in 2 blocks; 320 free (2 chunks); 1728 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used
    CachedPlanSource SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT true: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT true: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select * from rc_test where a > param1 and b > param2: 4096 total in 3 blocks; 592 free (0
chunks);3504 used 
      CachedPlanQuery: 4096 total in 3 blocks; 712 free (2 chunks); 3384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1 AS param1, $2 AS param2;: 2048 total in 2 blocks; 312 free (1 chunks); 1736 used
      CachedPlanQuery: 2048 total in 2 blocks; 696 free (2 chunks); 1352 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used
    CachedPlanSource SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT true: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT true: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT false: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT false: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select * from rc_test where a > param1 and b > param12: 4096 total in 3 blocks; 592 free (0
chunks);3504 used 
      CachedPlanQuery: 4096 total in 3 blocks; 712 free (2 chunks); 3384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1 AS param1, $2 AS param12;: 2048 total in 2 blocks; 312 free (1 chunks); 1736 used
      CachedPlanQuery: 2048 total in 2 blocks; 696 free (2 chunks); 1352 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used
    CachedPlanSource SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT true: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT true: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT false: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT false: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select * from rc_test where a > param1 and b > param2: 4096 total in 3 blocks; 592 free (0
chunks);3504 used 
      CachedPlanQuery: 4096 total in 3 blocks; 712 free (2 chunks); 3384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1, $2;: 2048 total in 2 blocks; 424 free (1 chunks); 1624 used
      CachedPlanQuery: 2048 total in 2 blocks; 680 free (2 chunks); 1368 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used
    CachedPlanSource SELECT 'c1'::pg_catalog.refcursor: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select a from rc_test: 4096 total in 3 blocks; 1912 free (1 chunks); 2184 used
    CachedPlanSource select a from rc_test: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used
      CachedPlanQuery: 4096 total in 3 blocks; 1888 free (2 chunks); 2208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT return_refcursor($1): 2048 total in 2 blocks; 464 free (0 chunks); 1584 used
    CachedPlanSource SELECT return_refcursor($1): 2048 total in 2 blocks; 200 free (0 chunks); 1848 used
      CachedPlanQuery: 2048 total in 2 blocks; 568 free (2 chunks); 1480 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x.a: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT x.a: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT return_unnamed_refcursor(): 2048 total in 2 blocks; 584 free (0 chunks); 1464 used
    CachedPlanSource SELECT return_unnamed_refcursor(): 2048 total in 2 blocks; 304 free (0 chunks); 1744 used
      CachedPlanQuery: 2048 total in 2 blocks; 720 free (2 chunks); 1328 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select a from rc_test: 4096 total in 3 blocks; 1912 free (1 chunks); 2184 used
    CachedPlanSource select a from rc_test: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used
      CachedPlanQuery: 4096 total in 3 blocks; 1888 free (2 chunks); 2208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select        id from users where login = a_login: 4096 total in 3 blocks; 1416 free (1 chunks); 2680
used
    CachedPlan SELECT my_id_user = 0: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT my_id_user = 0: 2048 total in 2 blocks; 72 free (0 chunks); 1976 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sp_id_user( a_login ): 2048 total in 2 blocks; 480 free (0 chunks); 1568 used
    CachedPlanSource SELECT sp_id_user( a_login ): 2048 total in 2 blocks; 32 free (0 chunks); 2016 used
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource INSERT INTO users ( login ) VALUES ( a_login ): 2048 total in 2 blocks; 208 free (0 chunks); 1840
used
      CachedPlanQuery: 4096 total in 3 blocks; 1392 free (2 chunks); 2704 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT -1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT -1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT my_id_user > 0: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT my_id_user > 0: 2048 total in 2 blocks; 72 free (0 chunks); 1976 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sp_id_user( a_login ): 2048 total in 2 blocks; 480 free (0 chunks); 1568 used
    CachedPlanSource SELECT sp_id_user( a_login ): 2048 total in 2 blocks; 32 free (0 chunks); 2016 used
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT found: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT found: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select        id from users where login = a_login: 4096 total in 3 blocks; 1448 free (0 chunks);
2648used 
      CachedPlanQuery: 4096 total in 3 blocks; 1520 free (2 chunks); 2576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_attrdef_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_attrdef_adrelid_adnum_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info pg_sequence_seqrelid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_init_privs_o_c_o_index: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    index info pg_seclabel_object_index: 3072 total in 2 blocks; 1152 free (2 chunks); 1920 used
    index info pg_description_o_c_o_index: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    index info pg_shdepend_depender_index: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1 FROM ONLY "pg_temp_8"."master" x WHERE "f1" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x: 8192
totalin 4 blocks; 3344 free (0 chunks); 4848 used 
    CachedPlan set constraints all immediate: 1024 total in 1 blocks; 192 free (0 chunks); 832 used
    CachedPlanSource set constraints all immediate: 1024 total in 1 blocks; 320 free (0 chunks); 704 used
      CachedPlanQuery: 1024 total in 1 blocks; 200 free (2 chunks); 824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource insert into slave values($1): 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_tablespace_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_amop_opr_fam_index: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    index info pg_statistic_relid_att_inh_index: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    CachedPlanSource SELECT 1 FROM ONLY "pg_temp_8"."master" x WHERE "f1" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x:
4096total in 3 blocks; 1088 free (0 chunks); 3008 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1384 free (2 chunks); 2712 used
    SPI Plan: 1024 total in 1 blocks; 552 free (0 chunks); 472 used
    index info pg_namespace_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info master_pkey: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used
    index info pg_trigger_tgconstraint_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_trigger_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_amop_fam_strat_index: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used
    index info pg_statistic_ext_relid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_constraint_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_constraint_contypid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_constraint_conrelid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_constraint_conname_nsp_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info pg_constraint_conparentid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_cast_source_target_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info pg_opclass_am_name_nsp_index: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    index info pg_attribute_relid_attnam_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info pg_class_tblspc_relfilenode_index: 2048 total in 2 blocks; 608 free (1 chunks); 1440 used
    index info pg_class_relname_nsp_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    CachedPlan SELECT x || '9012': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT x || '9012': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlan SELECT $1 < 0: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlan SELECT 100 / $1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlan SELECT trap_zero_divide(-100): 2048 total in 2 blocks; 432 free (0 chunks); 1616 used
    CachedPlanSource SELECT trap_zero_divide(-100): 2048 total in 2 blocks; 184 free (0 chunks); 1864 used
      CachedPlanQuery: 2048 total in 2 blocks; 536 free (2 chunks); 1512 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x || '5678': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT x || '5678': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_operator_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_operator_oprname_l_r_n_index: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used
    CachedPlan SELECT '1234': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT '1234': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info pg_language_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_shdepend_reference_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info pg_transform_type_lang_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info pg_depend_depender_index: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    index info pg_index_indrelid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_depend_reference_index: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    index info pg_proc_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_default_acl_role_nsp_obj_index: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    index info pg_proc_proname_args_nsp_index: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    index info pg_type_oid_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_type_typname_nsp_index: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used
    index info pg_language_name_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_namespace_nspname_index: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used
    index info pg_event_trigger_evtname_index: 2048 total in 2 blocks; 968 free (0 chunks); 1080 used
    CachedPlan select count(*)        from tenk1 a, tenk1 b, tenk1 c: 16384 total in 5 blocks; 3960 free (0 chunks);
12424used 
    CachedPlanSource select count(*)        from tenk1 a, tenk1 b, tenk1 c: 4096 total in 3 blocks; 1536 free (0
chunks);2560 used 
      CachedPlanQuery: 16384 total in 5 blocks; 7352 free (2 chunks); 9032 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource insert into foo values(x): 2048 total in 2 blocks; 456 free (1 chunks); 1592 used
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x * 10: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT x * 10: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource insert into foo values(x): 2048 total in 2 blocks; 456 free (1 chunks); 1592 used
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT x + 1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT x + 1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource insert into foo values(x): 2048 total in 2 blocks; 456 free (1 chunks); 1592 used
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT -2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT -2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT -1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT -1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select        unique1 from tenk1 where unique2 =
            (select unique2 from tenk1 b where ten = $1): 4096 total in 3 blocks; 8 free (0 chunks); 4088 used
      CachedPlanQuery: 8192 total in 4 blocks; 272 free (1 chunks); 7920 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 100 / $1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT 100 / $1: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT -2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT -2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT -1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT -1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1 < 0: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT 100 / $1: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan INSERT INTO perform_test VALUES (100, 100): 4096 total in 3 blocks; 864 free (0 chunks); 3232 used
    CachedPlanSource INSERT INTO perform_test VALUES (100, 100): 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
      CachedPlanQuery: 4096 total in 3 blocks; 1760 free (1 chunks); 2336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FALSE: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT FALSE: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (2 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT perform_simple_func(50): 2048 total in 2 blocks; 432 free (0 chunks); 1616 used
    CachedPlanSource SELECT perform_simple_func(50): 2048 total in 2 blocks; 184 free (0 chunks); 1864 used
      CachedPlanQuery: 2048 total in 2 blocks; 536 free (1 chunks); 1512 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan INSERT INTO perform_test VALUES (100, 100): 4096 total in 3 blocks; 864 free (0 chunks); 3232 used
    CachedPlanSource INSERT INTO perform_test VALUES (100, 100): 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
      CachedPlanQuery: 4096 total in 3 blocks; 1760 free (1 chunks); 2336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT TRUE: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT TRUE: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (2 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource INSERT INTO perform_test VALUES ($1, $1 + 10): 2048 total in 2 blocks; 208 free (1 chunks); 1840
used
      CachedPlanQuery: 4096 total in 3 blocks; 1512 free (1 chunks); 2584 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1 < 20: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT $1 < 20: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT perform_simple_func(5): 2048 total in 2 blocks; 432 free (0 chunks); 1616 used
    CachedPlanSource SELECT perform_simple_func(5): 2048 total in 2 blocks; 184 free (0 chunks); 1864 used
      CachedPlanQuery: 2048 total in 2 blocks; 536 free (1 chunks); 1512 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array[j,j]: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used
    CachedPlanSource SELECT array[j,j]: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (1 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT i: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT array[j,j]: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used
    CachedPlanSource SELECT array[j,j]: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (1 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT i: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'foot': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT 'foot': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT j+1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT j+1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'foo': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT 'foo': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i+1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT i+1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'foo': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT 'foo': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT j+1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT j+1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT i: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i+2: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT i+2: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i+1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT i+1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i+1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT i+1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT             50, 5::numeric, 'xxx'::text: 2048 total in 2 blocks; 176 free (1 chunks); 1872 used
    CachedPlanSource SELECT             50, 5::numeric, 'xxx'::text: 4096 total in 3 blocks; 1136 free (0 chunks); 2960
used
      CachedPlanQuery: 2048 total in 2 blocks; 160 free (1 chunks); 1888 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT             5, 10, 15: 2048 total in 2 blocks; 256 free (0 chunks); 1792 used
    CachedPlanSource SELECT             5, 10, 15: 4096 total in 3 blocks; 1944 free (3 chunks); 2152 used
      CachedPlanQuery: 2048 total in 2 blocks; 360 free (1 chunks); 1688 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1 > 10: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT $1 > 10: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT             50, 5::numeric, 'xxx'::text: 2048 total in 2 blocks; 176 free (1 chunks); 1872 used
    CachedPlanSource SELECT             50, 5::numeric, 'xxx'::text: 4096 total in 3 blocks; 1136 free (0 chunks); 2960
used
      CachedPlanQuery: 2048 total in 2 blocks; 160 free (1 chunks); 1888 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT             5, 10, 15: 2048 total in 2 blocks; 256 free (0 chunks); 1792 used
    CachedPlanSource SELECT             5, 10, 15: 4096 total in 3 blocks; 1944 free (3 chunks); 2152 used
      CachedPlanQuery: 2048 total in 2 blocks; 360 free (1 chunks); 1688 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1 > 10: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT $1 > 10: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT i + 1: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT i + 1: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $2: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT $2: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used
    CachedPlanSource SELECT $1: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select * from found_test_tbl: 2048 total in 2 blocks; 8 free (0 chunks); 2040 used
    CachedPlanSource select * from found_test_tbl: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used
      CachedPlanQuery: 4096 total in 3 blocks; 1992 free (1 chunks); 2104 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select * from found_test_tbl: 2048 total in 2 blocks; 8 free (0 chunks); 2040 used
    CachedPlanSource select * from found_test_tbl: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used
      CachedPlanQuery: 4096 total in 3 blocks; 1992 free (1 chunks); 2104 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT true: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used
    CachedPlanSource SELECT true: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (2 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan insert into found_test_tbl values (6): 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used
    CachedPlanSource insert into found_test_tbl values (6): 2048 total in 2 blocks; 584 free (1 chunks); 1464 used
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not FOUND: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not FOUND: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 2: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 2: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan insert into found_test_tbl values (5): 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used
    CachedPlanSource insert into found_test_tbl values (5): 2048 total in 2 blocks; 584 free (1 chunks); 1464 used
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 10: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 10: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 1: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 1: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan insert into found_test_tbl values (4): 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used
    CachedPlanSource insert into found_test_tbl values (4): 2048 total in 2 blocks; 584 free (1 chunks); 1464 used
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not FOUND: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not FOUND: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan delete from found_test_tbl where a = 9999: 4096 total in 3 blocks; 664 free (0 chunks); 3432 used
    CachedPlanSource delete from found_test_tbl where a = 9999: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 4096 total in 3 blocks; 1896 free (1 chunks); 2200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan insert into found_test_tbl values (3): 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used
    CachedPlanSource insert into found_test_tbl values (3): 2048 total in 2 blocks; 584 free (1 chunks); 1464 used
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan update found_test_tbl set a = 100 where a = 1: 4096 total in 3 blocks; 384 free (0 chunks); 3712 used
    CachedPlanSource update found_test_tbl set a = 100 where a = 1: 2048 total in 2 blocks; 304 free (0 chunks); 1744
used
      CachedPlanQuery: 4096 total in 3 blocks; 1560 free (1 chunks); 2536 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan insert into found_test_tbl values (2): 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used
    CachedPlanSource insert into found_test_tbl values (2): 2048 total in 2 blocks; 584 free (1 chunks); 1464 used
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT FOUND: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT FOUND: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan insert into found_test_tbl values (1): 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used
    CachedPlanSource insert into found_test_tbl values (1): 2048 total in 2 blocks; 584 free (1 chunks); 1464 used
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT CAST($2 AS TEXT): 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT CAST($2 AS TEXT): 2048 total in 2 blocks; 264 free (0 chunks); 1784 used
      CachedPlanQuery: 2048 total in 2 blocks; 856 free (1 chunks); 1192 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT CAST($1 AS TEXT) || ',' || recursion_test($1 - 1, $2): 4096 total in 3 blocks; 1368 free (0
chunks);2728 used 
    CachedPlanSource SELECT CAST($1 AS TEXT) || ',' || recursion_test($1 - 1, $2): 4096 total in 3 blocks; 848 free (0
chunks);3248 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1504 free (1 chunks); 2592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT $1 <= 0: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used
    CachedPlanSource SELECT $1 <= 0: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sname: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sname: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.sysname: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used
    CachedPlanSource SELECT new.sysname: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT old.slotno > hubrec.nslots: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT old.slotno > hubrec.nslots: 4096 total in 3 blocks; 1664 free (0 chunks); 2432 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select             * from Hub where name = old.hubname: 4096 total in 3 blocks; 1120 free (0
chunks);2976 used 
      CachedPlanQuery: 4096 total in 3 blocks; 912 free (1 chunks); 3184 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT mytype: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT myname: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT myname: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update PSlot set slotlink = '' where slotname = myname: 2048 total in 2 blocks; 96 free (0
chunks);1952 used 
      CachedPlanQuery: 4096 total in 3 blocks; 760 free (1 chunks); 3336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.slotlink = blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.slotlink = blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'PS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'PS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(myname, 1, 2): 2048 total in 2 blocks; 184 free (0 chunks); 1864 used
    CachedPlanSource SELECT substr(myname, 1, 2): 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_slotlink_unset(old.slotlink, old.slotname): 2048 total in 2 blocks; 336 free (0 chunks); 1712
used
    CachedPlanSource SELECT tg_slotlink_unset(old.slotlink, old.slotname): 4096 total in 3 blocks; 1488 free (0
chunks);2608 used 
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT mytype: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select          * from PSlot where slotname = myname: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan SELECT myname: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT myname: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select          * from PHone where slotname = rec.slotlink: 4096 total in 3 blocks; 184 free (0 chunks);
3912used 
    CachedPlan select          * from PLine where slotname = "outer".rec.backlink: 8192 total in 4 blocks; 3800 free (1
chunks);4392 used 
    CachedPlan SELECT '-': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT '-': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT retval || slotno::text from HSlot
            where slotname = psrec.slotlink: 4096 total in 3 blocks; 464 free (0 chunks); 3632 used
      CachedPlanQuery: 4096 total in 3 blocks; 936 free (1 chunks); 3160 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ' slot ': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT retval || ' slot ': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT comment from Hub H, HSlot HS
            where HS.slotname = psrec.slotlink
              and H.name = HS.hubname: 8192 total in 4 blocks; 3744 free (1 chunks); 4448 used
      CachedPlanQuery: 8192 total in 4 blocks; 3624 free (1 chunks); 4568 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sltype = 'HS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT sltype = 'HS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ')': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT retval || ')': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || syrow.comment: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT retval || syrow.comment: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ' (': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT retval || ' (': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT syrow.comment != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT syrow.comment != '': 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ifrow.ifname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT retval || ifrow.ifname: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT syrow.name || ' IF ': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT syrow.name || ' IF ': 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select            * from System where name = ifrow.sysname: 4096 total in 3 blocks; 1376 free (0
chunks);2720 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select            * from IFace where slotname = rec.slotlink: 4096 total in 3 blocks; 1104 free (0
chunks);2992 used 
      CachedPlanQuery: 4096 total in 3 blocks; 520 free (1 chunks); 3576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sltype = 'IF': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT sltype = 'IF': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ')': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT retval || ')': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || rec.comment: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT retval || rec.comment: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ' (': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT retval || ' (': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.comment != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT rec.comment != '': 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'Phone line ' || trim(rec.phonenumber): 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
    CachedPlanSource SELECT 'Phone line ' || trim(rec.phonenumber): 4096 total in 3 blocks; 1424 free (0 chunks); 2672
used
      CachedPlanQuery: 2048 total in 2 blocks; 184 free (1 chunks); 1864 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PLine where slotname = "outer".rec.backlink: 4096 total in 3 blocks; 928
free(0 chunks); 3168 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || pslot_backlink_view(psrec.slotlink): 2048 total in 2 blocks; 168 free (0 chunks); 1880
used
    CachedPlanSource SELECT retval || pslot_backlink_view(psrec.slotlink): 4096 total in 3 blocks; 1392 free (0
chunks);2704 used 
      CachedPlanQuery: 2048 total in 2 blocks; 304 free (1 chunks); 1744 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT trim(psrec.slotlink) || ' -> ': 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
    CachedPlanSource SELECT trim(psrec.slotlink) || ' -> ': 4096 total in 3 blocks; 1432 free (0 chunks); 2664 used
      CachedPlanQuery: 2048 total in 2 blocks; 192 free (1 chunks); 1856 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sltype = 'PS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT sltype = 'PS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(psrec.slotlink, 1, 2): 2048 total in 2 blocks; 152 free (0 chunks); 1896 used
    CachedPlanSource SELECT substr(psrec.slotlink, 1, 2): 4096 total in 3 blocks; 1704 free (1 chunks); 2392 used
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ')': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT retval || ')': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || rec.comment: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT retval || rec.comment: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ' (': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT retval || ' (': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.comment != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT rec.comment != '': 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'Phone ' || trim(rec.slotname): 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
    CachedPlanSource SELECT 'Phone ' || trim(rec.slotname): 4096 total in 3 blocks; 1432 free (0 chunks); 2664 used
      CachedPlanQuery: 2048 total in 2 blocks; 184 free (1 chunks); 1864 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PHone where slotname = rec.slotlink: 4096 total in 3 blocks; 1104 free (0
chunks);2992 used 
      CachedPlanQuery: 4096 total in 3 blocks; 880 free (1 chunks); 3216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sltype = 'PH': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT sltype = 'PH': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(rec.slotlink, 1, 2): 2048 total in 2 blocks; 152 free (0 chunks); 1896 used
    CachedPlanSource SELECT substr(rec.slotlink, 1, 2): 4096 total in 3 blocks; 1704 free (1 chunks); 2392 used
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select            * from PSlot where slotname = $1: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan select          * from WSlot where slotname = $1: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan select          * from WSlot where slotname = rec.backlink: 8192 total in 4 blocks; 3864 free (0
chunks);4328 used 
    CachedPlan select          * from PSlot where slotname = $1: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan SELECT '-': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT '-': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT psrec.slotlink = '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT psrec.slotlink = '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select            * from PSlot where slotname = $1: 4096 total in 3 blocks; 1408 free (0 chunks);
2688used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT '-': 2048 total in 2 blocks; 752 free (0 chunks); 1296 used
    CachedPlanSource SELECT '-': 2048 total in 2 blocks; 544 free (0 chunks); 1504 used
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.slotlink = '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT rec.slotlink = '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from WSlot where slotname = $1: 4096 total in 3 blocks; 1408 free (0 chunks);
2688used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || wslot_slotlink_view(rec.slotname): 2048 total in 2 blocks; 168 free (0 chunks); 1880
used
    CachedPlanSource SELECT retval || wslot_slotlink_view(rec.slotname): 4096 total in 3 blocks; 1392 free (0 chunks);
2704used 
      CachedPlanQuery: 2048 total in 2 blocks; 304 free (1 chunks); 1744 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || ' -> ': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT retval || ' -> ': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT retval || trim(rec.roomno): 2048 total in 2 blocks; 120 free (0 chunks); 1928 used
    CachedPlanSource SELECT retval || trim(rec.roomno): 4096 total in 3 blocks; 1304 free (0 chunks); 2792 used
      CachedPlanQuery: 2048 total in 2 blocks; 256 free (1 chunks); 1792 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT trim(rec.slotname) || ' in room ': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
    CachedPlanSource SELECT trim(rec.slotname) || ' in room ': 4096 total in 3 blocks; 1424 free (0 chunks); 2672 used
      CachedPlanQuery: 2048 total in 2 blocks; 184 free (1 chunks); 1864 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from WSlot where slotname = rec.backlink: 4096 total in 3 blocks; 1104 free (0
chunks);2992 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT bltype = 'WS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT bltype = 'WS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT bltype = 'PL': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT bltype = 'PL': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(rec.backlink, 1, 2): 2048 total in 2 blocks; 152 free (0 chunks); 1896 used
    CachedPlanSource SELECT substr(rec.backlink, 1, 2): 4096 total in 3 blocks; 1704 free (1 chunks); 2392 used
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.backlink = '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT rec.backlink = '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PSlot where slotname = $1: 4096 total in 3 blocks; 1408 free (0 chunks);
2688used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_slotlink_set(new.slotlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_slotlink_set(new.slotlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT old.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT old.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != old.slotlink: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.slotlink != old.slotlink: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname or new.hubname != old.hubname: 4096 total in 3 blocks; 1904 free (1
chunks);2192 used 
    CachedPlanSource SELECT new.slotname != old.slotname or new.hubname != old.hubname: 4096 total in 3 blocks; 464
free(0 chunks); 3632 used 
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (1 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update HSlot set slotlink = blname where slotname = myname: 4096 total in 3 blocks; 1968 free (1
chunks);2128 used 
      CachedPlanQuery: 4096 total in 3 blocks; 832 free (1 chunks); 3264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.slotlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.slotlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from HSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 520 free (1 chunks); 3576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.slotlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.slotlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from IFace where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 520 free (1 chunks); 3576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_slotlink_set(new.slotlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_slotlink_set(new.slotlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sname: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sname: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT length(sname) > 20: 2048 total in 2 blocks; 304 free (0 chunks); 1744 used
    CachedPlanSource SELECT length(sname) > 20: 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used
      CachedPlanQuery: 2048 total in 2 blocks; 408 free (1 chunks); 1640 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sname || new.ifname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT sname || new.ifname: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sname || '.': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT sname || '.': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'IF.' || new.sysname: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT 'IF.' || new.sysname: 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select             * from system where name = new.sysname: 4096 total in 3 blocks; 1376 free (0
chunks);2720 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used
    CachedPlanSource SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 960 free (0 chunks); 3136
used
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.slotlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select             * from Hub where name = new.hubname: 4096 total in 3 blocks; 216 free (0 chunks);
3880used 
    CachedPlan insert into HSlot (slotname, hubname, slotno, slotlink)
        values ('HS.dummy', hname, i, ''): 8192 total in 4 blocks; 3624 free (0 chunks); 4568 used
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sname: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used
    CachedPlanSource SELECT sname: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT length(sname) > 20: 2048 total in 2 blocks; 304 free (0 chunks); 1744 used
    CachedPlanSource SELECT length(sname) > 20: 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used
      CachedPlanQuery: 2048 total in 2 blocks; 408 free (1 chunks); 1640 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sname || new.slotno::text: 2048 total in 2 blocks; 432 free (0 chunks); 1616 used
    CachedPlanSource SELECT sname || new.slotno::text: 4096 total in 3 blocks; 1464 free (0 chunks); 2632 used
      CachedPlanQuery: 2048 total in 2 blocks; 568 free (1 chunks); 1480 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT sname || '.': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT sname || '.': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 'HS.' || trim(new.hubname): 2048 total in 2 blocks; 56 free (0 chunks); 1992 used
    CachedPlanSource SELECT 'HS.' || trim(new.hubname): 4096 total in 3 blocks; 1440 free (0 chunks); 2656 used
      CachedPlanQuery: 2048 total in 2 blocks; 192 free (1 chunks); 1856 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'UPDATE' and new.hubname != old.hubname: 4096 total in 3 blocks; 1896 free (0 chunks);
2200used 
    CachedPlanSource SELECT tg_op = 'UPDATE' and new.hubname != old.hubname: 4096 total in 3 blocks; 904 free (0
chunks);3192 used 
      CachedPlanQuery: 4096 total in 3 blocks; 2032 free (1 chunks); 2064 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotno < 1 or new.slotno > hubrec.nslots: 4096 total in 3 blocks; 1936 free (0 chunks); 2160
used
    CachedPlanSource SELECT new.slotno < 1 or new.slotno > hubrec.nslots: 4096 total in 3 blocks; 824 free (0 chunks);
3272used 
      CachedPlanQuery: 2048 total in 2 blocks; 64 free (1 chunks); 1984 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select             * from Hub where name = new.hubname: 4096 total in 3 blocks; 1120 free (0
chunks);2976 used 
      CachedPlanQuery: 4096 total in 3 blocks; 912 free (1 chunks); 3184 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.slotlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource insert into HSlot (slotname, hubname, slotno, slotlink)
        values ('HS.dummy', hname, i, ''): 4096 total in 3 blocks; 1128 free (0 chunks); 2968 used
      CachedPlanQuery: 8192 total in 4 blocks; 3744 free (1 chunks); 4448 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT newnslots: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used
    CachedPlanSource SELECT newnslots: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT oldnslots + 1: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT oldnslots + 1: 2048 total in 2 blocks; 72 free (0 chunks); 1976 used
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT newnslots < oldnslots: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT newnslots < oldnslots: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT newnslots = oldnslots: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT newnslots = oldnslots: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_hub_adjustslots(new.name, 0, new.nslots): 2048 total in 2 blocks; 208 free (0 chunks); 1840
used
    CachedPlanSource SELECT tg_hub_adjustslots(new.name, 0, new.nslots): 4096 total in 3 blocks; 1408 free (0 chunks);
2688used 
      CachedPlanQuery: 2048 total in 2 blocks; 344 free (1 chunks); 1704 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select          * from PSlot where slotname = myname: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update PSlot set slotlink = blname where slotname = myname: 4096 total in 3 blocks; 1968 free (1
chunks);2128 used 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.slotlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.slotlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_slotlink_set(new.slotlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_slotlink_set(new.slotlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT old.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT old.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.slotlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.slotlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PHone where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 880 free (1 chunks); 3216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'PH': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'PH': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'HS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'HS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'IF': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'IF': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_slotlink_set(new.slotlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_slotlink_set(new.slotlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT old.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT old.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname and new.backlink != '': 4096 total in 3 blocks; 1904 free (0
chunks);2192 used 
    CachedPlanSource SELECT new.slotname != old.slotname and new.backlink != '': 4096 total in 3 blocks; 768 free (0
chunks);3328 used 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update WSlot set slotlink = blname where slotname = myname: 4096 total in 3 blocks; 1968 free (1
chunks);2128 used 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.slotlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.slotlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from WSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'WS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'WS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'PS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'PS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT link in ('PSWS', 'WSPS'): 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
    CachedPlanSource SELECT link in ('PSWS', 'WSPS'): 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT link in ('PHIF', 'IFPH'): 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
    CachedPlanSource SELECT link in ('PHIF', 'IFPH'): 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT link in ('PHHS', 'HSPH'): 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
    CachedPlanSource SELECT link in ('PHHS', 'HSPH'): 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT link = 'PHPH': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT link = 'PHPH': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype || substr(blname, 1, 2): 4096 total in 3 blocks; 1688 free (0 chunks); 2408 used
    CachedPlanSource SELECT mytype || substr(blname, 1, 2): 4096 total in 3 blocks; 1344 free (0 chunks); 2752 used
      CachedPlanQuery: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(myname, 1, 2): 2048 total in 2 blocks; 184 free (0 chunks); 1864 used
    CachedPlanSource SELECT substr(myname, 1, 2): 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_slotlink_set(new.slotlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_slotlink_set(new.slotlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used
    CachedPlanSource SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 960 free (0 chunks); 3136
used
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.slotlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_backlink_unset(old.backlink, old.slotname): 2048 total in 2 blocks; 336 free (0 chunks); 1712
used
    CachedPlanSource SELECT tg_backlink_unset(old.backlink, old.slotname): 4096 total in 3 blocks; 1488 free (0
chunks);2608 used 
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT old.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT old.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != old.backlink: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.backlink != old.backlink: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.slotname != old.slotname: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update PLine set backlink = '' where slotname = myname: 2048 total in 2 blocks; 96 free (0
chunks);1952 used 
      CachedPlanQuery: 4096 total in 3 blocks; 760 free (1 chunks); 3336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.backlink = blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.backlink = blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PLine where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'PL': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'PL': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select          * from PLine where slotname = myname: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan update PSlot set backlink = blname where slotname = myname: 8192 total in 4 blocks; 2352 free (0
chunks);5840 used 
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.backlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.backlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PLine where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'PL': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'PL': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_backlink_set(new.backlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_backlink_set(new.backlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used
    CachedPlanSource SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 960 free (0 chunks); 3136
used
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.backlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname and new.backlink != '': 4096 total in 3 blocks; 1904 free (0
chunks);2192 used 
    CachedPlanSource SELECT new.slotname != old.slotname and new.backlink != '': 4096 total in 3 blocks; 768 free (0
chunks);3328 used 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update PSlot set pfname = new.name where pfname = old.name: 4096 total in 3 blocks; 1760 free (0
chunks);2336 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.name != old.name: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT new.name != old.name: 4096 total in 3 blocks; 1696 free (0 chunks); 2400 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update PSlot set backlink = blname where slotname = myname: 4096 total in 3 blocks; 1968 free (1
chunks);2128 used 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.backlink = blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.backlink = blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_backlink_unset(old.backlink, old.slotname): 2048 total in 2 blocks; 336 free (0 chunks); 1712
used
    CachedPlanSource SELECT tg_backlink_unset(old.backlink, old.slotname): 4096 total in 3 blocks; 1488 free (0
chunks);2608 used 
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update WSlot set backlink = '' where slotname = myname: 2048 total in 2 blocks; 96 free (0
chunks);1952 used 
      CachedPlanQuery: 4096 total in 3 blocks; 760 free (1 chunks); 3336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.backlink = blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.backlink = blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from WSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'WS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'WS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'PS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'PS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(myname, 1, 2): 2048 total in 2 blocks; 184 free (0 chunks); 1864 used
    CachedPlanSource SELECT substr(myname, 1, 2): 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_backlink_unset(old.backlink, old.slotname): 2048 total in 2 blocks; 336 free (0 chunks); 1712
used
    CachedPlanSource SELECT tg_backlink_unset(old.backlink, old.slotname): 4096 total in 3 blocks; 1488 free (0
chunks);2608 used 
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname and new.slotlink != '': 4096 total in 3 blocks; 1904 free (0
chunks);2192 used 
    CachedPlanSource SELECT new.slotname != old.slotname and new.slotlink != '': 4096 total in 3 blocks; 768 free (0
chunks);3328 used 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != old.slotlink: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.slotlink != old.slotlink: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_backlink_set(new.backlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_backlink_set(new.backlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT old.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT old.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != old.backlink: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.backlink != old.backlink: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.slotname != old.slotname: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select          * from PSlot where slotname = myname: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan update WSlot set backlink = blname where slotname = myname: 8192 total in 4 blocks; 2352 free (0
chunks);5840 used 
    CachedPlan select          * from WSlot where slotname = myname: 8192 total in 4 blocks; 3864 free (0 chunks); 4328
used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname and new.slotlink != '': 4096 total in 3 blocks; 1904 free (0
chunks);2192 used 
    CachedPlanSource SELECT new.slotname != old.slotname and new.slotlink != '': 4096 total in 3 blocks; 768 free (0
chunks);3328 used 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink != old.slotlink: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.slotlink != old.slotlink: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT 0: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used
    CachedPlanSource SELECT 0: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.backlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.backlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from PSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_backlink_set(new.backlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_backlink_set(new.backlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT old.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT old.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != old.backlink: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.backlink != old.backlink: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'UPDATE': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotname != old.slotname: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used
    CachedPlanSource SELECT new.slotname != old.slotname: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource update WSlot set backlink = blname where slotname = myname: 4096 total in 3 blocks; 1968 free (1
chunks);2128 used 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT rec.backlink != blname: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used
    CachedPlanSource SELECT rec.backlink != blname: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select          * from WSlot where slotname = myname: 4096 total in 3 blocks; 1224 free (0
chunks);2872 used 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'WS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'WS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype = 'PS': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT mytype = 'PS': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT link in ('PLWS', 'WSPL'): 2048 total in 2 blocks; 400 free (0 chunks); 1648 used
    CachedPlanSource SELECT link in ('PLWS', 'WSPL'): 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT link = 'PLPL': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT link = 'PLPL': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT mytype || substr(blname, 1, 2): 4096 total in 3 blocks; 1688 free (0 chunks); 2408 used
    CachedPlanSource SELECT mytype || substr(blname, 1, 2): 4096 total in 3 blocks; 1344 free (0 chunks); 2752 used
      CachedPlanQuery: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(myname, 1, 2): 2048 total in 2 blocks; 184 free (0 chunks); 1864 used
    CachedPlanSource SELECT substr(myname, 1, 2): 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_backlink_set(new.backlink, new.slotname): 2048 total in 2 blocks; 352 free (0 chunks); 1696
used
    CachedPlanSource SELECT tg_backlink_set(new.backlink, new.slotname): 4096 total in 3 blocks; 1504 free (0 chunks);
2592used 
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan select            * from PField where name = ps.pfname: 4096 total in 3 blocks; 576 free (0 chunks);
3520used 
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT not found: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used
    CachedPlanSource SELECT not found: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource select            * from PField where name = ps.pfname: 4096 total in 3 blocks; 1376 free (0
chunks);2720 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used
    CachedPlanSource SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 960 free (0 chunks); 3136
used
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.slotlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.backlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT count(*) = 0 from Room where roomno = new.roomno: 4096 total in 3 blocks; 80 free (0 chunks);
4016used 
    CachedPlan SELECT new.slotlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.slotlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink != '': 2048 total in 2 blocks; 456 free (0 chunks); 1592 used
    CachedPlanSource SELECT new.backlink != '': 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 448 free (0 chunks); 1600 used
    CachedPlanSource SELECT tg_op = 'INSERT': 2048 total in 2 blocks; 48 free (0 chunks); 2000 used
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource SELECT count(*) = 0 from Room where roomno = new.roomno: 4096 total in 3 blocks; 992 free (0
chunks);3104 used 
      CachedPlanQuery: 4096 total in 3 blocks; 1136 free (2 chunks); 2960 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used
    CachedPlanSource SELECT substr(new.slotname, 1, 2) != tg_argv[0]: 4096 total in 3 blocks; 960 free (0 chunks); 3136
used
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.slotlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.slotlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan SELECT new.backlink isnull: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used
    CachedPlanSource SELECT new.backlink isnull: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    EventTriggerCache: 8192 total in 1 blocks; 7936 free (10 chunks); 256 used
      dynahash Event Trigger Cache: 8192 total in 1 blocks; 2592 free (0 chunks); 5600 used
    index info pg_index_indexrelid_index: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    index info pg_opclass_oid_index: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    index info pg_trigger_tgrelid_tgname_index: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    index info pg_rewrite_rel_rulename_index: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    index info pg_class_oid_index: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    index info pg_attribute_relid_attnum_index: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    index info pg_amproc_fam_proc_index: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used
    index info pg_authid_oid_index: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    index info pg_auth_members_member_role_index: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    index info pg_shseclabel_object_index: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    index info pg_database_datname_index: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    index info pg_database_oid_index: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    index info pg_authid_rolname_index: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
  WAL record construction: 49776 total in 2 blocks; 6352 free (0 chunks); 43424 used
  dynahash PrivateRefCount: 8192 total in 1 blocks; 2592 free (0 chunks); 5600 used
  MdSmgr: 8192 total in 1 blocks; 5856 free (0 chunks); 2336 used
  dynahash LOCALLOCK hash: 16384 total in 2 blocks; 4552 free (3 chunks); 11832 used
  dynahash Timezones: 104128 total in 2 blocks; 2592 free (0 chunks); 101536 used
  ErrorContext: 8192 total in 1 blocks; 7936 free (0 chunks); 256 used
Grand total: 13115912 bytes in 5012 blocks; 4220680 free (1717 chunks); 8895232 used

Re: Backend memory dump analysis

От
Vladimir Sitnikov
Дата:
It looks much better.

>While I didn't do anything about it here, I think it'd likely be a
>good idea for MemoryContextStats printout to truncate the context ID
>strings at 100 characters or so

It would be great if there was an option to show full sql.
For instance, current statistics is not sorted (should it be?), so it just prints the first 100 items no matter the size of entries.
Luckily there's a function that accepts "number of nodes to print" as an argument.
It would be better if it printed the 100 top consumers (including descendants) though.

I think it makes sense to move all the numerics to the front, so the numbers are located in the more or less the same columns.
Current output is hard to read as you basically have to search for "free" and "used" markers.

What do you think of (number of bytes are printed with 6 characters, and number of chunks with 2 characters)
  16384 total in  2 blocks;  12448 used;   3936 free ( 5 chunks): PL/pgSQL function tg_pslot_biu()
instead of
PL/pgSQL function tg_pslot_biu(): 16384 total in 2 blocks; 3936 free (5 chunks); 12448 used
?
I think "used memory" is more important than "free". As far as I understand, the main use-case is "analyze memory consumption", so one cares "what is consuming the memory" more than "what context have enough free space".

PS. "TopMemoryContext: 2143904 total" and "Grand total: 13115912 bytes" does confuse. It basically says "TopMemoryContext is 2MiB, and grant total is somehow 12MiB". It does not clarify if totals are "self memory" or "including descendant contexts". In your case the difference is 10MiB, and it is not that obvious why is that.

Vladimir

Re: Backend memory dump analysis

От
Tom Lane
Дата:
Vladimir Sitnikov <sitnikov.vladimir@gmail.com> writes:
>> While I didn't do anything about it here, I think it'd likely be a
>> good idea for MemoryContextStats printout to truncate the context ID
>> strings at 100 characters or so

> It would be great if there was an option to show full sql.

Well, as I said, you can do anything you want now in an extension.
But we've had complaints specifically about overly-verbose memory maps
getting spewed to the postmaster log --- that's why there's a default
limit to 100 child contexts now.  So I think the standard behavior has
to limit the length of the ID printouts.

(I've since updated my draft patch to do that, and also to convert all
ASCII control characters in an ID to spaces, so that the printouts are
back to a single line per context.)

> For instance, current statistics is not sorted (should it be?), so it just
> prints the first 100 items no matter the size of entries.

It's not going to be sorted, because of the concerns around not consuming
extra memory when we are reporting an ENOMEM problem.  Again, if you're
writing an extension that's going to capture memory usage in non-emergency
scenarios, you can make it do whatever you like.

> I think it makes sense to move all the numerics to the front, so the
> numbers are located in the more or less the same columns.

I don't agree.  Actually the key number is the one that already is printed
first, ie the total space consumed by the context; all the rest is detail.
Very occasionally, you might be interested in spotting contexts that have
a disproportionate amount of free space, but IME that's seldom the main
issue.

There might be an argument for putting the context ID at the end, along
the lines of

  PL/pgSQL function: 16384 total in 2 blocks; 6672 free (4 chunks); 9712 used
(alter_table_under_transition_tables_upd_func())

or maybe better with a colon instead of parens:

  CachedPlan: 8192 total in 4 blocks; 1504 free (0 chunks); 6688 used: SELECT (SELECT COUNT(*)        FROM (SELECT *
FROMnew_test UNION ALL SELECT * FROM new_test) ss) 

so that the total is still reasonably prominent --- it's certainly true
that long context IDs are going to make it harder to see that number,
if they're in front.  But this doesn't look terribly nice otherwise, so
I'm not sure.  Thoughts?

            regards, tom lane


Re: Backend memory dump analysis

От
Vladimir Sitnikov
Дата:
Tom>Well, as I said, you can do anything you want now in an extension.

That is true. However it basically means "everybody who cares to troubleshoot the memory use of a production system should install an extension".

Tom>Actually the key number is the one that already is printed
Tom>first, ie the total space consumed by the context

The space used is more important than the context name itself.

What do you think of

  8192 (2 blocks) CachedPlan: 1504 free (0 chunks); 6688 used: SELECT (SELECT COUNT(*)        FROM (SELECT * FROM new_test UNION ALL SELECT * FROM new_test) ss)

?
PS. "1504 free (0 chunks)" reads odd.

Tom>Very occasionally, you might be interested in spotting contexts that have
Tom>a disproportionate amount of free space, but IME that's seldom the main
Tom>issue.

Fully agree. That is why I suggest "total, used, free" order so it matches the likelihood of usage.

Vladimir

Re: Backend memory dump analysis

От
Tom Lane
Дата:
Vladimir Sitnikov <sitnikov.vladimir@gmail.com> writes:
> Tom>Well, as I said, you can do anything you want now in an extension.

> That is true. However it basically means "everybody who cares to
> troubleshoot the memory use of a production system should install an
> extension".

If you're interested in capturing memory usage short of an ENOMEM
condition, or reporting the results anywhere but stderr, you're going
to need such a thing anyway.  There's a lot of use-cases that
MemoryContextStats() doesn't cover, and can't be made to cover without
breaking its essential requirement to report ENOMEM successfully.

> What do you think of

>   8192 (2 blocks) CachedPlan: 1504 free (0 chunks); 6688 used: SELECT
> (SELECT COUNT(*)        FROM (SELECT * FROM new_test UNION ALL SELECT *
> FROM new_test) ss)

Not much.  Maybe it's just that I've been looking at the existing output
format for too many years.  But given the lack of previous complaints,
I'm disinclined to make large changes in it.

One concrete objection to the above is it'd obscure hierarchical
relationships in the context tree, such as

  TopPortalContext: 8192 total in 1 blocks; 7656 free (2 chunks); 536 used
    PortalContext: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
      ExecutorState: 8192 total in 1 blocks; 2960 free (0 chunks); 5232 used
        printtup: 8192 total in 1 blocks; 7936 free (0 chunks); 256 used
        ExprContext: 8192 total in 1 blocks; 7656 free (0 chunks); 536 used

            regards, tom lane


Re: Backend memory dump analysis

От
Vladimir Sitnikov
Дата:
Tom>One concrete objection to the above is it'd obscure hierarchical
relationships in the context tree,

What is the problem with relationships? Context names are aligned as well provided 8192 is justified to 6-7-8-9 (you pick) characters.

Tom>But given the lack of previous complaints

1) Here it is:

The log lists "TopMemoryContext: 136614192 total", so everybody follows "ah, there's 130MiB used" route.
Nobody in the thread mentions 300MiB taken by "ExecutorState: 318758960 total".

It takes just a single pass to compute "total" (and it takes no memory), so it would be much better if "TopMemoryContext: ..." was replaced with
"Total memory used by all contexts is XXX bytes"
Current TopMemoryContext row is extremely misleading.

Note: 100 was invented "at random" in response to "let's not print everything by default". I do agree with having limit by default, however it would be so much better
if it selected the rows to print even at a cost of increased CPU cycles for the print procedure.
For instance: pgjdbc limits to 256 server-prepared statements by default (per backend). That is current "...Stats" would just ignore at least half of the prepared statements.

3) If you care so much on the number of passes (frankly speaking, I think one can easily wait for 5-10 seconds for debugging/troubleshooting stuff),
then aggregate summary can still be computed and printed with no additional passes (and very limited memory) if the tree is printed in "child-parent" order.
That is print "parent context" information after children iteration is done.

PS. SQL text might involve sensitive information (e.g. logins, passwords, personal IDs), so there might be security issues with printing SQL by default.

Vladimir

Re: Backend memory dump analysis

От
Craig Ringer
Дата:
On 24 March 2018 at 02:33, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Andres Freund <andres@anarazel.de> writes:
> On 2018-03-23 18:05:38 +0000, Vladimir Sitnikov wrote:
>> For instance, I assume statament cache is stored in some sort of a hash
>> table, so there should be a way to enumerate it in a programmatic way. Of
>> course it would take time, however I do not think it creates cpu/memory
>> overheads. The overhead is to maintain "walker" code.

> Sure, you could, entirely independent of the memory stats dump, do
> that. But what information would you actually gain from it? Which row
> something in the catcache belongs to isn't *that* interesting.

It'd certainly be easy to define this in a way that makes it require
a bunch of support code, which we'd be unlikely to want to write and
maintain.  However, I've often wished that the contexts in a memory
dump were less anonymous.  If you didn't just see a pile of "PL/pgSQL
function context" entries, but could (say) see the name of each function,
that would be a big step forward.  Similarly, if we could see the source
text for each CachedPlanSource in a dump, that'd be useful.  I mention
these things because we do actually store them already, in many cases
--- but the memory stats code doesn't know about them.

Now, commit 9fa6f00b1 already introduced a noticeable penalty for
contexts with nonconstant names, so trying to stick extra info like
this into the context name is not appetizing.  But what if we allowed
the context name to have two parts, a fixed part and a variable part?
We could actually require that the fixed part be a compile-time-constant
string, simplifying matters on that end.  The variable part would best
be assigned later than initial context creation, because you'd need a
chance to copy the string into the context before pointing to it.
So maybe, for contexts where this is worth doing, it'd look something
like this for plpgsql:

    func_cxt = AllocSetContextCreate(TopMemoryContext,
                                     "PL/pgSQL function context",
                                     ALLOCSET_DEFAULT_SIZES);
    plpgsql_compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);

    function->fn_signature = format_procedure(fcinfo->flinfo->fn_oid);
+   MemoryContextSetIdentifier(func_cxt, function->fn_signature);
    function->fn_oid = fcinfo->flinfo->fn_oid;
    function->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);

I'm a big fan of this, having stared at way too many dumps of "no idea what's going on in there" memory usage. 

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Re: Backend memory dump analysis

От
Craig Ringer
Дата:
On 24 March 2018 at 03:01, Andres Freund <andres@anarazel.de> wrote:
Hi,

On 2018-03-23 14:33:25 -0400, Tom Lane wrote:
>     func_cxt = AllocSetContextCreate(TopMemoryContext,
>                                      "PL/pgSQL function context",
>                                      ALLOCSET_DEFAULT_SIZES);
>     plpgsql_compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);
>
>     function->fn_signature = format_procedure(fcinfo->flinfo->fn_oid);
> +   MemoryContextSetIdentifier(func_cxt, function->fn_signature);
>     function->fn_oid = fcinfo->flinfo->fn_oid;
>     function->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
>
> This would cost an extra char * field in struct MemoryContextData,
> which is slightly annoying but it doesn't exactly seem like a killer.
> Then the memory stats dump code would just need to know to print this
> field if it isn't NULL.

That's not a bad idea. How about storing a Node* instead of a char*?
Then we could have MemoryContextStats etc support digging out details
for a few types, without having to generate strings at runtime.

That'd render it pretty useless for extensions, though.

I like the idea of being able to introspect state for particular kinds of contexts, and not have to generate strings that 99.99% of the time won't get get looked at.

Function pointers instead of char* ? It adds a significant potential stability risk to MemoryContextStats() calls, but a great deal of flexibility.

--
 Craig Ringer                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

Re: Backend memory dump analysis

От
Tom Lane
Дата:
Vladimir Sitnikov <sitnikov.vladimir@gmail.com> writes:
> It takes just a single pass to compute "total" (and it takes no memory), so
> it would be much better if "TopMemoryContext: ..." was replaced with
> "Total memory used by all contexts is XXX bytes"
> Current TopMemoryContext row is extremely misleading.

This may or may not be a good thing to do, but in any case it's well
outside the scope of this patch, whose ambition is only to get additional
identification info attached to contexts for which that's useful.
Moreover, seeing how late we are in the v11 cycle, it's hard to justify
doing more; that smells like a new feature and the time for that is past
for this year.  The only reason I'm considering this patch now at all
is that it rethinks some API changes we made earlier in v11, and it'd be
nice to avoid an additional round of churn there in v12.

> PS. SQL text might involve sensitive information (e.g. logins, passwords,
> personal IDs), so there might be security issues with printing SQL by
> default.

Indeed, that's something that extensions would need to think about.
I do not believe it's an issue for MemoryContextStats though; the
postmaster log can already contain sensitive data.

            regards, tom lane


Re: Backend memory dump analysis

От
Tom Lane
Дата:
Here's an updated patch that adjusts the output format per discussion:

- context identifier at the end of the line, so it's easier to see the
  numbers

- identifiers truncated at 100 bytes, control characters replaced by
  spaces

Also, I hacked things so that dynahash hash tables continue to print
the way they did before, since the hash table name is really what
you want to see there.

Sample output is same test case as last time (dump at end of plpgsql.sql
regression test script).

Barring objection I plan to push this shortly.

            regards, tom lane

diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 5d1b902..cfc6201 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -999,7 +999,6 @@ AtStart_Memory(void)
         TransactionAbortContext =
             AllocSetContextCreateExtended(TopMemoryContext,
                                           "TransactionAbortContext",
-                                          0,
                                           32 * 1024,
                                           32 * 1024,
                                           32 * 1024);
diff --git a/src/backend/catalog/partition.c b/src/backend/catalog/partition.c
index b00a986..39ee773 100644
--- a/src/backend/catalog/partition.c
+++ b/src/backend/catalog/partition.c
@@ -525,10 +525,11 @@ RelationBuildPartitionDesc(Relation rel)
     }

     /* Now build the actual relcache partition descriptor */
-    rel->rd_pdcxt = AllocSetContextCreateExtended(CacheMemoryContext,
-                                                  RelationGetRelationName(rel),
-                                                  MEMCONTEXT_COPY_NAME,
-                                                  ALLOCSET_DEFAULT_SIZES);
+    rel->rd_pdcxt = AllocSetContextCreate(CacheMemoryContext,
+                                          "partition descriptor",
+                                          ALLOCSET_DEFAULT_SIZES);
+    MemoryContextCopySetIdentifier(rel->rd_pdcxt, RelationGetRelationName(rel));
+
     oldcxt = MemoryContextSwitchTo(rel->rd_pdcxt);

     result = (PartitionDescData *) palloc0(sizeof(PartitionDescData));
diff --git a/src/backend/commands/policy.c b/src/backend/commands/policy.c
index 280a14a..cfaf32c 100644
--- a/src/backend/commands/policy.c
+++ b/src/backend/commands/policy.c
@@ -214,6 +214,9 @@ RelationBuildRowSecurity(Relation relation)
         SysScanDesc sscan;
         HeapTuple    tuple;

+        MemoryContextCopySetIdentifier(rscxt,
+                                       RelationGetRelationName(relation));
+
         rsdesc = MemoryContextAllocZero(rscxt, sizeof(RowSecurityDesc));
         rsdesc->rscxt = rscxt;

diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c
index 1c00ac9..2354589 100644
--- a/src/backend/executor/functions.c
+++ b/src/backend/executor/functions.c
@@ -612,7 +612,7 @@ init_sql_fcache(FmgrInfo *finfo, Oid collation, bool lazyEvalOK)
      * must be a child of whatever context holds the FmgrInfo.
      */
     fcontext = AllocSetContextCreate(finfo->fn_mcxt,
-                                     "SQL function data",
+                                     "SQL function",
                                      ALLOCSET_DEFAULT_SIZES);

     oldcontext = MemoryContextSwitchTo(fcontext);
@@ -635,9 +635,11 @@ init_sql_fcache(FmgrInfo *finfo, Oid collation, bool lazyEvalOK)
     procedureStruct = (Form_pg_proc) GETSTRUCT(procedureTuple);

     /*
-     * copy function name immediately for use by error reporting callback
+     * copy function name immediately for use by error reporting callback, and
+     * for use as memory context identifier
      */
     fcache->fname = pstrdup(NameStr(procedureStruct->proname));
+    MemoryContextSetIdentifier(fcontext, fcache->fname);

     /*
      * get the result type from the procedure tuple, and check for polymorphic
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index 5ffe638..b4016ed 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -243,19 +243,16 @@ ReorderBufferAllocate(void)

     buffer->change_context = SlabContextCreate(new_ctx,
                                                "Change",
-                                               0,
                                                SLAB_DEFAULT_BLOCK_SIZE,
                                                sizeof(ReorderBufferChange));

     buffer->txn_context = SlabContextCreate(new_ctx,
                                             "TXN",
-                                            0,
                                             SLAB_DEFAULT_BLOCK_SIZE,
                                             sizeof(ReorderBufferTXN));

     buffer->tup_context = GenerationContextCreate(new_ctx,
                                                   "Tuples",
-                                                  0,
                                                   SLAB_LARGE_BLOCK_SIZE);

     hash_ctl.keysize = sizeof(TransactionId);
diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c
index d34d5c3..6c836f6 100644
--- a/src/backend/statistics/extended_stats.c
+++ b/src/backend/statistics/extended_stats.c
@@ -74,7 +74,8 @@ BuildRelationExtStatistics(Relation onerel, double totalrows,
     MemoryContext cxt;
     MemoryContext oldcxt;

-    cxt = AllocSetContextCreate(CurrentMemoryContext, "stats ext",
+    cxt = AllocSetContextCreate(CurrentMemoryContext,
+                                "BuildRelationExtStatistics",
                                 ALLOCSET_DEFAULT_SIZES);
     oldcxt = MemoryContextSwitchTo(cxt);

diff --git a/src/backend/utils/cache/plancache.c b/src/backend/utils/cache/plancache.c
index 8d7d8e0..85bb7b91 100644
--- a/src/backend/utils/cache/plancache.c
+++ b/src/backend/utils/cache/plancache.c
@@ -180,6 +180,7 @@ CreateCachedPlan(RawStmt *raw_parse_tree,
     plansource->magic = CACHEDPLANSOURCE_MAGIC;
     plansource->raw_parse_tree = copyObject(raw_parse_tree);
     plansource->query_string = pstrdup(query_string);
+    MemoryContextSetIdentifier(source_context, plansource->query_string);
     plansource->commandTag = commandTag;
     plansource->param_types = NULL;
     plansource->num_params = 0;
@@ -951,6 +952,7 @@ BuildCachedPlan(CachedPlanSource *plansource, List *qlist,
         plan_context = AllocSetContextCreate(CurrentMemoryContext,
                                              "CachedPlan",
                                              ALLOCSET_START_SMALL_SIZES);
+        MemoryContextCopySetIdentifier(plan_context, plansource->query_string);

         /*
          * Copy plan into the new context.
@@ -1346,6 +1348,7 @@ CopyCachedPlan(CachedPlanSource *plansource)
     newsource->magic = CACHEDPLANSOURCE_MAGIC;
     newsource->raw_parse_tree = copyObject(plansource->raw_parse_tree);
     newsource->query_string = pstrdup(plansource->query_string);
+    MemoryContextSetIdentifier(source_context, newsource->query_string);
     newsource->commandTag = plansource->commandTag;
     if (plansource->num_params > 0)
     {
diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c
index 6ab4db2..12ddabc 100644
--- a/src/backend/utils/cache/relcache.c
+++ b/src/backend/utils/cache/relcache.c
@@ -673,11 +673,12 @@ RelationBuildRuleLock(Relation relation)
     /*
      * Make the private context.  Assume it'll not contain much data.
      */
-    rulescxt = AllocSetContextCreateExtended(CacheMemoryContext,
-                                             RelationGetRelationName(relation),
-                                             MEMCONTEXT_COPY_NAME,
-                                             ALLOCSET_SMALL_SIZES);
+    rulescxt = AllocSetContextCreate(CacheMemoryContext,
+                                     "relation rules",
+                                     ALLOCSET_SMALL_SIZES);
     relation->rd_rulescxt = rulescxt;
+    MemoryContextCopySetIdentifier(rulescxt,
+                                   RelationGetRelationName(relation));

     /*
      * allocate an array to hold the rewrite rules (the array is extended if
@@ -850,10 +851,11 @@ RelationBuildPartitionKey(Relation relation)
     if (!HeapTupleIsValid(tuple))
         return;

-    partkeycxt = AllocSetContextCreateExtended(CurTransactionContext,
-                                               RelationGetRelationName(relation),
-                                               MEMCONTEXT_COPY_NAME,
-                                               ALLOCSET_SMALL_SIZES);
+    partkeycxt = AllocSetContextCreate(CurTransactionContext,
+                                       "partition key",
+                                       ALLOCSET_SMALL_SIZES);
+    MemoryContextCopySetIdentifier(partkeycxt,
+                                   RelationGetRelationName(relation));

     key = (PartitionKey) MemoryContextAllocZero(partkeycxt,
                                                 sizeof(PartitionKeyData));
@@ -1531,11 +1533,12 @@ RelationInitIndexAccessInfo(Relation relation)
      * a context, and not just a couple of pallocs, is so that we won't leak
      * any subsidiary info attached to fmgr lookup records.
      */
-    indexcxt = AllocSetContextCreateExtended(CacheMemoryContext,
-                                             RelationGetRelationName(relation),
-                                             MEMCONTEXT_COPY_NAME,
-                                             ALLOCSET_SMALL_SIZES);
+    indexcxt = AllocSetContextCreate(CacheMemoryContext,
+                                     "index info",
+                                     ALLOCSET_SMALL_SIZES);
     relation->rd_indexcxt = indexcxt;
+    MemoryContextCopySetIdentifier(indexcxt,
+                                   RelationGetRelationName(relation));

     /*
      * Now we can fetch the index AM's API struct
@@ -5505,12 +5508,12 @@ load_relcache_init_file(bool shared)
              * prepare index info context --- parameters should match
              * RelationInitIndexAccessInfo
              */
-            indexcxt =
-                AllocSetContextCreateExtended(CacheMemoryContext,
-                                              RelationGetRelationName(rel),
-                                              MEMCONTEXT_COPY_NAME,
-                                              ALLOCSET_SMALL_SIZES);
+            indexcxt = AllocSetContextCreate(CacheMemoryContext,
+                                             "index info",
+                                             ALLOCSET_SMALL_SIZES);
             rel->rd_indexcxt = indexcxt;
+            MemoryContextCopySetIdentifier(indexcxt,
+                                           RelationGetRelationName(rel));

             /*
              * Now we can fetch the index AM's API struct.  (We can't store
diff --git a/src/backend/utils/cache/ts_cache.c b/src/backend/utils/cache/ts_cache.c
index 3d5c194..9734778 100644
--- a/src/backend/utils/cache/ts_cache.c
+++ b/src/backend/utils/cache/ts_cache.c
@@ -294,16 +294,19 @@ lookup_ts_dictionary_cache(Oid dictId)
             Assert(!found);        /* it wasn't there a moment ago */

             /* Create private memory context the first time through */
-            saveCtx = AllocSetContextCreateExtended(CacheMemoryContext,
-                                                    NameStr(dict->dictname),
-                                                    MEMCONTEXT_COPY_NAME,
-                                                    ALLOCSET_SMALL_SIZES);
+            saveCtx = AllocSetContextCreate(CacheMemoryContext,
+                                            "TS dictionary",
+                                            ALLOCSET_SMALL_SIZES);
+            MemoryContextCopySetIdentifier(saveCtx, NameStr(dict->dictname));
         }
         else
         {
             /* Clear the existing entry's private context */
             saveCtx = entry->dictCtx;
-            MemoryContextResetAndDeleteChildren(saveCtx);
+            /* Don't let context's ident pointer dangle while we reset it */
+            MemoryContextSetIdentifier(saveCtx, NULL);
+            MemoryContextReset(saveCtx);
+            MemoryContextCopySetIdentifier(saveCtx, NameStr(dict->dictname));
         }

         MemSet(entry, 0, sizeof(TSDictionaryCacheEntry));
diff --git a/src/backend/utils/hash/dynahash.c b/src/backend/utils/hash/dynahash.c
index 5281cd5..785e0fa 100644
--- a/src/backend/utils/hash/dynahash.c
+++ b/src/backend/utils/hash/dynahash.c
@@ -340,11 +340,9 @@ hash_create(const char *tabname, long nelem, HASHCTL *info, int flags)
             CurrentDynaHashCxt = info->hcxt;
         else
             CurrentDynaHashCxt = TopMemoryContext;
-        CurrentDynaHashCxt =
-            AllocSetContextCreateExtended(CurrentDynaHashCxt,
-                                          tabname,
-                                          MEMCONTEXT_COPY_NAME,
-                                          ALLOCSET_DEFAULT_SIZES);
+        CurrentDynaHashCxt = AllocSetContextCreate(CurrentDynaHashCxt,
+                                                   "dynahash",
+                                                   ALLOCSET_DEFAULT_SIZES);
     }

     /* Initialize the hash header, plus a copy of the table name */
@@ -354,6 +352,10 @@ hash_create(const char *tabname, long nelem, HASHCTL *info, int flags)
     hashp->tabname = (char *) (hashp + 1);
     strcpy(hashp->tabname, tabname);

+    /* If we have a private context, label it with hashtable's name */
+    if (!(flags & HASH_SHARED_MEM))
+        MemoryContextSetIdentifier(CurrentDynaHashCxt, hashp->tabname);
+
     /*
      * Select the appropriate hash function (see comments at head of file).
      */
diff --git a/src/backend/utils/mmgr/aset.c b/src/backend/utils/mmgr/aset.c
index 3f9b188..e3d2c4e 100644
--- a/src/backend/utils/mmgr/aset.c
+++ b/src/backend/utils/mmgr/aset.c
@@ -130,7 +130,6 @@ typedef struct AllocSetContext
     Size        initBlockSize;    /* initial block size */
     Size        maxBlockSize;    /* maximum block size */
     Size        nextBlockSize;    /* next block size to allocate */
-    Size        headerSize;        /* allocated size of context header */
     Size        allocChunkLimit;    /* effective chunk size limit */
     AllocBlock    keeper;            /* keep this block over resets */
     /* freelist this context could be put in, or -1 if not a candidate: */
@@ -228,10 +227,7 @@ typedef struct AllocChunkData
  * only its initial malloc chunk and no others.  To be a candidate for a
  * freelist, a context must have the same minContextSize/initBlockSize as
  * other contexts in the list; but its maxBlockSize is irrelevant since that
- * doesn't affect the size of the initial chunk.  Also, candidate contexts
- * *must not* use MEMCONTEXT_COPY_NAME since that would make their header size
- * variable.  (We currently insist that all flags be zero, since other flags
- * would likely make the contexts less interchangeable, too.)
+ * doesn't affect the size of the initial chunk.
  *
  * We currently provide one freelist for ALLOCSET_DEFAULT_SIZES contexts
  * and one for ALLOCSET_SMALL_SIZES contexts; the latter works for
@@ -276,7 +272,8 @@ static void AllocSetReset(MemoryContext context);
 static void AllocSetDelete(MemoryContext context);
 static Size AllocSetGetChunkSpace(MemoryContext context, void *pointer);
 static bool AllocSetIsEmpty(MemoryContext context);
-static void AllocSetStats(MemoryContext context, int level, bool print,
+static void AllocSetStats(MemoryContext context,
+              MemoryStatsPrintFunc printfunc, void *passthru,
               MemoryContextCounters *totals);

 #ifdef MEMORY_CONTEXT_CHECKING
@@ -378,14 +375,11 @@ AllocSetFreeIndex(Size size)
  *        Create a new AllocSet context.
  *
  * parent: parent context, or NULL if top-level context
- * name: name of context (for debugging only, need not be unique)
- * flags: bitmask of MEMCONTEXT_XXX option flags
+ * name: name of context (must be statically allocated)
  * minContextSize: minimum context size
  * initBlockSize: initial allocation block size
  * maxBlockSize: maximum allocation block size
  *
- * Notes: if flags & MEMCONTEXT_COPY_NAME, the name string will be copied into
- * context-lifespan storage; otherwise, it had better be statically allocated.
  * Most callers should abstract the context size parameters using a macro
  * such as ALLOCSET_DEFAULT_SIZES.  (This is now *required* when going
  * through the AllocSetContextCreate macro.)
@@ -393,13 +387,11 @@ AllocSetFreeIndex(Size size)
 MemoryContext
 AllocSetContextCreateExtended(MemoryContext parent,
                               const char *name,
-                              int flags,
                               Size minContextSize,
                               Size initBlockSize,
                               Size maxBlockSize)
 {
     int            freeListIndex;
-    Size        headerSize;
     Size        firstBlockSize;
     AllocSet    set;
     AllocBlock    block;
@@ -431,12 +423,10 @@ AllocSetContextCreateExtended(MemoryContext parent,
      * Check whether the parameters match either available freelist.  We do
      * not need to demand a match of maxBlockSize.
      */
-    if (flags == 0 &&
-        minContextSize == ALLOCSET_DEFAULT_MINSIZE &&
+    if (minContextSize == ALLOCSET_DEFAULT_MINSIZE &&
         initBlockSize == ALLOCSET_DEFAULT_INITSIZE)
         freeListIndex = 0;
-    else if (flags == 0 &&
-             minContextSize == ALLOCSET_SMALL_MINSIZE &&
+    else if (minContextSize == ALLOCSET_SMALL_MINSIZE &&
              initBlockSize == ALLOCSET_SMALL_INITSIZE)
         freeListIndex = 1;
     else
@@ -462,25 +452,17 @@ AllocSetContextCreateExtended(MemoryContext parent,
             /* Reinitialize its header, installing correct name and parent */
             MemoryContextCreate((MemoryContext) set,
                                 T_AllocSetContext,
-                                set->headerSize,
-                                sizeof(AllocSetContext),
                                 &AllocSetMethods,
                                 parent,
-                                name,
-                                flags);
+                                name);

             return (MemoryContext) set;
         }
     }

-    /* Size of the memory context header, including name storage if needed */
-    if (flags & MEMCONTEXT_COPY_NAME)
-        headerSize = MAXALIGN(sizeof(AllocSetContext) + strlen(name) + 1);
-    else
-        headerSize = MAXALIGN(sizeof(AllocSetContext));
-
     /* Determine size of initial block */
-    firstBlockSize = headerSize + ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ;
+    firstBlockSize = MAXALIGN(sizeof(AllocSetContext)) +
+        ALLOC_BLOCKHDRSZ + ALLOC_CHUNKHDRSZ;
     if (minContextSize != 0)
         firstBlockSize = Max(firstBlockSize, minContextSize);
     else
@@ -508,7 +490,7 @@ AllocSetContextCreateExtended(MemoryContext parent,
      */

     /* Fill in the initial block's block header */
-    block = (AllocBlock) (((char *) set) + headerSize);
+    block = (AllocBlock) (((char *) set) + MAXALIGN(sizeof(AllocSetContext)));
     block->aset = set;
     block->freeptr = ((char *) block) + ALLOC_BLOCKHDRSZ;
     block->endptr = ((char *) set) + firstBlockSize;
@@ -529,7 +511,6 @@ AllocSetContextCreateExtended(MemoryContext parent,
     set->initBlockSize = initBlockSize;
     set->maxBlockSize = maxBlockSize;
     set->nextBlockSize = initBlockSize;
-    set->headerSize = headerSize;
     set->freeListIndex = freeListIndex;

     /*
@@ -559,12 +540,9 @@ AllocSetContextCreateExtended(MemoryContext parent,
     /* Finally, do the type-independent part of context creation */
     MemoryContextCreate((MemoryContext) set,
                         T_AllocSetContext,
-                        headerSize,
-                        sizeof(AllocSetContext),
                         &AllocSetMethods,
                         parent,
-                        name,
-                        flags);
+                        name);

     return (MemoryContext) set;
 }
@@ -1327,12 +1305,13 @@ AllocSetIsEmpty(MemoryContext context)
  * AllocSetStats
  *        Compute stats about memory consumption of an allocset.
  *
- * level: recursion level (0 at top level); used for print indentation.
- * print: true to print stats to stderr.
- * totals: if not NULL, add stats about this allocset into *totals.
+ * printfunc: if not NULL, pass a human-readable stats string to this.
+ * passthru: pass this pointer through to printfunc.
+ * totals: if not NULL, add stats about this context into *totals.
  */
 static void
-AllocSetStats(MemoryContext context, int level, bool print,
+AllocSetStats(MemoryContext context,
+              MemoryStatsPrintFunc printfunc, void *passthru,
               MemoryContextCounters *totals)
 {
     AllocSet    set = (AllocSet) context;
@@ -1344,7 +1323,7 @@ AllocSetStats(MemoryContext context, int level, bool print,
     int            fidx;

     /* Include context header in totalspace */
-    totalspace = set->headerSize;
+    totalspace = MAXALIGN(sizeof(AllocSetContext));

     for (block = set->blocks; block != NULL; block = block->next)
     {
@@ -1364,16 +1343,15 @@ AllocSetStats(MemoryContext context, int level, bool print,
         }
     }

-    if (print)
+    if (printfunc)
     {
-        int            i;
-
-        for (i = 0; i < level; i++)
-            fprintf(stderr, "  ");
-        fprintf(stderr,
-                "%s: %zu total in %zd blocks; %zu free (%zd chunks); %zu used\n",
-                set->header.name, totalspace, nblocks, freespace, freechunks,
-                totalspace - freespace);
+        char        stats_string[200];
+
+        snprintf(stats_string, sizeof(stats_string),
+                 "%zu total in %zd blocks; %zu free (%zd chunks); %zu used",
+                 totalspace, nblocks, freespace, freechunks,
+                 totalspace - freespace);
+        printfunc(context, passthru, stats_string);
     }

     if (totals)
diff --git a/src/backend/utils/mmgr/generation.c b/src/backend/utils/mmgr/generation.c
index 338386a..7ee3c48 100644
--- a/src/backend/utils/mmgr/generation.c
+++ b/src/backend/utils/mmgr/generation.c
@@ -61,7 +61,6 @@ typedef struct GenerationContext

     /* Generational context parameters */
     Size        blockSize;        /* standard block size */
-    Size        headerSize;        /* allocated size of context header */

     GenerationBlock *block;        /* current (most recently allocated) block */
     dlist_head    blocks;            /* list of blocks */
@@ -154,7 +153,8 @@ static void GenerationReset(MemoryContext context);
 static void GenerationDelete(MemoryContext context);
 static Size GenerationGetChunkSpace(MemoryContext context, void *pointer);
 static bool GenerationIsEmpty(MemoryContext context);
-static void GenerationStats(MemoryContext context, int level, bool print,
+static void GenerationStats(MemoryContext context,
+                MemoryStatsPrintFunc printfunc, void *passthru,
                 MemoryContextCounters *totals);

 #ifdef MEMORY_CONTEXT_CHECKING
@@ -203,14 +203,16 @@ static const MemoryContextMethods GenerationMethods = {
 /*
  * GenerationContextCreate
  *        Create a new Generation context.
+ *
+ * parent: parent context, or NULL if top-level context
+ * name: name of context (must be statically allocated)
+ * blockSize: generation block size
  */
 MemoryContext
 GenerationContextCreate(MemoryContext parent,
                         const char *name,
-                        int flags,
                         Size blockSize)
 {
-    Size        headerSize;
     GenerationContext *set;

     /* Assert we padded GenerationChunk properly */
@@ -238,13 +240,7 @@ GenerationContextCreate(MemoryContext parent,
      * freeing the first generation of allocations.
      */

-    /* Size of the memory context header, including name storage if needed */
-    if (flags & MEMCONTEXT_COPY_NAME)
-        headerSize = MAXALIGN(sizeof(GenerationContext) + strlen(name) + 1);
-    else
-        headerSize = MAXALIGN(sizeof(GenerationContext));
-
-    set = (GenerationContext *) malloc(headerSize);
+    set = (GenerationContext *) malloc(MAXALIGN(sizeof(GenerationContext)));
     if (set == NULL)
     {
         MemoryContextStats(TopMemoryContext);
@@ -262,19 +258,15 @@ GenerationContextCreate(MemoryContext parent,

     /* Fill in GenerationContext-specific header fields */
     set->blockSize = blockSize;
-    set->headerSize = headerSize;
     set->block = NULL;
     dlist_init(&set->blocks);

     /* Finally, do the type-independent part of context creation */
     MemoryContextCreate((MemoryContext) set,
                         T_GenerationContext,
-                        headerSize,
-                        sizeof(GenerationContext),
                         &GenerationMethods,
                         parent,
-                        name,
-                        flags);
+                        name);

     return (MemoryContext) set;
 }
@@ -683,15 +675,16 @@ GenerationIsEmpty(MemoryContext context)
  * GenerationStats
  *        Compute stats about memory consumption of a Generation context.
  *
- * level: recursion level (0 at top level); used for print indentation.
- * print: true to print stats to stderr.
- * totals: if not NULL, add stats about this Generation into *totals.
+ * printfunc: if not NULL, pass a human-readable stats string to this.
+ * passthru: pass this pointer through to printfunc.
+ * totals: if not NULL, add stats about this context into *totals.
  *
  * XXX freespace only accounts for empty space at the end of the block, not
  * space of freed chunks (which is unknown).
  */
 static void
-GenerationStats(MemoryContext context, int level, bool print,
+GenerationStats(MemoryContext context,
+                MemoryStatsPrintFunc printfunc, void *passthru,
                 MemoryContextCounters *totals)
 {
     GenerationContext *set = (GenerationContext *) context;
@@ -703,7 +696,7 @@ GenerationStats(MemoryContext context, int level, bool print,
     dlist_iter    iter;

     /* Include context header in totalspace */
-    totalspace = set->headerSize;
+    totalspace = MAXALIGN(sizeof(GenerationContext));

     dlist_foreach(iter, &set->blocks)
     {
@@ -716,16 +709,15 @@ GenerationStats(MemoryContext context, int level, bool print,
         freespace += (block->endptr - block->freeptr);
     }

-    if (print)
+    if (printfunc)
     {
-        int            i;
-
-        for (i = 0; i < level; i++)
-            fprintf(stderr, "  ");
-        fprintf(stderr,
-                "Generation: %s: %zu total in %zd blocks (%zd chunks); %zu free (%zd chunks); %zu used\n",
-                ((MemoryContext) set)->name, totalspace, nblocks, nchunks, freespace,
-                nfreechunks, totalspace - freespace);
+        char        stats_string[200];
+
+        snprintf(stats_string, sizeof(stats_string),
+                 "%zu total in %zd blocks (%zd chunks); %zu free (%zd chunks); %zu used",
+                 totalspace, nblocks, nchunks, freespace,
+                 nfreechunks, totalspace - freespace);
+        printfunc(context, passthru, stats_string);
     }

     if (totals)
diff --git a/src/backend/utils/mmgr/mcxt.c b/src/backend/utils/mmgr/mcxt.c
index d7baa54..22be722 100644
--- a/src/backend/utils/mmgr/mcxt.c
+++ b/src/backend/utils/mmgr/mcxt.c
@@ -21,6 +21,7 @@

 #include "postgres.h"

+#include "mb/pg_wchar.h"
 #include "miscadmin.h"
 #include "utils/memdebug.h"
 #include "utils/memutils.h"
@@ -55,6 +56,8 @@ static void MemoryContextCallResetCallbacks(MemoryContext context);
 static void MemoryContextStatsInternal(MemoryContext context, int level,
                            bool print, int max_children,
                            MemoryContextCounters *totals);
+static void MemoryContextStatsPrint(MemoryContext context, void *passthru,
+                        const char *stats_string);

 /*
  * You should not do memory allocations within a critical section, because
@@ -118,7 +121,6 @@ MemoryContextInit(void)
      */
     ErrorContext = AllocSetContextCreateExtended(TopMemoryContext,
                                                  "ErrorContext",
-                                                 0,
                                                  8 * 1024,
                                                  8 * 1024,
                                                  8 * 1024);
@@ -296,6 +298,23 @@ MemoryContextCallResetCallbacks(MemoryContext context)
 }

 /*
+ * MemoryContextSetIdentifier
+ *        Set the identifier string for a memory context.
+ *
+ * An identifier can be provided to help distinguish among different contexts
+ * of the same kind in memory context stats dumps.  The identifier string
+ * must live at least as long as the context it is for; typically it is
+ * allocated inside that context, so that it automatically goes away on
+ * context deletion.  Pass id = NULL to forget any old identifier.
+ */
+void
+MemoryContextSetIdentifier(MemoryContext context, const char *id)
+{
+    AssertArg(MemoryContextIsValid(context));
+    context->ident = id;
+}
+
+/*
  * MemoryContextSetParent
  *        Change a context to belong to a new parent (or no parent).
  *
@@ -480,7 +499,10 @@ MemoryContextStatsInternal(MemoryContext context, int level,
     AssertArg(MemoryContextIsValid(context));

     /* Examine the context itself */
-    context->methods->stats(context, level, print, totals);
+    context->methods->stats(context,
+                            print ? MemoryContextStatsPrint : NULL,
+                            (void *) &level,
+                            totals);

     /*
      * Examine children.  If there are more than max_children of them, we do
@@ -532,6 +554,67 @@ MemoryContextStatsInternal(MemoryContext context, int level,
 }

 /*
+ * MemoryContextStatsPrint
+ *        Print callback used by MemoryContextStatsInternal
+ *
+ * For now, the passthru pointer just points to "int level"; later we might
+ * make that more complicated.
+ */
+static void
+MemoryContextStatsPrint(MemoryContext context, void *passthru,
+                        const char *stats_string)
+{
+    int            level = *(int *) passthru;
+    const char *name = context->name;
+    const char *ident = context->ident;
+    int            i;
+
+    /*
+     * It seems preferable to label dynahash contexts with just the hash table
+     * name.  Those are already unique enough, so the "dynahash" part isn't
+     * very helpful, and this way is more consistent with pre-v11 practice.
+     */
+    if (ident && strcmp(name, "dynahash") == 0)
+    {
+        name = ident;
+        ident = NULL;
+    }
+
+    for (i = 0; i < level; i++)
+        fprintf(stderr, "  ");
+    fprintf(stderr, "%s: %s", name, stats_string);
+    if (ident)
+    {
+        /*
+         * Some contexts may have very long identifiers (e.g., SQL queries).
+         * Arbitrarily truncate at 100 bytes, but be careful not to break
+         * multibyte characters.  Also, replace ASCII control characters, such
+         * as newlines, with spaces.
+         */
+        int            idlen = strlen(ident);
+        bool        truncated = false;
+
+        if (idlen > 100)
+        {
+            idlen = pg_mbcliplen(ident, idlen, 100);
+            truncated = true;
+        }
+        fprintf(stderr, ": ");
+        while (idlen-- > 0)
+        {
+            unsigned char c = *ident++;
+
+            if (c < ' ')
+                c = ' ';
+            fputc(c, stderr);
+        }
+        if (truncated)
+            fprintf(stderr, "...");
+    }
+    fputc('\n', stderr);
+}
+
+/*
  * MemoryContextCheck
  *        Check all chunks in the named context.
  *
@@ -612,34 +695,23 @@ MemoryContextContains(MemoryContext context, void *pointer)
  *
  * node: the as-yet-uninitialized common part of the context header node.
  * tag: NodeTag code identifying the memory context type.
- * size: total size of context header including context-type-specific fields,
- *        as well as space for the context name if MEMCONTEXT_COPY_NAME is set.
- * nameoffset: where within the "size" space to insert the context name.
  * methods: context-type-specific methods (usually statically allocated).
  * parent: parent context, or NULL if this will be a top-level context.
- * name: name of context (for debugging only, need not be unique).
- * flags: bitmask of MEMCONTEXT_XXX option flags.
+ * name: name of context (must be statically allocated).
  *
  * Context routines generally assume that MemoryContextCreate can't fail,
  * so this can contain Assert but not elog/ereport.
  */
 void
 MemoryContextCreate(MemoryContext node,
-                    NodeTag tag, Size size, Size nameoffset,
+                    NodeTag tag,
                     const MemoryContextMethods *methods,
                     MemoryContext parent,
-                    const char *name,
-                    int flags)
+                    const char *name)
 {
     /* Creating new memory contexts is not allowed in a critical section */
     Assert(CritSectionCount == 0);

-    /* Check size is sane */
-    Assert(nameoffset >= sizeof(MemoryContextData));
-    Assert((flags & MEMCONTEXT_COPY_NAME) ?
-           size >= nameoffset + strlen(name) + 1 :
-           size >= nameoffset);
-
     /* Initialize all standard fields of memory context header */
     node->type = tag;
     node->isReset = true;
@@ -647,22 +719,10 @@ MemoryContextCreate(MemoryContext node,
     node->parent = parent;
     node->firstchild = NULL;
     node->prevchild = NULL;
+    node->name = name;
+    node->ident = NULL;
     node->reset_cbs = NULL;

-    if (flags & MEMCONTEXT_COPY_NAME)
-    {
-        /* Insert context name into space reserved for it */
-        char       *namecopy = ((char *) node) + nameoffset;
-
-        node->name = namecopy;
-        strcpy(namecopy, name);
-    }
-    else
-    {
-        /* Assume the passed-in name is statically allocated */
-        node->name = name;
-    }
-
     /* OK to link node into context tree */
     if (parent)
     {
diff --git a/src/backend/utils/mmgr/slab.c b/src/backend/utils/mmgr/slab.c
index 58beb64..26b0a15 100644
--- a/src/backend/utils/mmgr/slab.c
+++ b/src/backend/utils/mmgr/slab.c
@@ -131,7 +131,8 @@ static void SlabReset(MemoryContext context);
 static void SlabDelete(MemoryContext context);
 static Size SlabGetChunkSpace(MemoryContext context, void *pointer);
 static bool SlabIsEmpty(MemoryContext context);
-static void SlabStats(MemoryContext context, int level, bool print,
+static void SlabStats(MemoryContext context,
+          MemoryStatsPrintFunc printfunc, void *passthru,
           MemoryContextCounters *totals);
 #ifdef MEMORY_CONTEXT_CHECKING
 static void SlabCheck(MemoryContext context);
@@ -176,27 +177,22 @@ static const MemoryContextMethods SlabMethods = {
  *        Create a new Slab context.
  *
  * parent: parent context, or NULL if top-level context
- * name: name of context (for debugging only, need not be unique)
- * flags: bitmask of MEMCONTEXT_XXX option flags
+ * name: name of context (must be statically allocated)
  * blockSize: allocation block size
  * chunkSize: allocation chunk size
  *
- * Notes: if flags & MEMCONTEXT_COPY_NAME, the name string will be copied into
- * context-lifespan storage; otherwise, it had better be statically allocated.
  * The chunkSize may not exceed:
  *        MAXALIGN_DOWN(SIZE_MAX) - MAXALIGN(sizeof(SlabBlock)) - SLAB_CHUNKHDRSZ
  */
 MemoryContext
 SlabContextCreate(MemoryContext parent,
                   const char *name,
-                  int flags,
                   Size blockSize,
                   Size chunkSize)
 {
     int            chunksPerBlock;
     Size        fullChunkSize;
     Size        freelistSize;
-    Size        nameOffset;
     Size        headerSize;
     SlabContext *slab;
     int            i;
@@ -231,12 +227,8 @@ SlabContextCreate(MemoryContext parent,
      * this with the first regular block; not worth the extra complication.
      */

-    /* Size of the memory context header, including name storage if needed */
-    nameOffset = offsetof(SlabContext, freelist) + freelistSize;
-    if (flags & MEMCONTEXT_COPY_NAME)
-        headerSize = nameOffset + strlen(name) + 1;
-    else
-        headerSize = nameOffset;
+    /* Size of the memory context header */
+    headerSize = offsetof(SlabContext, freelist) + freelistSize;

     slab = (SlabContext *) malloc(headerSize);
     if (slab == NULL)
@@ -270,12 +262,9 @@ SlabContextCreate(MemoryContext parent,
     /* Finally, do the type-independent part of context creation */
     MemoryContextCreate((MemoryContext) slab,
                         T_SlabContext,
-                        headerSize,
-                        nameOffset,
                         &SlabMethods,
                         parent,
-                        name,
-                        flags);
+                        name);

     return (MemoryContext) slab;
 }
@@ -634,12 +623,13 @@ SlabIsEmpty(MemoryContext context)
  * SlabStats
  *        Compute stats about memory consumption of a Slab context.
  *
- * level: recursion level (0 at top level); used for print indentation.
- * print: true to print stats to stderr.
- * totals: if not NULL, add stats about this Slab into *totals.
+ * printfunc: if not NULL, pass a human-readable stats string to this.
+ * passthru: pass this pointer through to printfunc.
+ * totals: if not NULL, add stats about this context into *totals.
  */
 static void
-SlabStats(MemoryContext context, int level, bool print,
+SlabStats(MemoryContext context,
+          MemoryStatsPrintFunc printfunc, void *passthru,
           MemoryContextCounters *totals)
 {
     SlabContext *slab = castNode(SlabContext, context);
@@ -667,14 +657,15 @@ SlabStats(MemoryContext context, int level, bool print,
         }
     }

-    if (print)
+    if (printfunc)
     {
-        for (i = 0; i < level; i++)
-            fprintf(stderr, "  ");
-        fprintf(stderr,
-                "Slab: %s: %zu total in %zd blocks; %zu free (%zd chunks); %zu used\n",
-                slab->header.name, totalspace, nblocks, freespace, freechunks,
-                totalspace - freespace);
+        char        stats_string[200];
+
+        snprintf(stats_string, sizeof(stats_string),
+                 "%zu total in %zd blocks; %zu free (%zd chunks); %zu used",
+                 totalspace, nblocks, freespace, freechunks,
+                 totalspace - freespace);
+        printfunc(context, passthru, stats_string);
     }

     if (totals)
diff --git a/src/include/nodes/memnodes.h b/src/include/nodes/memnodes.h
index ccb64f0..2a8d83f 100644
--- a/src/include/nodes/memnodes.h
+++ b/src/include/nodes/memnodes.h
@@ -39,18 +39,21 @@ typedef struct MemoryContextCounters
  *        A logical context in which memory allocations occur.
  *
  * MemoryContext itself is an abstract type that can have multiple
- * implementations, though for now we have only AllocSetContext.
+ * implementations.
  * The function pointers in MemoryContextMethods define one specific
  * implementation of MemoryContext --- they are a virtual function table
  * in C++ terms.
  *
  * Node types that are actual implementations of memory contexts must
- * begin with the same fields as MemoryContext.
+ * begin with the same fields as MemoryContextData.
  *
  * Note: for largely historical reasons, typedef MemoryContext is a pointer
  * to the context struct rather than the struct type itself.
  */

+typedef void (*MemoryStatsPrintFunc) (MemoryContext context, void *passthru,
+                                      const char *stats_string);
+
 typedef struct MemoryContextMethods
 {
     void       *(*alloc) (MemoryContext context, Size size);
@@ -61,7 +64,8 @@ typedef struct MemoryContextMethods
     void        (*delete_context) (MemoryContext context);
     Size        (*get_chunk_space) (MemoryContext context, void *pointer);
     bool        (*is_empty) (MemoryContext context);
-    void        (*stats) (MemoryContext context, int level, bool print,
+    void        (*stats) (MemoryContext context,
+                          MemoryStatsPrintFunc printfunc, void *passthru,
                           MemoryContextCounters *totals);
 #ifdef MEMORY_CONTEXT_CHECKING
     void        (*check) (MemoryContext context);
@@ -81,6 +85,7 @@ typedef struct MemoryContextData
     MemoryContext prevchild;    /* previous child of same parent */
     MemoryContext nextchild;    /* next child of same parent */
     const char *name;            /* context name (just for debugging) */
+    const char *ident;            /* context ID if any (just for debugging) */
     MemoryContextCallback *reset_cbs;    /* list of reset/delete callbacks */
 } MemoryContextData;

diff --git a/src/include/utils/memutils.h b/src/include/utils/memutils.h
index 6e6c6f2..4f2ca26 100644
--- a/src/include/utils/memutils.h
+++ b/src/include/utils/memutils.h
@@ -76,6 +76,7 @@ extern void MemoryContextDelete(MemoryContext context);
 extern void MemoryContextResetOnly(MemoryContext context);
 extern void MemoryContextResetChildren(MemoryContext context);
 extern void MemoryContextDeleteChildren(MemoryContext context);
+extern void MemoryContextSetIdentifier(MemoryContext context, const char *id);
 extern void MemoryContextSetParent(MemoryContext context,
                        MemoryContext new_parent);
 extern Size GetMemoryChunkSpace(void *pointer);
@@ -91,6 +92,10 @@ extern void MemoryContextCheck(MemoryContext context);
 #endif
 extern bool MemoryContextContains(MemoryContext context, void *pointer);

+/* Handy macro for copying and assigning context ID ... but note double eval */
+#define MemoryContextCopySetIdentifier(cxt, id) \
+    MemoryContextSetIdentifier(cxt, MemoryContextStrdup(cxt, id))
+
 /*
  * GetMemoryChunkContext
  *        Given a currently-allocated chunk, determine the context
@@ -133,11 +138,10 @@ GetMemoryChunkContext(void *pointer)
  * specific creation routines, and noplace else.
  */
 extern void MemoryContextCreate(MemoryContext node,
-                    NodeTag tag, Size size, Size nameoffset,
+                    NodeTag tag,
                     const MemoryContextMethods *methods,
                     MemoryContext parent,
-                    const char *name,
-                    int flags);
+                    const char *name);


 /*
@@ -147,47 +151,38 @@ extern void MemoryContextCreate(MemoryContext node,
 /* aset.c */
 extern MemoryContext AllocSetContextCreateExtended(MemoryContext parent,
                               const char *name,
-                              int flags,
                               Size minContextSize,
                               Size initBlockSize,
                               Size maxBlockSize);

 /*
- * This backwards compatibility macro only works for constant context names,
- * and you must specify block sizes with one of the abstraction macros below.
+ * This wrapper macro exists to check for non-constant strings used as context
+ * names; that's no longer supported.  (Use MemoryContextSetIdentifier if you
+ * want to provide a variable identifier.)  Note you must specify block sizes
+ * with one of the abstraction macros below.
  */
 #ifdef HAVE__BUILTIN_CONSTANT_P
 #define AllocSetContextCreate(parent, name, allocparams) \
     (StaticAssertExpr(__builtin_constant_p(name), \
-                      "Use AllocSetContextCreateExtended with MEMCONTEXT_COPY_NAME for non-constant context names"), \
-     AllocSetContextCreateExtended(parent, name, 0, allocparams))
+                      "memory context names must be constant strings"), \
+     AllocSetContextCreateExtended(parent, name, allocparams))
 #else
 #define AllocSetContextCreate(parent, name, allocparams) \
-    AllocSetContextCreateExtended(parent, name, 0, allocparams)
+    AllocSetContextCreateExtended(parent, name, allocparams)
 #endif

 /* slab.c */
 extern MemoryContext SlabContextCreate(MemoryContext parent,
                   const char *name,
-                  int flags,
                   Size blockSize,
                   Size chunkSize);

 /* generation.c */
 extern MemoryContext GenerationContextCreate(MemoryContext parent,
                         const char *name,
-                        int flags,
                         Size blockSize);

 /*
- * Flag option bits for FooContextCreate functions.
- * In future, some of these might be relevant to only some context types.
- *
- * COPY_NAME: FooContextCreate's name argument is not a constant string
- */
-#define MEMCONTEXT_COPY_NAME        0x0001    /* is passed name transient? */
-
-/*
  * Recommended default alloc parameters, suitable for "ordinary" contexts
  * that might hold quite a lot of data.
  */
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index d44089a..7c0d665 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -2782,10 +2782,9 @@ compile_plperl_function(Oid fn_oid, bool is_trigger, bool is_event_trigger)
         /************************************************************
          * Allocate a context that will hold all PG data for the procedure.
          ************************************************************/
-        proc_cxt = AllocSetContextCreateExtended(TopMemoryContext,
-                                                 NameStr(procStruct->proname),
-                                                 MEMCONTEXT_COPY_NAME,
-                                                 ALLOCSET_SMALL_SIZES);
+        proc_cxt = AllocSetContextCreate(TopMemoryContext,
+                                         "PL/Perl function",
+                                         ALLOCSET_SMALL_SIZES);

         /************************************************************
          * Allocate and fill a new procedure description block.
@@ -2794,6 +2793,7 @@ compile_plperl_function(Oid fn_oid, bool is_trigger, bool is_event_trigger)
         oldcontext = MemoryContextSwitchTo(proc_cxt);
         prodesc = (plperl_proc_desc *) palloc0(sizeof(plperl_proc_desc));
         prodesc->proname = pstrdup(NameStr(procStruct->proname));
+        MemoryContextSetIdentifier(proc_cxt, prodesc->proname);
         prodesc->fn_cxt = proc_cxt;
         prodesc->fn_refcount = 0;
         prodesc->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c
index b1a0c1c..96c1622 100644
--- a/src/pl/plpgsql/src/pl_comp.c
+++ b/src/pl/plpgsql/src/pl_comp.c
@@ -342,11 +342,12 @@ do_compile(FunctionCallInfo fcinfo,
      * per-function memory context, so it can be reclaimed easily.
      */
     func_cxt = AllocSetContextCreate(TopMemoryContext,
-                                     "PL/pgSQL function context",
+                                     "PL/pgSQL function",
                                      ALLOCSET_DEFAULT_SIZES);
     plpgsql_compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);

     function->fn_signature = format_procedure(fcinfo->flinfo->fn_oid);
+    MemoryContextSetIdentifier(func_cxt, function->fn_signature);
     function->fn_oid = fcinfo->flinfo->fn_oid;
     function->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
     function->fn_tid = procTup->t_self;
@@ -2453,7 +2454,7 @@ plpgsql_HashTableInit(void)
     memset(&ctl, 0, sizeof(ctl));
     ctl.keysize = sizeof(PLpgSQL_func_hashkey);
     ctl.entrysize = sizeof(plpgsql_HashEnt);
-    plpgsql_HashTable = hash_create("PLpgSQL function cache",
+    plpgsql_HashTable = hash_create("PLpgSQL function hash",
                                     FUNCS_PER_USER,
                                     &ctl,
                                     HASH_ELEM | HASH_BLOBS);
diff --git a/src/pl/plpython/plpy_procedure.c b/src/pl/plpython/plpy_procedure.c
index b4c4dcd..16f1278 100644
--- a/src/pl/plpython/plpy_procedure.c
+++ b/src/pl/plpython/plpy_procedure.c
@@ -164,10 +164,9 @@ PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger)
     }

     /* Create long-lived context that all procedure info will live in */
-    cxt = AllocSetContextCreateExtended(TopMemoryContext,
-                                        procName,
-                                        MEMCONTEXT_COPY_NAME,
-                                        ALLOCSET_DEFAULT_SIZES);
+    cxt = AllocSetContextCreate(TopMemoryContext,
+                                "PL/Python function",
+                                ALLOCSET_DEFAULT_SIZES);

     oldcxt = MemoryContextSwitchTo(cxt);

@@ -183,6 +182,7 @@ PLy_procedure_create(HeapTuple procTup, Oid fn_oid, bool is_trigger)
         int            i;

         proc->proname = pstrdup(NameStr(procStruct->proname));
+        MemoryContextSetIdentifier(cxt, proc->proname);
         proc->pyname = pstrdup(procName);
         proc->fn_xmin = HeapTupleHeaderGetRawXmin(procTup->t_data);
         proc->fn_tid = procTup->t_self;
diff --git a/src/pl/tcl/pltcl.c b/src/pl/tcl/pltcl.c
index 865071b..558cabc 100644
--- a/src/pl/tcl/pltcl.c
+++ b/src/pl/tcl/pltcl.c
@@ -1479,12 +1479,10 @@ compile_pltcl_function(Oid fn_oid, Oid tgreloid,

         /************************************************************
          * Allocate a context that will hold all PG data for the procedure.
-         * We use the internal proc name as the context name.
          ************************************************************/
-        proc_cxt = AllocSetContextCreateExtended(TopMemoryContext,
-                                                 internal_proname,
-                                                 MEMCONTEXT_COPY_NAME,
-                                                 ALLOCSET_SMALL_SIZES);
+        proc_cxt = AllocSetContextCreate(TopMemoryContext,
+                                         "PL/Tcl function",
+                                         ALLOCSET_SMALL_SIZES);

         /************************************************************
          * Allocate and fill a new procedure description block.
@@ -1493,6 +1491,7 @@ compile_pltcl_function(Oid fn_oid, Oid tgreloid,
         oldcontext = MemoryContextSwitchTo(proc_cxt);
         prodesc = (pltcl_proc_desc *) palloc0(sizeof(pltcl_proc_desc));
         prodesc->user_proname = pstrdup(NameStr(procStruct->proname));
+        MemoryContextSetIdentifier(proc_cxt, prodesc->user_proname);
         prodesc->internal_proname = pstrdup(internal_proname);
         prodesc->fn_cxt = proc_cxt;
         prodesc->fn_refcount = 0;
TopMemoryContext: 2143904 total in 12 blocks; 614592 free (49 chunks); 1529312 used
  TopTransactionContext: 8192 total in 1 blocks; 7728 free (1 chunks); 464 used
  PL/pgSQL function: 8192 total in 1 blocks; 3608 free (2 chunks); 4584 used: fx(wslot)
  PL/pgSQL function: 8192 total in 1 blocks; 1976 free (2 chunks); 6216 used: list_partitioned_table()
  Btree proof lookup cache: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  PL/pgSQL function: 8192 total in 1 blocks; 2224 free (2 chunks); 5968 used: get_from_partitioned_table(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 7456 free (1 chunks); 8928 used: multi_test_trig()
  PL/pgSQL function: 16384 total in 2 blocks; 7360 free (4 chunks); 9024 used: multi_test_trig()
  PL/pgSQL function: 16384 total in 2 blocks; 6768 free (1 chunks); 9616 used:
alter_table_under_transition_tables_upd_func()
  PL/pgSQL function: 16384 total in 2 blocks; 6672 free (4 chunks); 9712 used:
alter_table_under_transition_tables_upd_func()
  PL/pgSQL function: 16384 total in 2 blocks; 6184 free (1 chunks); 10200 used:
transition_table_level2_ri_child_insupd_func()
  PL/pgSQL function: 16384 total in 2 blocks; 2632 free (2 chunks); 13752 used:
transition_table_level1_ri_parent_upd_func()
  PL/pgSQL function: 16384 total in 2 blocks; 4088 free (3 chunks); 12296 used:
transition_table_level1_ri_parent_del_func()
  PL/pgSQL function: 16384 total in 2 blocks; 8536 free (1 chunks); 7848 used: transition_table_level2_bad_usage_func()
  PL/pgSQL function: 16384 total in 2 blocks; 8440 free (2 chunks); 7944 used: transition_table_level2_bad_usage_func()
  PL/pgSQL function: 16384 total in 2 blocks; 6280 free (1 chunks); 10104 used:
transition_table_level2_ri_child_insupd_func()
  Attopt cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function: 16384 total in 2 blocks; 6216 free (1 chunks); 10168 used:
transition_table_level2_ri_child_insupd_func()
  PL/pgSQL function: 16384 total in 2 blocks; 2664 free (2 chunks); 13720 used:
transition_table_level1_ri_parent_upd_func()
  PL/pgSQL function: 16384 total in 2 blocks; 4120 free (3 chunks); 12264 used:
transition_table_level1_ri_parent_del_func()
  PL/pgSQL function: 32768 total in 3 blocks; 17120 free (2 chunks); 15648 used: transition_table_base_upd_func()
  PL/pgSQL function: 32768 total in 3 blocks; 17088 free (3 chunks); 15680 used: transition_table_base_upd_func()
  PL/pgSQL function: 32768 total in 3 blocks; 17376 free (2 chunks); 15392 used: transition_table_base_ins_func()
  PL/pgSQL function: 32768 total in 3 blocks; 17344 free (3 chunks); 15424 used: transition_table_base_ins_func()
  PL/pgSQL function: 8192 total in 1 blocks; 3896 free (2 chunks); 4296 used: plpgsql_arr_domain_check(integer[])
  PL/pgSQL function: 8192 total in 1 blocks; 4064 free (2 chunks); 4128 used: plpgsql_domain_check(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 8552 free (2 chunks); 7832 used: outer_outer_func(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 8584 free (2 chunks); 7800 used: outer_func(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 2336 free (2 chunks); 14048 used: inner_func(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 8552 free (2 chunks); 7832 used: outer_outer_func(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 8584 free (2 chunks); 7800 used: outer_func(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 7160 free (2 chunks); 9224 used: inner_func(integer)
  pgstat TabStatusArray lookup hash table: 16384 total in 2 blocks; 6424 free (2 chunks); 9960 used
  PL/pgSQL function: 8192 total in 1 blocks; 3968 free (2 chunks); 4224 used: consumes_rw_array(integer[])
  PL/pgSQL function: 16384 total in 2 blocks; 8920 free (2 chunks); 7464 used: returns_rw_array(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 7528 free (2 chunks); 8856 used: testoa(integer,integer,integer)
  PL/pgSQL function: 16384 total in 2 blocks; 8064 free (2 chunks); 8320 used: arrayassign1()
  PL/pgSQL function: 16384 total in 2 blocks; 7408 free (2 chunks); 8976 used: foreach_test(anyarray)
  PL/pgSQL function: 16384 total in 2 blocks; 7384 free (2 chunks); 9000 used: foreach_test(anyarray)
  PL/pgSQL function: 16384 total in 2 blocks; 9304 free (2 chunks); 7080 used: unreserved_test()
  PL/pgSQL function: 16384 total in 2 blocks; 6032 free (2 chunks); 10352 used: conflict_test()
  PL/pgSQL function: 16384 total in 2 blocks; 2808 free (2 chunks); 13576 used: scope_test()
  PL/pgSQL function: 8192 total in 1 blocks; 4296 free (2 chunks); 3896 used: strtest()
  PL/pgSQL function: 8192 total in 1 blocks; 4584 free (2 chunks); 3608 used: fail()
  PL/pgSQL function: 8192 total in 1 blocks; 4376 free (1 chunks); 3816 used: cast_invoker(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 3112 free (1 chunks); 5080 used: error2(text)
  PL/pgSQL function: 8192 total in 1 blocks; 3048 free (2 chunks); 5144 used: error2(text)
  PL/pgSQL function: 8192 total in 1 blocks; 3416 free (2 chunks); 4776 used: recurse(double precision)
  PL/pgSQL function: 16384 total in 2 blocks; 7608 free (2 chunks); 8776 used: nonsimple_expr_test()
  PL/pgSQL function: 32768 total in 3 blocks; 17808 free (2 chunks); 14960 used: nonsimple_expr_test()
  PL/pgSQL function: 8192 total in 1 blocks; 1760 free (1 chunks); 6432 used: leaker_2(boolean)
  PL/pgSQL function: 16384 total in 2 blocks; 7192 free (2 chunks); 9192 used: leaker_1(boolean)
  PL/pgSQL function: 32768 total in 3 blocks; 15832 free (2 chunks); 16936 used: rttest()
  PL/pgSQL function: 8192 total in 1 blocks; 1256 free (1 chunks); 6936 used: tftest(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 4000 free (1 chunks); 4192 used: pleast(numeric)
  PL/pgSQL function: 16384 total in 2 blocks; 6888 free (2 chunks); 9496 used: pleast(numeric[])
  PL/pgSQL function: 8192 total in 1 blocks; 2440 free (2 chunks); 5752 used: vari(integer[])
  PL/pgSQL function: 32768 total in 3 blocks; 8208 free (2 chunks); 24560 used: stacked_diagnostics_test()
  PL/pgSQL function: 8192 total in 1 blocks; 1928 free (2 chunks); 6264 used: raise_test()
  PL/pgSQL function: 16384 total in 2 blocks; 2376 free (2 chunks); 14008 used: stacked_diagnostics_test()
  PL/pgSQL function: 16384 total in 2 blocks; 9512 free (2 chunks); 6872 used: zero_divide()
  PL/pgSQL function: 8192 total in 1 blocks; 4496 free (2 chunks); 3696 used: compos()
  PL/pgSQL function: 16384 total in 2 blocks; 9736 free (2 chunks); 6648 used: compos()
  PL/pgSQL function: 8192 total in 1 blocks; 2504 free (2 chunks); 5688 used: compos()
  PL/pgSQL function: 8192 total in 1 blocks; 4536 free (2 chunks); 3656 used: composrec()
  PL/pgSQL function: 8192 total in 1 blocks; 4496 free (2 chunks); 3696 used: compos()
  PL/pgSQL function: 8192 total in 1 blocks; 3912 free (2 chunks); 4280 used: returnqueryf()
  PL/pgSQL function: 8192 total in 1 blocks; 3312 free (2 chunks); 4880 used: return_dquery()
  PL/pgSQL function: 16384 total in 2 blocks; 10088 free (3 chunks); 6296 used: forc_bad()
  PL/pgSQL function: 16384 total in 2 blocks; 2952 free (2 chunks); 13432 used: forc01()
  PL/pgSQL function: 32768 total in 3 blocks; 20416 free (4 chunks); 12352 used: exc_using(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 5304 free (3 chunks); 11080 used: exc_using(integer,text)
  PL/pgSQL function: 16384 total in 2 blocks; 5336 free (3 chunks); 11048 used: exc_using(integer,text)
  PL/pgSQL function: 8192 total in 1 blocks; 2504 free (2 chunks); 5688 used: ret_query2(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 2128 free (1 chunks); 6064 used: ret_query1()
  PL/pgSQL function: 16384 total in 2 blocks; 2568 free (2 chunks); 13816 used: pl_qual_names(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 7360 free (2 chunks); 9024 used: sc_test()
  PL/pgSQL function: 16384 total in 2 blocks; 9336 free (2 chunks); 7048 used: shadowtest(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 4600 free (2 chunks); 3592 used: shadowtest(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 5936 free (3 chunks); 10448 used: shadowtest()
  PL/pgSQL function: 16384 total in 2 blocks; 6416 free (3 chunks); 9968 used: shadowtest(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 6832 free (3 chunks); 9552 used: shadowtest()
  PL/pgSQL function: 16384 total in 2 blocks; 6216 free (2 chunks); 10168 used: shadowtest(integer)
  PL/pgSQL function: 32768 total in 3 blocks; 17824 free (2 chunks); 14944 used: stricttest()
  PL/pgSQL function: 16384 total in 2 blocks; 8064 free (2 chunks); 8320 used: stricttest()
  PL/pgSQL function: 16384 total in 2 blocks; 5336 free (2 chunks); 11048 used: multi_datum_use(integer)
  PL/pgSQL function: 32768 total in 3 blocks; 17352 free (2 chunks); 15416 used: raise_exprs()
  PL/pgSQL function: 8192 total in 1 blocks; 3136 free (2 chunks); 5056 used: excpt_test4()
  PL/pgSQL function: 16384 total in 2 blocks; 5120 free (2 chunks); 11264 used: excpt_test3()
  PL/pgSQL function: 8192 total in 1 blocks; 3512 free (2 chunks); 4680 used: excpt_test2()
  PL/pgSQL function: 8192 total in 1 blocks; 3992 free (2 chunks); 4200 used: excpt_test1()
  PL/pgSQL function: 32768 total in 3 blocks; 6632 free (2 chunks); 26136 used: execute_into_test(character varying)
  PL/pgSQL function: 32768 total in 3 blocks; 6856 free (2 chunks); 25912 used: execute_into_test(character varying)
  PL/pgSQL function: 8192 total in 1 blocks; 4568 free (2 chunks); 3624 used: missing_return_expr()
  PL/pgSQL function: 8192 total in 1 blocks; 4472 free (2 chunks); 3720 used: void_return_expr()
  PL/pgSQL function: 8192 total in 1 blocks; 4960 free (2 chunks); 3232 used: void_return_expr()
  PL/pgSQL function: 8192 total in 1 blocks; 3912 free (2 chunks); 4280 used: missing_return_expr()
  PL/pgSQL function: 16384 total in 2 blocks; 9800 free (3 chunks); 6584 used: bad_sql2()
  PL/pgSQL function: 16384 total in 2 blocks; 9640 free (2 chunks); 6744 used: bad_sql1()
  PL/pgSQL function: 16384 total in 2 blocks; 6888 free (2 chunks); 9496 used: reraise_test()
  PL/pgSQL function: 8192 total in 1 blocks; 4096 free (1 chunks); 4096 used: raise_test3(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 3896 free (2 chunks); 4296 used: raise_test2(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 4160 free (2 chunks); 4032 used: raise_test1(integer)
  PL/pgSQL function: 32768 total in 3 blocks; 10600 free (2 chunks); 22168 used: namedparmcursor_test9(integer)
  PL/pgSQL function: 32768 total in 3 blocks; 17664 free (2 chunks); 15104 used: namedparmcursor_test8()
  PL/pgSQL function: 16384 total in 2 blocks; 4720 free (2 chunks); 11664 used: namedparmcursor_test7()
  PL/pgSQL function: 16384 total in 2 blocks; 5520 free (2 chunks); 10864 used: namedparmcursor_test6()
  PL/pgSQL function: 16384 total in 2 blocks; 5488 free (2 chunks); 10896 used: namedparmcursor_test5()
  PL/pgSQL function: 16384 total in 2 blocks; 5536 free (2 chunks); 10848 used: namedparmcursor_test4()
  PL/pgSQL function: 16384 total in 2 blocks; 5536 free (2 chunks); 10848 used: namedparmcursor_test3()
  PL/pgSQL function: 32768 total in 3 blocks; 15920 free (2 chunks); 16848 used: namedparmcursor_test2(integer,integer)
  PL/pgSQL function: 32768 total in 3 blocks; 15888 free (2 chunks); 16880 used: namedparmcursor_test1(integer,integer)
  PL/pgSQL function: 32768 total in 3 blocks; 16032 free (2 chunks); 16736 used: refcursor_test2(integer,integer)
  PL/pgSQL function: 8192 total in 1 blocks; 2912 free (2 chunks); 5280 used: refcursor_test1(refcursor)
  PL/pgSQL function: 8192 total in 1 blocks; 2768 free (2 chunks); 5424 used: return_refcursor(refcursor)
  PL/pgSQL function: 16384 total in 2 blocks; 4376 free (6 chunks); 12008 used: use_refcursor(refcursor)
  PL/pgSQL function: 16384 total in 2 blocks; 9424 free (2 chunks); 6960 used: return_unnamed_refcursor()
  PL/pgSQL function: 16384 total in 2 blocks; 5560 free (2 chunks); 10824 used: sp_add_user(text)
  PL/pgSQL function: 16384 total in 2 blocks; 5624 free (3 chunks); 10760 used: sp_add_user(text)
  PL/pgSQL function: 16384 total in 2 blocks; 7072 free (2 chunks); 9312 used: sp_id_user(text)
  PL/pgSQL function: 16384 total in 2 blocks; 7040 free (3 chunks); 9344 used: sp_id_user(text)
  Sequence values: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function: 8192 total in 1 blocks; 2240 free (2 chunks); 5952 used: trap_foreign_key_2()
  PL/pgSQL function: 8192 total in 1 blocks; 1832 free (2 chunks); 6360 used: trap_foreign_key(integer)
  RI compare cache: 8192 total in 1 blocks; 2592 free (0 chunks); 5600 used
  RI query cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  RI constraint cache: 40896 total in 2 blocks; 2592 free (0 chunks); 38304 used
  PL/pgSQL function: 16384 total in 2 blocks; 6992 free (2 chunks); 9392 used: test_variable_storage()
  PL/pgSQL function: 16384 total in 2 blocks; 6920 free (2 chunks); 9464 used: trap_timeout()
  LocalBufferContext: 139328 total in 2 blocks; 7936 free (0 chunks); 131392 used
  Local Buffer Lookup Table: 16384 total in 2 blocks; 2456 free (3 chunks); 13928 used
  PL/pgSQL function: 16384 total in 2 blocks; 5888 free (2 chunks); 10496 used: subxact_rollback_semantics()
  PL/pgSQL function: 32768 total in 3 blocks; 15360 free (2 chunks); 17408 used: trap_matching_test(integer)
  PL/pgSQL function: 32768 total in 3 blocks; 16880 free (5 chunks); 15888 used: trap_zero_divide(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 1352 free (2 chunks); 6840 used: perform_test_func()
  PL/pgSQL function: 8192 total in 1 blocks; 2768 free (2 chunks); 5424 used: perform_simple_func(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 1328 free (1 chunks); 6864 used: duplic(anyelement)
  PL/pgSQL function: 8192 total in 1 blocks; 1232 free (1 chunks); 6960 used: duplic(anyelement)
  PL/pgSQL function: 8192 total in 1 blocks; 1336 free (1 chunks); 6856 used: f1(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 2008 free (1 chunks); 6184 used: f1(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 2864 free (2 chunks); 5328 used: f1(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 4000 free (2 chunks); 4192 used: f1(integer)
  PL/pgSQL function: 8192 total in 1 blocks; 4160 free (1 chunks); 4032 used: f1(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 8112 free (2 chunks); 8272 used: test_ret_rec_dyn(integer)
  Record information cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function: 16384 total in 2 blocks; 7536 free (2 chunks); 8848 used: test_ret_set_rec_dyn(integer)
  PL/pgSQL function: 16384 total in 2 blocks; 7632 free (2 chunks); 8752 used: test_ret_set_scalar(integer,integer)
  PL/pgSQL function: 8192 total in 1 blocks; 3584 free (2 chunks); 4608 used: test_table_func_row()
  PL/pgSQL function: 16384 total in 2 blocks; 9296 free (2 chunks); 7088 used: test_table_func_rec()
  PL/pgSQL function: 16384 total in 2 blocks; 4944 free (2 chunks); 11440 used: test_found()
  PL/pgSQL function: 16384 total in 2 blocks; 7520 free (2 chunks); 8864 used: recursion_test(integer,integer)
  PL/pgSQL function: 16384 total in 2 blocks; 3064 free (2 chunks); 13320 used: tg_hslot_bd()
  PL/pgSQL function: 32768 total in 3 blocks; 4656 free (2 chunks); 28112 used: tg_slotlink_unset(character,character)
  PL/pgSQL function: 32768 total in 3 blocks; 10000 free (2 chunks); 22768 used: pslot_slotlink_view(character)
  PL/pgSQL function: 32768 total in 3 blocks; 3600 free (2 chunks); 29168 used: wslot_slotlink_view(character)
  PL/pgSQL function: 32768 total in 3 blocks; 3288 free (2 chunks); 29480 used: pslot_backlink_view(character)
  PL/pgSQL function: 16384 total in 2 blocks; 3584 free (1 chunks); 12800 used: tg_hslot_bu()
  PL/pgSQL function: 32768 total in 3 blocks; 9848 free (2 chunks); 22920 used: tg_slotlink_a()
  PL/pgSQL function: 32768 total in 3 blocks; 13424 free (2 chunks); 19344 used: tg_iface_biu()
  PL/pgSQL function: 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used: tg_chkslotname()
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkslotlink()
  PL/pgSQL function: 32768 total in 3 blocks; 9720 free (2 chunks); 23048 used: tg_slotlink_a()
  PL/pgSQL function: 32768 total in 3 blocks; 9264 free (2 chunks); 23504 used: tg_hslot_biu()
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkslotlink()
  PL/pgSQL function: 16384 total in 2 blocks; 7256 free (1 chunks); 9128 used:
tg_hub_adjustslots(character,integer,integer)
  PL/pgSQL function: 32768 total in 3 blocks; 11968 free (2 chunks); 20800 used: tg_hub_a()
  PL/pgSQL function: 65536 total in 4 blocks; 27888 free (2 chunks); 37648 used: tg_slotlink_set(character,character)
  PL/pgSQL function: 32768 total in 3 blocks; 9848 free (2 chunks); 22920 used: tg_slotlink_a()
  PL/pgSQL function: 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used: tg_chkslotname()
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkslotlink()
  PL/pgSQL function: 16384 total in 2 blocks; 4304 free (1 chunks); 12080 used: tg_pline_bu()
  PL/pgSQL function: 32768 total in 3 blocks; 9688 free (2 chunks); 23080 used: tg_backlink_a()
  PL/pgSQL function: 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used: tg_chkslotname()
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkbacklink()
  PL/pgSQL function: 16384 total in 2 blocks; 6752 free (2 chunks); 9632 used: tg_pfield_au()
  PL/pgSQL function: 32768 total in 3 blocks; 11120 free (2 chunks); 21648 used: tg_backlink_unset(character,character)
  PL/pgSQL function: 16384 total in 2 blocks; 4304 free (1 chunks); 12080 used: tg_pslot_bu()
  PL/pgSQL function: 16384 total in 2 blocks; 4304 free (1 chunks); 12080 used: tg_wslot_bu()
  PL/pgSQL function: 32768 total in 3 blocks; 4520 free (2 chunks); 28248 used: tg_backlink_set(character,character)
  PL/pgSQL function: 32768 total in 3 blocks; 9656 free (2 chunks); 23112 used: tg_slotlink_a()
  PL/pgSQL function: 32768 total in 3 blocks; 9624 free (2 chunks); 23144 used: tg_backlink_a()
  PL/pgSQL function: 16384 total in 2 blocks; 3872 free (2 chunks); 12512 used: tg_pslot_biu()
  PL/pgSQL function: 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used: tg_chkslotname()
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkslotlink()
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkbacklink()
  PL/pgSQL function: 32768 total in 3 blocks; 9688 free (2 chunks); 23080 used: tg_slotlink_a()
  PL/pgSQL function: 32768 total in 3 blocks; 9656 free (2 chunks); 23112 used: tg_backlink_a()
  TableSpace cache: 8192 total in 1 blocks; 2056 free (0 chunks); 6136 used
  PL/pgSQL function: 16384 total in 2 blocks; 7272 free (2 chunks); 9112 used: tg_wslot_biu()
  Operator lookup cache: 24576 total in 2 blocks; 10720 free (4 chunks); 13856 used
  PL/pgSQL function: 16384 total in 2 blocks; 7568 free (2 chunks); 8816 used: tg_chkslotname()
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkslotlink()
  Type information cache: 24360 total in 2 blocks; 2592 free (0 chunks); 21768 used
  PLpgSQL cast info: 8192 total in 1 blocks; 4536 free (0 chunks); 3656 used
    PLpgSQL cast cache: 8192 total in 1 blocks; 1544 free (0 chunks); 6648 used
  PL/pgSQL function: 16384 total in 2 blocks; 7616 free (2 chunks); 8768 used: tg_chkbacklink()
  PL/pgSQL function: 32768 total in 3 blocks; 4144 free (5 chunks); 28624 used: wslot_slotlink_view(character)
  PL/pgSQL function: 32768 total in 3 blocks; 10352 free (2 chunks); 22416 used: pslot_slotlink_view(character)
  PL/pgSQL function: 32768 total in 3 blocks; 3832 free (2 chunks); 28936 used: pslot_backlink_view(character)
  PL/pgSQL function: 32768 total in 3 blocks; 4752 free (2 chunks); 28016 used: tg_slotlink_unset(character,character)
  PL/pgSQL function: 65536 total in 4 blocks; 28784 free (2 chunks); 36752 used: tg_slotlink_set(character,character)
  PL/pgSQL function: 32768 total in 3 blocks; 9944 free (2 chunks); 22824 used: tg_slotlink_a()
  PL/pgSQL function: 32768 total in 3 blocks; 11504 free (2 chunks); 21264 used: tg_backlink_unset(character,character)
  PL/pgSQL function: 32768 total in 3 blocks; 5064 free (2 chunks); 27704 used: tg_backlink_set(character,character)
  PL/pgSQL function: 32768 total in 3 blocks; 9944 free (2 chunks); 22824 used: tg_backlink_a()
  PL/pgSQL function: 16384 total in 2 blocks; 4792 free (1 chunks); 11592 used: tg_phone_bu()
  PL/pgSQL function: 16384 total in 2 blocks; 3616 free (1 chunks); 12768 used: tg_hslot_bu()
  PL/pgSQL function: 16384 total in 2 blocks; 4360 free (1 chunks); 12024 used: tg_iface_bu()
  PL/pgSQL function: 16384 total in 2 blocks; 4336 free (1 chunks); 12048 used: tg_pline_bu()
  PL/pgSQL function: 16384 total in 2 blocks; 4336 free (1 chunks); 12048 used: tg_wslot_bu()
  PL/pgSQL function: 16384 total in 2 blocks; 4336 free (1 chunks); 12048 used: tg_pslot_bu()
  PL/pgSQL function: 16384 total in 2 blocks; 7648 free (2 chunks); 8736 used: tg_chkbacklink()
  PL/pgSQL function: 16384 total in 2 blocks; 7648 free (2 chunks); 8736 used: tg_chkslotlink()
  PL/pgSQL function: 16384 total in 2 blocks; 7600 free (2 chunks); 8784 used: tg_chkslotname()
  PL/pgSQL function: 16384 total in 2 blocks; 3160 free (2 chunks); 13224 used: tg_hslot_bd()
  PL/pgSQL function: 32768 total in 3 blocks; 9552 free (2 chunks); 23216 used: tg_hslot_biu()
  PL/pgSQL function: 16384 total in 2 blocks; 7320 free (2 chunks); 9064 used:
tg_hub_adjustslots(character,integer,integer)
  PL/pgSQL function: 32768 total in 3 blocks; 12032 free (2 chunks); 20736 used: tg_hub_a()
  PL/pgSQL function: 32768 total in 3 blocks; 13712 free (2 chunks); 19056 used: tg_iface_biu()
  PL/pgSQL function: 16384 total in 2 blocks; 6816 free (2 chunks); 9568 used: tg_system_au()
  PL/pgSQL function: 16384 total in 2 blocks; 3936 free (5 chunks); 12448 used: tg_pslot_biu()
  PL/pgSQL function: 16384 total in 2 blocks; 8232 free (2 chunks); 8152 used: tg_pfield_ad()
  PL/pgSQL function: 16384 total in 2 blocks; 6816 free (2 chunks); 9568 used: tg_pfield_au()
  PL/pgSQL function: 16384 total in 2 blocks; 7304 free (2 chunks); 9080 used: tg_wslot_biu()
  PL/pgSQL function: 16384 total in 2 blocks; 8232 free (2 chunks); 8152 used: tg_room_ad()
  PL/pgSQL function: 16384 total in 2 blocks; 6816 free (4 chunks); 9568 used: tg_room_au()
  CFuncHash: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  Rendezvous variable hash: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  PLpgSQL function hash: 106256 total in 7 blocks; 2592 free (0 chunks); 103664 used
  RowDescriptionContext: 8192 total in 1 blocks; 6888 free (0 chunks); 1304 used
  MessageContext: 16384 total in 2 blocks; 6592 free (3 chunks); 9792 used
  Operator class cache: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  smgr relation table: 32768 total in 3 blocks; 8536 free (8 chunks); 24232 used
  TransactionAbortContext: 32768 total in 1 blocks; 32512 free (0 chunks); 256 used
  Portal hash: 8192 total in 1 blocks; 520 free (0 chunks); 7672 used
  TopPortalContext: 8192 total in 1 blocks; 7656 free (2 chunks); 536 used
    PortalContext: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
      ExecutorState: 8192 total in 1 blocks; 2960 free (0 chunks); 5232 used
        printtup: 8192 total in 1 blocks; 7936 free (0 chunks); 256 used
        ExprContext: 8192 total in 1 blocks; 7656 free (0 chunks); 536 used
  Relcache by OID: 16384 total in 2 blocks; 2384 free (3 chunks); 14000 used
  CacheMemoryContext: 1048576 total in 8 blocks; 208104 free (55 chunks); 840472 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT row.a
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT row.a
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 840 free (0 chunks); 7352 used: SELECT * FROM partitioned_table ORDER BY a
    CachedPlanSource: 4096 total in 3 blocks; 1760 free (1 chunks); 2336 used: SELECT * FROM partitioned_table ORDER BY
a
      CachedPlanQuery: 4096 total in 3 blocks; 1464 free (2 chunks); 2632 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1464 free (0 chunks); 2632 used: SELECT *             FROM
partitioned_tableWHERE a = a_val 
      CachedPlanQuery: 4096 total in 3 blocks; 1248 free (2 chunks); 2848 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    partition descriptor: 8192 total in 1 blocks; 7568 free (1 chunks); 624 used: partitioned_table
    partition key: 1024 total in 1 blocks; 152 free (0 chunks); 872 used: partitioned_table
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_inherits_parent_index
    index info: 2048 total in 2 blocks; 880 free (0 chunks); 1168 used: pg_partitioned_table_partrelid_index
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT NULL
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT NULL
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 1504 free (0 chunks); 6688 used: SELECT (SELECT COUNT(*)        FROM (SELECT *
FROMnew_test UNION ALL SELECT * FROM new_test) ss) 
    CachedPlanSource: 8192 total in 4 blocks; 3512 free (0 chunks); 4680 used: SELECT (SELECT COUNT(*)        FROM
(SELECT* FROM new_test UNION ALL SELECT * FROM new_test) ss) 
      CachedPlanQuery: 16384 total in 5 blocks; 7440 free (2 chunks); 8944 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 640 free (0 chunks); 3456 used: SELECT (SELECT COUNT(*) FROM new_test)
    CachedPlanSource: 4096 total in 3 blocks; 1560 free (0 chunks); 2536 used: SELECT (SELECT COUNT(*) FROM new_test)
      CachedPlanQuery: 4096 total in 3 blocks; 992 free (2 chunks); 3104 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 176 free (0 chunks); 3920 used: SELECT (SELECT 1 FROM
alter_table_under_transition_tablesLIMIT 1) 
    CachedPlan: 8192 total in 4 blocks; 2680 free (0 chunks); 5512 used: SELECT (SELECT string_agg(id || '=' || name,
',')FROM i) 
    index info: 2048 total in 2 blocks; 880 free (0 chunks); 1168 used: alter_table_under_transition_tables_pkey
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT NULL
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT NULL
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1592 free (0 chunks); 2504 used: SELECT (SELECT 1 FROM
alter_table_under_transition_tablesLIMIT 1) 
      CachedPlanQuery: 4096 total in 3 blocks; 936 free (2 chunks); 3160 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 288 free (0 chunks); 3808 used: SELECT (SELECT string_agg(id || '=' ||
name,',') FROM i) 
      CachedPlanQuery: 8192 total in 4 blocks; 3504 free (2 chunks); 4688 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 288 free (0 chunks); 3808 used: SELECT (SELECT string_agg(id || '=' ||
name,',') FROM d) 
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT NULL
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT NULL
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 1640 free (0 chunks); 6552 used: SELECT FROM i       LEFT JOIN
transition_table_level1p         ON p.level1_no IS NOT NULL AND p.lev... 
    CachedPlanSource: 4096 total in 3 blocks; 336 free (0 chunks); 3760 used: SELECT FROM i       LEFT JOIN
transition_table_level1p         ON p.level1_no IS NOT NULL AND p.lev... 
      CachedPlanQuery: 8192 total in 4 blocks; 1888 free (2 chunks); 6304 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 1640 free (0 chunks); 6552 used: SELECT FROM i       LEFT JOIN
transition_table_level1p         ON p.level1_no IS NOT NULL AND p.lev... 
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 16384 total in 5 blocks; 512 free (0 chunks); 15872 used: WITH p AS (SELECT level1_no, sum(delta) cnt
              FROM (SELECT level1_no, 1 AS delta FROM... 
    CachedPlanSource: 16384 total in 5 blocks; 6880 free (0 chunks); 9504 used: WITH p AS (SELECT level1_no, sum(delta)
cnt                 FROM (SELECT level1_no, 1 AS delta FROM... 
      CachedPlanQuery: 32768 total in 6 blocks; 14832 free (2 chunks); 17936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 1848 free (0 chunks); 6344 used: SELECT FROM p JOIN transition_table_level2 c
ONc.parent_no = p.level1_no 
    CachedPlanSource: 4096 total in 3 blocks; 1456 free (0 chunks); 2640 used: SELECT FROM p JOIN
transition_table_level2c ON c.parent_no = p.level1_no 
      CachedPlanQuery: 8192 total in 4 blocks; 2488 free (2 chunks); 5704 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: transition_table_level1_pkey
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: transition_table_level2_pkey
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT NULL
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT NULL
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 336 free (0 chunks); 3760 used: SELECT FROM i       LEFT JOIN
transition_table_level1p         ON p.level1_no IS NOT NULL AND p.lev... 
      CachedPlanQuery: 8192 total in 4 blocks; 1888 free (2 chunks); 6304 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT t
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT t
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used: SELECT t || l || E'\n'
    CachedPlanSource: 4096 total in 3 blocks; 1576 free (0 chunks); 2520 used: SELECT t || l || E'\n'
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT $q$              EXPLAIN (TIMING off,
COSTSoff, VERBOSE on)              SELECT * FROM oldta... 
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT $q$              EXPLAIN (TIMING
off,COSTS off, VERBOSE on)              SELECT * FROM oldta... 
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT ''
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT ''
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT t
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT t
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used: SELECT t || l || E'\n'
    CachedPlanSource: 4096 total in 3 blocks; 1576 free (0 chunks); 2520 used: SELECT t || l || E'\n'
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (1 chunks); 1528 used: SELECT $q$              EXPLAIN (TIMING off,
COSTSoff, VERBOSE on)              SELECT * FROM newta... 
    CachedPlanSource: 2048 total in 2 blocks; 312 free (0 chunks); 1736 used: SELECT $q$              EXPLAIN (TIMING
off,COSTS off, VERBOSE on)              SELECT * FROM newta... 
      CachedPlanQuery: 2048 total in 2 blocks; 720 free (2 chunks); 1328 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT ''
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT ''
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: transition_table_base_pkey
    CachedPlan: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT val[1] > 0
    CachedPlanSource: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used: SELECT val[1] > 0
      CachedPlanQuery: 2048 total in 2 blocks; 320 free (2 chunks); 1728 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    Domain constraints: 1024 total in 1 blocks; 24 free (0 chunks); 1000 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT val > 0
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT val > 0
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    Domain constraints: 1024 total in 1 blocks; 24 free (0 chunks); 1000 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT 2 * $1
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT 2 * $1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT _context
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT _context
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT _context
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT _context
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT sx / 0
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT sx / 0
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 5
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 5
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 480 free (0 chunks); 1568 used: SELECT inner_func($1)
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT inner_func($1)
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 480 free (0 chunks); 1568 used: SELECT outer_func($1)
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT outer_func($1)
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT 2 * $1
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT 2 * $1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT _context
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT _context
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT _context
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT _context
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 480 free (0 chunks); 1568 used: SELECT inner_func($1)
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT inner_func($1)
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 480 free (0 chunks); 1568 used: SELECT outer_func($1)
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT outer_func($1)
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT $1[1]
    CachedPlanSource: 2048 total in 2 blocks; 328 free (0 chunks); 1720 used: SELECT $1[1]
      CachedPlanQuery: 2048 total in 2 blocks; 632 free (2 chunks); 1416 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used: SELECT array[$1, $1]
    CachedPlanSource: 2048 total in 2 blocks; 344 free (0 chunks); 1704 used: SELECT array[$1, $1]
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT x3
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT x3
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used: SELECT array[x1, x2]
    CachedPlanSource: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used: SELECT array[x1, x2]
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    Domain constraints: 4096 total in 3 blocks; 1760 free (0 chunks); 2336 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT r.ar
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT r.ar
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 728 free (0 chunks); 1320 used: SELECT 'replace'
    CachedPlanSource: 2048 total in 2 blocks; 528 free (0 chunks); 1520 used: SELECT 'replace'
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT row(12, '{foo,bar,baz}')::rtype
    CachedPlanSource: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used: SELECT row(12, '{foo,bar,baz}')::rtype
      CachedPlanQuery: 2048 total in 2 blocks; 480 free (2 chunks); 1568 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT x
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT x
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT return + 1
    CachedPlanSource: 2048 total in 2 blocks; 80 free (0 chunks); 1968 used: SELECT return + 1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 42
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 42
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1656 free (0 chunks); 2440 used: select q1,q2 from int8_tbl
    CachedPlanSource: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used: select q1,q2 from int8_tbl
      CachedPlanQuery: 4096 total in 3 blocks; 1632 free (2 chunks); 2464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 42
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 42
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used: SELECT x * 100 + y
    CachedPlanSource: 4096 total in 3 blocks; 1608 free (0 chunks); 2488 used: SELECT x * 100 + y
      CachedPlanQuery: 2048 total in 2 blocks; 312 free (2 chunks); 1736 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT x + 2
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT x + 2
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT x + 1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT x + 1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 42
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 42
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used: room_rno
    CachedPlan: 2048 total in 2 blocks; 728 free (0 chunks); 1320 used: SELECT E'foo\\bar\041baz'
    CachedPlanSource: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT E'foo\\bar\041baz'
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT 1/0
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_cast_oid_index
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT error1(p_name_table)
    CachedPlanSource: 2048 total in 2 blocks; 32 free (0 chunks); 2016 used: SELECT error1(p_name_table)
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 168 free (0 chunks); 1880 used: SELECT sql_recurse($1 - 1)
    CachedPlanSource: 4096 total in 3 blocks; 1912 free (2 chunks); 2184 used: SELECT sql_recurse($1 - 1)
      CachedPlanQuery: 2048 total in 2 blocks; 88 free (2 chunks); 1960 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT ($1 > 0)
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT ($1 > 0)
      CachedPlanQuery: 2048 total in 2 blocks; 408 free (2 chunks); 1640 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used: SELECT (SELECT 1::integer)
    CachedPlanSource: 4096 total in 3 blocks; 1584 free (0 chunks); 2512 used: SELECT (SELECT 1::integer)
      CachedPlanQuery: 2048 total in 2 blocks; 240 free (2 chunks); 1808 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used: SELECT (SELECT NULL::integer)
    CachedPlanSource: 4096 total in 3 blocks; 1584 free (0 chunks); 2512 used: SELECT (SELECT NULL::integer)
      CachedPlanQuery: 2048 total in 2 blocks; 240 free (2 chunks); 1808 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1536 free (0 chunks); 2560 used: SELECT (SELECT i+1)
      CachedPlanQuery: 4096 total in 3 blocks; 1952 free (3 chunks); 2144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1848 free (2 chunks); 2248 used: SELECT (SELECT i)
      CachedPlanQuery: 2048 total in 2 blocks; 272 free (2 chunks); 1776 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1848 free (2 chunks); 2248 used: SELECT (SELECT lr)
      CachedPlanQuery: 2048 total in 2 blocks; 272 free (2 chunks); 1776 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT 'fool'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT 'fool'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 656 free (1 chunks); 1392 used: SELECT array[array['foo','bar'], array['baz',
'quux']]
    CachedPlanSource: 4096 total in 3 blocks; 1664 free (0 chunks); 2432 used: SELECT array[array['foo','bar'],
array['baz','quux']] 
      CachedPlanQuery: 4096 total in 3 blocks; 1920 free (2 chunks); 2176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT fail
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT fail
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 392 free (0 chunks); 1656 used: SELECT (leaker_2(fail)).error_code
    CachedPlanSource: 4096 total in 3 blocks; 1776 free (1 chunks); 2320 used: SELECT (leaker_2(fail)).error_code
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 552 free (0 chunks); 1496 used: SELECT rca[2]
    CachedPlanSource: 2048 total in 2 blocks; 144 free (0 chunks); 1904 used: SELECT rca[2]
      CachedPlanQuery: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select * from (values(10),(20)) f(a)
wherefalse' 
    CachedPlanSource: 2048 total in 2 blocks; 440 free (0 chunks); 1608 used: SELECT 'select * from (values(10),(20))
f(a)where false' 
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 552 free (0 chunks); 1496 used: SELECT rca[1]
    CachedPlanSource: 2048 total in 2 blocks; 144 free (0 chunks); 1904 used: SELECT rca[1]
      CachedPlanQuery: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 712 free (0 chunks); 1336 used: SELECT 'values(10),(20)'
    CachedPlanSource: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT 'values(10),(20)'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT rc
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT rc
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1096 free (0 chunks); 3000 used: select * from (values(10),(20)) f(a) where
false
    CachedPlanSource: 4096 total in 3 blocks; 760 free (0 chunks); 3336 used: select * from (values(10),(20)) f(a)
wherefalse 
      CachedPlanQuery: 8192 total in 4 blocks; 3640 free (2 chunks); 4552 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT rc
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT rc
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1656 free (1 chunks); 2440 used: values(10),(20)
    CachedPlanSource: 2048 total in 2 blocks; 376 free (0 chunks); 1672 used: values(10),(20)
      CachedPlanQuery: 4096 total in 3 blocks; 1328 free (2 chunks); 2768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used: SELECT a1 * 10 + 1
    CachedPlanSource: 4096 total in 3 blocks; 1776 free (1 chunks); 2320 used: SELECT a1 * 10 + 1
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT a1 * 10
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT a1 * 10
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT a1 + 1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT a1 + 1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT a1
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT a1
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT $1[i]
    CachedPlanSource: 2048 total in 2 blocks; 160 free (0 chunks); 1888 used: SELECT $1[i]
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1[i] < aux
    CachedPlanSource: 4096 total in 3 blocks; 1672 free (0 chunks); 2424 used: SELECT $1[i] < aux
      CachedPlanQuery: 2048 total in 2 blocks; 384 free (2 chunks); 1664 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT array_upper($1,1)
    CachedPlanSource: 2048 total in 2 blocks; 120 free (0 chunks); 1928 used: SELECT array_upper($1,1)
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used: SELECT array_lower($1,1)+1
    CachedPlanSource: 4096 total in 3 blocks; 1816 free (1 chunks); 2280 used: SELECT array_lower($1,1)+1
      CachedPlanQuery: 2048 total in 2 blocks; 280 free (2 chunks); 1768 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 248 free (0 chunks); 1800 used: SELECT $1[array_lower($1,1)]
    CachedPlanSource: 4096 total in 3 blocks; 1880 free (1 chunks); 2216 used: SELECT $1[array_lower($1,1)]
      CachedPlanQuery: 2048 total in 2 blocks; 352 free (2 chunks); 1696 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT $1[i]
    CachedPlanSource: 2048 total in 2 blocks; 160 free (0 chunks); 1888 used: SELECT $1[i]
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT array_upper($1,1)
    CachedPlanSource: 2048 total in 2 blocks; 120 free (0 chunks); 1928 used: SELECT array_upper($1,1)
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT array_lower($1,1)
    CachedPlanSource: 2048 total in 2 blocks; 120 free (0 chunks); 1928 used: SELECT array_lower($1,1)
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used: SELECT _schema_name
    CachedPlanSource: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used: SELECT _schema_name
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used: SELECT _table_name
    CachedPlanSource: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used: SELECT _table_name
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used: SELECT _datatype_name
    CachedPlanSource: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used: SELECT _datatype_name
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT _constraint_name
    CachedPlanSource: 2048 total in 2 blocks; 368 free (0 chunks); 1680 used: SELECT _constraint_name
      CachedPlanQuery: 2048 total in 2 blocks; 888 free (2 chunks); 1160 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used: SELECT _column_name
    CachedPlanSource: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used: SELECT _column_name
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 712 free (0 chunks); 1336 used: SELECT '>>some schema name<<'
    CachedPlanSource: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT '>>some schema name<<'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 712 free (0 chunks); 1336 used: SELECT '>>some table name<<'
    CachedPlanSource: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT '>>some table name<<'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 712 free (0 chunks); 1336 used: SELECT '>>some datatype name<<'
    CachedPlanSource: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT '>>some datatype name<<'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 680 free (0 chunks); 1368 used: SELECT '>>some constraint name<<'
    CachedPlanSource: 2048 total in 2 blocks; 472 free (0 chunks); 1576 used: SELECT '>>some constraint name<<'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 712 free (0 chunks); 1336 used: SELECT '>>some column name<<'
    CachedPlanSource: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT '>>some column name<<'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 712 free (0 chunks); 1336 used: SELECT 'substitute message'
    CachedPlanSource: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT 'substitute message'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT sqlstate
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT sqlstate
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT 1/0
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT 10 / v
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT 10 / v
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 688 free (0 chunks); 1360 used: SELECT (1, 'hello')::compostype
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT (1, 'hello')::compostype
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 42
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 42
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 656 free (1 chunks); 1392 used: SELECT (2, 'goodbye')::compostype
    CachedPlanSource: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used: SELECT (2, 'goodbye')::compostype
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 768 free (0 chunks); 1280 used: SELECT null::compostype
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT null::compostype
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 688 free (0 chunks); 1360 used: SELECT (1, 'hello'::varchar)
    CachedPlanSource: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used: SELECT (1, 'hello'::varchar)
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (2 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 3
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 3
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 688 free (0 chunks); 1360 used: SELECT (1, 'hello')
    CachedPlanSource: 2048 total in 2 blocks; 248 free (0 chunks); 1800 used: SELECT (1, 'hello')
      CachedPlanQuery: 2048 total in 2 blocks; 256 free (2 chunks); 1792 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 688 free (0 chunks); 1360 used: SELECT (1, 'hello')::compostype
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT (1, 'hello')::compostype
      CachedPlanQuery: 2048 total in 2 blocks; 528 free (2 chunks); 1520 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1072 free (1 chunks); 3024 used: select * from tabwithcols
    CachedPlan: 2048 total in 2 blocks; 680 free (0 chunks); 1368 used: SELECT 'select * from tabwithcols'
    CachedPlanSource: 2048 total in 2 blocks; 472 free (0 chunks); 1576 used: SELECT 'select * from tabwithcols'
      CachedPlanQuery: 2048 total in 2 blocks; 816 free (2 chunks); 1232 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1960 free (4 chunks); 2136 used: select * from tabwithcols
      CachedPlanQuery: 4096 total in 3 blocks; 1048 free (2 chunks); 3048 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 50
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 50
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 40
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 40
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select * from (values($1),($2)) f'
    CachedPlanSource: 2048 total in 2 blocks; 440 free (0 chunks); 1608 used: SELECT 'select * from (values($1),($2))
f'
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select * from (values(10),(20)) f'
    CachedPlanSource: 2048 total in 2 blocks; 440 free (0 chunks); 1608 used: SELECT 'select * from (values(10),(20))
f'
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 3768 free (1 chunks); 4424 used: update forc_test set i = i * 100, j = r.j * 2
wherecurrent of c 
    CachedPlanSource: 4096 total in 3 blocks; 1408 free (0 chunks); 2688 used: update forc_test set i = i * 100, j =
r.j* 2 where current of c 
      CachedPlanQuery: 4096 total in 3 blocks; 952 free (2 chunks); 3144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT r.j
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT r.j
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT r.i
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT r.i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (2 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1656 free (0 chunks); 2440 used: select * from forc_test
    CachedPlanSource: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used: select * from forc_test
      CachedPlanQuery: 4096 total in 3 blocks; 1632 free (2 chunks); 2464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 728 free (0 chunks); 1320 used: SELECT 'fooled_ya'
    CachedPlanSource: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT 'fooled_ya'
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 608 free (1 chunks); 1440 used: pg_publication_rel_prrelid_prpubid_index
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT i
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (2 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT $1+1
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1+1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select * from generate_series(1,$1)'
    CachedPlanSource: 2048 total in 2 blocks; 440 free (0 chunks); 1608 used: SELECT 'select * from
generate_series(1,$1)'
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $2
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $2
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select $2 + $2*3 + length($1)'
    CachedPlanSource: 2048 total in 2 blocks; 472 free (0 chunks); 1576 used: SELECT 'select $2 + $2*3 + length($1)'
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT i
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT $1+1
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1+1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select * from generate_series(1,$1)'
    CachedPlanSource: 2048 total in 2 blocks; 440 free (0 chunks); 1608 used: SELECT 'select * from
generate_series(1,$1)'
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 8192 total in 4 blocks; 1808 free (0 chunks); 6384 used: select md5(s.x::text), s.x, s.x > 0
           from generate_series(-8, lim) s (x) where s.x %... 
      CachedPlanQuery: 8192 total in 4 blocks; 3608 free (2 chunks); 4584 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 392 free (0 chunks); 3704 used: select x + 1, x * 10 from generate_series(0,
10)s (x) 
    CachedPlanSource: 4096 total in 3 blocks; 240 free (0 chunks); 3856 used: select x + 1, x * 10 from
generate_series(0,10) s (x) 
      CachedPlanQuery: 4096 total in 3 blocks; 400 free (2 chunks); 3696 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT -2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT -2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT -1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT -1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used: SELECT innerblock.param1
    CachedPlanSource: 2048 total in 2 blocks; 272 free (0 chunks); 1776 used: SELECT innerblock.param1
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used: SELECT outerblock.param1
    CachedPlanSource: 2048 total in 2 blocks; 272 free (0 chunks); 1776 used: SELECT outerblock.param1
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used: SELECT pl_qual_names.param1
    CachedPlanSource: 2048 total in 2 blocks; 272 free (0 chunks); 1776 used: SELECT pl_qual_names.param1
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT param1
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT param1
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1512 free (0 chunks); 2584 used: select * from generate_series(1, 10)
    CachedPlanSource: 4096 total in 3 blocks; 1512 free (0 chunks); 2584 used: select * from generate_series(1, 10)
      CachedPlanQuery: 4096 total in 3 blocks; 1520 free (2 chunks); 2576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used: SELECT 'c'::pg_catalog.refcursor
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'c'::pg_catalog.refcursor
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 280 free (0 chunks); 3816 used: select * from foo where f1 > p1 or
f1::text= p3 
      CachedPlanQuery: 4096 total in 3 blocks; 656 free (2 chunks); 3440 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT 'foo'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT 'foo'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select * from foo where f1 > 3'
    CachedPlanSource: 2048 total in 2 blocks; 472 free (0 chunks); 1576 used: SELECT 'select * from foo where f1 > 3'
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 536 free (0 chunks); 1512 used: SELECT x = y
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT x = y
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (2 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 160 free (0 chunks); 3936 used: select          unique1/p1, unique1/$1
fromtenk1 group by unique1/p1 
      CachedPlanQuery: 8192 total in 4 blocks; 3352 free (2 chunks); 4840 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT NULL
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT NULL
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 688 free (0 chunks); 1360 used: SELECT row(10,'aaa',NULL,30)
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT row(10,'aaa',NULL,30)
      CachedPlanQuery: 4096 total in 3 blocks; 1784 free (2 chunks); 2312 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT (select c || 'abc')
      CachedPlanQuery: 4096 total in 3 blocks; 1832 free (3 chunks); 2264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT c
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT c
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 584 free (0 chunks); 1464 used: SELECT a[i]
    CachedPlanSource: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used: SELECT a[i]
      CachedPlanQuery: 2048 total in 2 blocks; 672 free (2 chunks); 1376 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT a
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT a
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT 'xyz'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT 'xyz'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 728 free (0 chunks); 1320 used: SELECT '{10,20,30}'
    CachedPlanSource: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT '{10,20,30}'
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT 1/0
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sqlerrm
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sqlerrm
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT sqlstate
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT sqlstate
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sqlerrm
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sqlerrm
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT sqlstate
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT sqlstate
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT 10/0
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sqlerrm
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sqlerrm
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT sqlstate
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT sqlstate
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sqlerrm
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sqlerrm
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT sqlstate
    CachedPlanSource: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT sqlstate
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_inherits_relid_seqno_index
    CachedPlan: 2048 total in 2 blocks; 728 free (0 chunks); 1320 used: SELECT 'select 1,2'
    CachedPlanSource: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT 'select 1,2'
      CachedPlanQuery: 2048 total in 2 blocks; 832 free (2 chunks); 1216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT k
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT k
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT j
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT j
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT i
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: SELECT 'select *, 20 from '||$1||' limit 1'
    CachedPlanSource: 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used: SELECT 'select *, 20 from '||$1||' limit
1'
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (2 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT _rt.y
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT _rt.y
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT _rt.i
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT _rt.i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: SELECT 'select * from '||$1||' limit 1'
    CachedPlanSource: 4096 total in 3 blocks; 1848 free (2 chunks); 2248 used: SELECT 'select * from '||$1||' limit 1'
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (2 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT _r.y
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT _r.y
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT _r.i
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT _r.i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (1 chunks); 1400 used: SELECT 'select (row).* from (select
row(10,1)::eifoo)s' 
    CachedPlanSource: 2048 total in 2 blocks; 440 free (0 chunks); 1608 used: SELECT 'select (row).* from (select
row(10,1)::eifoo)s' 
      CachedPlanQuery: 2048 total in 2 blocks; 784 free (2 chunks); 1264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: SELECT 'insert into '||$1||' values(10,15)'
    CachedPlanSource: 4096 total in 3 blocks; 1848 free (2 chunks); 2248 used: SELECT 'insert into '||$1||'
values(10,15)'
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (2 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2+2
    CachedPlanSource: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT 2+2
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2+2
    CachedPlanSource: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT 2+2
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sqlerrm
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sqlerrm
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sqlerrm
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sqlerrm
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 8192 total in 4 blocks; 3752 free (1 chunks); 4440 used: select count(*) from tenk1 where
thousand= p1 and tenthous = p2       and four = debug 
      CachedPlanQuery: 8192 total in 4 blocks; 2928 free (2 chunks); 5264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1480 free (0 chunks); 2616 used: SELECT p1 AS p1, p2 AS p2, 2 AS debug;
      CachedPlanQuery: 2048 total in 2 blocks; 448 free (2 chunks); 1600 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1006
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1006
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used: SELECT 'c1'::pg_catalog.refcursor
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'c1'::pg_catalog.refcursor
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: tenk1_thous_tenthous
    index info: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used: tenk1_hundred
    index info: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used: tenk1_unique2
    index info: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used: tenk1_unique1
    CachedPlanSource: 4096 total in 3 blocks; 440 free (0 chunks); 3656 used: select count(*) from tenk1 where thousand
=p1 and tenthous = p2 
      CachedPlanQuery: 8192 total in 4 blocks; 3336 free (2 chunks); 4856 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_aggregate_fnoid_index
    CachedPlan: 2048 total in 2 blocks; 512 free (0 chunks); 1536 used: SELECT 77 -- test   , 42;
    CachedPlanSource: 2048 total in 2 blocks; 376 free (0 chunks); 1672 used: SELECT 77 -- test   , 42;
      CachedPlanQuery: 2048 total in 2 blocks; 616 free (2 chunks); 1432 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used: SELECT 'c1'::pg_catalog.refcursor
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'c1'::pg_catalog.refcursor
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 0 free (0 chunks); 2048 used: SELECT 42/0 AS p1, 77 AS p2;
      CachedPlanQuery: 2048 total in 2 blocks; 320 free (2 chunks); 1728 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used: SELECT 'c1'::pg_catalog.refcursor
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'c1'::pg_catalog.refcursor
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT true
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT true
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 592 free (0 chunks); 3504 used: select * from rc_test where a > param1
andb > param2 
      CachedPlanQuery: 4096 total in 3 blocks; 712 free (2 chunks); 3384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 312 free (1 chunks); 1736 used: SELECT $1 AS param1, $2 AS param2;
      CachedPlanQuery: 2048 total in 2 blocks; 696 free (2 chunks); 1352 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used: SELECT 'c1'::pg_catalog.refcursor
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'c1'::pg_catalog.refcursor
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT true
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT true
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT false
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT false
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 592 free (0 chunks); 3504 used: select * from rc_test where a > param1
andb > param12 
      CachedPlanQuery: 4096 total in 3 blocks; 712 free (2 chunks); 3384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 312 free (1 chunks); 1736 used: SELECT $1 AS param1, $2 AS param12;
      CachedPlanQuery: 2048 total in 2 blocks; 696 free (2 chunks); 1352 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used: SELECT 'c1'::pg_catalog.refcursor
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'c1'::pg_catalog.refcursor
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT true
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT true
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT false
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT false
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (3 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 592 free (0 chunks); 3504 used: select * from rc_test where a > param1
andb > param2 
      CachedPlanQuery: 4096 total in 3 blocks; 712 free (2 chunks); 3384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 424 free (1 chunks); 1624 used: SELECT $1, $2;
      CachedPlanQuery: 2048 total in 2 blocks; 680 free (2 chunks); 1368 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 704 free (1 chunks); 1344 used: SELECT 'c1'::pg_catalog.refcursor
    CachedPlanSource: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'c1'::pg_catalog.refcursor
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1912 free (1 chunks); 2184 used: select a from rc_test
    CachedPlanSource: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used: select a from rc_test
      CachedPlanQuery: 4096 total in 3 blocks; 1888 free (2 chunks); 2208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 464 free (0 chunks); 1584 used: SELECT return_refcursor($1)
    CachedPlanSource: 2048 total in 2 blocks; 200 free (0 chunks); 1848 used: SELECT return_refcursor($1)
      CachedPlanQuery: 2048 total in 2 blocks; 568 free (2 chunks); 1480 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT x.a
    CachedPlanSource: 2048 total in 2 blocks; 296 free (0 chunks); 1752 used: SELECT x.a
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 584 free (0 chunks); 1464 used: SELECT return_unnamed_refcursor()
    CachedPlanSource: 2048 total in 2 blocks; 304 free (0 chunks); 1744 used: SELECT return_unnamed_refcursor()
      CachedPlanQuery: 2048 total in 2 blocks; 720 free (2 chunks); 1328 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1912 free (1 chunks); 2184 used: select a from rc_test
    CachedPlanSource: 2048 total in 2 blocks; 176 free (0 chunks); 1872 used: select a from rc_test
      CachedPlanQuery: 4096 total in 3 blocks; 1888 free (2 chunks); 2208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1416 free (1 chunks); 2680 used: select        id from users where login =
a_login
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT my_id_user = 0
    CachedPlanSource: 2048 total in 2 blocks; 72 free (0 chunks); 1976 used: SELECT my_id_user = 0
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 480 free (0 chunks); 1568 used: SELECT sp_id_user( a_login )
    CachedPlanSource: 2048 total in 2 blocks; 32 free (0 chunks); 2016 used: SELECT sp_id_user( a_login )
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used: INSERT INTO users ( login ) VALUES (
a_login) 
      CachedPlanQuery: 4096 total in 3 blocks; 1392 free (2 chunks); 2704 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT -1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT -1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT my_id_user > 0
    CachedPlanSource: 2048 total in 2 blocks; 72 free (0 chunks); 1976 used: SELECT my_id_user > 0
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 480 free (0 chunks); 1568 used: SELECT sp_id_user( a_login )
    CachedPlanSource: 2048 total in 2 blocks; 32 free (0 chunks); 2016 used: SELECT sp_id_user( a_login )
      CachedPlanQuery: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT found
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT found
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1448 free (0 chunks); 2648 used: select        id from users where login
=a_login 
      CachedPlanQuery: 4096 total in 3 blocks; 1520 free (2 chunks); 2576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_attrdef_oid_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_attrdef_adrelid_adnum_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_sequence_seqrelid_index
    index info: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used: pg_init_privs_o_c_o_index
    index info: 3072 total in 2 blocks; 1152 free (2 chunks); 1920 used: pg_seclabel_object_index
    index info: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used: pg_description_o_c_o_index
    index info: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used: pg_shdepend_depender_index
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 3344 free (0 chunks); 4848 used: SELECT 1 FROM ONLY "pg_temp_5"."master" x
WHERE"f1" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x 
    CachedPlan: 1024 total in 1 blocks; 192 free (0 chunks); 832 used: set constraints all immediate
    CachedPlanSource: 1024 total in 1 blocks; 320 free (0 chunks); 704 used: set constraints all immediate
      CachedPlanQuery: 1024 total in 1 blocks; 200 free (2 chunks); 824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: insert into slave values($1)
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_tablespace_oid_index
    index info: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used: pg_amop_opr_fam_index
    index info: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used: pg_statistic_relid_att_inh_index
    CachedPlanSource: 4096 total in 3 blocks; 1088 free (0 chunks); 3008 used: SELECT 1 FROM ONLY "pg_temp_5"."master"
xWHERE "f1" OPERATOR(pg_catalog.=) $1 FOR KEY SHARE OF x 
      CachedPlanQuery: 4096 total in 3 blocks; 1384 free (2 chunks); 2712 used
    SPI Plan: 1024 total in 1 blocks; 552 free (0 chunks); 472 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_namespace_oid_index
    index info: 2048 total in 2 blocks; 928 free (0 chunks); 1120 used: master_pkey
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_trigger_tgconstraint_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_trigger_oid_index
    index info: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used: pg_amop_fam_strat_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_statistic_ext_relid_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_constraint_oid_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_constraint_contypid_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_constraint_conrelid_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_constraint_conname_nsp_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_constraint_conparentid_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_cast_source_target_index
    index info: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used: pg_opclass_am_name_nsp_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_attribute_relid_attnam_index
    index info: 2048 total in 2 blocks; 608 free (1 chunks); 1440 used: pg_class_tblspc_relfilenode_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_class_relname_nsp_index
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT x || '9012'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT x || '9012'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT $1 < 0
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT 100 / $1
    CachedPlan: 2048 total in 2 blocks; 432 free (0 chunks); 1616 used: SELECT trap_zero_divide(-100)
    CachedPlanSource: 2048 total in 2 blocks; 184 free (0 chunks); 1864 used: SELECT trap_zero_divide(-100)
      CachedPlanQuery: 2048 total in 2 blocks; 536 free (2 chunks); 1512 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT x || '5678'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT x || '5678'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (2 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_operator_oid_index
    index info: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used: pg_operator_oprname_l_r_n_index
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT '1234'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT '1234'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (3 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_language_oid_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_shdepend_reference_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_transform_type_lang_index
    index info: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used: pg_depend_depender_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_index_indrelid_index
    index info: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used: pg_depend_reference_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_proc_oid_index
    index info: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used: pg_default_acl_role_nsp_obj_index
    index info: 2048 total in 2 blocks; 584 free (2 chunks); 1464 used: pg_proc_proname_args_nsp_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_type_oid_index
    index info: 2048 total in 2 blocks; 640 free (1 chunks); 1408 used: pg_type_typname_nsp_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_language_name_index
    index info: 2048 total in 2 blocks; 912 free (0 chunks); 1136 used: pg_namespace_nspname_index
    index info: 2048 total in 2 blocks; 968 free (0 chunks); 1080 used: pg_event_trigger_evtname_index
    CachedPlan: 16384 total in 5 blocks; 3960 free (0 chunks); 12424 used: select count(*)        from tenk1 a, tenk1
b,tenk1 c 
    CachedPlanSource: 4096 total in 3 blocks; 1536 free (0 chunks); 2560 used: select count(*)        from tenk1 a,
tenk1b, tenk1 c 
      CachedPlanQuery: 16384 total in 5 blocks; 7352 free (2 chunks); 9032 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 456 free (1 chunks); 1592 used: insert into foo values(x)
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT x * 10
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT x * 10
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 456 free (1 chunks); 1592 used: insert into foo values(x)
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT x + 1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT x + 1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 456 free (1 chunks); 1592 used: insert into foo values(x)
      CachedPlanQuery: 2048 total in 2 blocks; 152 free (2 chunks); 1896 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (2 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT -2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT -2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT -1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT -1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 8 free (0 chunks); 4088 used: select        unique1 from tenk1 where
unique2=    (select unique2 from tenk1 b where ten = $1) 
      CachedPlanQuery: 8192 total in 4 blocks; 272 free (1 chunks); 7920 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT 100 / $1
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT 100 / $1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT -2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT -2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT -1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT -1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1 < 0
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (2 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT 100 / $1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (2 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 864 free (0 chunks); 3232 used: INSERT INTO perform_test VALUES (100, 100)
    CachedPlanSource: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used: INSERT INTO perform_test VALUES (100,
100)
      CachedPlanQuery: 4096 total in 3 blocks; 1760 free (1 chunks); 2336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT FALSE
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT FALSE
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (2 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 432 free (0 chunks); 1616 used: SELECT perform_simple_func(50)
    CachedPlanSource: 2048 total in 2 blocks; 184 free (0 chunks); 1864 used: SELECT perform_simple_func(50)
      CachedPlanQuery: 2048 total in 2 blocks; 536 free (1 chunks); 1512 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 864 free (0 chunks); 3232 used: INSERT INTO perform_test VALUES (100, 100)
    CachedPlanSource: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used: INSERT INTO perform_test VALUES (100,
100)
      CachedPlanQuery: 4096 total in 3 blocks; 1760 free (1 chunks); 2336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT TRUE
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT TRUE
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (2 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 208 free (1 chunks); 1840 used: INSERT INTO perform_test VALUES ($1, $1 +
10)
      CachedPlanQuery: 4096 total in 3 blocks; 1512 free (1 chunks); 2584 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT $1 < 20
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1 < 20
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 432 free (0 chunks); 1616 used: SELECT perform_simple_func(5)
    CachedPlanSource: 2048 total in 2 blocks; 184 free (0 chunks); 1864 used: SELECT perform_simple_func(5)
      CachedPlanQuery: 2048 total in 2 blocks; 536 free (1 chunks); 1512 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used: SELECT array[j,j]
    CachedPlanSource: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used: SELECT array[j,j]
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (1 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT i
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 560 free (0 chunks); 1488 used: SELECT array[j,j]
    CachedPlanSource: 4096 total in 3 blocks; 1984 free (2 chunks); 2112 used: SELECT array[j,j]
      CachedPlanQuery: 2048 total in 2 blocks; 664 free (1 chunks); 1384 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT i
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT 'foot'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT 'foot'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT j+1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT j+1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT 'foo'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT 'foo'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT i+1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT i+1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT 'foo'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT 'foo'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT j+1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT j+1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT i
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT i
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT i+2
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT i+2
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT i+1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT i+1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT i+1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT i+1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 176 free (1 chunks); 1872 used: SELECT             50, 5::numeric, 'xxx'::text
    CachedPlanSource: 4096 total in 3 blocks; 1136 free (0 chunks); 2960 used: SELECT             50, 5::numeric,
'xxx'::text
      CachedPlanQuery: 2048 total in 2 blocks; 160 free (1 chunks); 1888 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 256 free (0 chunks); 1792 used: SELECT             5, 10, 15
    CachedPlanSource: 4096 total in 3 blocks; 1944 free (3 chunks); 2152 used: SELECT             5, 10, 15
      CachedPlanQuery: 2048 total in 2 blocks; 360 free (1 chunks); 1688 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT $1 > 10
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1 > 10
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 176 free (1 chunks); 1872 used: SELECT             50, 5::numeric, 'xxx'::text
    CachedPlanSource: 4096 total in 3 blocks; 1136 free (0 chunks); 2960 used: SELECT             50, 5::numeric,
'xxx'::text
      CachedPlanQuery: 2048 total in 2 blocks; 160 free (1 chunks); 1888 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 256 free (0 chunks); 1792 used: SELECT             5, 10, 15
    CachedPlanSource: 4096 total in 3 blocks; 1944 free (3 chunks); 2152 used: SELECT             5, 10, 15
      CachedPlanQuery: 2048 total in 2 blocks; 360 free (1 chunks); 1688 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT $1 > 10
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1 > 10
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT i + 1
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: SELECT i + 1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $2
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $2
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 816 free (0 chunks); 1232 used: SELECT $1
    CachedPlanSource: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used: SELECT $1
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 8 free (0 chunks); 2040 used: select * from found_test_tbl
    CachedPlanSource: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used: select * from found_test_tbl
      CachedPlanQuery: 4096 total in 3 blocks; 1992 free (1 chunks); 2104 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 8 free (0 chunks); 2040 used: select * from found_test_tbl
    CachedPlanSource: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used: select * from found_test_tbl
      CachedPlanQuery: 4096 total in 3 blocks; 1992 free (1 chunks); 2104 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 792 free (0 chunks); 1256 used: SELECT true
    CachedPlanSource: 2048 total in 2 blocks; 112 free (0 chunks); 1936 used: SELECT true
      CachedPlanQuery: 2048 total in 2 blocks; 880 free (2 chunks); 1168 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: insert into found_test_tbl values (6)
    CachedPlanSource: 2048 total in 2 blocks; 584 free (1 chunks); 1464 used: insert into found_test_tbl values (6)
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not FOUND
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 2
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 2
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: insert into found_test_tbl values (5)
    CachedPlanSource: 2048 total in 2 blocks; 584 free (1 chunks); 1464 used: insert into found_test_tbl values (5)
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 10
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 10
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 1
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 1
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: insert into found_test_tbl values (4)
    CachedPlanSource: 2048 total in 2 blocks; 584 free (1 chunks); 1464 used: insert into found_test_tbl values (4)
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not FOUND
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 664 free (0 chunks); 3432 used: delete from found_test_tbl where a = 9999
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: delete from found_test_tbl where a = 9999
      CachedPlanQuery: 4096 total in 3 blocks; 1896 free (1 chunks); 2200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: insert into found_test_tbl values (3)
    CachedPlanSource: 2048 total in 2 blocks; 584 free (1 chunks); 1464 used: insert into found_test_tbl values (3)
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 384 free (0 chunks); 3712 used: update found_test_tbl set a = 100 where a = 1
    CachedPlanSource: 2048 total in 2 blocks; 304 free (0 chunks); 1744 used: update found_test_tbl set a = 100 where a
=1 
      CachedPlanQuery: 4096 total in 3 blocks; 1560 free (1 chunks); 2536 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: insert into found_test_tbl values (2)
    CachedPlanSource: 2048 total in 2 blocks; 584 free (1 chunks); 1464 used: insert into found_test_tbl values (2)
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT FOUND
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT FOUND
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: insert into found_test_tbl values (1)
    CachedPlanSource: 2048 total in 2 blocks; 584 free (1 chunks); 1464 used: insert into found_test_tbl values (1)
      CachedPlanQuery: 2048 total in 2 blocks; 112 free (1 chunks); 1936 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT CAST($2 AS TEXT)
    CachedPlanSource: 2048 total in 2 blocks; 264 free (0 chunks); 1784 used: SELECT CAST($2 AS TEXT)
      CachedPlanQuery: 2048 total in 2 blocks; 856 free (1 chunks); 1192 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1368 free (0 chunks); 2728 used: SELECT CAST($1 AS TEXT) || ',' ||
recursion_test($1- 1, $2) 
    CachedPlanSource: 4096 total in 3 blocks; 848 free (0 chunks); 3248 used: SELECT CAST($1 AS TEXT) || ',' ||
recursion_test($1- 1, $2) 
      CachedPlanQuery: 4096 total in 3 blocks; 1504 free (1 chunks); 2592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 504 free (0 chunks); 1544 used: SELECT $1 <= 0
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT $1 <= 0
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sname
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sname
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 808 free (0 chunks); 1240 used: SELECT new.sysname
    CachedPlanSource: 2048 total in 2 blocks; 280 free (0 chunks); 1768 used: SELECT new.sysname
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT old.slotno > hubrec.nslots
    CachedPlanSource: 4096 total in 3 blocks; 1664 free (0 chunks); 2432 used: SELECT old.slotno > hubrec.nslots
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1120 free (0 chunks); 2976 used: select             * from Hub where name
=old.hubname 
      CachedPlanQuery: 4096 total in 3 blocks; 912 free (1 chunks); 3184 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT mytype
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT mytype
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT myname
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT myname
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: update PSlot set slotlink = '' where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 760 free (1 chunks); 3336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.slotlink = blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.slotlink = blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from PSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'PS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'PS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 184 free (0 chunks); 1864 used: SELECT substr(myname, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used: SELECT substr(myname, 1, 2)
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 336 free (0 chunks); 1712 used: SELECT tg_slotlink_unset(old.slotlink,
old.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1488 free (0 chunks); 2608 used: SELECT tg_slotlink_unset(old.slotlink,
old.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT mytype
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT mytype
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from PSlot where slotname =
myname
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT myname
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT myname
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 184 free (0 chunks); 3912 used: select          * from PHone where slotname =
rec.slotlink
    CachedPlan: 8192 total in 4 blocks; 3800 free (1 chunks); 4392 used: select          * from PLine where slotname =
"outer".rec.backlink
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT '-'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT '-'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 464 free (0 chunks); 3632 used: SELECT retval || slotno::text from HSlot
 where slotname = psrec.slotlink 
      CachedPlanQuery: 4096 total in 3 blocks; 936 free (1 chunks); 3160 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT retval || ' slot '
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ' slot '
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 8192 total in 4 blocks; 3744 free (1 chunks); 4448 used: SELECT comment from Hub H, HSlot HS
whereHS.slotname = psrec.slotlink      and H.name = HS.hubna... 
      CachedPlanQuery: 8192 total in 4 blocks; 3624 free (1 chunks); 4568 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT sltype = 'HS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT sltype = 'HS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT retval || ')'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ')'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT retval || syrow.comment
    CachedPlanSource: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used: SELECT retval || syrow.comment
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT retval || ' ('
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ' ('
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT syrow.comment != ''
    CachedPlanSource: 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used: SELECT syrow.comment != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT retval || ifrow.ifname
    CachedPlanSource: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used: SELECT retval || ifrow.ifname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT syrow.name || ' IF '
    CachedPlanSource: 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used: SELECT syrow.name || ' IF '
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1376 free (0 chunks); 2720 used: select            * from System where
name= ifrow.sysname 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1104 free (0 chunks); 2992 used: select            * from IFace where
slotname= rec.slotlink 
      CachedPlanQuery: 4096 total in 3 blocks; 520 free (1 chunks); 3576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT sltype = 'IF'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT sltype = 'IF'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT retval || ')'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ')'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT retval || rec.comment
    CachedPlanSource: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used: SELECT retval || rec.comment
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT retval || ' ('
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ' ('
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT rec.comment != ''
    CachedPlanSource: 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used: SELECT rec.comment != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT 'Phone line ' || trim(rec.phonenumber)
    CachedPlanSource: 4096 total in 3 blocks; 1424 free (0 chunks); 2672 used: SELECT 'Phone line ' ||
trim(rec.phonenumber)
      CachedPlanQuery: 2048 total in 2 blocks; 184 free (1 chunks); 1864 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 928 free (0 chunks); 3168 used: select          * from PLine where
slotname= "outer".rec.backlink 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 168 free (0 chunks); 1880 used: SELECT retval ||
pslot_backlink_view(psrec.slotlink)
    CachedPlanSource: 4096 total in 3 blocks; 1392 free (0 chunks); 2704 used: SELECT retval ||
pslot_backlink_view(psrec.slotlink)
      CachedPlanQuery: 2048 total in 2 blocks; 304 free (1 chunks); 1744 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT trim(psrec.slotlink) || ' -> '
    CachedPlanSource: 4096 total in 3 blocks; 1432 free (0 chunks); 2664 used: SELECT trim(psrec.slotlink) || ' -> '
      CachedPlanQuery: 2048 total in 2 blocks; 192 free (1 chunks); 1856 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT sltype = 'PS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT sltype = 'PS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 152 free (0 chunks); 1896 used: SELECT substr(psrec.slotlink, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1704 free (1 chunks); 2392 used: SELECT substr(psrec.slotlink, 1, 2)
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT retval || ')'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ')'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT retval || rec.comment
    CachedPlanSource: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used: SELECT retval || rec.comment
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT retval || ' ('
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ' ('
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT rec.comment != ''
    CachedPlanSource: 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used: SELECT rec.comment != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT 'Phone ' || trim(rec.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1432 free (0 chunks); 2664 used: SELECT 'Phone ' || trim(rec.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 184 free (1 chunks); 1864 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1104 free (0 chunks); 2992 used: select          * from PHone where
slotname= rec.slotlink 
      CachedPlanQuery: 4096 total in 3 blocks; 880 free (1 chunks); 3216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT sltype = 'PH'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT sltype = 'PH'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 152 free (0 chunks); 1896 used: SELECT substr(rec.slotlink, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1704 free (1 chunks); 2392 used: SELECT substr(rec.slotlink, 1, 2)
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select            * from PSlot where slotname
=$1 
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from WSlot where slotname =
$1
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from WSlot where slotname =
rec.backlink
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from PSlot where slotname =
$1
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT '-'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT '-'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT psrec.slotlink = ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT psrec.slotlink = ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1408 free (0 chunks); 2688 used: select            * from PSlot where
slotname= $1 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 752 free (0 chunks); 1296 used: SELECT '-'
    CachedPlanSource: 2048 total in 2 blocks; 544 free (0 chunks); 1504 used: SELECT '-'
      CachedPlanQuery: 2048 total in 2 blocks; 840 free (2 chunks); 1208 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT rec.slotlink = ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT rec.slotlink = ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1408 free (0 chunks); 2688 used: select          * from WSlot where
slotname= $1 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 168 free (0 chunks); 1880 used: SELECT retval ||
wslot_slotlink_view(rec.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1392 free (0 chunks); 2704 used: SELECT retval ||
wslot_slotlink_view(rec.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 304 free (1 chunks); 1744 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT retval || ' -> '
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT retval || ' -> '
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 120 free (0 chunks); 1928 used: SELECT retval || trim(rec.roomno)
    CachedPlanSource: 4096 total in 3 blocks; 1304 free (0 chunks); 2792 used: SELECT retval || trim(rec.roomno)
      CachedPlanQuery: 2048 total in 2 blocks; 256 free (1 chunks); 1792 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT trim(rec.slotname) || ' in room '
    CachedPlanSource: 4096 total in 3 blocks; 1424 free (0 chunks); 2672 used: SELECT trim(rec.slotname) || ' in room '
      CachedPlanQuery: 2048 total in 2 blocks; 184 free (1 chunks); 1864 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1104 free (0 chunks); 2992 used: select          * from WSlot where
slotname= rec.backlink 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT bltype = 'WS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT bltype = 'WS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT bltype = 'PL'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT bltype = 'PL'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 152 free (0 chunks); 1896 used: SELECT substr(rec.backlink, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1704 free (1 chunks); 2392 used: SELECT substr(rec.backlink, 1, 2)
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT rec.backlink = ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT rec.backlink = ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1408 free (0 chunks); 2688 used: select          * from PSlot where
slotname= $1 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT old.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT old.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.slotlink != old.slotlink
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.slotlink != old.slotlink
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'UPDATE'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'UPDATE'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used: SELECT new.slotname != old.slotname or
new.hubname!= old.hubname 
    CachedPlanSource: 4096 total in 3 blocks; 464 free (0 chunks); 3632 used: SELECT new.slotname != old.slotname or
new.hubname!= old.hubname 
      CachedPlanQuery: 2048 total in 2 blocks; 96 free (1 chunks); 1952 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: update HSlot set slotlink = blname where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 832 free (1 chunks); 3264 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.slotlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.slotlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from HSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 520 free (1 chunks); 3576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.slotlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.slotlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from IFace where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 520 free (1 chunks); 3576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sname
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sname
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 304 free (0 chunks); 1744 used: SELECT length(sname) > 20
    CachedPlanSource: 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used: SELECT length(sname) > 20
      CachedPlanQuery: 2048 total in 2 blocks; 408 free (1 chunks); 1640 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT sname || new.ifname
    CachedPlanSource: 4096 total in 3 blocks; 1808 free (1 chunks); 2288 used: SELECT sname || new.ifname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT sname || '.'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT sname || '.'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT 'IF.' || new.sysname
    CachedPlanSource: 4096 total in 3 blocks; 1944 free (2 chunks); 2152 used: SELECT 'IF.' || new.sysname
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1376 free (0 chunks); 2720 used: select             * from system where
name= new.sysname 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
    CachedPlanSource: 4096 total in 3 blocks; 960 free (0 chunks); 3136 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.slotlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.slotlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 216 free (0 chunks); 3880 used: select             * from Hub where name =
new.hubname
    CachedPlan: 8192 total in 4 blocks; 3624 free (0 chunks); 4568 used: insert into HSlot (slotname, hubname, slotno,
slotlink)  values ('HS.dummy', hname, i, '') 
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 824 free (0 chunks); 1224 used: SELECT sname
    CachedPlanSource: 2048 total in 2 blocks; 408 free (0 chunks); 1640 used: SELECT sname
      CachedPlanQuery: 2048 total in 2 blocks; 912 free (1 chunks); 1136 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 304 free (0 chunks); 1744 used: SELECT length(sname) > 20
    CachedPlanSource: 4096 total in 3 blocks; 1736 free (0 chunks); 2360 used: SELECT length(sname) > 20
      CachedPlanQuery: 2048 total in 2 blocks; 408 free (1 chunks); 1640 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 432 free (0 chunks); 1616 used: SELECT sname || new.slotno::text
    CachedPlanSource: 4096 total in 3 blocks; 1464 free (0 chunks); 2632 used: SELECT sname || new.slotno::text
      CachedPlanQuery: 2048 total in 2 blocks; 568 free (1 chunks); 1480 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT sname || '.'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT sname || '.'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 56 free (0 chunks); 1992 used: SELECT 'HS.' || trim(new.hubname)
    CachedPlanSource: 4096 total in 3 blocks; 1440 free (0 chunks); 2656 used: SELECT 'HS.' || trim(new.hubname)
      CachedPlanQuery: 2048 total in 2 blocks; 192 free (1 chunks); 1856 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1896 free (0 chunks); 2200 used: SELECT tg_op = 'UPDATE' and new.hubname !=
old.hubname
    CachedPlanSource: 4096 total in 3 blocks; 904 free (0 chunks); 3192 used: SELECT tg_op = 'UPDATE' and new.hubname
!=old.hubname 
      CachedPlanQuery: 4096 total in 3 blocks; 2032 free (1 chunks); 2064 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1936 free (0 chunks); 2160 used: SELECT new.slotno < 1 or new.slotno >
hubrec.nslots
    CachedPlanSource: 4096 total in 3 blocks; 824 free (0 chunks); 3272 used: SELECT new.slotno < 1 or new.slotno >
hubrec.nslots
      CachedPlanQuery: 2048 total in 2 blocks; 64 free (1 chunks); 1984 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1120 free (0 chunks); 2976 used: select             * from Hub where name
=new.hubname 
      CachedPlanQuery: 4096 total in 3 blocks; 912 free (1 chunks); 3184 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.slotlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.slotlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1128 free (0 chunks); 2968 used: insert into HSlot (slotname, hubname,
slotno,slotlink)   values ('HS.dummy', hname, i, '') 
      CachedPlanQuery: 8192 total in 4 blocks; 3744 free (1 chunks); 4448 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 800 free (0 chunks); 1248 used: SELECT newnslots
    CachedPlanSource: 2048 total in 2 blocks; 384 free (0 chunks); 1664 used: SELECT newnslots
      CachedPlanQuery: 2048 total in 2 blocks; 904 free (1 chunks); 1144 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT oldnslots + 1
    CachedPlanSource: 2048 total in 2 blocks; 72 free (0 chunks); 1976 used: SELECT oldnslots + 1
      CachedPlanQuery: 2048 total in 2 blocks; 592 free (1 chunks); 1456 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT newnslots < oldnslots
    CachedPlanSource: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used: SELECT newnslots < oldnslots
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT newnslots = oldnslots
    CachedPlanSource: 4096 total in 3 blocks; 1904 free (1 chunks); 2192 used: SELECT newnslots = oldnslots
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 208 free (0 chunks); 1840 used: SELECT tg_hub_adjustslots(new.name, 0,
new.nslots)
    CachedPlanSource: 4096 total in 3 blocks; 1408 free (0 chunks); 2688 used: SELECT tg_hub_adjustslots(new.name, 0,
new.nslots)
      CachedPlanQuery: 2048 total in 2 blocks; 344 free (1 chunks); 1704 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from PSlot where slotname =
myname
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: update PSlot set slotlink = blname where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.slotlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.slotlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from PSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT old.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT old.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.slotlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.slotlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from PHone where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 880 free (1 chunks); 3216 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'PH'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'PH'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'HS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'HS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'IF'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'IF'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT old.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT old.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1904 free (0 chunks); 2192 used: SELECT new.slotname != old.slotname and
new.backlink!= '' 
    CachedPlanSource: 4096 total in 3 blocks; 768 free (0 chunks); 3328 used: SELECT new.slotname != old.slotname and
new.backlink!= '' 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: update WSlot set slotlink = blname where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.slotlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.slotlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from WSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'WS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'WS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'PS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'PS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT link in ('PSWS', 'WSPS')
    CachedPlanSource: 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used: SELECT link in ('PSWS', 'WSPS')
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT link in ('PHIF', 'IFPH')
    CachedPlanSource: 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used: SELECT link in ('PHIF', 'IFPH')
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT link in ('PHHS', 'HSPH')
    CachedPlanSource: 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used: SELECT link in ('PHHS', 'HSPH')
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT link = 'PHPH'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT link = 'PHPH'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1688 free (0 chunks); 2408 used: SELECT mytype || substr(blname, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1344 free (0 chunks); 2752 used: SELECT mytype || substr(blname, 1, 2)
      CachedPlanQuery: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 184 free (0 chunks); 1864 used: SELECT substr(myname, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used: SELECT substr(myname, 1, 2)
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_slotlink_set(new.slotlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
    CachedPlanSource: 4096 total in 3 blocks; 960 free (0 chunks); 3136 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.slotlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.slotlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 336 free (0 chunks); 1712 used: SELECT tg_backlink_unset(old.backlink,
old.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1488 free (0 chunks); 2608 used: SELECT tg_backlink_unset(old.backlink,
old.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT old.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT old.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.backlink != old.backlink
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.backlink != old.backlink
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'UPDATE'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'UPDATE'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.slotname != old.slotname
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.slotname != old.slotname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: update PLine set backlink = '' where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 760 free (1 chunks); 3336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.backlink = blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.backlink = blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from PLine where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'PL'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'PL'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from PLine where slotname =
myname
    CachedPlan: 8192 total in 4 blocks; 2352 free (0 chunks); 5840 used: update PSlot set backlink = blname where
slotname= myname 
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.backlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.backlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from PLine where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'PL'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'PL'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
    CachedPlanSource: 4096 total in 3 blocks; 960 free (0 chunks); 3136 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.backlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.backlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1904 free (0 chunks); 2192 used: SELECT new.slotname != old.slotname and
new.backlink!= '' 
    CachedPlanSource: 4096 total in 3 blocks; 768 free (0 chunks); 3328 used: SELECT new.slotname != old.slotname and
new.backlink!= '' 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1760 free (0 chunks); 2336 used: update PSlot set pfname = new.name where
pfname= old.name 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT new.name != old.name
    CachedPlanSource: 4096 total in 3 blocks; 1696 free (0 chunks); 2400 used: SELECT new.name != old.name
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: update PSlot set backlink = blname where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.backlink = blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.backlink = blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from PSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 336 free (0 chunks); 1712 used: SELECT tg_backlink_unset(old.backlink,
old.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1488 free (0 chunks); 2608 used: SELECT tg_backlink_unset(old.backlink,
old.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 2048 total in 2 blocks; 96 free (0 chunks); 1952 used: update WSlot set backlink = '' where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 760 free (1 chunks); 3336 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.backlink = blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.backlink = blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from WSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'WS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'WS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'PS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'PS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 184 free (0 chunks); 1864 used: SELECT substr(myname, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used: SELECT substr(myname, 1, 2)
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 336 free (0 chunks); 1712 used: SELECT tg_backlink_unset(old.backlink,
old.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1488 free (0 chunks); 2608 used: SELECT tg_backlink_unset(old.backlink,
old.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 472 free (1 chunks); 1576 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1904 free (0 chunks); 2192 used: SELECT new.slotname != old.slotname and
new.slotlink!= '' 
    CachedPlanSource: 4096 total in 3 blocks; 768 free (0 chunks); 3328 used: SELECT new.slotname != old.slotname and
new.slotlink!= '' 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.slotlink != old.slotlink
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.slotlink != old.slotlink
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'UPDATE'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'UPDATE'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT old.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT old.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.backlink != old.backlink
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.backlink != old.backlink
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'UPDATE'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'UPDATE'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.slotname != old.slotname
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.slotname != old.slotname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from PSlot where slotname =
myname
    CachedPlan: 8192 total in 4 blocks; 2352 free (0 chunks); 5840 used: update WSlot set backlink = blname where
slotname= myname 
    CachedPlan: 8192 total in 4 blocks; 3864 free (0 chunks); 4328 used: select          * from WSlot where slotname =
myname
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1904 free (0 chunks); 2192 used: SELECT new.slotname != old.slotname and
new.slotlink!= '' 
    CachedPlanSource: 4096 total in 3 blocks; 768 free (0 chunks); 3328 used: SELECT new.slotname != old.slotname and
new.slotlink!= '' 
      CachedPlanQuery: 4096 total in 3 blocks; 2040 free (2 chunks); 2056 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.slotlink != old.slotlink
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.slotlink != old.slotlink
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'UPDATE'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'UPDATE'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 784 free (0 chunks); 1264 used: SELECT 0
    CachedPlanSource: 2048 total in 2 blocks; 576 free (0 chunks); 1472 used: SELECT 0
      CachedPlanQuery: 2048 total in 2 blocks; 872 free (1 chunks); 1176 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.backlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.backlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from PSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT old.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT old.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.backlink != old.backlink
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.backlink != old.backlink
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'UPDATE'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'UPDATE'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 488 free (0 chunks); 1560 used: SELECT new.slotname != old.slotname
    CachedPlanSource: 4096 total in 3 blocks; 1648 free (0 chunks); 2448 used: SELECT new.slotname != old.slotname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1968 free (1 chunks); 2128 used: update WSlot set backlink = blname where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 824 free (2 chunks); 3272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 520 free (0 chunks); 1528 used: SELECT rec.backlink != blname
    CachedPlanSource: 4096 total in 3 blocks; 1800 free (1 chunks); 2296 used: SELECT rec.backlink != blname
      CachedPlanQuery: 2048 total in 2 blocks; 624 free (1 chunks); 1424 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1224 free (0 chunks); 2872 used: select          * from WSlot where
slotname= myname 
      CachedPlanQuery: 4096 total in 3 blocks; 504 free (1 chunks); 3592 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'WS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'WS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT mytype = 'PS'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT mytype = 'PS'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 400 free (0 chunks); 1648 used: SELECT link in ('PLWS', 'WSPL')
    CachedPlanSource: 4096 total in 3 blocks; 1832 free (1 chunks); 2264 used: SELECT link in ('PLWS', 'WSPL')
      CachedPlanQuery: 2048 total in 2 blocks; 248 free (1 chunks); 1800 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT link = 'PLPL'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT link = 'PLPL'
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1688 free (0 chunks); 2408 used: SELECT mytype || substr(blname, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1344 free (0 chunks); 2752 used: SELECT mytype || substr(blname, 1, 2)
      CachedPlanQuery: 4096 total in 3 blocks; 1824 free (1 chunks); 2272 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 184 free (0 chunks); 1864 used: SELECT substr(myname, 1, 2)
    CachedPlanSource: 4096 total in 3 blocks; 1856 free (2 chunks); 2240 used: SELECT substr(myname, 1, 2)
      CachedPlanQuery: 2048 total in 2 blocks; 288 free (1 chunks); 1760 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 352 free (0 chunks); 1696 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
    CachedPlanSource: 4096 total in 3 blocks; 1504 free (0 chunks); 2592 used: SELECT tg_backlink_set(new.backlink,
new.slotname)
      CachedPlanQuery: 2048 total in 2 blocks; 488 free (1 chunks); 1560 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 576 free (0 chunks); 3520 used: select            * from PField where name =
ps.pfname
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 648 free (0 chunks); 1400 used: SELECT not found
    CachedPlanSource: 2048 total in 2 blocks; 240 free (0 chunks); 1808 used: SELECT not found
      CachedPlanQuery: 2048 total in 2 blocks; 752 free (1 chunks); 1296 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 1376 free (0 chunks); 2720 used: select            * from PField where
name= ps.pfname 
      CachedPlanQuery: 4096 total in 3 blocks; 1272 free (1 chunks); 2824 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
    CachedPlanSource: 4096 total in 3 blocks; 960 free (0 chunks); 3136 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.slotlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.slotlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.backlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.backlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 80 free (0 chunks); 4016 used: SELECT count(*) = 0 from Room where roomno =
new.roomno
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.slotlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.slotlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 456 free (0 chunks); 1592 used: SELECT new.backlink != ''
    CachedPlanSource: 4096 total in 3 blocks; 1936 free (2 chunks); 2160 used: SELECT new.backlink != ''
      CachedPlanQuery: 2048 total in 2 blocks; 560 free (1 chunks); 1488 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 448 free (0 chunks); 1600 used: SELECT tg_op = 'INSERT'
    CachedPlanSource: 2048 total in 2 blocks; 48 free (0 chunks); 2000 used: SELECT tg_op = 'INSERT'
      CachedPlanQuery: 2048 total in 2 blocks; 552 free (1 chunks); 1496 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlanSource: 4096 total in 3 blocks; 992 free (0 chunks); 3104 used: SELECT count(*) = 0 from Room where
roomno= new.roomno 
      CachedPlanQuery: 4096 total in 3 blocks; 1136 free (2 chunks); 2960 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 4096 total in 3 blocks; 1600 free (0 chunks); 2496 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
    CachedPlanSource: 4096 total in 3 blocks; 960 free (0 chunks); 3136 used: SELECT substr(new.slotname, 1, 2) !=
tg_argv[0]
      CachedPlanQuery: 4096 total in 3 blocks; 1736 free (1 chunks); 2360 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.slotlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.slotlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    CachedPlan: 2048 total in 2 blocks; 744 free (0 chunks); 1304 used: SELECT new.backlink isnull
    CachedPlanSource: 2048 total in 2 blocks; 216 free (0 chunks); 1832 used: SELECT new.backlink isnull
      CachedPlanQuery: 2048 total in 2 blocks; 848 free (1 chunks); 1200 used
    SPI Plan: 1024 total in 1 blocks; 584 free (0 chunks); 440 used
    EventTriggerCache: 8192 total in 1 blocks; 7936 free (10 chunks); 256 used
      Event Trigger Cache: 8192 total in 1 blocks; 2592 free (0 chunks); 5600 used
    index info: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used: pg_index_indexrelid_index
    index info: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used: pg_opclass_oid_index
    index info: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used: pg_trigger_tgrelid_tgname_index
    index info: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used: pg_rewrite_rel_rulename_index
    index info: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used: pg_class_oid_index
    index info: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used: pg_attribute_relid_attnum_index
    index info: 3072 total in 2 blocks; 1096 free (2 chunks); 1976 used: pg_amproc_fam_proc_index
    index info: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used: pg_authid_oid_index
    index info: 2048 total in 2 blocks; 664 free (2 chunks); 1384 used: pg_auth_members_member_role_index
    index info: 2048 total in 2 blocks; 640 free (2 chunks); 1408 used: pg_shseclabel_object_index
    index info: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used: pg_database_datname_index
    index info: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used: pg_database_oid_index
    index info: 2048 total in 2 blocks; 912 free (2 chunks); 1136 used: pg_authid_rolname_index
  WAL record construction: 49776 total in 2 blocks; 6352 free (0 chunks); 43424 used
  PrivateRefCount: 8192 total in 1 blocks; 2592 free (0 chunks); 5600 used
  MdSmgr: 8192 total in 1 blocks; 5824 free (0 chunks); 2368 used
  LOCALLOCK hash: 16384 total in 2 blocks; 4552 free (3 chunks); 11832 used
  Timezones: 104128 total in 2 blocks; 2592 free (0 chunks); 101536 used
  ErrorContext: 8192 total in 1 blocks; 7936 free (0 chunks); 256 used
Grand total: 13115912 bytes in 5012 blocks; 4220648 free (1717 chunks); 8895264 used

Re: Backend memory dump analysis

От
Alvaro Herrera
Дата:
Great stuff.

My only gripe is the pattern where the identifier needs to be
re-installed when resetting the context.  I don't think we need to hold
push for that reason alone, but I bet we'll be revisiting that.

I suppose this infrastructure can be used to implement the idea in
https://www.postgresql.org/message-id/CAMsr+YHii-BCC7ddpbb8fpCgzt0wMRt5GYZ0W_kD_Ft8rwWPiQ@mail.gmail.com
in some more acceptable manner.  I'm not proposing it for now, just
parking the idea for a future patch.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Re: Backend memory dump analysis

От
Tom Lane
Дата:
Alvaro Herrera <alvherre@alvh.no-ip.org> writes:
> My only gripe is the pattern where the identifier needs to be
> re-installed when resetting the context.  I don't think we need to hold
> push for that reason alone, but I bet we'll be revisiting that.

Yeah, that's slightly annoying; if I'd found more than one case of that,
I'd want a better answer.  But it seems like contexts that are long-lived
enough to warrant labeling typically don't get reset during their
lifespans, so it shouldn't be a huge problem.

I considered having MemoryContextReset either Assert that context->ident
is NULL, or just forcibly reset it to NULL, thus preventing a dangling
pointer if someone gets this wrong.  But that would lock out a perfectly
valid coding pattern where the identifier is in the parent context, so
I'm not convinced it's a good idea.

> I suppose this infrastructure can be used to implement the idea in
> https://www.postgresql.org/message-id/CAMsr+YHii-BCC7ddpbb8fpCgzt0wMRt5GYZ0W_kD_Ft8rwWPiQ@mail.gmail.com
> in some more acceptable manner.  I'm not proposing it for now, just
> parking the idea for a future patch.

Ah, I thought I remembered the callback idea from some previous
discussion, but I'd not located this one.  I think I've got a nicer
API for the per-context-type stats functions than what Craig
proposes there, but we could imagine doing this API or something
close to it for MemoryContextStatsInternal.  Or, as I mentioned
before, an external caller could just implement the scan over the
context tree for itself, and format the data however it wants.

            regards, tom lane


Re: Backend memory dump analysis

От
Peter Eisentraut
Дата:
On 3/27/18 12:47, Tom Lane wrote:
> Here's an updated patch that adjusts the output format per discussion:
> 
> - context identifier at the end of the line, so it's easier to see the
>   numbers
> 
> - identifiers truncated at 100 bytes, control characters replaced by
>   spaces
> 
> Also, I hacked things so that dynahash hash tables continue to print
> the way they did before, since the hash table name is really what
> you want to see there.
> 
> Sample output is same test case as last time (dump at end of plpgsql.sql
> regression test script).
> 
> Barring objection I plan to push this shortly.

Cool.

How about this one as well:

diff --git a/src/backend/utils/mmgr/portalmem.c
b/src/backend/utils/mmgr/portalmem.c
index 75a6dde32b..c08dc260e2 100644
--- a/src/backend/utils/mmgr/portalmem.c
+++ b/src/backend/utils/mmgr/portalmem.c
@@ -200,6 +200,7 @@ CreatePortal(const char *name, bool allowDup, bool
dupSilent)
    portal->portalContext = AllocSetContextCreate(TopPortalContext,
                                                  "PortalContext",
                                                  ALLOCSET_SMALL_SIZES);
+   MemoryContextCopySetIdentifier(portal->portalContext, name);

    /* create a resource owner for the portal */
    portal->resowner = ResourceOwnerCreate(CurTransactionResourceOwner,


The term CopySetIdentifier has confused me a bit.  (What's a "set
identifier"?)  Maybe use CopyAndSetIdentifier?  (We similarly have
MemoryContextResetAndDeleteChildren.)

I'm also not clear why this doesn't undo the previous optimization that
preferred making the identifier a compile time-constant.  Aren't we now
just going back to doing a pstrdup() every time?

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


Re: Backend memory dump analysis

От
Tom Lane
Дата:
Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
> How about this one as well:

>     portal->portalContext = AllocSetContextCreate(TopPortalContext,
>                                                   "PortalContext",
>                                                   ALLOCSET_SMALL_SIZES);
> +   MemoryContextCopySetIdentifier(portal->portalContext, name);

Seems reasonable, although I think if you were to delay setting the
name till the end of that function, you could point to portal->name
and avoid the extra pstrdup.  Maybe that's useless microoptimization.

> The term CopySetIdentifier has confused me a bit.  (What's a "set
> identifier"?)  Maybe use CopyAndSetIdentifier?  (We similarly have
> MemoryContextResetAndDeleteChildren.)

No objection, do you want to make the change?

> I'm also not clear why this doesn't undo the previous optimization that
> preferred making the identifier a compile time-constant.  Aren't we now
> just going back to doing a pstrdup() every time?

Huh?  It's not undoing that, it's doubling down on it; the "name" now
*has* to be a compile-time constant.  Only for contexts that seem worthy
of carrying extra ID information, which is a small minority, do we bother
setting the ident field.  Even for those, in the majority of cases we can
avoid an extra strcpy because the identity info is being carried somewhere
inside the context already.

            regards, tom lane


Re: Backend memory dump analysis

От
Peter Eisentraut
Дата:
On 3/27/18 19:55, Tom Lane wrote:
> Seems reasonable, although I think if you were to delay setting the
> name till the end of that function, you could point to portal->name
> and avoid the extra pstrdup.  Maybe that's useless microoptimization.

done

>> The term CopySetIdentifier has confused me a bit.  (What's a "set
>> identifier"?)  Maybe use CopyAndSetIdentifier?  (We similarly have
>> MemoryContextResetAndDeleteChildren.)
> 
> No objection, do you want to make the change?

and done

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services