abi-compliance-checker

Started by Peter Geogheganover 2 years ago28 messages
1 attachment(s)

Attached is a html report that was generated by a tool called
abi-compliance-checker/abi-dumper [1]https://github.com/lvc/abi-dumper[2]https://manpages.debian.org/unstable/abi-dumper/abi-dumper.1.en.html -- Peter Geoghegan (by using
"abi-compliance-checker -l libTest ... ") . I deliberately introduced
2 ABI compatibility issues affecting postgres, just to see what the
tool had to say about it.

The first ABI issue I mocked up involved a breaking change to the
signature of a function with external linkage. Sure enough, this issue
(in CheckForSerializableConflictIn(), as it happens) appears in the
report as a medium severity item.

The second ABI issue I mocked up involved "filling-in" a hole in a
struct (a struct that appears in a header that could be included by an
extension) with a new field. In other words, the "put new field in
existing alignment padding" trick. This kind of difference is
generally believed to be non-breaking, and so is acceptable in point
releases. But the issue still appears as a low severity item in the
report. The report points out (quite reasonably) that my newly added
field won't be initialized by old code. In most cases this will be
fine, of course. It's just not something that should be taken for
granted.

Overall, I like the report format -- especially its severity scale. So
it seems like abi-compliance-checker has the potential to become a
standard release management tool for Postgres point releases. I can
imagine a community resource along the lines of
https://coverage.postgresql.org; an automatically generated archive of
theoretical/actual x86_64 ABI breaks in each point release. I'd
appreciate having greater visibility into these issues.

[1]: https://github.com/lvc/abi-dumper
[2]: https://manpages.debian.org/unstable/abi-dumper/abi-dumper.1.en.html -- Peter Geoghegan
--
Peter Geoghegan

Attachments:

compat_report.htmltext/html; charset=US-ASCII; name=compat_report.htmlDownload
#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Geoghegan (#1)
Re: abi-compliance-checker

Peter Geoghegan <pg@bowt.ie> writes:

Attached is a html report that was generated by a tool called
abi-compliance-checker/abi-dumper [1][2] (by using
"abi-compliance-checker -l libTest ... ") . I deliberately introduced
2 ABI compatibility issues affecting postgres, just to see what the
tool had to say about it.

This seems pretty cool. I agree that we're in dire need of some
tool of this sort for checking back-branch patches. I wonder
though if it'll have false-positive problems. Have you tried it
on live rather than mocked-up cases, for instance 13.0 vs 13.11?

regards, tom lane

In reply to: Tom Lane (#2)
1 attachment(s)
Re: abi-compliance-checker

On Sun, May 28, 2023 at 6:48 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

This seems pretty cool. I agree that we're in dire need of some
tool of this sort for checking back-branch patches. I wonder
though if it'll have false-positive problems. Have you tried it
on live rather than mocked-up cases, for instance 13.0 vs 13.11?

I tried comparing REL_11_0 to REL_11_20. Attached is the report for that.

I don't have time to study this in detail today, but the report seems
to have a plausible variety of issues. I noticed that it warns about
the breaking signature change to _bt_pagedel(). This is the
theoretical ABI break that I mentioned in the commit message of commit
b0229f26. This is arguably a false positive, since the tool doesn't
understand my reasoning about why it's okay in this particular
instance (namely "any extension that called that function was already
severely broken"). Obviously the tool couldn't possibly be expected to
know better in these kinds of situations, though, so whether or not it
counts as a false positive is just semantics.

Fortunately, there aren't very many issues in the report. Certainly
not enough for false positives (however you define them) to be of
great concern. This is nearly 5 years worth of ABI issues.

--
Peter Geoghegan

Attachments:

compat_report.htmltext/html; charset=US-ASCII; name=compat_report.htmlDownload
#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Peter Geoghegan (#3)
Re: abi-compliance-checker

Peter Geoghegan <pg@bowt.ie> writes:

I tried comparing REL_11_0 to REL_11_20. Attached is the report for that.

Nice!

I don't have time to study this in detail today, but the report seems
to have a plausible variety of issues. I noticed that it warns about
the breaking signature change to _bt_pagedel(). This is the
theoretical ABI break that I mentioned in the commit message of commit
b0229f26. This is arguably a false positive, since the tool doesn't
understand my reasoning about why it's okay in this particular
instance (namely "any extension that called that function was already
severely broken"). Obviously the tool couldn't possibly be expected to
know better in these kinds of situations, though, so whether or not it
counts as a false positive is just semantics.

Agreed. The point of such a tool is to make sure that we notice
any ABI breaks; it can't be expected to make engineering judgments
about whether the alternatives are worse. For instance, I see that
it noticed commit 1f28ec6be (Rename rbtree.c functions to use "rbt"
prefix not "rb" prefix), which is not something we would have done
of our own choosing, but on balance it seemed the best solution.

I gather it'd catch things like NodeTag enum assignments changing,
which is something we really need to have a check for.

(Which reminds me that I forgot to turn on the ad-hoc check for
that in gen_node_support.pl. I'll go do that, but it'd be better
to have a more general-purpose solution.)

regards, tom lane

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tom Lane (#4)
Re: abi-compliance-checker

I wrote:

(Which reminds me that I forgot to turn on the ad-hoc check for
that in gen_node_support.pl. I'll go do that, but it'd be better
to have a more general-purpose solution.)

Oh, scratch that, it's not supposed to happen until we make the
v16 branch. It'd still be better to not need it.

regards, tom lane

In reply to: Tom Lane (#4)
Re: abi-compliance-checker

On Sun, May 28, 2023 at 8:37 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:

I gather it'd catch things like NodeTag enum assignments changing,
which is something we really need to have a check for.

Right. Any ABI break that involves machine-generated translation units
seems particularly prone to being overlooked. Just eyeballing code
(and perhaps double-checking struct layout using pahole) seems
inadequate.

I'll try to come up with a standard abi-compliance-checker Postgres
workflow once I'm back from pgCon. It already looks like
abi-compliance-checker is capable of taking most of the guesswork out
of ABI compatibility in stable releases, without any real downside,
which is encouraging. I have spent very little time on this, so it's
quite possible that some detail or other was overlooked.

--
Peter Geoghegan

In reply to: Peter Geoghegan (#6)
Re: abi-compliance-checker

On Sun, May 28, 2023 at 9:34 AM Peter Geoghegan <pg@bowt.ie> wrote:

I'll try to come up with a standard abi-compliance-checker Postgres
workflow once I'm back from pgCon.

Ideally, we'd be able to produce reports that cover an entire stable
release branch at once, including details about how things changed
over time. It turns out that there is a tool from the same family of
tools as abi-compliance-checker, that can do just that:

https://github.com/lvc/abi-tracker

There is an abi-tracker example report, here:

https://abi-laboratory.pro/?view=timeline&amp;l=glib

It's exactly the same presentation as the report I posted recently,
once you drill down. That seems ideal.

--
Peter Geoghegan

#8Peter Eisentraut
peter@eisentraut.org
In reply to: Peter Geoghegan (#1)
Re: abi-compliance-checker

On 27.05.23 02:52, Peter Geoghegan wrote:

Attached is a html report that was generated by a tool called
abi-compliance-checker/abi-dumper [1][2] (by using
"abi-compliance-checker -l libTest ... ") .

I have been using the libabigail library/set of tools (abidiff, abidw)
for this. I was not familiar with the tool you used. The nice thing
about abidiff is that it gives you text output and a meaningful exit
status, so you can make it part of the build or test process. You can
also write suppression files to silence specific warnings.

I think the way to use this would be to compute the ABI for the .0
release (or rc1 or something like that) and commit it into the tree.
And then compute the current ABI and compare that against the recorded
base ABI.

Here is the workflow:

# build REL_11_0
abidw src/backend/postgres > src/tools/postgres-abi-REL_11_0.xml
# build REL_11_20
abidw src/backend/postgres > src/tools/postgres-abi.xml
abidiff --no-added-syms src/tools/postgres-abi-REL_11_0.xml
src/tools/postgres-abi.xml

This prints

Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable
Function symbols changes summary: 14 Removed, 0 Added (85 filtered out)
function symbols not referenced by debug info
Variable symbols changes summary: 1 Removed, 0 Added (3 filtered out)
variable symbols not referenced by debug info

14 Removed function symbols not referenced by debug info:

[D] RelationHasUnloggedIndex
[D] assign_nestloop_param_placeholdervar
[D] assign_nestloop_param_var
[D] logicalrep_typmap_gettypname
[D] logicalrep_typmap_update
[D] pqsignal_no_restart
[D] rb_begin_iterate
[D] rb_create
[D] rb_delete
[D] rb_find
[D] rb_insert
[D] rb_iterate
[D] rb_leftmost
[D] transformCreateSchemaStmt

1 Removed variable symbol not referenced by debug info:

[D] wrconn

This appears to be similar to what your tool produced, but I haven't
checked it in detail.

#9Peter Eisentraut
peter@eisentraut.org
In reply to: Peter Eisentraut (#8)
1 attachment(s)
Re: abi-compliance-checker

On 30.05.23 06:32, Peter Eisentraut wrote:

I think the way to use this would be to compute the ABI for the .0
release (or rc1 or something like that) and commit it into the tree. And
then compute the current ABI and compare that against the recorded base
ABI.

Here is the workflow:

# build REL_11_0
abidw src/backend/postgres > src/tools/postgres-abi-REL_11_0.xml
# build REL_11_20
abidw src/backend/postgres > src/tools/postgres-abi.xml
abidiff --no-added-syms src/tools/postgres-abi-REL_11_0.xml
src/tools/postgres-abi.xml

Here is a demo patch that implements this.

Right now, I have only added support for libpq and postgres. For
completeness, the ecpg libraries should be covered as well.

(Unlike the above example, I did not use src/tools/ but each component's
own subdirectory.)

The patch as currently written will actually fail the tests because it
contains only one base ABI file to compare against, but the build_32
task on cirrus will of course produce a different ABI. But I left it
for now to able to see the results. Eventually, the base ABI file names
should include something from host_system.cpu_family().

Also, I commented out the abidiff test for postgres, because the base
file is 8 MB and I don't want to send that around.

Various findings while playing with these tools:

* Different Linux distributions produce slightly different ABI reports.
In some cases, symbols like 'optarg@GLIBC_2.17' leak out.

* PostgreSQL compilation options affect the exposed ABI. This is
perhaps expected to some degree, but there are some curious details.

* For example, --enable-cassert exposes additional symbols, and it's
maybe not impossible for those to leak into an extension.

* Also, --with-openssl actually *removes* symbols from the ABI (such as
pg_md5_init).

So it's probably not sensible to try to get some universal ABI
definition that works everywhere. Instead, I think it would be better
to get one specific case working, which would be the one tested on the
cirrus linux tasks and/or some equivalent buildfarm machine.

Attachments:

0001-abidiff-test.patchtext/plain; charset=UTF-8; name=0001-abidiff-test.patchDownload
From 2ebd65e317d1f3dc3c17ee4663b710fef05ab269 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Tue, 6 Jun 2023 18:02:05 +0200
Subject: [PATCH] abidiff test

ci-os-only: linux
---
 .cirrus.yml                             |    9 +-
 meson.build                             |   12 +
 src/backend/meson.build                 |   16 +
 src/interfaces/libpq/libpq.base.abi.xml | 2634 +++++++++++++++++++++++
 src/interfaces/libpq/meson.build        |   16 +
 5 files changed, 2685 insertions(+), 2 deletions(-)
 create mode 100644 src/interfaces/libpq/libpq.base.abi.xml

diff --git a/.cirrus.yml b/.cirrus.yml
index 113f454524..7f3ab38169 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -322,8 +322,8 @@ task:
     EOF
 
   setup_additional_packages_script: |
-    #apt-get update
-    #DEBIAN_FRONTEND=noninteractive apt-get -y install ...
+    apt-get update
+    DEBIAN_FRONTEND=noninteractive apt-get -y install abigail-tools
 
   matrix:
     - name: Linux - Debian Bullseye - Autoconf
@@ -409,6 +409,11 @@ task:
           PYTHONCOERCECLOCALE=0 LANG=C meson test $MTEST_ARGS -C build-32 --num-processes ${TEST_JOBS}
         EOF
 
+      always:
+        abidiff_artifacts:
+          path: "**/*.abi.xml"
+          type: application/xml
+
       on_failure:
         <<: *on_failure_meson
 
diff --git a/meson.build b/meson.build
index 16b2e86646..5d02c2b2c3 100644
--- a/meson.build
+++ b/meson.build
@@ -343,6 +343,18 @@ missing = find_program('config/missing', native: true)
 cp = find_program('cp', required: false, native: true)
 xmllint_bin = find_program(get_option('XMLLINT'), native: true, required: false)
 xsltproc_bin = find_program(get_option('XSLTPROC'), native: true, required: false)
+abidiff = find_program('abidiff', native: false, required: false)
+abidw = find_program('abidw', native: false, required: false)
+
+abidw_flags = [
+  '--drop-undefined-syms',
+  '--no-architecture',
+  '--no-comp-dir-path',
+  '--no-elf-needed',
+  '--no-show-locs',
+  '--type-id-style', 'hash',
+]
+abidw_cmd = [abidw, abidw_flags, '--out-file', '@OUTPUT@', '@INPUT@']
 
 bison_flags = []
 if bison.found()
diff --git a/src/backend/meson.build b/src/backend/meson.build
index ccfc382fcf..9782d77583 100644
--- a/src/backend/meson.build
+++ b/src/backend/meson.build
@@ -147,6 +147,22 @@ postgres = executable('postgres',
 
 backend_targets += postgres
 
+if abidw.found()
+  postgres_abi = custom_target('postgres.abi.xml',
+                               input: postgres,
+                               output: 'postgres.abi.xml',
+                               command: abidw_cmd,
+                               build_by_default: true)
+endif
+
+#if abidiff.found()
+#  test('postgres.abidiff',
+#       abidiff,
+#       args: ['--no-added-syms', files('postgres.base.abi.xml'), postgres_abi],
+#       suite: 'abidiff',
+#       verbose: true)
+#endif
+
 pg_mod_c_args = cflags_mod
 pg_mod_cpp_args = cxxflags_mod
 pg_mod_link_args = ldflags_sl + ldflags_mod
diff --git a/src/interfaces/libpq/libpq.base.abi.xml b/src/interfaces/libpq/libpq.base.abi.xml
new file mode 100644
index 0000000000..691bf192af
--- /dev/null
+++ b/src/interfaces/libpq/libpq.base.abi.xml
@@ -0,0 +1,2634 @@
+<abi-corpus path='src/interfaces/libpq/libpq.so.5.16' soname='libpq.so.5'>
+  <elf-function-symbols>
+    <elf-symbol name='PQbackendPID' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQbinaryTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclientEncoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcmdStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcmdTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconndefaults' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectPoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectStart' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectStartParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectdb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectdbParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionNeedsPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionUsedGSSAPI' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionUsedPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfoFree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfoParse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconsumeInput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcopyResult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdefaultSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdescribePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdescribePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdisplayTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdsplen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQencryptPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQencryptPasswordConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQendcopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQenterPipelineMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQenv2encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQerrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeBytea' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeByteaConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeIdentifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeLiteral' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeString' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeStringConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexecParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexecPrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexitPipelineMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfformat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfinish' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfireResultCreateEvents' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfmod' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfnumber' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreeCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreeNotify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreemem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftablecol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetCopyData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetResult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetgssctx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetisnull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetlength' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetlineAsync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetssl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetvalue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgssEncInUse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQhost' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQhostaddr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinitOpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinitSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisBusy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisnonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisthreadsafe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmakeEmptyPGresult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmblen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmblenBounded' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnfields' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnotifies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQntuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoidStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoidValue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoptions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQparameterStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQparamtype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpass' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpingParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpipelineStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpipelineSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQport' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprintTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprotocolVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputCopyData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputCopyEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputnbytes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQregisterEventProc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQregisterThreadLock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQrequestCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQreset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresetPoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresetStart' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultAlloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultErrorField' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultErrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultMemorySize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultSetInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultVerboseErrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendDescribePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendDescribePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendFlushRequest' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendPrepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQuery' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQueryParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQueryPrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQserverVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetClientEncoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetErrorContextVisibility' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetErrorVerbosity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetNoticeProcessor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetNoticeReceiver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetResultAttrs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetSingleRowMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetTraceFlags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetdbLogin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetnonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetvalue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsocket' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslAttribute' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslAttributeNames' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslInUse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslStruct' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQstatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtransactionStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQunescapeBytea' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQuntrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQuser' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendBinaryPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBufferChar' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBufferStr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='createPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='destroyPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='enlargePQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='initPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_creat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_export' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_import' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_import_with_oid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_lseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_lseek64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_tell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_tell64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_truncate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_truncate64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_unlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_char_to_encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_encoding_to_char' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_utf_mblen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_valid_server_encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_valid_server_encoding_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pqsignal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='printfPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='resetPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='termPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='pgresStatus' size='96' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/common/encnames.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='5376' id='752c85d9'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='infinite' id='ac835593'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='5376' id='728d2ee1'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='infinite' id='a01b33bb'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <typedef-decl name='pg_enc2name' type-id='79f06fd8' id='7a4268c7'/>
+    <class-decl name='pg_enc2name' size-in-bits='128' is-struct='yes' visibility='default' id='79f06fd8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='encoding' type-id='66325df6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_enc' type-id='ea65169a' id='66325df6'/>
+    <enum-decl name='pg_enc' id='ea65169a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PG_SQL_ASCII' value='0'/>
+      <enumerator name='PG_EUC_JP' value='1'/>
+      <enumerator name='PG_EUC_CN' value='2'/>
+      <enumerator name='PG_EUC_KR' value='3'/>
+      <enumerator name='PG_EUC_TW' value='4'/>
+      <enumerator name='PG_EUC_JIS_2004' value='5'/>
+      <enumerator name='PG_UTF8' value='6'/>
+      <enumerator name='PG_MULE_INTERNAL' value='7'/>
+      <enumerator name='PG_LATIN1' value='8'/>
+      <enumerator name='PG_LATIN2' value='9'/>
+      <enumerator name='PG_LATIN3' value='10'/>
+      <enumerator name='PG_LATIN4' value='11'/>
+      <enumerator name='PG_LATIN5' value='12'/>
+      <enumerator name='PG_LATIN6' value='13'/>
+      <enumerator name='PG_LATIN7' value='14'/>
+      <enumerator name='PG_LATIN8' value='15'/>
+      <enumerator name='PG_LATIN9' value='16'/>
+      <enumerator name='PG_LATIN10' value='17'/>
+      <enumerator name='PG_WIN1256' value='18'/>
+      <enumerator name='PG_WIN1258' value='19'/>
+      <enumerator name='PG_WIN866' value='20'/>
+      <enumerator name='PG_WIN874' value='21'/>
+      <enumerator name='PG_KOI8R' value='22'/>
+      <enumerator name='PG_WIN1251' value='23'/>
+      <enumerator name='PG_WIN1252' value='24'/>
+      <enumerator name='PG_ISO_8859_5' value='25'/>
+      <enumerator name='PG_ISO_8859_6' value='26'/>
+      <enumerator name='PG_ISO_8859_7' value='27'/>
+      <enumerator name='PG_ISO_8859_8' value='28'/>
+      <enumerator name='PG_WIN1250' value='29'/>
+      <enumerator name='PG_WIN1253' value='30'/>
+      <enumerator name='PG_WIN1254' value='31'/>
+      <enumerator name='PG_WIN1255' value='32'/>
+      <enumerator name='PG_WIN1257' value='33'/>
+      <enumerator name='PG_KOI8U' value='34'/>
+      <enumerator name='PG_SJIS' value='35'/>
+      <enumerator name='PG_BIG5' value='36'/>
+      <enumerator name='PG_GBK' value='37'/>
+      <enumerator name='PG_UHC' value='38'/>
+      <enumerator name='PG_GB18030' value='39'/>
+      <enumerator name='PG_JOHAB' value='40'/>
+      <enumerator name='PG_SHIFT_JIS_2004' value='41'/>
+      <enumerator name='_PG_LAST_ENCODING_' value='42'/>
+    </enum-decl>
+    <typedef-decl name='pg_enc2gettext' type-id='6257fe06' id='61c38b7f'/>
+    <class-decl name='pg_enc2gettext' size-in-bits='128' is-struct='yes' visibility='default' id='6257fe06'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='encoding' type-id='66325df6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='61c38b7f' const='yes' id='c8dedbef'/>
+    <qualified-type-def type-id='7a4268c7' const='yes' id='56ef96d7'/>
+    <var-decl name='pg_enc2name_tbl' type-id='a01b33bb' visibility='default'/>
+    <var-decl name='pg_enc2gettext_tbl' type-id='ac835593' visibility='default'/>
+    <function-decl name='pg_encoding_to_char' mangled-name='pg_encoding_to_char' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_encoding_to_char'>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='pg_char_to_encoding' mangled-name='pg_char_to_encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_char_to_encoding'>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='pg_valid_server_encoding_id' mangled-name='pg_valid_server_encoding_id' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_valid_server_encoding_id'>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='pg_valid_server_encoding' mangled-name='pg_valid_server_encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_valid_server_encoding'>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/common/pg_prng.c' language='LANG_C99'>
+    <var-decl name='pg_global_prng_state' type-id='db52f759' visibility='default'/>
+    <typedef-decl name='pg_prng_state' type-id='4bc32f5a' id='db52f759'/>
+    <class-decl name='pg_prng_state' size-in-bits='128' is-struct='yes' visibility='default' id='4bc32f5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s0' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='s1' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/common/wchar.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='2eb933aa' size-in-bits='18816' id='f73e14c8'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='2eb933aa' size-in-bits='infinite' id='7598ed9a'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <typedef-decl name='pg_wchar_tbl' type-id='2832bee7' id='4b73dd9a'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' naming-typedef-id='4b73dd9a' visibility='default' id='2832bee7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mb2wchar_with_len' type-id='45ccecaa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wchar2mb_with_len' type-id='d418da4c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mblen' type-id='62162475' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dsplen' type-id='ba643f05' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mbverifychar' type-id='357adbda' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mbverifystr' type-id='69a9e845' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='maxmblen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mb2wchar_with_len_converter' type-id='94c68999' id='45ccecaa'/>
+    <typedef-decl name='pg_wchar' type-id='f0981eeb' id='69e7d197'/>
+    <typedef-decl name='wchar2mb_with_len_converter' type-id='a8ce94cb' id='d418da4c'/>
+    <typedef-decl name='mblen_converter' type-id='ea6d1a71' id='62162475'/>
+    <typedef-decl name='mbdisplaylen_converter' type-id='ea6d1a71' id='ba643f05'/>
+    <typedef-decl name='mbchar_verifier' type-id='e164bb78' id='357adbda'/>
+    <typedef-decl name='mbstr_verifier' type-id='e164bb78' id='69a9e845'/>
+    <qualified-type-def type-id='69e7d197' const='yes' id='3073fb67'/>
+    <pointer-type-def type-id='3073fb67' size-in-bits='64' id='93949a37'/>
+    <qualified-type-def type-id='4b73dd9a' const='yes' id='2eb933aa'/>
+    <pointer-type-def type-id='404f73b7' size-in-bits='64' id='a8ce94cb'/>
+    <pointer-type-def type-id='343b086d' size-in-bits='64' id='ea6d1a71'/>
+    <pointer-type-def type-id='67c02f4e' size-in-bits='64' id='e164bb78'/>
+    <pointer-type-def type-id='18f2237d' size-in-bits='64' id='94c68999'/>
+    <pointer-type-def type-id='69e7d197' size-in-bits='64' id='37422e90'/>
+    <var-decl name='pg_wchar_table' type-id='7598ed9a' visibility='default'/>
+    <function-decl name='pg_utf_mblen' mangled-name='pg_utf_mblen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_utf_mblen'>
+      <parameter type-id='354f7eb9' name='s'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <pointer-type-def type-id='ea86de29' size-in-bits='64' id='354f7eb9'/>
+    <function-type size-in-bits='64' id='404f73b7'>
+      <parameter type-id='93949a37'/>
+      <parameter type-id='cf536864'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='343b086d'>
+      <parameter type-id='354f7eb9'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='67c02f4e'>
+      <parameter type-id='354f7eb9'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='18f2237d'>
+      <parameter type-id='354f7eb9'/>
+      <parameter type-id='37422e90'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <qualified-type-def type-id='002ac4a6' const='yes' id='ea86de29'/>
+    <pointer-type-def type-id='002ac4a6' size-in-bits='64' id='cf536864'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-auth-scram.c' language='LANG_C99'>
+    <type-decl name='bool' size-in-bits='8' id='c894953d'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='944' id='d8449f07'>
+      <subrange length='118' type-id='7359adad' id='d3d55f9f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='8' id='89feb1ec'>
+      <subrange length='1' type-id='7359adad' id='52f813b4'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='160' id='664ac0b7'>
+      <subrange length='20' type-id='7359adad' id='fdca39cf'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='512' id='59daf3ef'>
+      <subrange length='64' type-id='7359adad' id='b10be967'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='48' id='4a008bc3'>
+      <subrange length='6' type-id='7359adad' id='52fa524b'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='infinite' id='e84913bd'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
+    <class-decl name='engine_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='36ec5173'/>
+    <class-decl name='gss_cred_id_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='3fdd6c45'/>
+    <class-decl name='gss_ctx_id_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='9ee227fe'/>
+    <class-decl name='gss_name_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='a8e0a566'/>
+    <class-decl name='ssl_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='64a5a649'/>
+    <class-decl name='x509_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='704a7505'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <type-decl name='signed char' size-in-bits='8' id='28577a57'/>
+    <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
+    <type-decl name='void' id='48b5725f'/>
+    <class-decl name='pg_fe_sasl_mech' size-in-bits='256' is-struct='yes' visibility='default' id='f3f3632a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='init' type-id='4196f317' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='exchange' type-id='fe1afc54' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='channel_bound' type-id='0bec2760' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='b7f9d8e6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGconn' type-id='491f6917' id='51b05e3b'/>
+    <class-decl name='pg_conn' size-in-bits='9536' is-struct='yes' visibility='default' id='491f6917'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pghost' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pghostaddr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pgport' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='connect_timeout' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='pgtcp_user_timeout' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='client_encoding_initial' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='pgoptions' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='appname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='fbappname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dbName' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='replication' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='pguser' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='pgpass' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='pgpassfile' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='channel_binding' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='keepalives' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='keepalives_idle' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='keepalives_interval' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='keepalives_count' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='sslmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='sslcompression' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='sslkey' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='sslcert' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='sslpassword' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='sslcertmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='sslrootcert' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='sslcrl' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='sslcrldir' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='sslsni' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='requirepeer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='gssencmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='krbsrvname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gsslib' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='gssdelegation' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='ssl_min_protocol_version' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='ssl_max_protocol_version' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='target_session_attrs' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='require_auth' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='load_balance_hosts' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='Pfdebug' type-id='822cd80b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='traceFlags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='noticeHooks' type-id='76336d7b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='events' type-id='2f038e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='nEvents' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2976'>
+        <var-decl name='eventArraySize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='status' type-id='0b876eb4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3040'>
+        <var-decl name='asyncStatus' type-id='4847ce6d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='xactStatus' type-id='280022c9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3104'>
+        <var-decl name='last_sqlstate' type-id='4a008bc3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3152'>
+        <var-decl name='options_valid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3160'>
+        <var-decl name='nonblocking' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3168'>
+        <var-decl name='pipelineStatus' type-id='7691cfc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='singleRowMode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3208'>
+        <var-decl name='copy_is_binary' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3232'>
+        <var-decl name='copy_already_done' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='notifyHead' type-id='ecf4f711' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='notifyTail' type-id='ecf4f711' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='nconnhost' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3424'>
+        <var-decl name='whichhost' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='connhost' type-id='ee46afa8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='connip' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='cmd_queue_head' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='cmd_queue_tail' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='cmd_queue_recycle' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='sock' type-id='f5001928' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='laddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='raddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6016'>
+        <var-decl name='pversion' type-id='812180e4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6048'>
+        <var-decl name='sversion' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6080'>
+        <var-decl name='auth_req_received' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6088'>
+        <var-decl name='password_needed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6096'>
+        <var-decl name='gssapi_used' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6104'>
+        <var-decl name='sigpipe_so' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6112'>
+        <var-decl name='sigpipe_flag' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6120'>
+        <var-decl name='write_failed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='write_err_msg' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='auth_required' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6240'>
+        <var-decl name='allowed_auth_methods' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='client_finished_auth' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6304'>
+        <var-decl name='target_server_type' type-id='6a71e347' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='load_balance_type' type-id='05687e13' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6368'>
+        <var-decl name='try_next_addr' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6376'>
+        <var-decl name='try_next_host' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='naddr' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='whichaddr' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='addr' type-id='abeb6880' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6528'>
+        <var-decl name='send_appname' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6560'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6592'>
+        <var-decl name='be_key' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6656'>
+        <var-decl name='pstatus' type-id='6ac21be1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='client_encoding' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6752'>
+        <var-decl name='std_strings' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6784'>
+        <var-decl name='default_transaction_read_only' type-id='cd92c2cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6816'>
+        <var-decl name='in_hot_standby' type-id='cd92c2cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6848'>
+        <var-decl name='verbosity' type-id='602f6566' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6880'>
+        <var-decl name='show_context' type-id='0534f30c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6912'>
+        <var-decl name='lobjfuncs' type-id='35ec5596' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6976'>
+        <var-decl name='prng_state' type-id='db52f759' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7104'>
+        <var-decl name='inBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7168'>
+        <var-decl name='inBufSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7200'>
+        <var-decl name='inStart' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7232'>
+        <var-decl name='inCursor' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7264'>
+        <var-decl name='inEnd' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7296'>
+        <var-decl name='outBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7360'>
+        <var-decl name='outBufSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7392'>
+        <var-decl name='outCount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7424'>
+        <var-decl name='outMsgStart' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7456'>
+        <var-decl name='outMsgEnd' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7488'>
+        <var-decl name='rowBuf' type-id='af5f5041' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7552'>
+        <var-decl name='rowBufLen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7616'>
+        <var-decl name='result' type-id='15e678b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7680'>
+        <var-decl name='error_result' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7744'>
+        <var-decl name='next_result' type-id='15e678b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7808'>
+        <var-decl name='sasl' type-id='3a81f511' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7872'>
+        <var-decl name='sasl_state' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7936'>
+        <var-decl name='scram_sha_256_iterations' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7968'>
+        <var-decl name='ssl_in_use' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7976'>
+        <var-decl name='ssl_cert_requested' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7984'>
+        <var-decl name='ssl_cert_sent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7992'>
+        <var-decl name='allow_ssl_try' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8000'>
+        <var-decl name='wait_ssl_try' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8064'>
+        <var-decl name='ssl' type-id='1e269bf5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8128'>
+        <var-decl name='peer' type-id='02f57381' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='engine' type-id='827f5e03' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='crypto_loaded' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8320'>
+        <var-decl name='gctx' type-id='84c6b9b8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8384'>
+        <var-decl name='gtarg_nam' type-id='1abde390' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8448'>
+        <var-decl name='try_gss' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8456'>
+        <var-decl name='gssenc' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='gcred' type-id='e771909b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8576'>
+        <var-decl name='gss_SendBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='gss_SendLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8672'>
+        <var-decl name='gss_SendNext' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8704'>
+        <var-decl name='gss_SendConsumed' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8768'>
+        <var-decl name='gss_RecvBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8832'>
+        <var-decl name='gss_RecvLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8896'>
+        <var-decl name='gss_ResultBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8960'>
+        <var-decl name='gss_ResultLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8992'>
+        <var-decl name='gss_ResultNext' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9024'>
+        <var-decl name='gss_MaxPktSize' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9088'>
+        <var-decl name='errorMessage' type-id='d22d5d08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9280'>
+        <var-decl name='errorReported' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9344'>
+        <var-decl name='workBuffer' type-id='d22d5d08' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FILE' type-id='ec1ed955' id='aa12d1ba'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='e4c6fa61' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='79989e9c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='8efea9e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='28577a57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='cecf4ea7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='724e4de6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='570f8c59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='c65a1f29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__off_t' type-id='bd54fe1a' id='79989e9c'/>
+    <typedef-decl name='_IO_lock_t' type-id='48b5725f' id='bb4788fa'/>
+    <typedef-decl name='__off64_t' type-id='bd54fe1a' id='724e4de6'/>
+    <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='76336d7b' visibility='default' id='8b36bd1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='noticeRec' type-id='d6489eba' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='noticeRecArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='noticeProc' type-id='af31ca99' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='noticeProcArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PQnoticeReceiver' type-id='92c74605' id='d6489eba'/>
+    <typedef-decl name='PGresult' type-id='5be59f1c' id='7bcca728'/>
+    <class-decl name='pg_result' size-in-bits='1728' is-struct='yes' visibility='default' id='5be59f1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ntups' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='numAttributes' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='attDescs' type-id='d614db7e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tuples' type-id='d60ac47e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tupArrSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='numParameters' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='paramDescs' type-id='297c0d38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='resultStatus' type-id='921cdb17' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='cmdStatus' type-id='59daf3ef' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='binary' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='noticeHooks' type-id='76336d7b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='events' type-id='2f038e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='nEvents' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='client_encoding' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='errMsg' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='errFields' type-id='0c5c8941' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='errQuery' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='null_field' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='curBlock' type-id='ae741ce0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='curOffset' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='spaceLeft' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='memorySize' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGresAttDesc' type-id='efc88a28' id='0edd802d'/>
+    <class-decl name='pgresAttDesc' size-in-bits='256' is-struct='yes' visibility='default' id='efc88a28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tableid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='columnid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='format' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typlen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='atttypmod' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Oid' type-id='f0981eeb' id='63cf087c'/>
+    <typedef-decl name='PGresAttValue' type-id='e2f3e732' id='7ceef345'/>
+    <class-decl name='pgresAttValue' size-in-bits='128' is-struct='yes' visibility='default' id='e2f3e732'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGresParamDesc' type-id='569b18fa' id='034c2f9b'/>
+    <class-decl name='pgresParamDesc' size-in-bits='32' is-struct='yes' visibility='default' id='569b18fa'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecStatusType' type-id='08f5ca17' id='921cdb17'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca17'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGRES_EMPTY_QUERY' value='0'/>
+      <enumerator name='PGRES_COMMAND_OK' value='1'/>
+      <enumerator name='PGRES_TUPLES_OK' value='2'/>
+      <enumerator name='PGRES_COPY_OUT' value='3'/>
+      <enumerator name='PGRES_COPY_IN' value='4'/>
+      <enumerator name='PGRES_BAD_RESPONSE' value='5'/>
+      <enumerator name='PGRES_NONFATAL_ERROR' value='6'/>
+      <enumerator name='PGRES_FATAL_ERROR' value='7'/>
+      <enumerator name='PGRES_COPY_BOTH' value='8'/>
+      <enumerator name='PGRES_SINGLE_TUPLE' value='9'/>
+      <enumerator name='PGRES_PIPELINE_SYNC' value='10'/>
+      <enumerator name='PGRES_PIPELINE_ABORTED' value='11'/>
+    </enum-decl>
+    <typedef-decl name='PGNoticeHooks' type-id='8b36bd1c' id='76336d7b'/>
+    <typedef-decl name='PGEvent' type-id='02f7e048' id='33aa0ae3'/>
+    <class-decl name='PGEvent' size-in-bits='320' is-struct='yes' visibility='default' id='02f7e048'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='proc' type-id='a945da4b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='passThrough' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='resultInitialized' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGEventProc' type-id='d2d9538c' id='a945da4b'/>
+    <typedef-decl name='PGEventId' type-id='40ed39d2' id='e727f48e'/>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d2'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGEVT_REGISTER' value='0'/>
+      <enumerator name='PGEVT_CONNRESET' value='1'/>
+      <enumerator name='PGEVT_CONNDESTROY' value='2'/>
+      <enumerator name='PGEVT_RESULTCREATE' value='3'/>
+      <enumerator name='PGEVT_RESULTCOPY' value='4'/>
+      <enumerator name='PGEVT_RESULTDESTROY' value='5'/>
+    </enum-decl>
+    <typedef-decl name='PGMessageField' type-id='a39f2929' id='2c6470ac'/>
+    <class-decl name='pgMessageField' size-in-bits='128' is-struct='yes' visibility='default' id='a39f2929'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='5297b901' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='code' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='contents' type-id='e84913bd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='pgresult_data' size-in-bits='64' visibility='default' id='d0998e85'>
+      <data-member access='private'>
+        <var-decl name='next' type-id='ae741ce0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='space' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='PGresult_data' type-id='d0998e85' id='97dd0d15'/>
+    <typedef-decl name='PQnoticeProcessor' type-id='8102f025' id='af31ca99'/>
+    <typedef-decl name='ConnStatusType' type-id='3fed383f' id='0b876eb4'/>
+    <enum-decl name='__anonymous_enum__2' is-anonymous='yes' id='3fed383f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CONNECTION_OK' value='0'/>
+      <enumerator name='CONNECTION_BAD' value='1'/>
+      <enumerator name='CONNECTION_STARTED' value='2'/>
+      <enumerator name='CONNECTION_MADE' value='3'/>
+      <enumerator name='CONNECTION_AWAITING_RESPONSE' value='4'/>
+      <enumerator name='CONNECTION_AUTH_OK' value='5'/>
+      <enumerator name='CONNECTION_SETENV' value='6'/>
+      <enumerator name='CONNECTION_SSL_STARTUP' value='7'/>
+      <enumerator name='CONNECTION_NEEDED' value='8'/>
+      <enumerator name='CONNECTION_CHECK_WRITABLE' value='9'/>
+      <enumerator name='CONNECTION_CONSUME' value='10'/>
+      <enumerator name='CONNECTION_GSS_STARTUP' value='11'/>
+      <enumerator name='CONNECTION_CHECK_TARGET' value='12'/>
+      <enumerator name='CONNECTION_CHECK_STANDBY' value='13'/>
+    </enum-decl>
+    <typedef-decl name='PGAsyncStatusType' type-id='3eed36ac' id='4847ce6d'/>
+    <enum-decl name='__anonymous_enum__3' is-anonymous='yes' id='3eed36ac'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGASYNC_IDLE' value='0'/>
+      <enumerator name='PGASYNC_BUSY' value='1'/>
+      <enumerator name='PGASYNC_READY' value='2'/>
+      <enumerator name='PGASYNC_READY_MORE' value='3'/>
+      <enumerator name='PGASYNC_COPY_IN' value='4'/>
+      <enumerator name='PGASYNC_COPY_OUT' value='5'/>
+      <enumerator name='PGASYNC_COPY_BOTH' value='6'/>
+      <enumerator name='PGASYNC_PIPELINE_IDLE' value='7'/>
+    </enum-decl>
+    <typedef-decl name='PGTransactionStatusType' type-id='3ded3519' id='280022c9'/>
+    <enum-decl name='__anonymous_enum__4' is-anonymous='yes' id='3ded3519'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQTRANS_IDLE' value='0'/>
+      <enumerator name='PQTRANS_ACTIVE' value='1'/>
+      <enumerator name='PQTRANS_INTRANS' value='2'/>
+      <enumerator name='PQTRANS_INERROR' value='3'/>
+      <enumerator name='PQTRANS_UNKNOWN' value='4'/>
+    </enum-decl>
+    <typedef-decl name='PGpipelineStatus' type-id='3ced3386' id='7691cfc1'/>
+    <enum-decl name='__anonymous_enum__5' is-anonymous='yes' id='3ced3386'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQ_PIPELINE_OFF' value='0'/>
+      <enumerator name='PQ_PIPELINE_ON' value='1'/>
+      <enumerator name='PQ_PIPELINE_ABORTED' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGnotify' type-id='7d78c1a9' id='90054450'/>
+    <class-decl name='pgNotify' size-in-bits='256' is-struct='yes' visibility='default' id='7d78c1a9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='relname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='extra' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='next' type-id='b9ecfcf1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_conn_host' type-id='df7265ca' id='23727e97'/>
+    <class-decl name='pg_conn_host' size-in-bits='320' is-struct='yes' visibility='default' id='df7265ca'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='2203a010' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='host' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hostaddr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='port' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='password' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_conn_host_type' type-id='f050b1c4' id='2203a010'/>
+    <enum-decl name='pg_conn_host_type' id='f050b1c4'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CHT_HOST_NAME' value='0'/>
+      <enumerator name='CHT_HOST_ADDRESS' value='1'/>
+      <enumerator name='CHT_UNIX_SOCKET' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGcmdQueueEntry' type-id='d58085c1' id='d127ebe6'/>
+    <class-decl name='PGcmdQueueEntry' size-in-bits='192' is-struct='yes' visibility='default' id='d58085c1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queryclass' type-id='e0c60a21' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='query' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='60c7de09' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGQueryClass' type-id='3bed31f3' id='e0c60a21'/>
+    <enum-decl name='__anonymous_enum__6' is-anonymous='yes' id='3bed31f3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGQUERY_SIMPLE' value='0'/>
+      <enumerator name='PGQUERY_EXTENDED' value='1'/>
+      <enumerator name='PGQUERY_PREPARE' value='2'/>
+      <enumerator name='PGQUERY_DESCRIBE' value='3'/>
+      <enumerator name='PGQUERY_SYNC' value='4'/>
+      <enumerator name='PGQUERY_CLOSE' value='5'/>
+    </enum-decl>
+    <typedef-decl name='pgsocket' type-id='95e97e5e' id='f5001928'/>
+    <typedef-decl name='SockAddr' type-id='cdb5e8f8' id='8c37a12f'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='1088' is-struct='yes' is-anonymous='yes' naming-typedef-id='8c37a12f' visibility='default' id='cdb5e8f8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='06b72fe4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='salen' type-id='6b2697b0' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sockaddr_storage' size-in-bits='1024' is-struct='yes' visibility='default' id='06b72fe4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ss_family' type-id='376fda66' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__ss_padding' type-id='d8449f07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='__ss_align' type-id='7359adad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='sa_family_t' type-id='8efea9e5' id='376fda66'/>
+    <typedef-decl name='socklen_t' type-id='83f97a0a' id='6b2697b0'/>
+    <typedef-decl name='__socklen_t' type-id='f0981eeb' id='83f97a0a'/>
+    <typedef-decl name='ProtocolVersion' type-id='7aa912f5' id='812180e4'/>
+    <typedef-decl name='uint32' type-id='f0981eeb' id='7aa912f5'/>
+    <typedef-decl name='PGTargetServerType' type-id='3aed3060' id='6a71e347'/>
+    <enum-decl name='__anonymous_enum__7' is-anonymous='yes' id='3aed3060'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SERVER_TYPE_ANY' value='0'/>
+      <enumerator name='SERVER_TYPE_READ_WRITE' value='1'/>
+      <enumerator name='SERVER_TYPE_READ_ONLY' value='2'/>
+      <enumerator name='SERVER_TYPE_PRIMARY' value='3'/>
+      <enumerator name='SERVER_TYPE_STANDBY' value='4'/>
+      <enumerator name='SERVER_TYPE_PREFER_STANDBY' value='5'/>
+      <enumerator name='SERVER_TYPE_PREFER_STANDBY_PASS2' value='6'/>
+    </enum-decl>
+    <typedef-decl name='PGLoadBalanceType' type-id='49ed47fd' id='05687e13'/>
+    <enum-decl name='__anonymous_enum__8' is-anonymous='yes' id='49ed47fd'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LOAD_BALANCE_DISABLE' value='0'/>
+      <enumerator name='LOAD_BALANCE_RANDOM' value='1'/>
+    </enum-decl>
+    <typedef-decl name='AddrInfo' type-id='fd08561c' id='79c324ab'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='1152' is-struct='yes' is-anonymous='yes' naming-typedef-id='79c324ab' visibility='default' id='fd08561c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='family' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgParameterStatus' type-id='1b4efcd9' id='85458fd6'/>
+    <class-decl name='pgParameterStatus' size-in-bits='192' is-struct='yes' visibility='default' id='1b4efcd9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='6ac21be1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='value' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGTernaryBool' type-id='48ed466a' id='cd92c2cc'/>
+    <enum-decl name='__anonymous_enum__9' is-anonymous='yes' id='48ed466a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PG_BOOL_UNKNOWN' value='0'/>
+      <enumerator name='PG_BOOL_YES' value='1'/>
+      <enumerator name='PG_BOOL_NO' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGVerbosity' type-id='17721ec6' id='602f6566'/>
+    <enum-decl name='__anonymous_enum__10' is-anonymous='yes' id='17721ec6'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQERRORS_TERSE' value='0'/>
+      <enumerator name='PQERRORS_DEFAULT' value='1'/>
+      <enumerator name='PQERRORS_VERBOSE' value='2'/>
+      <enumerator name='PQERRORS_SQLSTATE' value='3'/>
+    </enum-decl>
+    <typedef-decl name='PGContextVisibility' type-id='18722059' id='0534f30c'/>
+    <enum-decl name='__anonymous_enum__11' is-anonymous='yes' id='18722059'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQSHOW_CONTEXT_NEVER' value='0'/>
+      <enumerator name='PQSHOW_CONTEXT_ERRORS' value='1'/>
+      <enumerator name='PQSHOW_CONTEXT_ALWAYS' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGlobjfuncs' type-id='566fb0d0' id='fb034143'/>
+    <class-decl name='pgLobjfuncs' size-in-bits='416' is-struct='yes' visibility='default' id='566fb0d0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fn_lo_open' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fn_lo_close' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn_lo_creat' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fn_lo_create' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_lo_unlink' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='fn_lo_lseek' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fn_lo_lseek64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='fn_lo_tell' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_lo_tell64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='fn_lo_truncate' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_lo_truncate64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='fn_lo_read' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fn_lo_write' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_prng_state' type-id='4bc32f5a' id='db52f759'/>
+    <class-decl name='pg_prng_state' size-in-bits='128' is-struct='yes' visibility='default' id='4bc32f5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s0' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='s1' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+    <typedef-decl name='PGdataValue' type-id='0e688e59' id='ff7d8966'/>
+    <class-decl name='pgDataValue' size-in-bits='128' is-struct='yes' visibility='default' id='0e688e59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='80f4b756' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_fe_sasl_mech' type-id='f3f3632a' id='52868a31'/>
+    <typedef-decl name='SSL' type-id='64a5a649' id='785e1b42'/>
+    <typedef-decl name='X509' type-id='704a7505' id='3ee76568'/>
+    <typedef-decl name='ENGINE' type-id='36ec5173' id='8796dda6'/>
+    <typedef-decl name='gss_ctx_id_t' type-id='037bfd74' id='84c6b9b8'/>
+    <typedef-decl name='gss_name_t' type-id='79306dcc' id='1abde390'/>
+    <typedef-decl name='gss_cred_id_t' type-id='2d82dc55' id='e771909b'/>
+    <typedef-decl name='PQExpBufferData' type-id='d45baed3' id='d22d5d08'/>
+    <class-decl name='PQExpBufferData' size-in-bits='192' is-struct='yes' visibility='default' id='d45baed3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='maxlen' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='79c324ab' size-in-bits='64' id='abeb6880'/>
+    <pointer-type-def type-id='8796dda6' size-in-bits='64' id='827f5e03'/>
+    <pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
+    <pointer-type-def type-id='33aa0ae3' size-in-bits='64' id='2f038e5e'/>
+    <pointer-type-def type-id='2c6470ac' size-in-bits='64' id='0c5c8941'/>
+    <pointer-type-def type-id='d58085c1' size-in-bits='64' id='60c7de09'/>
+    <pointer-type-def type-id='51b05e3b' size-in-bits='64' id='ec15dfe4'/>
+    <pointer-type-def type-id='ff7d8966' size-in-bits='64' id='af5f5041'/>
+    <pointer-type-def type-id='fb034143' size-in-bits='64' id='35ec5596'/>
+    <pointer-type-def type-id='90054450' size-in-bits='64' id='ecf4f711'/>
+    <pointer-type-def type-id='0edd802d' size-in-bits='64' id='d614db7e'/>
+    <pointer-type-def type-id='7ceef345' size-in-bits='64' id='477e7060'/>
+    <pointer-type-def type-id='477e7060' size-in-bits='64' id='d60ac47e'/>
+    <pointer-type-def type-id='034c2f9b' size-in-bits='64' id='297c0d38'/>
+    <pointer-type-def type-id='7bcca728' size-in-bits='64' id='15e678b1'/>
+    <pointer-type-def type-id='97dd0d15' size-in-bits='64' id='ae741ce0'/>
+    <pointer-type-def type-id='785e1b42' size-in-bits='64' id='1e269bf5'/>
+    <pointer-type-def type-id='3ee76568' size-in-bits='64' id='02f57381'/>
+    <pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
+    <pointer-type-def type-id='a4036571' size-in-bits='64' id='570f8c59'/>
+    <pointer-type-def type-id='bb4788fa' size-in-bits='64' id='cecf4ea7'/>
+    <pointer-type-def type-id='010ae0b9' size-in-bits='64' id='e4c6fa61'/>
+    <pointer-type-def type-id='79bd3751' size-in-bits='64' id='c65a1f29'/>
+    <pointer-type-def type-id='9b3b543e' size-in-bits='64' id='0bec2760'/>
+    <pointer-type-def type-id='c894953d' size-in-bits='64' id='d8e6b335'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
+    <qualified-type-def type-id='7bcca728' const='yes' id='d1184b98'/>
+    <pointer-type-def type-id='d1184b98' size-in-bits='64' id='db3f2936'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <qualified-type-def type-id='52868a31' const='yes' id='cd23e561'/>
+    <pointer-type-def type-id='cd23e561' size-in-bits='64' id='3a81f511'/>
+    <pointer-type-def type-id='3fdd6c45' size-in-bits='64' id='2d82dc55'/>
+    <pointer-type-def type-id='9ee227fe' size-in-bits='64' id='037bfd74'/>
+    <pointer-type-def type-id='a8e0a566' size-in-bits='64' id='79306dcc'/>
+    <pointer-type-def type-id='f1e4fd3a' size-in-bits='64' id='d2d9538c'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <pointer-type-def type-id='a39f2929' size-in-bits='64' id='5297b901'/>
+    <pointer-type-def type-id='7d78c1a9' size-in-bits='64' id='b9ecfcf1'/>
+    <pointer-type-def type-id='1b4efcd9' size-in-bits='64' id='6ac21be1'/>
+    <pointer-type-def type-id='23727e97' size-in-bits='64' id='ee46afa8'/>
+    <pointer-type-def type-id='c5c76c9c' size-in-bits='64' id='b7f9d8e6'/>
+    <pointer-type-def type-id='68909e7a' size-in-bits='64' id='fe1afc54'/>
+    <pointer-type-def type-id='6343bba1' size-in-bits='64' id='92c74605'/>
+    <pointer-type-def type-id='fda39aa9' size-in-bits='64' id='8102f025'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <pointer-type-def type-id='3196721b' size-in-bits='64' id='4196f317'/>
+    <var-decl name='pg_scram_mech' type-id='cd23e561' visibility='default'/>
+    <function-type size-in-bits='64' id='9b3b543e'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='f1e4fd3a'>
+      <parameter type-id='e727f48e'/>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='c5c76c9c'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='68909e7a'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='26a90f95'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='9b23c9ad'/>
+      <parameter type-id='7292109c'/>
+      <parameter type-id='d8e6b335'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='6343bba1'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='db3f2936'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='fda39aa9'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='80f4b756'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='3196721b'>
+      <parameter type-id='ec15dfe4'/>
+      <parameter type-id='80f4b756'/>
+      <parameter type-id='80f4b756'/>
+      <return type-id='eaa32e2f'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-auth.c' language='LANG_C99'>
+    <function-decl name='PQencryptPasswordConn' mangled-name='PQencryptPasswordConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQencryptPasswordConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <parameter type-id='80f4b756' name='algorithm'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQencryptPassword' mangled-name='PQencryptPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQencryptPassword'>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-connect.c' language='LANG_C99'>
+    <typedef-decl name='pgthreadlock_t' type-id='03347643' id='df5023a1'/>
+    <typedef-decl name='PQconninfoOption' type-id='274fb2ba' id='9c44ab40'/>
+    <class-decl name='_PQconninfoOption' size-in-bits='448' is-struct='yes' visibility='default' id='274fb2ba'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='keyword' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='envvar' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='compiled' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='val' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='label' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dispchar' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dispsize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGcancel' type-id='bb26c323' id='55bea9a7'/>
+    <class-decl name='pg_cancel' size-in-bits='1344' is-struct='yes' visibility='default' id='bb26c323'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='be_key' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='pgtcp_user_timeout' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='keepalives' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='keepalives_idle' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='keepalives_interval' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='keepalives_count' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PostgresPollingStatusType' type-id='08f5ca18' id='d716a268'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca18'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGRES_POLLING_FAILED' value='0'/>
+      <enumerator name='PGRES_POLLING_READING' value='1'/>
+      <enumerator name='PGRES_POLLING_WRITING' value='2'/>
+      <enumerator name='PGRES_POLLING_OK' value='3'/>
+      <enumerator name='PGRES_POLLING_ACTIVE' value='4'/>
+    </enum-decl>
+    <typedef-decl name='PGPing' type-id='40ed39d3' id='1a5758dd'/>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQPING_OK' value='0'/>
+      <enumerator name='PQPING_REJECT' value='1'/>
+      <enumerator name='PQPING_NO_RESPONSE' value='2'/>
+      <enumerator name='PQPING_NO_ATTEMPT' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='55bea9a7' size-in-bits='64' id='d2029528'/>
+    <pointer-type-def type-id='9c44ab40' size-in-bits='64' id='871381b5'/>
+    <qualified-type-def type-id='51b05e3b' const='yes' id='9245a0eb'/>
+    <pointer-type-def type-id='9245a0eb' size-in-bits='64' id='049c0fd3'/>
+    <qualified-type-def type-id='80f4b756' const='yes' id='b99c00c9'/>
+    <pointer-type-def type-id='b99c00c9' size-in-bits='64' id='13956559'/>
+    <pointer-type-def type-id='f712e2b7' size-in-bits='64' id='03347643'/>
+    <var-decl name='pg_g_threadlock' type-id='df5023a1' visibility='default'/>
+    <function-decl name='PQregisterThreadLock' mangled-name='PQregisterThreadLock' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQregisterThreadLock'>
+      <parameter type-id='df5023a1' name='newhandler'/>
+      <return type-id='df5023a1'/>
+    </function-decl>
+    <function-decl name='PQsetNoticeProcessor' mangled-name='PQsetNoticeProcessor' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetNoticeProcessor'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='af31ca99' name='proc'/>
+      <parameter type-id='eaa32e2f' name='arg'/>
+      <return type-id='af31ca99'/>
+    </function-decl>
+    <function-decl name='PQsetNoticeReceiver' mangled-name='PQsetNoticeReceiver' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetNoticeReceiver'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='d6489eba' name='proc'/>
+      <parameter type-id='eaa32e2f' name='arg'/>
+      <return type-id='d6489eba'/>
+    </function-decl>
+    <function-decl name='PQsetErrorContextVisibility' mangled-name='PQsetErrorContextVisibility' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetErrorContextVisibility'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='0534f30c' name='show_context'/>
+      <return type-id='0534f30c'/>
+    </function-decl>
+    <function-decl name='PQsetErrorVerbosity' mangled-name='PQsetErrorVerbosity' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetErrorVerbosity'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='602f6566' name='verbosity'/>
+      <return type-id='602f6566'/>
+    </function-decl>
+    <function-decl name='PQsetClientEncoding' mangled-name='PQsetClientEncoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetClientEncoding'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQclientEncoding' mangled-name='PQclientEncoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclientEncoding'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionUsedGSSAPI' mangled-name='PQconnectionUsedGSSAPI' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionUsedGSSAPI'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionUsedPassword' mangled-name='PQconnectionUsedPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionUsedPassword'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionNeedsPassword' mangled-name='PQconnectionNeedsPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionNeedsPassword'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQpipelineStatus' mangled-name='PQpipelineStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpipelineStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='7691cfc1'/>
+    </function-decl>
+    <function-decl name='PQbackendPID' mangled-name='PQbackendPID' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQbackendPID'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsocket' mangled-name='PQsocket' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsocket'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQerrorMessage' mangled-name='PQerrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQerrorMessage'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQserverVersion' mangled-name='PQserverVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQserverVersion'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQprotocolVersion' mangled-name='PQprotocolVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprotocolVersion'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQparameterStatus' mangled-name='PQparameterStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQparameterStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <parameter type-id='80f4b756' name='paramName'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='PQtransactionStatus' mangled-name='PQtransactionStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtransactionStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='280022c9'/>
+    </function-decl>
+    <function-decl name='PQstatus' mangled-name='PQstatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQstatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='0b876eb4'/>
+    </function-decl>
+    <function-decl name='PQoptions' mangled-name='PQoptions' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoptions'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQtty' mangled-name='PQtty' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtty'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQport' mangled-name='PQport' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQport'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQhostaddr' mangled-name='PQhostaddr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQhostaddr'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQhost' mangled-name='PQhost' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQhost'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQpass' mangled-name='PQpass' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpass'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQuser' mangled-name='PQuser' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQuser'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQdb' mangled-name='PQdb' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdb'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQconninfoFree' mangled-name='PQconninfoFree' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfoFree'>
+      <parameter type-id='871381b5' name='connOptions'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQconninfo' mangled-name='PQconninfo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfo'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQconninfoParse' mangled-name='PQconninfoParse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfoParse'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <parameter type-id='9b23c9ad' name='errmsg'/>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQrequestCancel' mangled-name='PQrequestCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQrequestCancel'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQcancel' mangled-name='PQcancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcancel'>
+      <parameter type-id='d2029528' name='cancel'/>
+      <parameter type-id='26a90f95' name='errbuf'/>
+      <parameter type-id='95e97e5e' name='errbufsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfreeCancel' mangled-name='PQfreeCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreeCancel'>
+      <parameter type-id='d2029528' name='cancel'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQgetCancel' mangled-name='PQgetCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetCancel'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d2029528'/>
+    </function-decl>
+    <function-decl name='PQresetPoll' mangled-name='PQresetPoll' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresetPoll'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d716a268'/>
+    </function-decl>
+    <function-decl name='PQresetStart' mangled-name='PQresetStart' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresetStart'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQreset' mangled-name='PQreset' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQreset'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQfinish' mangled-name='PQfinish' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfinish'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQconnectPoll' mangled-name='PQconnectPoll' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectPoll'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d716a268'/>
+    </function-decl>
+    <function-decl name='PQsetdbLogin' mangled-name='PQsetdbLogin' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetdbLogin'>
+      <parameter type-id='80f4b756' name='pghost'/>
+      <parameter type-id='80f4b756' name='pgport'/>
+      <parameter type-id='80f4b756' name='pgoptions'/>
+      <parameter type-id='80f4b756' name='pgtty'/>
+      <parameter type-id='80f4b756' name='dbName'/>
+      <parameter type-id='80f4b756' name='login'/>
+      <parameter type-id='80f4b756' name='pwd'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQconndefaults' mangled-name='PQconndefaults' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconndefaults'>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQconnectStart' mangled-name='PQconnectStart' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectStart'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQconnectStartParams' mangled-name='PQconnectStartParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectStartParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQping' mangled-name='PQping' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQping'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='1a5758dd'/>
+    </function-decl>
+    <function-decl name='PQconnectdb' mangled-name='PQconnectdb' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectdb'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQpingParams' mangled-name='PQpingParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpingParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='1a5758dd'/>
+    </function-decl>
+    <function-decl name='PQconnectdbParams' mangled-name='PQconnectdbParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectdbParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='f712e2b7'>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-exec.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='57de658a' size-in-bits='768' id='459dd743'>
+      <subrange length='12' type-id='7359adad' id='84827bdc'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='57de658a' size-in-bits='infinite' id='335febfa'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <typedef-decl name='PQArgBlock' type-id='cf97e9fc' id='d2328d0a'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='d2328d0a' visibility='default' id='cf97e9fc'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='isint' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='u' type-id='691be1d8' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' id='691be1d8'>
+      <data-member access='private'>
+        <var-decl name='ptr' type-id='7292109c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='integer' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='26a90f95' const='yes' id='57de658a'/>
+    <qualified-type-def type-id='63cf087c' const='yes' id='97b155ac'/>
+    <pointer-type-def type-id='97b155ac' size-in-bits='64' id='5229a1f2'/>
+    <qualified-type-def type-id='d2328d0a' const='yes' id='22803e3a'/>
+    <pointer-type-def type-id='22803e3a' size-in-bits='64' id='5fe1b330'/>
+    <qualified-type-def type-id='95e97e5e' const='yes' id='2448a865'/>
+    <pointer-type-def type-id='2448a865' size-in-bits='64' id='6d60f45d'/>
+    <qualified-type-def type-id='002ac4a6' const='yes' id='ea86de29'/>
+    <pointer-type-def type-id='ea86de29' size-in-bits='64' id='354f7eb9'/>
+    <pointer-type-def type-id='b59d7dce' size-in-bits='64' id='78c01427'/>
+    <pointer-type-def type-id='002ac4a6' size-in-bits='64' id='cf536864'/>
+    <var-decl name='pgresStatus' type-id='335febfa' mangled-name='pgresStatus' visibility='default' elf-symbol-id='pgresStatus'/>
+    <function-decl name='PQunescapeBytea' mangled-name='PQunescapeBytea' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQunescapeBytea'>
+      <parameter type-id='354f7eb9' name='strtext'/>
+      <parameter type-id='78c01427' name='retbuflen'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeBytea' mangled-name='PQescapeBytea' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeBytea'>
+      <parameter type-id='354f7eb9' name='from'/>
+      <parameter type-id='b59d7dce' name='from_length'/>
+      <parameter type-id='78c01427' name='to_length'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeByteaConn' mangled-name='PQescapeByteaConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeByteaConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='354f7eb9' name='from'/>
+      <parameter type-id='b59d7dce' name='from_length'/>
+      <parameter type-id='78c01427' name='to_length'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeIdentifier' mangled-name='PQescapeIdentifier' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeIdentifier'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQescapeLiteral' mangled-name='PQescapeLiteral' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeLiteral'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQescapeString' mangled-name='PQescapeString' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeString'>
+      <parameter type-id='26a90f95' name='to'/>
+      <parameter type-id='80f4b756' name='from'/>
+      <parameter type-id='b59d7dce' name='length'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQescapeStringConn' mangled-name='PQescapeStringConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeStringConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='to'/>
+      <parameter type-id='80f4b756' name='from'/>
+      <parameter type-id='b59d7dce' name='length'/>
+      <parameter type-id='7292109c' name='error'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQfreeNotify' mangled-name='PQfreeNotify' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreeNotify'>
+      <parameter type-id='ecf4f711' name='notify'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQfreemem' mangled-name='PQfreemem' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreemem'>
+      <parameter type-id='eaa32e2f' name='ptr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQflush' mangled-name='PQflush' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQflush'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQisthreadsafe' mangled-name='PQisthreadsafe' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisthreadsafe'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQisnonblocking' mangled-name='PQisnonblocking' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisnonblocking'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsetnonblocking' mangled-name='PQsetnonblocking' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetnonblocking'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='arg'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQparamtype' mangled-name='PQparamtype' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQparamtype'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='param_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQnparams' mangled-name='PQnparams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnparams'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetisnull' mangled-name='PQgetisnull' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetisnull'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetlength' mangled-name='PQgetlength' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetlength'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetvalue' mangled-name='PQgetvalue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetvalue'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQcmdTuples' mangled-name='PQcmdTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcmdTuples'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQoidValue' mangled-name='PQoidValue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoidValue'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQoidStatus' mangled-name='PQoidStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoidStatus'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQcmdStatus' mangled-name='PQcmdStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcmdStatus'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQfmod' mangled-name='PQfmod' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfmod'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfsize' mangled-name='PQfsize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfsize'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftype' mangled-name='PQftype' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftype'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQfformat' mangled-name='PQfformat' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfformat'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftablecol' mangled-name='PQftablecol' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftablecol'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftable' mangled-name='PQftable' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftable'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQfnumber' mangled-name='PQfnumber' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfnumber'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='80f4b756' name='field_name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfname' mangled-name='PQfname' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfname'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQbinaryTuples' mangled-name='PQbinaryTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQbinaryTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQnfields' mangled-name='PQnfields' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnfields'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQntuples' mangled-name='PQntuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQntuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQresultErrorField' mangled-name='PQresultErrorField' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultErrorField'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='fieldcode'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultVerboseErrorMessage' mangled-name='PQresultVerboseErrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultVerboseErrorMessage'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='602f6566' name='verbosity'/>
+      <parameter type-id='0534f30c' name='show_context'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultErrorMessage' mangled-name='PQresultErrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultErrorMessage'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresStatus' mangled-name='PQresStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresStatus'>
+      <parameter type-id='921cdb17' name='status'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultStatus' mangled-name='PQresultStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultStatus'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='921cdb17'/>
+    </function-decl>
+    <function-decl name='PQsendFlushRequest' mangled-name='PQsendFlushRequest' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendFlushRequest'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQpipelineSync' mangled-name='PQpipelineSync' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpipelineSync'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQexitPipelineMode' mangled-name='PQexitPipelineMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexitPipelineMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQenterPipelineMode' mangled-name='PQenterPipelineMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQenterPipelineMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfn' mangled-name='PQfn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fnid'/>
+      <parameter type-id='7292109c' name='result_buf'/>
+      <parameter type-id='7292109c' name='result_len'/>
+      <parameter type-id='95e97e5e' name='result_is_int'/>
+      <parameter type-id='5fe1b330' name='args'/>
+      <parameter type-id='95e97e5e' name='nargs'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQendcopy' mangled-name='PQendcopy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQendcopy'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputnbytes' mangled-name='PQputnbytes' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputnbytes'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='buffer'/>
+      <parameter type-id='95e97e5e' name='nbytes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputline' mangled-name='PQputline' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputline'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='string'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetlineAsync' mangled-name='PQgetlineAsync' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetlineAsync'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='buffer'/>
+      <parameter type-id='95e97e5e' name='bufsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetline' mangled-name='PQgetline' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetline'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='buffer'/>
+      <parameter type-id='95e97e5e' name='length'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetCopyData' mangled-name='PQgetCopyData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetCopyData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='9b23c9ad' name='buffer'/>
+      <parameter type-id='95e97e5e' name='async'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputCopyEnd' mangled-name='PQputCopyEnd' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputCopyEnd'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='errormsg'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputCopyData' mangled-name='PQputCopyData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputCopyData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='buffer'/>
+      <parameter type-id='95e97e5e' name='nbytes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQnotifies' mangled-name='PQnotifies' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnotifies'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='ecf4f711'/>
+    </function-decl>
+    <function-decl name='PQsendDescribePortal' mangled-name='PQsendDescribePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendDescribePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendDescribePrepared' mangled-name='PQsendDescribePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendDescribePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQdescribePortal' mangled-name='PQdescribePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdescribePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQdescribePrepared' mangled-name='PQdescribePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdescribePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexecPrepared' mangled-name='PQexecPrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexecPrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQprepare' mangled-name='PQprepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprepare'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexecParams' mangled-name='PQexecParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexecParams'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='command'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexec' mangled-name='PQexec' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexec'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQgetResult' mangled-name='PQgetResult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetResult'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQisBusy' mangled-name='PQisBusy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisBusy'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconsumeInput' mangled-name='PQconsumeInput' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconsumeInput'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsetSingleRowMode' mangled-name='PQsetSingleRowMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetSingleRowMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQueryPrepared' mangled-name='PQsendQueryPrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQueryPrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendPrepare' mangled-name='PQsendPrepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendPrepare'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQueryParams' mangled-name='PQsendQueryParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQueryParams'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='command'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQuery' mangled-name='PQsendQuery' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQuery'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQclear' mangled-name='PQclear' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclear'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQresultMemorySize' mangled-name='PQresultMemorySize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultMemorySize'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQresultAlloc' mangled-name='PQresultAlloc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultAlloc'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='b59d7dce' name='nBytes'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQsetvalue' mangled-name='PQsetvalue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetvalue'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <parameter type-id='26a90f95' name='value'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQcopyResult' mangled-name='PQcopyResult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcopyResult'>
+      <parameter type-id='db3f2936' name='src'/>
+      <parameter type-id='95e97e5e' name='flags'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQsetResultAttrs' mangled-name='PQsetResultAttrs' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetResultAttrs'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='95e97e5e' name='numAttributes'/>
+      <parameter type-id='d614db7e' name='attDescs'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmakeEmptyPGresult' mangled-name='PQmakeEmptyPGresult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmakeEmptyPGresult'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='921cdb17' name='status'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-lobj.c' language='LANG_C99'>
+    <typedef-decl name='pg_int64' type-id='bd54fe1a' id='e95912f9'/>
+    <function-decl name='lo_export' mangled-name='lo_export' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_export'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_import_with_oid' mangled-name='lo_import_with_oid' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_import_with_oid'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_import' mangled-name='lo_import' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_import'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_unlink' mangled-name='lo_unlink' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_unlink'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_tell64' mangled-name='lo_tell64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_tell64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='e95912f9'/>
+    </function-decl>
+    <function-decl name='lo_tell' mangled-name='lo_tell' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_tell'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_create' mangled-name='lo_create' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_create'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_creat' mangled-name='lo_creat' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_creat'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='mode'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_lseek64' mangled-name='lo_lseek64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_lseek64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='e95912f9' name='offset'/>
+      <parameter type-id='95e97e5e' name='whence'/>
+      <return type-id='e95912f9'/>
+    </function-decl>
+    <function-decl name='lo_lseek' mangled-name='lo_lseek' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_lseek'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='95e97e5e' name='offset'/>
+      <parameter type-id='95e97e5e' name='whence'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_write' mangled-name='lo_write' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_write'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='80f4b756' name='buf'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_read' mangled-name='lo_read' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_read'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='26a90f95' name='buf'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_truncate64' mangled-name='lo_truncate64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_truncate64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='e95912f9' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_truncate' mangled-name='lo_truncate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_truncate'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_close' mangled-name='lo_close' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_close'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_open' mangled-name='lo_open' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_open'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <parameter type-id='95e97e5e' name='mode'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-misc.c' language='LANG_C99'>
+    <function-decl name='PQenv2encoding' mangled-name='PQenv2encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQenv2encoding'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQdsplen' mangled-name='PQdsplen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdsplen'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmblenBounded' mangled-name='PQmblenBounded' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmblenBounded'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmblen' mangled-name='PQmblen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmblen'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQlibVersion' mangled-name='PQlibVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQlibVersion'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-print.c' language='LANG_C99'>
+    <typedef-decl name='PQprintOpt' type-id='2d5a9ab5' id='4f41284f'/>
+    <class-decl name='_PQprintOpt' size-in-bits='320' is-struct='yes' visibility='default' id='2d5a9ab5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='header' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='align' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='standard' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='html3' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='expanded' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='pager' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fieldSep' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tableOpt' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='caption' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fieldName' type-id='9b23c9ad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pqbool' type-id='a84c031d' id='194f51db'/>
+    <qualified-type-def type-id='4f41284f' const='yes' id='709b887f'/>
+    <pointer-type-def type-id='709b887f' size-in-bits='64' id='99d79dcf'/>
+    <function-decl name='PQprintTuples' mangled-name='PQprintTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprintTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='822cd80b' name='fout'/>
+      <parameter type-id='95e97e5e' name='PrintAttNames'/>
+      <parameter type-id='95e97e5e' name='TerseOutput'/>
+      <parameter type-id='95e97e5e' name='colWidth'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQdisplayTuples' mangled-name='PQdisplayTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdisplayTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='822cd80b' name='fp'/>
+      <parameter type-id='95e97e5e' name='fillAlign'/>
+      <parameter type-id='80f4b756' name='fieldSep'/>
+      <parameter type-id='95e97e5e' name='printHeader'/>
+      <parameter type-id='95e97e5e' name='quiet'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQprint' mangled-name='PQprint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprint'>
+      <parameter type-id='822cd80b' name='fout'/>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='99d79dcf' name='po'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure-gssapi.c' language='LANG_C99'>
+    <function-decl name='PQgssEncInUse' mangled-name='PQgssEncInUse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgssEncInUse'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetgssctx' mangled-name='PQgetgssctx' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetgssctx'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure-openssl.c' language='LANG_C99'>
+    <typedef-decl name='PQsslKeyPassHook_OpenSSL_type' type-id='365bb6cb' id='769874b6'/>
+    <pointer-type-def type-id='690257ef' size-in-bits='64' id='365bb6cb'/>
+    <function-decl name='PQsetSSLKeyPassHook_OpenSSL' mangled-name='PQsetSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetSSLKeyPassHook_OpenSSL'>
+      <parameter type-id='769874b6' name='hook'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQgetSSLKeyPassHook_OpenSSL' mangled-name='PQgetSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetSSLKeyPassHook_OpenSSL'>
+      <return type-id='769874b6'/>
+    </function-decl>
+    <function-decl name='PQdefaultSSLKeyPassHook_OpenSSL' mangled-name='PQdefaultSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdefaultSSLKeyPassHook_OpenSSL'>
+      <parameter type-id='26a90f95' name='buf'/>
+      <parameter type-id='95e97e5e' name='size'/>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsslAttribute' mangled-name='PQsslAttribute' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslAttribute'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='attribute_name'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='PQsslAttributeNames' mangled-name='PQsslAttributeNames' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslAttributeNames'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='13956559'/>
+    </function-decl>
+    <function-decl name='PQsslStruct' mangled-name='PQsslStruct' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslStruct'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='struct_name'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQgetssl' mangled-name='PQgetssl' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetssl'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='690257ef'>
+      <parameter type-id='26a90f95'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='ec15dfe4'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure.c' language='LANG_C99'>
+    <function-decl name='PQinitOpenSSL' mangled-name='PQinitOpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinitOpenSSL'>
+      <parameter type-id='95e97e5e' name='do_ssl'/>
+      <parameter type-id='95e97e5e' name='do_crypto'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQinitSSL' mangled-name='PQinitSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinitSSL'>
+      <parameter type-id='95e97e5e' name='do_init'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQsslInUse' mangled-name='PQsslInUse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslInUse'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-trace.c' language='LANG_C99'>
+    <function-decl name='PQsetTraceFlags' mangled-name='PQsetTraceFlags' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetTraceFlags'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='flags'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQuntrace' mangled-name='PQuntrace' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQuntrace'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQtrace' mangled-name='PQtrace' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtrace'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='822cd80b' name='debug_port'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/legacy-pqsignal.c' language='LANG_C99'>
+    <typedef-decl name='pqsigfunc' type-id='03347643' id='b52123e6'/>
+    <function-decl name='pqsignal' mangled-name='pqsignal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pqsignal'>
+      <parameter type-id='95e97e5e' name='signo'/>
+      <parameter type-id='b52123e6' name='func'/>
+      <return type-id='b52123e6'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/libpq-events.c' language='LANG_C99'>
+    <function-decl name='PQfireResultCreateEvents' mangled-name='PQfireResultCreateEvents' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfireResultCreateEvents'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQresultInstanceData' mangled-name='PQresultInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultInstanceData'>
+      <parameter type-id='db3f2936' name='result'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQresultSetInstanceData' mangled-name='PQresultSetInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultSetInstanceData'>
+      <parameter type-id='15e678b1' name='result'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='eaa32e2f' name='data'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQinstanceData' mangled-name='PQinstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinstanceData'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQsetInstanceData' mangled-name='PQsetInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetInstanceData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='eaa32e2f' name='data'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQregisterEventProc' mangled-name='PQregisterEventProc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQregisterEventProc'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='eaa32e2f' name='passThrough'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/pqexpbuffer.c' language='LANG_C99'>
+    <type-decl name='variadic parameter type' id='2c1145c5'/>
+    <typedef-decl name='PQExpBuffer' type-id='34de0453' id='974bea20'/>
+    <pointer-type-def type-id='d22d5d08' size-in-bits='64' id='34de0453'/>
+    <function-decl name='appendBinaryPQExpBuffer' mangled-name='appendBinaryPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendBinaryPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='data'/>
+      <parameter type-id='b59d7dce' name='datalen'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBufferChar' mangled-name='appendPQExpBufferChar' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBufferChar'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='a84c031d' name='ch'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBufferStr' mangled-name='appendPQExpBufferStr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBufferStr'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='data'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBuffer' mangled-name='appendPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='printfPQExpBuffer' mangled-name='printfPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='printfPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='enlargePQExpBuffer' mangled-name='enlargePQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='enlargePQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='b59d7dce' name='needed'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='resetPQExpBuffer' mangled-name='resetPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='resetPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='termPQExpBuffer' mangled-name='termPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='termPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='destroyPQExpBuffer' mangled-name='destroyPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='destroyPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='initPQExpBuffer' mangled-name='initPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='createPQExpBuffer' mangled-name='createPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='createPQExpBuffer'>
+      <return type-id='974bea20'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build
index 80e6a15adf..e1bcce7b53 100644
--- a/src/interfaces/libpq/meson.build
+++ b/src/interfaces/libpq/meson.build
@@ -84,6 +84,22 @@ libpq = declare_dependency(
   include_directories: [include_directories('.')]
 )
 
+if abidw.found()
+  libpq_abi = custom_target('libpq.abi.xml',
+                            input: libpq_so,
+                            output: 'libpq.abi.xml',
+                            command: abidw_cmd,
+                            build_by_default: true)
+endif
+
+if abidiff.found()
+  test('libpq.abidiff',
+       abidiff,
+       args: [files('libpq.base.abi.xml'), libpq_abi],
+       suite: 'abidiff',
+       verbose: true)
+endif
+
 pkgconfig.generate(
   name: 'libpq',
   description: 'PostgreSQL libpq library',

base-commit: 8cddea9a539cbbdd1b316255c9f404323243fd37
-- 
2.40.1

#10Tristan Partin
tristan@neon.tech
In reply to: Peter Eisentraut (#9)
Re: abi-compliance-checker
+abidiff = find_program('abidiff', native: false, required: false)
+abidw = find_program('abidw', native: false, required: false)
+
+abidw_flags = [
+  '--drop-undefined-syms',
+  '--no-architecture',
+  '--no-comp-dir-path',
+  '--no-elf-needed',
+  '--no-show-locs',
+  '--type-id-style', 'hash',
+]
+abidw_cmd = [abidw, abidw_flags, '--out-file', '@OUTPUT@', '@INPUT@']

It would make sense to me to mark abidiff and abidw as disabler: true.

+if abidw.found()
+  libpq_abi = custom_target('libpq.abi.xml',
+                            input: libpq_so,
+                            output: 'libpq.abi.xml',
+                            command: abidw_cmd,
+                            build_by_default: true)
+endif
+
+if abidiff.found()
+  test('libpq.abidiff',
+       abidiff,
+       args: [files('libpq.base.abi.xml'), libpq_abi],
+       suite: 'abidiff',
+       verbose: true)
+endif

With disabler: true, you can drop the conditionals. Disablers tell Meson
to disable parts of the build[0]https://mesonbuild.com/Reference-manual_returned_disabler.html.

I also don't think it makes sense to mark the custom_targets as
build_by_default: true, unless you see value in that. I would just have
them built when the test is ran.

However, it might make sense to create an alias_target of all the ABI
XML files for people that want to interact with the files outside of the
tests for whatever reason.

[0]: https://mesonbuild.com/Reference-manual_returned_disabler.html

--
Tristan Partin
Neon (https://neon.tech)

#11Peter Eisentraut
peter@eisentraut.org
In reply to: Tristan Partin (#10)
1 attachment(s)
Re: abi-compliance-checker

On 06.06.23 18:52, Tristan Partin wrote:

It would make sense to me to mark abidiff and abidw as disabler: true.

ok

+if abidiff.found()
+  test('libpq.abidiff',
+       abidiff,
+       args: [files('libpq.base.abi.xml'), libpq_abi],
+       suite: 'abidiff',
+       verbose: true)
+endif

With disabler: true, you can drop the conditionals. Disablers tell Meson
to disable parts of the build[0].

ok

I also don't think it makes sense to mark the custom_targets as
build_by_default: true, unless you see value in that. I would just have
them built when the test is ran.

However, it might make sense to create an alias_target of all the ABI
XML files for people that want to interact with the files outside of the
tests for whatever reason.

Thanks for the feedback. Attached is a more complete patch.

I have rearranged this a bit. There are now two build options, called
abidw and abidiff. The abidw option produces the xml file, that you
would then at appropriate times commit into the tree as the base. The
abidiff option enables the abidiff tests. This doesn't actually require
abidw, since abidiff can compare the binary directly against the
recorded XML file. So these options are distinct and nonoverlapping.

Note that in this setup, you still need a conditional around the abidiff
test() call, because otherwise meson setup will fail if the base file
doesn't exist (yet), so it would be impossible to bootstrap this system.

The updated patch also includes the base files for all the ecpg
libraries and the files all have OS and architecture specific names.
The keep the patch small, I just added a dummy base file for the
postgres binary and a suppression file that suppresses everything.

There is something weird going on where the cirrus linux/meson job
doesn't upload the produced abidw artifacts, even though they are
apparently built, and the equivalent works for the freebsd job. Maybe
someone can see something that I'm not seeing there.

Attachments:

v2-0001-abidiff-tests.patchtext/plain; charset=UTF-8; name=v2-0001-abidiff-tests.patchDownload
From 4cdbbf1d06fc7226ff770a028f09b3b43ec8bda4 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Sat, 10 Jun 2023 15:52:44 +0200
Subject: [PATCH v2] abidiff tests

Discussion: https://www.postgresql.org/message-id/CAH2-Wzk7tvgLXzOZ8a22aF-gmO5gHojWTYRvAk5ZgOvTrcEQeg@mail.gmail.com
---
 .cirrus.yml                                   |   19 +-
 meson.build                                   |   19 +
 meson_options.txt                             |    6 +
 src/backend/meson.build                       |   16 +
 src/backend/postgres.abidiff-suppr.ini        |    3 +
 src/backend/postgres.x86_64-linux.abi.xml     |    2 +
 .../libecpg_compat.x86_64-linux.abi.xml       |  325 ++
 src/interfaces/ecpg/compatlib/meson.build     |   14 +
 .../ecpg/ecpglib/libecpg.x86_64-linux.abi.xml |  482 +++
 src/interfaces/ecpg/ecpglib/meson.build       |   14 +
 .../libpgtypes.x86_64-linux.abi.xml           |  392 +++
 src/interfaces/ecpg/pgtypeslib/meson.build    |   14 +
 .../libpq/libpq.x86_64-linux.abi.xml          | 2634 +++++++++++++++++
 src/interfaces/libpq/meson.build              |   14 +
 14 files changed, 3951 insertions(+), 3 deletions(-)
 create mode 100644 src/backend/postgres.abidiff-suppr.ini
 create mode 100644 src/backend/postgres.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/libpq/libpq.x86_64-linux.abi.xml

diff --git a/.cirrus.yml b/.cirrus.yml
index 113f454524..e22e0bc05d 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -172,7 +172,7 @@ task:
     chown root:postgres /tmp/cores
     sysctl kern.corefile='/tmp/cores/%N.%P.core'
   setup_additional_packages_script: |
-    #pkg install -y ...
+    pkg install -y libabigail
 
   # NB: Intentionally build without -Dllvm. The freebsd image size is already
   # large enough to make VM startup slow, and even without llvm freebsd
@@ -181,6 +181,7 @@ task:
     su postgres <<-EOF
       meson setup \
         --buildtype=debug \
+        -Dabidw=enabled \
         -Dcassert=true -Duuid=bsd -Dtcl_version=tcl86 -Ddtrace=auto \
         -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
         -Dextra_lib_dirs=/usr/local/lib -Dextra_include_dirs=/usr/local/include/ \
@@ -210,6 +211,11 @@ task:
       build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
     EOF
 
+  always:
+    abidw_artifacts:
+      path: "build/**/*.abi.xml"
+      type: application/xml
+
   on_failure:
     # if the server continues running, it often causes cirrus-ci to fail
     # during upload, as it doesn't expect artifacts to change size
@@ -322,8 +328,8 @@ task:
     EOF
 
   setup_additional_packages_script: |
-    #apt-get update
-    #DEBIAN_FRONTEND=noninteractive apt-get -y install ...
+    apt-get update
+    DEBIAN_FRONTEND=noninteractive apt-get -y install abigail-tools
 
   matrix:
     - name: Linux - Debian Bullseye - Autoconf
@@ -364,6 +370,7 @@ task:
         su postgres <<-EOF
           meson setup \
             --buildtype=debug \
+            -Dabidiff=enabled -Dabidw=enabled \
             -Dcassert=true \
             ${LINUX_MESON_FEATURES} \
             -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
@@ -377,6 +384,7 @@ task:
           export CC='ccache gcc -m32'
           meson setup \
             --buildtype=debug \
+            -Dabidw=enabled \
             -Dcassert=true \
             ${LINUX_MESON_FEATURES} \
             -Dllvm=disabled \
@@ -409,6 +417,11 @@ task:
           PYTHONCOERCECLOCALE=0 LANG=C meson test $MTEST_ARGS -C build-32 --num-processes ${TEST_JOBS}
         EOF
 
+      always:
+        abidw_artifacts:
+          path: "build/**/*.abi.xml"
+          type: application/xml
+
       on_failure:
         <<: *on_failure_meson
 
diff --git a/meson.build b/meson.build
index 16b2e86646..2803f87002 100644
--- a/meson.build
+++ b/meson.build
@@ -2567,6 +2567,25 @@ endif
 
 
 
+###############################################################
+# abidw/abidiff
+###############################################################
+
+
+abidiff = find_program('abidiff', required: get_option('abidiff'))
+
+abidw = find_program('abidw', required: get_option('abidw'), disabler: true)
+abidw_flags = [
+  '--drop-undefined-syms',
+  '--no-comp-dir-path',
+  '--no-elf-needed',
+  '--no-show-locs',
+  '--type-id-style', 'hash',
+]
+abidw_cmd = [abidw, abidw_flags, '--out-file', '@OUTPUT@', '@INPUT@']
+
+
+
 ###############################################################
 # Build
 ###############################################################
diff --git a/meson_options.txt b/meson_options.txt
index 5b44a8829d..ba65a2cc98 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -73,6 +73,12 @@ option('rpath', type : 'boolean', value: true,
 
 # External dependencies
 
+option('abidiff', type : 'feature', value: 'disabled',
+  description: 'enable abidiff tests')
+
+option('abidw', type : 'feature', value: 'disabled',
+  description: 'build ELF ABI serializations')
+
 option('bonjour', type : 'feature', value: 'auto',
   description: 'build with Bonjour support')
 
diff --git a/src/backend/meson.build b/src/backend/meson.build
index ccfc382fcf..9c29c7ec26 100644
--- a/src/backend/meson.build
+++ b/src/backend/meson.build
@@ -147,6 +147,22 @@ postgres = executable('postgres',
 
 backend_targets += postgres
 
+custom_target('postgres.abi.xml',
+              input: postgres,
+              output: 'postgres.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
+if get_option('abidiff').enabled()
+  test('postgres.abidiff',
+       abidiff,
+       args: ['--no-added-syms',
+              '--suppr', files('postgres.abidiff-suppr.ini'),
+              files('postgres.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              postgres],
+       suite: 'abidiff')
+endif
+
 pg_mod_c_args = cflags_mod
 pg_mod_cpp_args = cxxflags_mod
 pg_mod_link_args = ldflags_sl + ldflags_mod
diff --git a/src/backend/postgres.abidiff-suppr.ini b/src/backend/postgres.abidiff-suppr.ini
new file mode 100644
index 0000000000..8e5eaa26f5
--- /dev/null
+++ b/src/backend/postgres.abidiff-suppr.ini
@@ -0,0 +1,3 @@
+[suppress_file]
+label = remove upon release
+file_name_regexp = ^postgres$
diff --git a/src/backend/postgres.x86_64-linux.abi.xml b/src/backend/postgres.x86_64-linux.abi.xml
new file mode 100644
index 0000000000..93c117e9ef
--- /dev/null
+++ b/src/backend/postgres.x86_64-linux.abi.xml
@@ -0,0 +1,2 @@
+<abi-corpus path='src/backend/postgres' architecture='elf-amd-x86_64'>
+</abi-corpus>
diff --git a/src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml b/src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml
new file mode 100644
index 0000000000..5850b7d90c
--- /dev/null
+++ b/src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml
@@ -0,0 +1,325 @@
+<abi-corpus path='src/interfaces/ecpg/compatlib/libecpg_compat.so.3.16' architecture='elf-amd-x86_64' soname='libecpg_compat.so.3'>
+  <elf-function-symbols>
+    <elf-symbol name='ECPG_informix_get_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPG_informix_reset_sqlca' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPG_informix_set_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='byleng' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decadd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvdbl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvlong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decdiv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decmul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decsub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectoasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectodbl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectolong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtcurrent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtcvasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtcvfmtasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtsub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dttoasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dttofmtasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='intoasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ldchar' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdatestr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdayofweek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdefmtdate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rfmtdate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rfmtlong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rgetmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='risnull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rjulmdy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rmdyjul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rsetnull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rstrdate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtoday' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtypalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtypmsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtypwidth' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rupshift' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/compatlib/informix.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='e7f23298' size-in-bits='240' id='0851116c'>
+      <subrange length='30' type-id='7359adad' id='6a6183a4'/>
+    </array-type-def>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <type-decl name='double' size-in-bits='64' id='a0eb0f08'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <type-decl name='short int' size-in-bits='16' id='a2185560'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='void' id='48b5725f'/>
+    <typedef-decl name='interval' type-id='5a9386a0' id='6d2a6f9d'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='6d2a6f9d' visibility='default' id='5a9386a0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='month' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='int64' type-id='bd54fe1a' id='27dc5d97'/>
+    <typedef-decl name='timestamp' type-id='27dc5d97' id='71758a2c'/>
+    <typedef-decl name='date' type-id='bd54fe1a' id='ee6f28c8'/>
+    <typedef-decl name='decimal' type-id='c956c942' id='4120637b'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='416' is-struct='yes' is-anonymous='yes' naming-typedef-id='4120637b' visibility='default' id='c956c942'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ndigits' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='weight' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sign' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='digits' type-id='0851116c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='NumericDigit' type-id='002ac4a6' id='e7f23298'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <pointer-type-def type-id='ee6f28c8' size-in-bits='64' id='e3d10909'/>
+    <pointer-type-def type-id='4120637b' size-in-bits='64' id='40769792'/>
+    <pointer-type-def type-id='a0eb0f08' size-in-bits='64' id='7408d286'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <pointer-type-def type-id='6d2a6f9d' size-in-bits='64' id='f8b8e016'/>
+    <pointer-type-def type-id='bd54fe1a' size-in-bits='64' id='3ccc2590'/>
+    <pointer-type-def type-id='a2185560' size-in-bits='64' id='764e437e'/>
+    <pointer-type-def type-id='71758a2c' size-in-bits='64' id='0e885d2b'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <function-decl name='risnull' mangled-name='risnull' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='risnull'>
+      <parameter type-id='95e97e5e' name='t'/>
+      <parameter type-id='80f4b756' name='ptr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rsetnull' mangled-name='rsetnull' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rsetnull'>
+      <parameter type-id='95e97e5e' name='t'/>
+      <parameter type-id='26a90f95' name='ptr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='ECPG_informix_reset_sqlca' mangled-name='ECPG_informix_reset_sqlca' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPG_informix_reset_sqlca'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPG_informix_get_var' mangled-name='ECPG_informix_get_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPG_informix_get_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='ECPG_informix_set_var' mangled-name='ECPG_informix_set_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPG_informix_set_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <parameter type-id='eaa32e2f' name='pointer'/>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rtypwidth' mangled-name='rtypwidth' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtypwidth'>
+      <parameter type-id='95e97e5e' name='sqltype'/>
+      <parameter type-id='95e97e5e' name='sqllen'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rtypmsize' mangled-name='rtypmsize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtypmsize'>
+      <parameter type-id='95e97e5e' name='type'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rtypalign' mangled-name='rtypalign' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtypalign'>
+      <parameter type-id='95e97e5e' name='offset'/>
+      <parameter type-id='95e97e5e' name='type'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rgetmsg' mangled-name='rgetmsg' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rgetmsg'>
+      <parameter type-id='95e97e5e' name='msgnum'/>
+      <parameter type-id='26a90f95' name='s'/>
+      <parameter type-id='95e97e5e' name='maxsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='ldchar' mangled-name='ldchar' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ldchar'>
+      <parameter type-id='26a90f95' name='src'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <parameter type-id='26a90f95' name='dest'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='byleng' mangled-name='byleng' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='byleng'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rupshift' mangled-name='rupshift' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rupshift'>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rfmtlong' mangled-name='rfmtlong' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfmtlong'>
+      <parameter type-id='bd54fe1a' name='lng_val'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='26a90f95' name='outbuf'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='intoasc' mangled-name='intoasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='intoasc'>
+      <parameter type-id='f8b8e016' name='i'/>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dttofmtasc' mangled-name='dttofmtasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dttofmtasc'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <parameter type-id='26a90f95' name='output'/>
+      <parameter type-id='95e97e5e' name='str_len'/>
+      <parameter type-id='26a90f95' name='fmtstr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dttoasc' mangled-name='dttoasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dttoasc'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <parameter type-id='26a90f95' name='output'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtsub' mangled-name='dtsub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtsub'>
+      <parameter type-id='0e885d2b' name='ts1'/>
+      <parameter type-id='0e885d2b' name='ts2'/>
+      <parameter type-id='f8b8e016' name='iv'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtcvfmtasc' mangled-name='dtcvfmtasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtcvfmtasc'>
+      <parameter type-id='26a90f95' name='inbuf'/>
+      <parameter type-id='26a90f95' name='fmtstr'/>
+      <parameter type-id='0e885d2b' name='dtvalue'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtcvasc' mangled-name='dtcvasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtcvasc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtcurrent' mangled-name='dtcurrent' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtcurrent'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rdayofweek' mangled-name='rdayofweek' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdayofweek'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rmdyjul' mangled-name='rmdyjul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdyjul'>
+      <parameter type-id='764e437e' name='mdy'/>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rfmtdate' mangled-name='rfmtdate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfmtdate'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rdefmtdate' mangled-name='rdefmtdate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdefmtdate'>
+      <parameter type-id='e3d10909' name='d'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rjulmdy' mangled-name='rjulmdy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rjulmdy'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <parameter type-id='764e437e' name='mdy'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rtoday' mangled-name='rtoday' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtoday'>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rstrdate' mangled-name='rstrdate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rstrdate'>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rdatestr' mangled-name='rdatestr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdatestr'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectolong' mangled-name='dectolong' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectolong'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='3ccc2590' name='lngp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectoint' mangled-name='dectoint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectoint'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='7292109c' name='ip'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectodbl' mangled-name='dectodbl' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectodbl'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='7408d286' name='dblp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectoasc' mangled-name='dectoasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectoasc'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='26a90f95' name='cp'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <parameter type-id='95e97e5e' name='right'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decsub' mangled-name='decsub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decsub'>
+      <parameter type-id='40769792' name='n1'/>
+      <parameter type-id='40769792' name='n2'/>
+      <parameter type-id='40769792' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decmul' mangled-name='decmul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decmul'>
+      <parameter type-id='40769792' name='n1'/>
+      <parameter type-id='40769792' name='n2'/>
+      <parameter type-id='40769792' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decdiv' mangled-name='decdiv' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decdiv'>
+      <parameter type-id='40769792' name='n1'/>
+      <parameter type-id='40769792' name='n2'/>
+      <parameter type-id='40769792' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvlong' mangled-name='deccvlong' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvlong'>
+      <parameter type-id='bd54fe1a' name='lng'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvint' mangled-name='deccvint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvint'>
+      <parameter type-id='95e97e5e' name='in'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvdbl' mangled-name='deccvdbl' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvdbl'>
+      <parameter type-id='a0eb0f08' name='dbl'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvasc' mangled-name='deccvasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvasc'>
+      <parameter type-id='80f4b756' name='cp'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccopy' mangled-name='deccopy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccopy'>
+      <parameter type-id='40769792' name='src'/>
+      <parameter type-id='40769792' name='target'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='deccmp' mangled-name='deccmp' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccmp'>
+      <parameter type-id='40769792' name='arg1'/>
+      <parameter type-id='40769792' name='arg2'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decadd' mangled-name='decadd' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decadd'>
+      <parameter type-id='40769792' name='arg1'/>
+      <parameter type-id='40769792' name='arg2'/>
+      <parameter type-id='40769792' name='sum'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/ecpg/compatlib/meson.build b/src/interfaces/ecpg/compatlib/meson.build
index 16d73db88b..eb5f2a292b 100644
--- a/src/interfaces/ecpg/compatlib/meson.build
+++ b/src/interfaces/ecpg/compatlib/meson.build
@@ -41,6 +41,20 @@ ecpg_compat_so = shared_library('libecpg_compat',
 )
 ecpg_targets += ecpg_compat_so
 
+custom_target('libecpg_compat.abi.xml',
+              input: ecpg_compat_so,
+              output: 'libecpg_compat.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
+if get_option('abidiff').enabled()
+  test('libecpg_compat.abidiff',
+       abidiff,
+       args: [files('libecpg_compat.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              ecpg_compat_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libecpg_compat',
   description: 'PostgreSQL libecpg_compat library',
diff --git a/src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml b/src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml
new file mode 100644
index 0000000000..38dbc32f1c
--- /dev/null
+++ b/src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml
@@ -0,0 +1,482 @@
+<abi-corpus path='src/interfaces/ecpg/ecpglib/libecpg.so.6.16' architecture='elf-amd-x86_64' soname='libecpg.so.6'>
+  <elf-function-symbols>
+    <elf-symbol name='ECPGallocate_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdeallocate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdeallocate_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdeallocate_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdebug' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdescribe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdisconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdo_descriptor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGfree_auto_mem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_PGconn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_desc_header' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_sqlca' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGis_noind_null' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGprepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGprepared_statement' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_desc_header' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_noind_null' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGsetcommit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGsetconn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGstatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGtrans' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGtransactionStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sqlprint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/connect.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='38b51b3c' size-in-bits='832' id='02b72c00'>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='c894953d'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <class-decl name='__locale_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='23de8b96'/>
+    <class-decl name='pg_conn' is-struct='yes' visibility='default' is-declaration-only='yes' id='491f6917'/>
+    <array-type-def dimensions='1' type-id='80f4b756' size-in-bits='832' id='39e6f84a'>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
+    <typedef-decl name='locale_t' type-id='b7ac9b5f' id='973a4f8d'/>
+    <typedef-decl name='__locale_t' type-id='f01e1813' id='b7ac9b5f'/>
+    <class-decl name='__locale_struct' size-in-bits='1856' is-struct='yes' visibility='default' id='90cc1ce3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__locales' type-id='02b72c00' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='__ctype_b' type-id='31347b7a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='__ctype_tolower' type-id='6d60f45d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='__ctype_toupper' type-id='6d60f45d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='__names' type-id='39e6f84a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGconn' type-id='491f6917' id='51b05e3b'/>
+    <pointer-type-def type-id='51b05e3b' size-in-bits='64' id='ec15dfe4'/>
+    <pointer-type-def type-id='23de8b96' size-in-bits='64' id='38b51b3c'/>
+    <pointer-type-def type-id='90cc1ce3' size-in-bits='64' id='f01e1813'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <qualified-type-def type-id='95e97e5e' const='yes' id='2448a865'/>
+    <pointer-type-def type-id='2448a865' size-in-bits='64' id='6d60f45d'/>
+    <qualified-type-def type-id='8efea9e5' const='yes' id='3beb2af4'/>
+    <pointer-type-def type-id='3beb2af4' size-in-bits='64' id='31347b7a'/>
+    <var-decl name='ecpg_clocale' type-id='973a4f8d' visibility='default'/>
+    <function-decl name='ECPGget_PGconn' mangled-name='ECPGget_PGconn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_PGconn'>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='ECPGdisconnect' mangled-name='ECPGdisconnect' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdisconnect'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGconnect' mangled-name='ECPGconnect' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGconnect'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='95e97e5e' name='c'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='95e97e5e' name='autocommit'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGsetconn' mangled-name='ECPGsetconn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGsetconn'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGsetcommit' mangled-name='ECPGsetcommit' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGsetcommit'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='mode'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/descriptor.c' language='LANG_C99'>
+    <type-decl name='variadic parameter type' id='2c1145c5'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <function-decl name='ECPGdescribe' mangled-name='ECPGdescribe' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdescribe'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='95e97e5e' name='compat'/>
+      <parameter type-id='c894953d' name='input'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='stmt_name'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGallocate_desc' mangled-name='ECPGallocate_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGallocate_desc'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGdeallocate_desc' mangled-name='ECPGdeallocate_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdeallocate_desc'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGset_desc' mangled-name='ECPGset_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_desc'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='95e97e5e' name='index'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGset_desc_header' mangled-name='ECPGset_desc_header' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_desc_header'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='95e97e5e' name='count'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGget_desc' mangled-name='ECPGget_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_desc'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='95e97e5e' name='index'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGget_desc_header' mangled-name='ECPGget_desc_header' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_desc_header'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='7292109c' name='count'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/error.c' language='LANG_C99'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='sqlprint' mangled-name='sqlprint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sqlprint'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/execute.c' language='LANG_C99'>
+    <qualified-type-def type-id='c894953d' const='yes' id='4ab96a04'/>
+    <function-decl name='ECPGdo_descriptor' mangled-name='ECPGdo_descriptor' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdo_descriptor'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='80f4b756' name='connection'/>
+      <parameter type-id='80f4b756' name='descriptor'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGdo' mangled-name='ECPGdo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdo'>
+      <parameter type-id='2448a865' name='lineno'/>
+      <parameter type-id='2448a865' name='compat'/>
+      <parameter type-id='2448a865' name='force_indicator'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='4ab96a04' name='questionmarks'/>
+      <parameter type-id='2448a865' name='st'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/memory.c' language='LANG_C99'>
+    <function-decl name='ECPGfree_auto_mem' mangled-name='ECPGfree_auto_mem' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGfree_auto_mem'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/misc.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='1200' id='8ba463b3'>
+      <subrange length='150' type-id='7359adad' id='c75c987b'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='8' id='89feb1ec'>
+      <subrange length='1' type-id='7359adad' id='52f813b4'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='160' id='664ac0b7'>
+      <subrange length='20' type-id='7359adad' id='fdca39cf'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='40' id='4a08da88'>
+      <subrange length='5' type-id='7359adad' id='53010e10'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='64' id='8e100159'>
+      <subrange length='8' type-id='7359adad' id='56e0c0b1'/>
+    </array-type-def>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <array-type-def dimensions='1' type-id='bd54fe1a' size-in-bits='384' id='613ff906'>
+      <subrange length='6' type-id='7359adad' id='52fa524b'/>
+    </array-type-def>
+    <type-decl name='signed char' size-in-bits='8' id='28577a57'/>
+    <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
+    <class-decl name='var_list' size-in-bits='192' is-struct='yes' visibility='default' id='60257153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='number' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pointer' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='c181a543' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ECPGttype' id='acb9f267'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ECPGt_char' value='1'/>
+      <enumerator name='ECPGt_unsigned_char' value='2'/>
+      <enumerator name='ECPGt_short' value='3'/>
+      <enumerator name='ECPGt_unsigned_short' value='4'/>
+      <enumerator name='ECPGt_int' value='5'/>
+      <enumerator name='ECPGt_unsigned_int' value='6'/>
+      <enumerator name='ECPGt_long' value='7'/>
+      <enumerator name='ECPGt_unsigned_long' value='8'/>
+      <enumerator name='ECPGt_long_long' value='9'/>
+      <enumerator name='ECPGt_unsigned_long_long' value='10'/>
+      <enumerator name='ECPGt_bool' value='11'/>
+      <enumerator name='ECPGt_float' value='12'/>
+      <enumerator name='ECPGt_double' value='13'/>
+      <enumerator name='ECPGt_varchar' value='14'/>
+      <enumerator name='ECPGt_varchar2' value='15'/>
+      <enumerator name='ECPGt_numeric' value='16'/>
+      <enumerator name='ECPGt_decimal' value='17'/>
+      <enumerator name='ECPGt_date' value='18'/>
+      <enumerator name='ECPGt_timestamp' value='19'/>
+      <enumerator name='ECPGt_interval' value='20'/>
+      <enumerator name='ECPGt_array' value='21'/>
+      <enumerator name='ECPGt_struct' value='22'/>
+      <enumerator name='ECPGt_union' value='23'/>
+      <enumerator name='ECPGt_descriptor' value='24'/>
+      <enumerator name='ECPGt_char_variable' value='25'/>
+      <enumerator name='ECPGt_const' value='26'/>
+      <enumerator name='ECPGt_EOIT' value='27'/>
+      <enumerator name='ECPGt_EORT' value='28'/>
+      <enumerator name='ECPGt_NO_INDICATOR' value='29'/>
+      <enumerator name='ECPGt_string' value='30'/>
+      <enumerator name='ECPGt_sqlda' value='31'/>
+      <enumerator name='ECPGt_bytea' value='32'/>
+    </enum-decl>
+    <typedef-decl name='FILE' type-id='ec1ed955' id='aa12d1ba'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='e4c6fa61' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='79989e9c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='8efea9e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='28577a57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='cecf4ea7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='724e4de6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='570f8c59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='c65a1f29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__off_t' type-id='bd54fe1a' id='79989e9c'/>
+    <typedef-decl name='_IO_lock_t' type-id='48b5725f' id='bb4788fa'/>
+    <typedef-decl name='__off64_t' type-id='bd54fe1a' id='724e4de6'/>
+    <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
+    <typedef-decl name='PGTransactionStatusType' type-id='08f5ca17' id='280022c9'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca17'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQTRANS_IDLE' value='0'/>
+      <enumerator name='PQTRANS_ACTIVE' value='1'/>
+      <enumerator name='PQTRANS_INTRANS' value='2'/>
+      <enumerator name='PQTRANS_INERROR' value='3'/>
+      <enumerator name='PQTRANS_UNKNOWN' value='4'/>
+    </enum-decl>
+    <class-decl name='sqlca_t' size-in-bits='2048' is-struct='yes' visibility='default' id='80bcc684'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sqlcaid' type-id='8e100159' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sqlabc' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sqlcode' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='sqlerrm' type-id='568eb3f1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1440'>
+        <var-decl name='sqlerrp' type-id='8e100159' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='sqlerrd' type-id='613ff906' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='sqlwarn' type-id='8e100159' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='sqlstate' type-id='4a08da88' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='1248' is-struct='yes' is-anonymous='yes' visibility='default' id='568eb3f1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sqlerrml' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sqlerrmc' type-id='8ba463b3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
+    <pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
+    <pointer-type-def type-id='a4036571' size-in-bits='64' id='570f8c59'/>
+    <pointer-type-def type-id='bb4788fa' size-in-bits='64' id='cecf4ea7'/>
+    <pointer-type-def type-id='010ae0b9' size-in-bits='64' id='e4c6fa61'/>
+    <pointer-type-def type-id='79bd3751' size-in-bits='64' id='c65a1f29'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <pointer-type-def type-id='80bcc684' size-in-bits='64' id='43f96bf2'/>
+    <pointer-type-def type-id='60257153' size-in-bits='64' id='c181a543'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <var-decl name='ecpg_internal_regression_mode' type-id='c894953d' visibility='default'/>
+    <var-decl name='ivlist' type-id='c181a543' visibility='default'/>
+    <function-decl name='ECPGget_var' mangled-name='ECPGget_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='ECPGset_var' mangled-name='ECPGset_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <parameter type-id='eaa32e2f' name='pointer'/>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPGis_noind_null' mangled-name='ECPGis_noind_null' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGis_noind_null'>
+      <parameter type-id='acb9f267' name='type'/>
+      <parameter type-id='eaa32e2f' name='ptr'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGset_noind_null' mangled-name='ECPGset_noind_null' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_noind_null'>
+      <parameter type-id='acb9f267' name='type'/>
+      <parameter type-id='eaa32e2f' name='ptr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPGdebug' mangled-name='ECPGdebug' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdebug'>
+      <parameter type-id='95e97e5e' name='n'/>
+      <parameter type-id='822cd80b' name='dbgs'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPGtrans' mangled-name='ECPGtrans' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGtrans'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='transaction'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGtransactionStatus' mangled-name='ECPGtransactionStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGtransactionStatus'>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='280022c9'/>
+    </function-decl>
+    <function-decl name='ECPGstatus' mangled-name='ECPGstatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGstatus'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGget_sqlca' mangled-name='ECPGget_sqlca' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_sqlca'>
+      <return type-id='43f96bf2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/prepare.c' language='LANG_C99'>
+    <function-decl name='ECPGprepared_statement' mangled-name='ECPGprepared_statement' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGprepared_statement'>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='ECPGdeallocate_all' mangled-name='ECPGdeallocate_all' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdeallocate_all'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='95e97e5e' name='compat'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGdeallocate' mangled-name='ECPGdeallocate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdeallocate'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='95e97e5e' name='c'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGprepare' mangled-name='ECPGprepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGprepare'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='4ab96a04' name='questionmarks'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='80f4b756' name='variable'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/ecpg/ecpglib/meson.build b/src/interfaces/ecpg/ecpglib/meson.build
index da8d304f54..894a9f3c42 100644
--- a/src/interfaces/ecpg/ecpglib/meson.build
+++ b/src/interfaces/ecpg/ecpglib/meson.build
@@ -52,6 +52,20 @@ ecpglib_so = shared_library('libecpg',
 )
 ecpg_targets += ecpglib_so
 
+custom_target('libecpg.abi.xml',
+              input: ecpglib_so,
+              output: 'libecpg.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
+if get_option('abidiff').enabled()
+  test('libecpg.abidiff',
+       abidiff,
+       args: [files('libecpg.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              ecpglib_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libecpg',
   description: 'PostgreSQL libecpg library',
diff --git a/src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml b/src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml
new file mode 100644
index 0000000000..934ad2d62e
--- /dev/null
+++ b/src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml
@@ -0,0 +1,392 @@
+<abi-corpus path='src/interfaces/ecpg/pgtypeslib/libpgtypes.so.3.16' architecture='elf-amd-x86_64' soname='libpgtypes.so.3'>
+  <elf-function-symbols>
+    <elf-symbol name='PGTYPESchar_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_dayofweek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_defmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_fmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_from_timestamp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_julmdy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_mdyjul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_today' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdecimal_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdecimal_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_cmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_div' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_decimal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_long' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_mul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_decimal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_long' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_add_interval' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_current' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_defmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_defmt_scan' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_fmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_sub_interval' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/common.c' language='LANG_C99'>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <type-decl name='void' id='48b5725f'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <function-decl name='PGTYPESchar_free' mangled-name='PGTYPESchar_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESchar_free'>
+      <parameter type-id='26a90f95' name='ptr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/datetime.c' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <typedef-decl name='date' type-id='bd54fe1a' id='ee6f28c8'/>
+    <typedef-decl name='timestamp' type-id='27dc5d97' id='71758a2c'/>
+    <typedef-decl name='int64' type-id='bd54fe1a' id='27dc5d97'/>
+    <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <pointer-type-def type-id='ee6f28c8' size-in-bits='64' id='e3d10909'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <function-decl name='PGTYPESdate_defmt_asc' mangled-name='PGTYPESdate_defmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_defmt_asc'>
+      <parameter type-id='e3d10909' name='d'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_fmt_asc' mangled-name='PGTYPESdate_fmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_fmt_asc'>
+      <parameter type-id='ee6f28c8' name='dDate'/>
+      <parameter type-id='80f4b756' name='fmtstring'/>
+      <parameter type-id='26a90f95' name='outbuf'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_today' mangled-name='PGTYPESdate_today' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_today'>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_dayofweek' mangled-name='PGTYPESdate_dayofweek' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_dayofweek'>
+      <parameter type-id='ee6f28c8' name='dDate'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_mdyjul' mangled-name='PGTYPESdate_mdyjul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_mdyjul'>
+      <parameter type-id='7292109c' name='mdy'/>
+      <parameter type-id='e3d10909' name='jdate'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_julmdy' mangled-name='PGTYPESdate_julmdy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_julmdy'>
+      <parameter type-id='ee6f28c8' name='jd'/>
+      <parameter type-id='7292109c' name='mdy'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_to_asc' mangled-name='PGTYPESdate_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_to_asc'>
+      <parameter type-id='ee6f28c8' name='dDate'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_from_asc' mangled-name='PGTYPESdate_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='ee6f28c8'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_from_timestamp' mangled-name='PGTYPESdate_from_timestamp' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_from_timestamp'>
+      <parameter type-id='71758a2c' name='dt'/>
+      <return type-id='ee6f28c8'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_free' mangled-name='PGTYPESdate_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_free'>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_new' mangled-name='PGTYPESdate_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_new'>
+      <return type-id='e3d10909'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/dt_common.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='26a90f95' size-in-bits='832' id='c8886dd1'>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='26a90f95' size-in-bits='512' id='460b55b1'>
+      <subrange length='8' type-id='7359adad' id='56e0c0b1'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='26a90f95' size-in-bits='infinite' id='ed7b5735'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='2' type-id='2448a865' size-in-bits='832' id='427248b3'>
+      <subrange length='2' type-id='7359adad' id='52efc4ef'/>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <qualified-type-def type-id='95e97e5e' const='yes' id='2448a865'/>
+    <pointer-type-def type-id='71758a2c' size-in-bits='64' id='0e885d2b'/>
+    <var-decl name='day_tab' type-id='427248b3' visibility='default'/>
+    <var-decl name='months' type-id='ed7b5735' visibility='default'/>
+    <var-decl name='days' type-id='ed7b5735' visibility='default'/>
+    <var-decl name='pgtypes_date_weekdays_short' type-id='ed7b5735' visibility='default'/>
+    <var-decl name='pgtypes_date_months' type-id='ed7b5735' visibility='default'/>
+    <function-decl name='PGTYPEStimestamp_defmt_scan' mangled-name='PGTYPEStimestamp_defmt_scan' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_defmt_scan'>
+      <parameter type-id='9b23c9ad' name='str'/>
+      <parameter type-id='26a90f95' name='fmt'/>
+      <parameter type-id='0e885d2b' name='d'/>
+      <parameter type-id='7292109c' name='year'/>
+      <parameter type-id='7292109c' name='month'/>
+      <parameter type-id='7292109c' name='day'/>
+      <parameter type-id='7292109c' name='hour'/>
+      <parameter type-id='7292109c' name='minute'/>
+      <parameter type-id='7292109c' name='second'/>
+      <parameter type-id='7292109c' name='tz'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/interval.c' language='LANG_C99'>
+    <typedef-decl name='interval' type-id='5a9386a0' id='6d2a6f9d'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='6d2a6f9d' visibility='default' id='5a9386a0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='month' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='6d2a6f9d' size-in-bits='64' id='f8b8e016'/>
+    <function-decl name='PGTYPESinterval_copy' mangled-name='PGTYPESinterval_copy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_copy'>
+      <parameter type-id='f8b8e016' name='intvlsrc'/>
+      <parameter type-id='f8b8e016' name='intvldest'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_to_asc' mangled-name='PGTYPESinterval_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_to_asc'>
+      <parameter type-id='f8b8e016' name='span'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_from_asc' mangled-name='PGTYPESinterval_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='f8b8e016'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_free' mangled-name='PGTYPESinterval_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_free'>
+      <parameter type-id='f8b8e016' name='intvl'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_new' mangled-name='PGTYPESinterval_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_new'>
+      <return type-id='f8b8e016'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/numeric.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='e7f23298' size-in-bits='240' id='0851116c'>
+      <subrange length='30' type-id='7359adad' id='6a6183a4'/>
+    </array-type-def>
+    <type-decl name='double' size-in-bits='64' id='a0eb0f08'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <typedef-decl name='decimal' type-id='c956c942' id='4120637b'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='416' is-struct='yes' is-anonymous='yes' naming-typedef-id='4120637b' visibility='default' id='c956c942'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ndigits' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='weight' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sign' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='digits' type-id='0851116c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='NumericDigit' type-id='002ac4a6' id='e7f23298'/>
+    <typedef-decl name='numeric' type-id='e0002629' id='3c20c58f'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' naming-typedef-id='3c20c58f' visibility='default' id='e0002629'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ndigits' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='weight' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sign' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='buf' type-id='09248375' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='digits' type-id='09248375' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='e7f23298' size-in-bits='64' id='09248375'/>
+    <pointer-type-def type-id='4120637b' size-in-bits='64' id='40769792'/>
+    <pointer-type-def type-id='a0eb0f08' size-in-bits='64' id='7408d286'/>
+    <pointer-type-def type-id='bd54fe1a' size-in-bits='64' id='3ccc2590'/>
+    <pointer-type-def type-id='3c20c58f' size-in-bits='64' id='816a93e6'/>
+    <function-decl name='PGTYPESnumeric_from_decimal' mangled-name='PGTYPESnumeric_from_decimal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_decimal'>
+      <parameter type-id='40769792' name='src'/>
+      <parameter type-id='816a93e6' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_decimal' mangled-name='PGTYPESnumeric_to_decimal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_decimal'>
+      <parameter type-id='816a93e6' name='src'/>
+      <parameter type-id='40769792' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_long' mangled-name='PGTYPESnumeric_to_long' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_long'>
+      <parameter type-id='816a93e6' name='nv'/>
+      <parameter type-id='3ccc2590' name='lp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_int' mangled-name='PGTYPESnumeric_to_int' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_int'>
+      <parameter type-id='816a93e6' name='nv'/>
+      <parameter type-id='7292109c' name='ip'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_double' mangled-name='PGTYPESnumeric_to_double' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_double'>
+      <parameter type-id='816a93e6' name='nv'/>
+      <parameter type-id='7408d286' name='dp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_double' mangled-name='PGTYPESnumeric_from_double' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_double'>
+      <parameter type-id='a0eb0f08' name='d'/>
+      <parameter type-id='816a93e6' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_copy' mangled-name='PGTYPESnumeric_copy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_copy'>
+      <parameter type-id='816a93e6' name='src'/>
+      <parameter type-id='816a93e6' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_long' mangled-name='PGTYPESnumeric_from_long' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_long'>
+      <parameter type-id='bd54fe1a' name='long_val'/>
+      <parameter type-id='816a93e6' name='var'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_int' mangled-name='PGTYPESnumeric_from_int' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_int'>
+      <parameter type-id='95e97e5e' name='int_val'/>
+      <parameter type-id='816a93e6' name='var'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_cmp' mangled-name='PGTYPESnumeric_cmp' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_cmp'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_div' mangled-name='PGTYPESnumeric_div' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_div'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_mul' mangled-name='PGTYPESnumeric_mul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_mul'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_sub' mangled-name='PGTYPESnumeric_sub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_sub'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_add' mangled-name='PGTYPESnumeric_add' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_add'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdecimal_free' mangled-name='PGTYPESdecimal_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdecimal_free'>
+      <parameter type-id='40769792' name='var'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_free' mangled-name='PGTYPESnumeric_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_free'>
+      <parameter type-id='816a93e6' name='var'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_asc' mangled-name='PGTYPESnumeric_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_asc'>
+      <parameter type-id='816a93e6' name='num'/>
+      <parameter type-id='95e97e5e' name='dscale'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_asc' mangled-name='PGTYPESnumeric_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='816a93e6'/>
+    </function-decl>
+    <function-decl name='PGTYPESdecimal_new' mangled-name='PGTYPESdecimal_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdecimal_new'>
+      <return type-id='40769792'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_new' mangled-name='PGTYPESnumeric_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_new'>
+      <return type-id='816a93e6'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/timestamp.c' language='LANG_C99'>
+    <function-decl name='PGTYPEStimestamp_sub_interval' mangled-name='PGTYPEStimestamp_sub_interval' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_sub_interval'>
+      <parameter type-id='0e885d2b' name='tin'/>
+      <parameter type-id='f8b8e016' name='span'/>
+      <parameter type-id='0e885d2b' name='tout'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_add_interval' mangled-name='PGTYPEStimestamp_add_interval' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_add_interval'>
+      <parameter type-id='0e885d2b' name='tin'/>
+      <parameter type-id='f8b8e016' name='span'/>
+      <parameter type-id='0e885d2b' name='tout'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_defmt_asc' mangled-name='PGTYPEStimestamp_defmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_defmt_asc'>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='0e885d2b' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_sub' mangled-name='PGTYPEStimestamp_sub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_sub'>
+      <parameter type-id='0e885d2b' name='ts1'/>
+      <parameter type-id='0e885d2b' name='ts2'/>
+      <parameter type-id='f8b8e016' name='iv'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_fmt_asc' mangled-name='PGTYPEStimestamp_fmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_fmt_asc'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <parameter type-id='26a90f95' name='output'/>
+      <parameter type-id='95e97e5e' name='str_len'/>
+      <parameter type-id='80f4b756' name='fmtstr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_current' mangled-name='PGTYPEStimestamp_current' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_current'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_to_asc' mangled-name='PGTYPEStimestamp_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_to_asc'>
+      <parameter type-id='71758a2c' name='tstamp'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_from_asc' mangled-name='PGTYPEStimestamp_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='71758a2c'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/ecpg/pgtypeslib/meson.build b/src/interfaces/ecpg/pgtypeslib/meson.build
index f177dd35a9..967b55c729 100644
--- a/src/interfaces/ecpg/pgtypeslib/meson.build
+++ b/src/interfaces/ecpg/pgtypeslib/meson.build
@@ -46,6 +46,20 @@ ecpg_pgtypes_so = shared_library('libpgtypes',
 )
 ecpg_targets += ecpg_pgtypes_so
 
+custom_target('libpgtypes.abi.xml',
+              input: ecpg_pgtypes_so,
+              output: 'libpgtypes.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
+if get_option('abidiff').enabled()
+  test('libpgtypes.abidiff',
+       abidiff,
+       args: [files('libpgtypes.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              ecpg_pgtypes_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libpgtypes',
   description: 'PostgreSQL libpgtypes library',
diff --git a/src/interfaces/libpq/libpq.x86_64-linux.abi.xml b/src/interfaces/libpq/libpq.x86_64-linux.abi.xml
new file mode 100644
index 0000000000..fff89465c7
--- /dev/null
+++ b/src/interfaces/libpq/libpq.x86_64-linux.abi.xml
@@ -0,0 +1,2634 @@
+<abi-corpus path='src/interfaces/libpq/libpq.so.5.16' architecture='elf-amd-x86_64' soname='libpq.so.5'>
+  <elf-function-symbols>
+    <elf-symbol name='PQbackendPID' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQbinaryTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclientEncoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcmdStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcmdTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconndefaults' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectPoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectStart' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectStartParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectdb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectdbParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionNeedsPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionUsedGSSAPI' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionUsedPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfoFree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfoParse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconsumeInput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcopyResult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdefaultSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdescribePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdescribePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdisplayTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdsplen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQencryptPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQencryptPasswordConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQendcopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQenterPipelineMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQenv2encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQerrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeBytea' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeByteaConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeIdentifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeLiteral' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeString' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeStringConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexecParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexecPrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexitPipelineMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfformat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfinish' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfireResultCreateEvents' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfmod' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfnumber' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreeCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreeNotify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreemem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftablecol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetCopyData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetResult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetgssctx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetisnull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetlength' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetlineAsync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetssl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetvalue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgssEncInUse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQhost' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQhostaddr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinitOpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinitSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisBusy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisnonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisthreadsafe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmakeEmptyPGresult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmblen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmblenBounded' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnfields' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnotifies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQntuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoidStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoidValue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoptions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQparameterStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQparamtype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpass' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpingParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpipelineStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpipelineSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQport' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprintTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprotocolVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputCopyData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputCopyEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputnbytes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQregisterEventProc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQregisterThreadLock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQrequestCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQreset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresetPoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresetStart' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultAlloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultErrorField' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultErrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultMemorySize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultSetInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultVerboseErrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendDescribePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendDescribePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendFlushRequest' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendPrepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQuery' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQueryParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQueryPrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQserverVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetClientEncoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetErrorContextVisibility' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetErrorVerbosity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetNoticeProcessor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetNoticeReceiver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetResultAttrs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetSingleRowMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetTraceFlags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetdbLogin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetnonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetvalue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsocket' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslAttribute' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslAttributeNames' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslInUse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslStruct' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQstatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtransactionStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQunescapeBytea' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQuntrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQuser' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendBinaryPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBufferChar' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBufferStr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='createPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='destroyPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='enlargePQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='initPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_creat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_export' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_import' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_import_with_oid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_lseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_lseek64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_tell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_tell64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_truncate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_truncate64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_unlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_char_to_encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_encoding_to_char' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_utf_mblen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_valid_server_encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_valid_server_encoding_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pqsignal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='printfPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='resetPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='termPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='pgresStatus' size='96' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/common/encnames.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='5376' id='752c85d9'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='infinite' id='ac835593'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='5376' id='728d2ee1'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='infinite' id='a01b33bb'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <typedef-decl name='pg_enc2name' type-id='79f06fd8' id='7a4268c7'/>
+    <class-decl name='pg_enc2name' size-in-bits='128' is-struct='yes' visibility='default' id='79f06fd8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='encoding' type-id='66325df6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_enc' type-id='ea65169a' id='66325df6'/>
+    <enum-decl name='pg_enc' id='ea65169a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PG_SQL_ASCII' value='0'/>
+      <enumerator name='PG_EUC_JP' value='1'/>
+      <enumerator name='PG_EUC_CN' value='2'/>
+      <enumerator name='PG_EUC_KR' value='3'/>
+      <enumerator name='PG_EUC_TW' value='4'/>
+      <enumerator name='PG_EUC_JIS_2004' value='5'/>
+      <enumerator name='PG_UTF8' value='6'/>
+      <enumerator name='PG_MULE_INTERNAL' value='7'/>
+      <enumerator name='PG_LATIN1' value='8'/>
+      <enumerator name='PG_LATIN2' value='9'/>
+      <enumerator name='PG_LATIN3' value='10'/>
+      <enumerator name='PG_LATIN4' value='11'/>
+      <enumerator name='PG_LATIN5' value='12'/>
+      <enumerator name='PG_LATIN6' value='13'/>
+      <enumerator name='PG_LATIN7' value='14'/>
+      <enumerator name='PG_LATIN8' value='15'/>
+      <enumerator name='PG_LATIN9' value='16'/>
+      <enumerator name='PG_LATIN10' value='17'/>
+      <enumerator name='PG_WIN1256' value='18'/>
+      <enumerator name='PG_WIN1258' value='19'/>
+      <enumerator name='PG_WIN866' value='20'/>
+      <enumerator name='PG_WIN874' value='21'/>
+      <enumerator name='PG_KOI8R' value='22'/>
+      <enumerator name='PG_WIN1251' value='23'/>
+      <enumerator name='PG_WIN1252' value='24'/>
+      <enumerator name='PG_ISO_8859_5' value='25'/>
+      <enumerator name='PG_ISO_8859_6' value='26'/>
+      <enumerator name='PG_ISO_8859_7' value='27'/>
+      <enumerator name='PG_ISO_8859_8' value='28'/>
+      <enumerator name='PG_WIN1250' value='29'/>
+      <enumerator name='PG_WIN1253' value='30'/>
+      <enumerator name='PG_WIN1254' value='31'/>
+      <enumerator name='PG_WIN1255' value='32'/>
+      <enumerator name='PG_WIN1257' value='33'/>
+      <enumerator name='PG_KOI8U' value='34'/>
+      <enumerator name='PG_SJIS' value='35'/>
+      <enumerator name='PG_BIG5' value='36'/>
+      <enumerator name='PG_GBK' value='37'/>
+      <enumerator name='PG_UHC' value='38'/>
+      <enumerator name='PG_GB18030' value='39'/>
+      <enumerator name='PG_JOHAB' value='40'/>
+      <enumerator name='PG_SHIFT_JIS_2004' value='41'/>
+      <enumerator name='_PG_LAST_ENCODING_' value='42'/>
+    </enum-decl>
+    <typedef-decl name='pg_enc2gettext' type-id='6257fe06' id='61c38b7f'/>
+    <class-decl name='pg_enc2gettext' size-in-bits='128' is-struct='yes' visibility='default' id='6257fe06'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='encoding' type-id='66325df6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='61c38b7f' const='yes' id='c8dedbef'/>
+    <qualified-type-def type-id='7a4268c7' const='yes' id='56ef96d7'/>
+    <var-decl name='pg_enc2name_tbl' type-id='a01b33bb' visibility='default'/>
+    <var-decl name='pg_enc2gettext_tbl' type-id='ac835593' visibility='default'/>
+    <function-decl name='pg_encoding_to_char' mangled-name='pg_encoding_to_char' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_encoding_to_char'>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='pg_char_to_encoding' mangled-name='pg_char_to_encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_char_to_encoding'>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='pg_valid_server_encoding_id' mangled-name='pg_valid_server_encoding_id' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_valid_server_encoding_id'>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='pg_valid_server_encoding' mangled-name='pg_valid_server_encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_valid_server_encoding'>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/common/pg_prng.c' language='LANG_C99'>
+    <var-decl name='pg_global_prng_state' type-id='db52f759' visibility='default'/>
+    <typedef-decl name='pg_prng_state' type-id='4bc32f5a' id='db52f759'/>
+    <class-decl name='pg_prng_state' size-in-bits='128' is-struct='yes' visibility='default' id='4bc32f5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s0' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='s1' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/common/wchar.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='2eb933aa' size-in-bits='18816' id='f73e14c8'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='2eb933aa' size-in-bits='infinite' id='7598ed9a'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <typedef-decl name='pg_wchar_tbl' type-id='2832bee7' id='4b73dd9a'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' naming-typedef-id='4b73dd9a' visibility='default' id='2832bee7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mb2wchar_with_len' type-id='45ccecaa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wchar2mb_with_len' type-id='d418da4c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mblen' type-id='62162475' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dsplen' type-id='ba643f05' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mbverifychar' type-id='357adbda' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mbverifystr' type-id='69a9e845' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='maxmblen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mb2wchar_with_len_converter' type-id='94c68999' id='45ccecaa'/>
+    <typedef-decl name='pg_wchar' type-id='f0981eeb' id='69e7d197'/>
+    <typedef-decl name='wchar2mb_with_len_converter' type-id='a8ce94cb' id='d418da4c'/>
+    <typedef-decl name='mblen_converter' type-id='ea6d1a71' id='62162475'/>
+    <typedef-decl name='mbdisplaylen_converter' type-id='ea6d1a71' id='ba643f05'/>
+    <typedef-decl name='mbchar_verifier' type-id='e164bb78' id='357adbda'/>
+    <typedef-decl name='mbstr_verifier' type-id='e164bb78' id='69a9e845'/>
+    <qualified-type-def type-id='69e7d197' const='yes' id='3073fb67'/>
+    <pointer-type-def type-id='3073fb67' size-in-bits='64' id='93949a37'/>
+    <qualified-type-def type-id='4b73dd9a' const='yes' id='2eb933aa'/>
+    <pointer-type-def type-id='404f73b7' size-in-bits='64' id='a8ce94cb'/>
+    <pointer-type-def type-id='343b086d' size-in-bits='64' id='ea6d1a71'/>
+    <pointer-type-def type-id='67c02f4e' size-in-bits='64' id='e164bb78'/>
+    <pointer-type-def type-id='18f2237d' size-in-bits='64' id='94c68999'/>
+    <pointer-type-def type-id='69e7d197' size-in-bits='64' id='37422e90'/>
+    <var-decl name='pg_wchar_table' type-id='7598ed9a' visibility='default'/>
+    <function-decl name='pg_utf_mblen' mangled-name='pg_utf_mblen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_utf_mblen'>
+      <parameter type-id='354f7eb9' name='s'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <pointer-type-def type-id='ea86de29' size-in-bits='64' id='354f7eb9'/>
+    <function-type size-in-bits='64' id='404f73b7'>
+      <parameter type-id='93949a37'/>
+      <parameter type-id='cf536864'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='343b086d'>
+      <parameter type-id='354f7eb9'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='67c02f4e'>
+      <parameter type-id='354f7eb9'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='18f2237d'>
+      <parameter type-id='354f7eb9'/>
+      <parameter type-id='37422e90'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <qualified-type-def type-id='002ac4a6' const='yes' id='ea86de29'/>
+    <pointer-type-def type-id='002ac4a6' size-in-bits='64' id='cf536864'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-auth-scram.c' language='LANG_C99'>
+    <type-decl name='bool' size-in-bits='8' id='c894953d'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='944' id='d8449f07'>
+      <subrange length='118' type-id='7359adad' id='d3d55f9f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='8' id='89feb1ec'>
+      <subrange length='1' type-id='7359adad' id='52f813b4'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='160' id='664ac0b7'>
+      <subrange length='20' type-id='7359adad' id='fdca39cf'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='512' id='59daf3ef'>
+      <subrange length='64' type-id='7359adad' id='b10be967'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='48' id='4a008bc3'>
+      <subrange length='6' type-id='7359adad' id='52fa524b'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='infinite' id='e84913bd'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
+    <class-decl name='engine_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='36ec5173'/>
+    <class-decl name='gss_cred_id_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='3fdd6c45'/>
+    <class-decl name='gss_ctx_id_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='9ee227fe'/>
+    <class-decl name='gss_name_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='a8e0a566'/>
+    <class-decl name='ssl_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='64a5a649'/>
+    <class-decl name='x509_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='704a7505'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <type-decl name='signed char' size-in-bits='8' id='28577a57'/>
+    <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
+    <type-decl name='void' id='48b5725f'/>
+    <class-decl name='pg_fe_sasl_mech' size-in-bits='256' is-struct='yes' visibility='default' id='f3f3632a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='init' type-id='4196f317' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='exchange' type-id='fe1afc54' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='channel_bound' type-id='0bec2760' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='b7f9d8e6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGconn' type-id='491f6917' id='51b05e3b'/>
+    <class-decl name='pg_conn' size-in-bits='9536' is-struct='yes' visibility='default' id='491f6917'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pghost' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pghostaddr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pgport' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='connect_timeout' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='pgtcp_user_timeout' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='client_encoding_initial' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='pgoptions' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='appname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='fbappname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dbName' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='replication' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='pguser' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='pgpass' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='pgpassfile' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='channel_binding' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='keepalives' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='keepalives_idle' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='keepalives_interval' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='keepalives_count' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='sslmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='sslcompression' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='sslkey' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='sslcert' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='sslpassword' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='sslcertmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='sslrootcert' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='sslcrl' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='sslcrldir' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='sslsni' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='requirepeer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='gssencmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='krbsrvname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gsslib' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='gssdelegation' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='ssl_min_protocol_version' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='ssl_max_protocol_version' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='target_session_attrs' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='require_auth' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='load_balance_hosts' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='Pfdebug' type-id='822cd80b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='traceFlags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='noticeHooks' type-id='76336d7b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='events' type-id='2f038e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='nEvents' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2976'>
+        <var-decl name='eventArraySize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='status' type-id='0b876eb4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3040'>
+        <var-decl name='asyncStatus' type-id='4847ce6d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='xactStatus' type-id='280022c9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3104'>
+        <var-decl name='last_sqlstate' type-id='4a008bc3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3152'>
+        <var-decl name='options_valid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3160'>
+        <var-decl name='nonblocking' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3168'>
+        <var-decl name='pipelineStatus' type-id='7691cfc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='singleRowMode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3208'>
+        <var-decl name='copy_is_binary' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3232'>
+        <var-decl name='copy_already_done' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='notifyHead' type-id='ecf4f711' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='notifyTail' type-id='ecf4f711' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='nconnhost' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3424'>
+        <var-decl name='whichhost' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='connhost' type-id='ee46afa8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='connip' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='cmd_queue_head' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='cmd_queue_tail' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='cmd_queue_recycle' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='sock' type-id='f5001928' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='laddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='raddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6016'>
+        <var-decl name='pversion' type-id='812180e4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6048'>
+        <var-decl name='sversion' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6080'>
+        <var-decl name='auth_req_received' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6088'>
+        <var-decl name='password_needed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6096'>
+        <var-decl name='gssapi_used' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6104'>
+        <var-decl name='sigpipe_so' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6112'>
+        <var-decl name='sigpipe_flag' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6120'>
+        <var-decl name='write_failed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='write_err_msg' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='auth_required' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6240'>
+        <var-decl name='allowed_auth_methods' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='client_finished_auth' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6304'>
+        <var-decl name='target_server_type' type-id='6a71e347' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='load_balance_type' type-id='05687e13' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6368'>
+        <var-decl name='try_next_addr' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6376'>
+        <var-decl name='try_next_host' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='naddr' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='whichaddr' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='addr' type-id='abeb6880' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6528'>
+        <var-decl name='send_appname' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6560'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6592'>
+        <var-decl name='be_key' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6656'>
+        <var-decl name='pstatus' type-id='6ac21be1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='client_encoding' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6752'>
+        <var-decl name='std_strings' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6784'>
+        <var-decl name='default_transaction_read_only' type-id='cd92c2cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6816'>
+        <var-decl name='in_hot_standby' type-id='cd92c2cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6848'>
+        <var-decl name='verbosity' type-id='602f6566' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6880'>
+        <var-decl name='show_context' type-id='0534f30c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6912'>
+        <var-decl name='lobjfuncs' type-id='35ec5596' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6976'>
+        <var-decl name='prng_state' type-id='db52f759' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7104'>
+        <var-decl name='inBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7168'>
+        <var-decl name='inBufSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7200'>
+        <var-decl name='inStart' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7232'>
+        <var-decl name='inCursor' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7264'>
+        <var-decl name='inEnd' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7296'>
+        <var-decl name='outBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7360'>
+        <var-decl name='outBufSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7392'>
+        <var-decl name='outCount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7424'>
+        <var-decl name='outMsgStart' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7456'>
+        <var-decl name='outMsgEnd' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7488'>
+        <var-decl name='rowBuf' type-id='af5f5041' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7552'>
+        <var-decl name='rowBufLen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7616'>
+        <var-decl name='result' type-id='15e678b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7680'>
+        <var-decl name='error_result' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7744'>
+        <var-decl name='next_result' type-id='15e678b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7808'>
+        <var-decl name='sasl' type-id='3a81f511' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7872'>
+        <var-decl name='sasl_state' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7936'>
+        <var-decl name='scram_sha_256_iterations' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7968'>
+        <var-decl name='ssl_in_use' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7976'>
+        <var-decl name='ssl_cert_requested' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7984'>
+        <var-decl name='ssl_cert_sent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7992'>
+        <var-decl name='allow_ssl_try' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8000'>
+        <var-decl name='wait_ssl_try' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8064'>
+        <var-decl name='ssl' type-id='1e269bf5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8128'>
+        <var-decl name='peer' type-id='02f57381' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='engine' type-id='827f5e03' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='crypto_loaded' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8320'>
+        <var-decl name='gctx' type-id='84c6b9b8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8384'>
+        <var-decl name='gtarg_nam' type-id='1abde390' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8448'>
+        <var-decl name='try_gss' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8456'>
+        <var-decl name='gssenc' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='gcred' type-id='e771909b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8576'>
+        <var-decl name='gss_SendBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='gss_SendLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8672'>
+        <var-decl name='gss_SendNext' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8704'>
+        <var-decl name='gss_SendConsumed' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8768'>
+        <var-decl name='gss_RecvBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8832'>
+        <var-decl name='gss_RecvLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8896'>
+        <var-decl name='gss_ResultBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8960'>
+        <var-decl name='gss_ResultLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8992'>
+        <var-decl name='gss_ResultNext' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9024'>
+        <var-decl name='gss_MaxPktSize' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9088'>
+        <var-decl name='errorMessage' type-id='d22d5d08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9280'>
+        <var-decl name='errorReported' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9344'>
+        <var-decl name='workBuffer' type-id='d22d5d08' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FILE' type-id='ec1ed955' id='aa12d1ba'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='e4c6fa61' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='79989e9c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='8efea9e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='28577a57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='cecf4ea7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='724e4de6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='570f8c59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='c65a1f29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__off_t' type-id='bd54fe1a' id='79989e9c'/>
+    <typedef-decl name='_IO_lock_t' type-id='48b5725f' id='bb4788fa'/>
+    <typedef-decl name='__off64_t' type-id='bd54fe1a' id='724e4de6'/>
+    <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='76336d7b' visibility='default' id='8b36bd1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='noticeRec' type-id='d6489eba' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='noticeRecArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='noticeProc' type-id='af31ca99' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='noticeProcArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PQnoticeReceiver' type-id='92c74605' id='d6489eba'/>
+    <typedef-decl name='PGresult' type-id='5be59f1c' id='7bcca728'/>
+    <class-decl name='pg_result' size-in-bits='1728' is-struct='yes' visibility='default' id='5be59f1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ntups' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='numAttributes' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='attDescs' type-id='d614db7e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tuples' type-id='d60ac47e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tupArrSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='numParameters' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='paramDescs' type-id='297c0d38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='resultStatus' type-id='921cdb17' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='cmdStatus' type-id='59daf3ef' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='binary' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='noticeHooks' type-id='76336d7b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='events' type-id='2f038e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='nEvents' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='client_encoding' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='errMsg' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='errFields' type-id='0c5c8941' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='errQuery' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='null_field' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='curBlock' type-id='ae741ce0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='curOffset' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='spaceLeft' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='memorySize' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGresAttDesc' type-id='efc88a28' id='0edd802d'/>
+    <class-decl name='pgresAttDesc' size-in-bits='256' is-struct='yes' visibility='default' id='efc88a28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tableid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='columnid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='format' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typlen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='atttypmod' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Oid' type-id='f0981eeb' id='63cf087c'/>
+    <typedef-decl name='PGresAttValue' type-id='e2f3e732' id='7ceef345'/>
+    <class-decl name='pgresAttValue' size-in-bits='128' is-struct='yes' visibility='default' id='e2f3e732'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGresParamDesc' type-id='569b18fa' id='034c2f9b'/>
+    <class-decl name='pgresParamDesc' size-in-bits='32' is-struct='yes' visibility='default' id='569b18fa'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecStatusType' type-id='08f5ca17' id='921cdb17'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca17'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGRES_EMPTY_QUERY' value='0'/>
+      <enumerator name='PGRES_COMMAND_OK' value='1'/>
+      <enumerator name='PGRES_TUPLES_OK' value='2'/>
+      <enumerator name='PGRES_COPY_OUT' value='3'/>
+      <enumerator name='PGRES_COPY_IN' value='4'/>
+      <enumerator name='PGRES_BAD_RESPONSE' value='5'/>
+      <enumerator name='PGRES_NONFATAL_ERROR' value='6'/>
+      <enumerator name='PGRES_FATAL_ERROR' value='7'/>
+      <enumerator name='PGRES_COPY_BOTH' value='8'/>
+      <enumerator name='PGRES_SINGLE_TUPLE' value='9'/>
+      <enumerator name='PGRES_PIPELINE_SYNC' value='10'/>
+      <enumerator name='PGRES_PIPELINE_ABORTED' value='11'/>
+    </enum-decl>
+    <typedef-decl name='PGNoticeHooks' type-id='8b36bd1c' id='76336d7b'/>
+    <typedef-decl name='PGEvent' type-id='02f7e048' id='33aa0ae3'/>
+    <class-decl name='PGEvent' size-in-bits='320' is-struct='yes' visibility='default' id='02f7e048'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='proc' type-id='a945da4b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='passThrough' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='resultInitialized' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGEventProc' type-id='d2d9538c' id='a945da4b'/>
+    <typedef-decl name='PGEventId' type-id='40ed39d2' id='e727f48e'/>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d2'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGEVT_REGISTER' value='0'/>
+      <enumerator name='PGEVT_CONNRESET' value='1'/>
+      <enumerator name='PGEVT_CONNDESTROY' value='2'/>
+      <enumerator name='PGEVT_RESULTCREATE' value='3'/>
+      <enumerator name='PGEVT_RESULTCOPY' value='4'/>
+      <enumerator name='PGEVT_RESULTDESTROY' value='5'/>
+    </enum-decl>
+    <typedef-decl name='PGMessageField' type-id='a39f2929' id='2c6470ac'/>
+    <class-decl name='pgMessageField' size-in-bits='128' is-struct='yes' visibility='default' id='a39f2929'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='5297b901' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='code' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='contents' type-id='e84913bd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='pgresult_data' size-in-bits='64' visibility='default' id='d0998e85'>
+      <data-member access='private'>
+        <var-decl name='next' type-id='ae741ce0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='space' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='PGresult_data' type-id='d0998e85' id='97dd0d15'/>
+    <typedef-decl name='PQnoticeProcessor' type-id='8102f025' id='af31ca99'/>
+    <typedef-decl name='ConnStatusType' type-id='3fed383f' id='0b876eb4'/>
+    <enum-decl name='__anonymous_enum__2' is-anonymous='yes' id='3fed383f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CONNECTION_OK' value='0'/>
+      <enumerator name='CONNECTION_BAD' value='1'/>
+      <enumerator name='CONNECTION_STARTED' value='2'/>
+      <enumerator name='CONNECTION_MADE' value='3'/>
+      <enumerator name='CONNECTION_AWAITING_RESPONSE' value='4'/>
+      <enumerator name='CONNECTION_AUTH_OK' value='5'/>
+      <enumerator name='CONNECTION_SETENV' value='6'/>
+      <enumerator name='CONNECTION_SSL_STARTUP' value='7'/>
+      <enumerator name='CONNECTION_NEEDED' value='8'/>
+      <enumerator name='CONNECTION_CHECK_WRITABLE' value='9'/>
+      <enumerator name='CONNECTION_CONSUME' value='10'/>
+      <enumerator name='CONNECTION_GSS_STARTUP' value='11'/>
+      <enumerator name='CONNECTION_CHECK_TARGET' value='12'/>
+      <enumerator name='CONNECTION_CHECK_STANDBY' value='13'/>
+    </enum-decl>
+    <typedef-decl name='PGAsyncStatusType' type-id='3eed36ac' id='4847ce6d'/>
+    <enum-decl name='__anonymous_enum__3' is-anonymous='yes' id='3eed36ac'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGASYNC_IDLE' value='0'/>
+      <enumerator name='PGASYNC_BUSY' value='1'/>
+      <enumerator name='PGASYNC_READY' value='2'/>
+      <enumerator name='PGASYNC_READY_MORE' value='3'/>
+      <enumerator name='PGASYNC_COPY_IN' value='4'/>
+      <enumerator name='PGASYNC_COPY_OUT' value='5'/>
+      <enumerator name='PGASYNC_COPY_BOTH' value='6'/>
+      <enumerator name='PGASYNC_PIPELINE_IDLE' value='7'/>
+    </enum-decl>
+    <typedef-decl name='PGTransactionStatusType' type-id='3ded3519' id='280022c9'/>
+    <enum-decl name='__anonymous_enum__4' is-anonymous='yes' id='3ded3519'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQTRANS_IDLE' value='0'/>
+      <enumerator name='PQTRANS_ACTIVE' value='1'/>
+      <enumerator name='PQTRANS_INTRANS' value='2'/>
+      <enumerator name='PQTRANS_INERROR' value='3'/>
+      <enumerator name='PQTRANS_UNKNOWN' value='4'/>
+    </enum-decl>
+    <typedef-decl name='PGpipelineStatus' type-id='3ced3386' id='7691cfc1'/>
+    <enum-decl name='__anonymous_enum__5' is-anonymous='yes' id='3ced3386'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQ_PIPELINE_OFF' value='0'/>
+      <enumerator name='PQ_PIPELINE_ON' value='1'/>
+      <enumerator name='PQ_PIPELINE_ABORTED' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGnotify' type-id='7d78c1a9' id='90054450'/>
+    <class-decl name='pgNotify' size-in-bits='256' is-struct='yes' visibility='default' id='7d78c1a9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='relname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='extra' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='next' type-id='b9ecfcf1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_conn_host' type-id='df7265ca' id='23727e97'/>
+    <class-decl name='pg_conn_host' size-in-bits='320' is-struct='yes' visibility='default' id='df7265ca'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='2203a010' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='host' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hostaddr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='port' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='password' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_conn_host_type' type-id='f050b1c4' id='2203a010'/>
+    <enum-decl name='pg_conn_host_type' id='f050b1c4'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CHT_HOST_NAME' value='0'/>
+      <enumerator name='CHT_HOST_ADDRESS' value='1'/>
+      <enumerator name='CHT_UNIX_SOCKET' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGcmdQueueEntry' type-id='d58085c1' id='d127ebe6'/>
+    <class-decl name='PGcmdQueueEntry' size-in-bits='192' is-struct='yes' visibility='default' id='d58085c1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queryclass' type-id='e0c60a21' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='query' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='60c7de09' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGQueryClass' type-id='3bed31f3' id='e0c60a21'/>
+    <enum-decl name='__anonymous_enum__6' is-anonymous='yes' id='3bed31f3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGQUERY_SIMPLE' value='0'/>
+      <enumerator name='PGQUERY_EXTENDED' value='1'/>
+      <enumerator name='PGQUERY_PREPARE' value='2'/>
+      <enumerator name='PGQUERY_DESCRIBE' value='3'/>
+      <enumerator name='PGQUERY_SYNC' value='4'/>
+      <enumerator name='PGQUERY_CLOSE' value='5'/>
+    </enum-decl>
+    <typedef-decl name='pgsocket' type-id='95e97e5e' id='f5001928'/>
+    <typedef-decl name='SockAddr' type-id='cdb5e8f8' id='8c37a12f'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='1088' is-struct='yes' is-anonymous='yes' naming-typedef-id='8c37a12f' visibility='default' id='cdb5e8f8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='06b72fe4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='salen' type-id='6b2697b0' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sockaddr_storage' size-in-bits='1024' is-struct='yes' visibility='default' id='06b72fe4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ss_family' type-id='376fda66' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__ss_padding' type-id='d8449f07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='__ss_align' type-id='7359adad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='sa_family_t' type-id='8efea9e5' id='376fda66'/>
+    <typedef-decl name='socklen_t' type-id='83f97a0a' id='6b2697b0'/>
+    <typedef-decl name='__socklen_t' type-id='f0981eeb' id='83f97a0a'/>
+    <typedef-decl name='ProtocolVersion' type-id='7aa912f5' id='812180e4'/>
+    <typedef-decl name='uint32' type-id='f0981eeb' id='7aa912f5'/>
+    <typedef-decl name='PGTargetServerType' type-id='3aed3060' id='6a71e347'/>
+    <enum-decl name='__anonymous_enum__7' is-anonymous='yes' id='3aed3060'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SERVER_TYPE_ANY' value='0'/>
+      <enumerator name='SERVER_TYPE_READ_WRITE' value='1'/>
+      <enumerator name='SERVER_TYPE_READ_ONLY' value='2'/>
+      <enumerator name='SERVER_TYPE_PRIMARY' value='3'/>
+      <enumerator name='SERVER_TYPE_STANDBY' value='4'/>
+      <enumerator name='SERVER_TYPE_PREFER_STANDBY' value='5'/>
+      <enumerator name='SERVER_TYPE_PREFER_STANDBY_PASS2' value='6'/>
+    </enum-decl>
+    <typedef-decl name='PGLoadBalanceType' type-id='49ed47fd' id='05687e13'/>
+    <enum-decl name='__anonymous_enum__8' is-anonymous='yes' id='49ed47fd'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LOAD_BALANCE_DISABLE' value='0'/>
+      <enumerator name='LOAD_BALANCE_RANDOM' value='1'/>
+    </enum-decl>
+    <typedef-decl name='AddrInfo' type-id='fd08561c' id='79c324ab'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='1152' is-struct='yes' is-anonymous='yes' naming-typedef-id='79c324ab' visibility='default' id='fd08561c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='family' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgParameterStatus' type-id='1b4efcd9' id='85458fd6'/>
+    <class-decl name='pgParameterStatus' size-in-bits='192' is-struct='yes' visibility='default' id='1b4efcd9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='6ac21be1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='value' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGTernaryBool' type-id='48ed466a' id='cd92c2cc'/>
+    <enum-decl name='__anonymous_enum__9' is-anonymous='yes' id='48ed466a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PG_BOOL_UNKNOWN' value='0'/>
+      <enumerator name='PG_BOOL_YES' value='1'/>
+      <enumerator name='PG_BOOL_NO' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGVerbosity' type-id='17721ec6' id='602f6566'/>
+    <enum-decl name='__anonymous_enum__10' is-anonymous='yes' id='17721ec6'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQERRORS_TERSE' value='0'/>
+      <enumerator name='PQERRORS_DEFAULT' value='1'/>
+      <enumerator name='PQERRORS_VERBOSE' value='2'/>
+      <enumerator name='PQERRORS_SQLSTATE' value='3'/>
+    </enum-decl>
+    <typedef-decl name='PGContextVisibility' type-id='18722059' id='0534f30c'/>
+    <enum-decl name='__anonymous_enum__11' is-anonymous='yes' id='18722059'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQSHOW_CONTEXT_NEVER' value='0'/>
+      <enumerator name='PQSHOW_CONTEXT_ERRORS' value='1'/>
+      <enumerator name='PQSHOW_CONTEXT_ALWAYS' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGlobjfuncs' type-id='566fb0d0' id='fb034143'/>
+    <class-decl name='pgLobjfuncs' size-in-bits='416' is-struct='yes' visibility='default' id='566fb0d0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fn_lo_open' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fn_lo_close' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn_lo_creat' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fn_lo_create' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_lo_unlink' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='fn_lo_lseek' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fn_lo_lseek64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='fn_lo_tell' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_lo_tell64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='fn_lo_truncate' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_lo_truncate64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='fn_lo_read' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fn_lo_write' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_prng_state' type-id='4bc32f5a' id='db52f759'/>
+    <class-decl name='pg_prng_state' size-in-bits='128' is-struct='yes' visibility='default' id='4bc32f5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s0' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='s1' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+    <typedef-decl name='PGdataValue' type-id='0e688e59' id='ff7d8966'/>
+    <class-decl name='pgDataValue' size-in-bits='128' is-struct='yes' visibility='default' id='0e688e59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='80f4b756' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_fe_sasl_mech' type-id='f3f3632a' id='52868a31'/>
+    <typedef-decl name='SSL' type-id='64a5a649' id='785e1b42'/>
+    <typedef-decl name='X509' type-id='704a7505' id='3ee76568'/>
+    <typedef-decl name='ENGINE' type-id='36ec5173' id='8796dda6'/>
+    <typedef-decl name='gss_ctx_id_t' type-id='037bfd74' id='84c6b9b8'/>
+    <typedef-decl name='gss_name_t' type-id='79306dcc' id='1abde390'/>
+    <typedef-decl name='gss_cred_id_t' type-id='2d82dc55' id='e771909b'/>
+    <typedef-decl name='PQExpBufferData' type-id='d45baed3' id='d22d5d08'/>
+    <class-decl name='PQExpBufferData' size-in-bits='192' is-struct='yes' visibility='default' id='d45baed3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='maxlen' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='79c324ab' size-in-bits='64' id='abeb6880'/>
+    <pointer-type-def type-id='8796dda6' size-in-bits='64' id='827f5e03'/>
+    <pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
+    <pointer-type-def type-id='33aa0ae3' size-in-bits='64' id='2f038e5e'/>
+    <pointer-type-def type-id='2c6470ac' size-in-bits='64' id='0c5c8941'/>
+    <pointer-type-def type-id='d58085c1' size-in-bits='64' id='60c7de09'/>
+    <pointer-type-def type-id='51b05e3b' size-in-bits='64' id='ec15dfe4'/>
+    <pointer-type-def type-id='ff7d8966' size-in-bits='64' id='af5f5041'/>
+    <pointer-type-def type-id='fb034143' size-in-bits='64' id='35ec5596'/>
+    <pointer-type-def type-id='90054450' size-in-bits='64' id='ecf4f711'/>
+    <pointer-type-def type-id='0edd802d' size-in-bits='64' id='d614db7e'/>
+    <pointer-type-def type-id='7ceef345' size-in-bits='64' id='477e7060'/>
+    <pointer-type-def type-id='477e7060' size-in-bits='64' id='d60ac47e'/>
+    <pointer-type-def type-id='034c2f9b' size-in-bits='64' id='297c0d38'/>
+    <pointer-type-def type-id='7bcca728' size-in-bits='64' id='15e678b1'/>
+    <pointer-type-def type-id='97dd0d15' size-in-bits='64' id='ae741ce0'/>
+    <pointer-type-def type-id='785e1b42' size-in-bits='64' id='1e269bf5'/>
+    <pointer-type-def type-id='3ee76568' size-in-bits='64' id='02f57381'/>
+    <pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
+    <pointer-type-def type-id='a4036571' size-in-bits='64' id='570f8c59'/>
+    <pointer-type-def type-id='bb4788fa' size-in-bits='64' id='cecf4ea7'/>
+    <pointer-type-def type-id='010ae0b9' size-in-bits='64' id='e4c6fa61'/>
+    <pointer-type-def type-id='79bd3751' size-in-bits='64' id='c65a1f29'/>
+    <pointer-type-def type-id='9b3b543e' size-in-bits='64' id='0bec2760'/>
+    <pointer-type-def type-id='c894953d' size-in-bits='64' id='d8e6b335'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
+    <qualified-type-def type-id='7bcca728' const='yes' id='d1184b98'/>
+    <pointer-type-def type-id='d1184b98' size-in-bits='64' id='db3f2936'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <qualified-type-def type-id='52868a31' const='yes' id='cd23e561'/>
+    <pointer-type-def type-id='cd23e561' size-in-bits='64' id='3a81f511'/>
+    <pointer-type-def type-id='3fdd6c45' size-in-bits='64' id='2d82dc55'/>
+    <pointer-type-def type-id='9ee227fe' size-in-bits='64' id='037bfd74'/>
+    <pointer-type-def type-id='a8e0a566' size-in-bits='64' id='79306dcc'/>
+    <pointer-type-def type-id='f1e4fd3a' size-in-bits='64' id='d2d9538c'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <pointer-type-def type-id='a39f2929' size-in-bits='64' id='5297b901'/>
+    <pointer-type-def type-id='7d78c1a9' size-in-bits='64' id='b9ecfcf1'/>
+    <pointer-type-def type-id='1b4efcd9' size-in-bits='64' id='6ac21be1'/>
+    <pointer-type-def type-id='23727e97' size-in-bits='64' id='ee46afa8'/>
+    <pointer-type-def type-id='c5c76c9c' size-in-bits='64' id='b7f9d8e6'/>
+    <pointer-type-def type-id='68909e7a' size-in-bits='64' id='fe1afc54'/>
+    <pointer-type-def type-id='6343bba1' size-in-bits='64' id='92c74605'/>
+    <pointer-type-def type-id='fda39aa9' size-in-bits='64' id='8102f025'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <pointer-type-def type-id='3196721b' size-in-bits='64' id='4196f317'/>
+    <var-decl name='pg_scram_mech' type-id='cd23e561' visibility='default'/>
+    <function-type size-in-bits='64' id='9b3b543e'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='f1e4fd3a'>
+      <parameter type-id='e727f48e'/>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='c5c76c9c'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='68909e7a'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='26a90f95'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='9b23c9ad'/>
+      <parameter type-id='7292109c'/>
+      <parameter type-id='d8e6b335'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='6343bba1'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='db3f2936'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='fda39aa9'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='80f4b756'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='3196721b'>
+      <parameter type-id='ec15dfe4'/>
+      <parameter type-id='80f4b756'/>
+      <parameter type-id='80f4b756'/>
+      <return type-id='eaa32e2f'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-auth.c' language='LANG_C99'>
+    <function-decl name='PQencryptPasswordConn' mangled-name='PQencryptPasswordConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQencryptPasswordConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <parameter type-id='80f4b756' name='algorithm'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQencryptPassword' mangled-name='PQencryptPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQencryptPassword'>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-connect.c' language='LANG_C99'>
+    <typedef-decl name='pgthreadlock_t' type-id='03347643' id='df5023a1'/>
+    <typedef-decl name='PQconninfoOption' type-id='274fb2ba' id='9c44ab40'/>
+    <class-decl name='_PQconninfoOption' size-in-bits='448' is-struct='yes' visibility='default' id='274fb2ba'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='keyword' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='envvar' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='compiled' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='val' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='label' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dispchar' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dispsize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGcancel' type-id='bb26c323' id='55bea9a7'/>
+    <class-decl name='pg_cancel' size-in-bits='1344' is-struct='yes' visibility='default' id='bb26c323'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='be_key' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='pgtcp_user_timeout' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='keepalives' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='keepalives_idle' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='keepalives_interval' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='keepalives_count' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PostgresPollingStatusType' type-id='08f5ca18' id='d716a268'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca18'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGRES_POLLING_FAILED' value='0'/>
+      <enumerator name='PGRES_POLLING_READING' value='1'/>
+      <enumerator name='PGRES_POLLING_WRITING' value='2'/>
+      <enumerator name='PGRES_POLLING_OK' value='3'/>
+      <enumerator name='PGRES_POLLING_ACTIVE' value='4'/>
+    </enum-decl>
+    <typedef-decl name='PGPing' type-id='40ed39d3' id='1a5758dd'/>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQPING_OK' value='0'/>
+      <enumerator name='PQPING_REJECT' value='1'/>
+      <enumerator name='PQPING_NO_RESPONSE' value='2'/>
+      <enumerator name='PQPING_NO_ATTEMPT' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='55bea9a7' size-in-bits='64' id='d2029528'/>
+    <pointer-type-def type-id='9c44ab40' size-in-bits='64' id='871381b5'/>
+    <qualified-type-def type-id='51b05e3b' const='yes' id='9245a0eb'/>
+    <pointer-type-def type-id='9245a0eb' size-in-bits='64' id='049c0fd3'/>
+    <qualified-type-def type-id='80f4b756' const='yes' id='b99c00c9'/>
+    <pointer-type-def type-id='b99c00c9' size-in-bits='64' id='13956559'/>
+    <pointer-type-def type-id='f712e2b7' size-in-bits='64' id='03347643'/>
+    <var-decl name='pg_g_threadlock' type-id='df5023a1' visibility='default'/>
+    <function-decl name='PQregisterThreadLock' mangled-name='PQregisterThreadLock' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQregisterThreadLock'>
+      <parameter type-id='df5023a1' name='newhandler'/>
+      <return type-id='df5023a1'/>
+    </function-decl>
+    <function-decl name='PQsetNoticeProcessor' mangled-name='PQsetNoticeProcessor' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetNoticeProcessor'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='af31ca99' name='proc'/>
+      <parameter type-id='eaa32e2f' name='arg'/>
+      <return type-id='af31ca99'/>
+    </function-decl>
+    <function-decl name='PQsetNoticeReceiver' mangled-name='PQsetNoticeReceiver' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetNoticeReceiver'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='d6489eba' name='proc'/>
+      <parameter type-id='eaa32e2f' name='arg'/>
+      <return type-id='d6489eba'/>
+    </function-decl>
+    <function-decl name='PQsetErrorContextVisibility' mangled-name='PQsetErrorContextVisibility' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetErrorContextVisibility'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='0534f30c' name='show_context'/>
+      <return type-id='0534f30c'/>
+    </function-decl>
+    <function-decl name='PQsetErrorVerbosity' mangled-name='PQsetErrorVerbosity' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetErrorVerbosity'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='602f6566' name='verbosity'/>
+      <return type-id='602f6566'/>
+    </function-decl>
+    <function-decl name='PQsetClientEncoding' mangled-name='PQsetClientEncoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetClientEncoding'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQclientEncoding' mangled-name='PQclientEncoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclientEncoding'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionUsedGSSAPI' mangled-name='PQconnectionUsedGSSAPI' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionUsedGSSAPI'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionUsedPassword' mangled-name='PQconnectionUsedPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionUsedPassword'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionNeedsPassword' mangled-name='PQconnectionNeedsPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionNeedsPassword'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQpipelineStatus' mangled-name='PQpipelineStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpipelineStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='7691cfc1'/>
+    </function-decl>
+    <function-decl name='PQbackendPID' mangled-name='PQbackendPID' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQbackendPID'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsocket' mangled-name='PQsocket' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsocket'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQerrorMessage' mangled-name='PQerrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQerrorMessage'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQserverVersion' mangled-name='PQserverVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQserverVersion'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQprotocolVersion' mangled-name='PQprotocolVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprotocolVersion'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQparameterStatus' mangled-name='PQparameterStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQparameterStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <parameter type-id='80f4b756' name='paramName'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='PQtransactionStatus' mangled-name='PQtransactionStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtransactionStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='280022c9'/>
+    </function-decl>
+    <function-decl name='PQstatus' mangled-name='PQstatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQstatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='0b876eb4'/>
+    </function-decl>
+    <function-decl name='PQoptions' mangled-name='PQoptions' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoptions'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQtty' mangled-name='PQtty' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtty'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQport' mangled-name='PQport' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQport'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQhostaddr' mangled-name='PQhostaddr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQhostaddr'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQhost' mangled-name='PQhost' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQhost'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQpass' mangled-name='PQpass' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpass'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQuser' mangled-name='PQuser' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQuser'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQdb' mangled-name='PQdb' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdb'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQconninfoFree' mangled-name='PQconninfoFree' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfoFree'>
+      <parameter type-id='871381b5' name='connOptions'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQconninfo' mangled-name='PQconninfo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfo'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQconninfoParse' mangled-name='PQconninfoParse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfoParse'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <parameter type-id='9b23c9ad' name='errmsg'/>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQrequestCancel' mangled-name='PQrequestCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQrequestCancel'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQcancel' mangled-name='PQcancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcancel'>
+      <parameter type-id='d2029528' name='cancel'/>
+      <parameter type-id='26a90f95' name='errbuf'/>
+      <parameter type-id='95e97e5e' name='errbufsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfreeCancel' mangled-name='PQfreeCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreeCancel'>
+      <parameter type-id='d2029528' name='cancel'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQgetCancel' mangled-name='PQgetCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetCancel'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d2029528'/>
+    </function-decl>
+    <function-decl name='PQresetPoll' mangled-name='PQresetPoll' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresetPoll'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d716a268'/>
+    </function-decl>
+    <function-decl name='PQresetStart' mangled-name='PQresetStart' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresetStart'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQreset' mangled-name='PQreset' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQreset'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQfinish' mangled-name='PQfinish' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfinish'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQconnectPoll' mangled-name='PQconnectPoll' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectPoll'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d716a268'/>
+    </function-decl>
+    <function-decl name='PQsetdbLogin' mangled-name='PQsetdbLogin' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetdbLogin'>
+      <parameter type-id='80f4b756' name='pghost'/>
+      <parameter type-id='80f4b756' name='pgport'/>
+      <parameter type-id='80f4b756' name='pgoptions'/>
+      <parameter type-id='80f4b756' name='pgtty'/>
+      <parameter type-id='80f4b756' name='dbName'/>
+      <parameter type-id='80f4b756' name='login'/>
+      <parameter type-id='80f4b756' name='pwd'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQconndefaults' mangled-name='PQconndefaults' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconndefaults'>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQconnectStart' mangled-name='PQconnectStart' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectStart'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQconnectStartParams' mangled-name='PQconnectStartParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectStartParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQping' mangled-name='PQping' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQping'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='1a5758dd'/>
+    </function-decl>
+    <function-decl name='PQconnectdb' mangled-name='PQconnectdb' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectdb'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQpingParams' mangled-name='PQpingParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpingParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='1a5758dd'/>
+    </function-decl>
+    <function-decl name='PQconnectdbParams' mangled-name='PQconnectdbParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectdbParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='f712e2b7'>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-exec.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='57de658a' size-in-bits='768' id='459dd743'>
+      <subrange length='12' type-id='7359adad' id='84827bdc'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='57de658a' size-in-bits='infinite' id='335febfa'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <typedef-decl name='PQArgBlock' type-id='cf97e9fc' id='d2328d0a'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='d2328d0a' visibility='default' id='cf97e9fc'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='isint' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='u' type-id='691be1d8' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' id='691be1d8'>
+      <data-member access='private'>
+        <var-decl name='ptr' type-id='7292109c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='integer' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='26a90f95' const='yes' id='57de658a'/>
+    <qualified-type-def type-id='63cf087c' const='yes' id='97b155ac'/>
+    <pointer-type-def type-id='97b155ac' size-in-bits='64' id='5229a1f2'/>
+    <qualified-type-def type-id='d2328d0a' const='yes' id='22803e3a'/>
+    <pointer-type-def type-id='22803e3a' size-in-bits='64' id='5fe1b330'/>
+    <qualified-type-def type-id='95e97e5e' const='yes' id='2448a865'/>
+    <pointer-type-def type-id='2448a865' size-in-bits='64' id='6d60f45d'/>
+    <qualified-type-def type-id='002ac4a6' const='yes' id='ea86de29'/>
+    <pointer-type-def type-id='ea86de29' size-in-bits='64' id='354f7eb9'/>
+    <pointer-type-def type-id='b59d7dce' size-in-bits='64' id='78c01427'/>
+    <pointer-type-def type-id='002ac4a6' size-in-bits='64' id='cf536864'/>
+    <var-decl name='pgresStatus' type-id='335febfa' mangled-name='pgresStatus' visibility='default' elf-symbol-id='pgresStatus'/>
+    <function-decl name='PQunescapeBytea' mangled-name='PQunescapeBytea' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQunescapeBytea'>
+      <parameter type-id='354f7eb9' name='strtext'/>
+      <parameter type-id='78c01427' name='retbuflen'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeBytea' mangled-name='PQescapeBytea' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeBytea'>
+      <parameter type-id='354f7eb9' name='from'/>
+      <parameter type-id='b59d7dce' name='from_length'/>
+      <parameter type-id='78c01427' name='to_length'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeByteaConn' mangled-name='PQescapeByteaConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeByteaConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='354f7eb9' name='from'/>
+      <parameter type-id='b59d7dce' name='from_length'/>
+      <parameter type-id='78c01427' name='to_length'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeIdentifier' mangled-name='PQescapeIdentifier' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeIdentifier'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQescapeLiteral' mangled-name='PQescapeLiteral' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeLiteral'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQescapeString' mangled-name='PQescapeString' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeString'>
+      <parameter type-id='26a90f95' name='to'/>
+      <parameter type-id='80f4b756' name='from'/>
+      <parameter type-id='b59d7dce' name='length'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQescapeStringConn' mangled-name='PQescapeStringConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeStringConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='to'/>
+      <parameter type-id='80f4b756' name='from'/>
+      <parameter type-id='b59d7dce' name='length'/>
+      <parameter type-id='7292109c' name='error'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQfreeNotify' mangled-name='PQfreeNotify' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreeNotify'>
+      <parameter type-id='ecf4f711' name='notify'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQfreemem' mangled-name='PQfreemem' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreemem'>
+      <parameter type-id='eaa32e2f' name='ptr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQflush' mangled-name='PQflush' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQflush'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQisthreadsafe' mangled-name='PQisthreadsafe' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisthreadsafe'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQisnonblocking' mangled-name='PQisnonblocking' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisnonblocking'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsetnonblocking' mangled-name='PQsetnonblocking' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetnonblocking'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='arg'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQparamtype' mangled-name='PQparamtype' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQparamtype'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='param_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQnparams' mangled-name='PQnparams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnparams'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetisnull' mangled-name='PQgetisnull' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetisnull'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetlength' mangled-name='PQgetlength' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetlength'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetvalue' mangled-name='PQgetvalue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetvalue'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQcmdTuples' mangled-name='PQcmdTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcmdTuples'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQoidValue' mangled-name='PQoidValue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoidValue'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQoidStatus' mangled-name='PQoidStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoidStatus'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQcmdStatus' mangled-name='PQcmdStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcmdStatus'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQfmod' mangled-name='PQfmod' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfmod'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfsize' mangled-name='PQfsize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfsize'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftype' mangled-name='PQftype' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftype'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQfformat' mangled-name='PQfformat' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfformat'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftablecol' mangled-name='PQftablecol' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftablecol'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftable' mangled-name='PQftable' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftable'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQfnumber' mangled-name='PQfnumber' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfnumber'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='80f4b756' name='field_name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfname' mangled-name='PQfname' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfname'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQbinaryTuples' mangled-name='PQbinaryTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQbinaryTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQnfields' mangled-name='PQnfields' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnfields'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQntuples' mangled-name='PQntuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQntuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQresultErrorField' mangled-name='PQresultErrorField' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultErrorField'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='fieldcode'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultVerboseErrorMessage' mangled-name='PQresultVerboseErrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultVerboseErrorMessage'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='602f6566' name='verbosity'/>
+      <parameter type-id='0534f30c' name='show_context'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultErrorMessage' mangled-name='PQresultErrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultErrorMessage'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresStatus' mangled-name='PQresStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresStatus'>
+      <parameter type-id='921cdb17' name='status'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultStatus' mangled-name='PQresultStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultStatus'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='921cdb17'/>
+    </function-decl>
+    <function-decl name='PQsendFlushRequest' mangled-name='PQsendFlushRequest' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendFlushRequest'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQpipelineSync' mangled-name='PQpipelineSync' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpipelineSync'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQexitPipelineMode' mangled-name='PQexitPipelineMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexitPipelineMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQenterPipelineMode' mangled-name='PQenterPipelineMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQenterPipelineMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfn' mangled-name='PQfn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fnid'/>
+      <parameter type-id='7292109c' name='result_buf'/>
+      <parameter type-id='7292109c' name='result_len'/>
+      <parameter type-id='95e97e5e' name='result_is_int'/>
+      <parameter type-id='5fe1b330' name='args'/>
+      <parameter type-id='95e97e5e' name='nargs'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQendcopy' mangled-name='PQendcopy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQendcopy'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputnbytes' mangled-name='PQputnbytes' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputnbytes'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='buffer'/>
+      <parameter type-id='95e97e5e' name='nbytes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputline' mangled-name='PQputline' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputline'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='string'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetlineAsync' mangled-name='PQgetlineAsync' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetlineAsync'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='buffer'/>
+      <parameter type-id='95e97e5e' name='bufsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetline' mangled-name='PQgetline' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetline'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='buffer'/>
+      <parameter type-id='95e97e5e' name='length'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetCopyData' mangled-name='PQgetCopyData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetCopyData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='9b23c9ad' name='buffer'/>
+      <parameter type-id='95e97e5e' name='async'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputCopyEnd' mangled-name='PQputCopyEnd' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputCopyEnd'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='errormsg'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputCopyData' mangled-name='PQputCopyData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputCopyData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='buffer'/>
+      <parameter type-id='95e97e5e' name='nbytes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQnotifies' mangled-name='PQnotifies' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnotifies'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='ecf4f711'/>
+    </function-decl>
+    <function-decl name='PQsendDescribePortal' mangled-name='PQsendDescribePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendDescribePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendDescribePrepared' mangled-name='PQsendDescribePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendDescribePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQdescribePortal' mangled-name='PQdescribePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdescribePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQdescribePrepared' mangled-name='PQdescribePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdescribePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexecPrepared' mangled-name='PQexecPrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexecPrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQprepare' mangled-name='PQprepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprepare'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexecParams' mangled-name='PQexecParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexecParams'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='command'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexec' mangled-name='PQexec' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexec'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQgetResult' mangled-name='PQgetResult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetResult'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQisBusy' mangled-name='PQisBusy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisBusy'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconsumeInput' mangled-name='PQconsumeInput' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconsumeInput'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsetSingleRowMode' mangled-name='PQsetSingleRowMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetSingleRowMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQueryPrepared' mangled-name='PQsendQueryPrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQueryPrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendPrepare' mangled-name='PQsendPrepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendPrepare'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQueryParams' mangled-name='PQsendQueryParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQueryParams'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='command'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQuery' mangled-name='PQsendQuery' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQuery'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQclear' mangled-name='PQclear' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclear'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQresultMemorySize' mangled-name='PQresultMemorySize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultMemorySize'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQresultAlloc' mangled-name='PQresultAlloc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultAlloc'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='b59d7dce' name='nBytes'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQsetvalue' mangled-name='PQsetvalue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetvalue'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <parameter type-id='26a90f95' name='value'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQcopyResult' mangled-name='PQcopyResult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcopyResult'>
+      <parameter type-id='db3f2936' name='src'/>
+      <parameter type-id='95e97e5e' name='flags'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQsetResultAttrs' mangled-name='PQsetResultAttrs' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetResultAttrs'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='95e97e5e' name='numAttributes'/>
+      <parameter type-id='d614db7e' name='attDescs'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmakeEmptyPGresult' mangled-name='PQmakeEmptyPGresult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmakeEmptyPGresult'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='921cdb17' name='status'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-lobj.c' language='LANG_C99'>
+    <typedef-decl name='pg_int64' type-id='bd54fe1a' id='e95912f9'/>
+    <function-decl name='lo_export' mangled-name='lo_export' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_export'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_import_with_oid' mangled-name='lo_import_with_oid' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_import_with_oid'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_import' mangled-name='lo_import' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_import'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_unlink' mangled-name='lo_unlink' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_unlink'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_tell64' mangled-name='lo_tell64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_tell64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='e95912f9'/>
+    </function-decl>
+    <function-decl name='lo_tell' mangled-name='lo_tell' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_tell'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_create' mangled-name='lo_create' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_create'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_creat' mangled-name='lo_creat' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_creat'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='mode'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_lseek64' mangled-name='lo_lseek64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_lseek64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='e95912f9' name='offset'/>
+      <parameter type-id='95e97e5e' name='whence'/>
+      <return type-id='e95912f9'/>
+    </function-decl>
+    <function-decl name='lo_lseek' mangled-name='lo_lseek' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_lseek'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='95e97e5e' name='offset'/>
+      <parameter type-id='95e97e5e' name='whence'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_write' mangled-name='lo_write' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_write'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='80f4b756' name='buf'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_read' mangled-name='lo_read' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_read'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='26a90f95' name='buf'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_truncate64' mangled-name='lo_truncate64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_truncate64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='e95912f9' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_truncate' mangled-name='lo_truncate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_truncate'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_close' mangled-name='lo_close' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_close'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_open' mangled-name='lo_open' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_open'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <parameter type-id='95e97e5e' name='mode'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-misc.c' language='LANG_C99'>
+    <function-decl name='PQenv2encoding' mangled-name='PQenv2encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQenv2encoding'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQdsplen' mangled-name='PQdsplen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdsplen'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmblenBounded' mangled-name='PQmblenBounded' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmblenBounded'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmblen' mangled-name='PQmblen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmblen'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQlibVersion' mangled-name='PQlibVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQlibVersion'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-print.c' language='LANG_C99'>
+    <typedef-decl name='PQprintOpt' type-id='2d5a9ab5' id='4f41284f'/>
+    <class-decl name='_PQprintOpt' size-in-bits='320' is-struct='yes' visibility='default' id='2d5a9ab5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='header' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='align' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='standard' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='html3' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='expanded' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='pager' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fieldSep' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tableOpt' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='caption' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fieldName' type-id='9b23c9ad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pqbool' type-id='a84c031d' id='194f51db'/>
+    <qualified-type-def type-id='4f41284f' const='yes' id='709b887f'/>
+    <pointer-type-def type-id='709b887f' size-in-bits='64' id='99d79dcf'/>
+    <function-decl name='PQprintTuples' mangled-name='PQprintTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprintTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='822cd80b' name='fout'/>
+      <parameter type-id='95e97e5e' name='PrintAttNames'/>
+      <parameter type-id='95e97e5e' name='TerseOutput'/>
+      <parameter type-id='95e97e5e' name='colWidth'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQdisplayTuples' mangled-name='PQdisplayTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdisplayTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='822cd80b' name='fp'/>
+      <parameter type-id='95e97e5e' name='fillAlign'/>
+      <parameter type-id='80f4b756' name='fieldSep'/>
+      <parameter type-id='95e97e5e' name='printHeader'/>
+      <parameter type-id='95e97e5e' name='quiet'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQprint' mangled-name='PQprint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprint'>
+      <parameter type-id='822cd80b' name='fout'/>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='99d79dcf' name='po'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure-gssapi.c' language='LANG_C99'>
+    <function-decl name='PQgssEncInUse' mangled-name='PQgssEncInUse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgssEncInUse'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetgssctx' mangled-name='PQgetgssctx' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetgssctx'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure-openssl.c' language='LANG_C99'>
+    <typedef-decl name='PQsslKeyPassHook_OpenSSL_type' type-id='365bb6cb' id='769874b6'/>
+    <pointer-type-def type-id='690257ef' size-in-bits='64' id='365bb6cb'/>
+    <function-decl name='PQsetSSLKeyPassHook_OpenSSL' mangled-name='PQsetSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetSSLKeyPassHook_OpenSSL'>
+      <parameter type-id='769874b6' name='hook'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQgetSSLKeyPassHook_OpenSSL' mangled-name='PQgetSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetSSLKeyPassHook_OpenSSL'>
+      <return type-id='769874b6'/>
+    </function-decl>
+    <function-decl name='PQdefaultSSLKeyPassHook_OpenSSL' mangled-name='PQdefaultSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdefaultSSLKeyPassHook_OpenSSL'>
+      <parameter type-id='26a90f95' name='buf'/>
+      <parameter type-id='95e97e5e' name='size'/>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsslAttribute' mangled-name='PQsslAttribute' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslAttribute'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='attribute_name'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='PQsslAttributeNames' mangled-name='PQsslAttributeNames' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslAttributeNames'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='13956559'/>
+    </function-decl>
+    <function-decl name='PQsslStruct' mangled-name='PQsslStruct' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslStruct'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='struct_name'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQgetssl' mangled-name='PQgetssl' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetssl'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='690257ef'>
+      <parameter type-id='26a90f95'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='ec15dfe4'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure.c' language='LANG_C99'>
+    <function-decl name='PQinitOpenSSL' mangled-name='PQinitOpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinitOpenSSL'>
+      <parameter type-id='95e97e5e' name='do_ssl'/>
+      <parameter type-id='95e97e5e' name='do_crypto'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQinitSSL' mangled-name='PQinitSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinitSSL'>
+      <parameter type-id='95e97e5e' name='do_init'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQsslInUse' mangled-name='PQsslInUse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslInUse'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-trace.c' language='LANG_C99'>
+    <function-decl name='PQsetTraceFlags' mangled-name='PQsetTraceFlags' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetTraceFlags'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='flags'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQuntrace' mangled-name='PQuntrace' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQuntrace'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQtrace' mangled-name='PQtrace' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtrace'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='822cd80b' name='debug_port'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/legacy-pqsignal.c' language='LANG_C99'>
+    <typedef-decl name='pqsigfunc' type-id='03347643' id='b52123e6'/>
+    <function-decl name='pqsignal' mangled-name='pqsignal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pqsignal'>
+      <parameter type-id='95e97e5e' name='signo'/>
+      <parameter type-id='b52123e6' name='func'/>
+      <return type-id='b52123e6'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/libpq-events.c' language='LANG_C99'>
+    <function-decl name='PQfireResultCreateEvents' mangled-name='PQfireResultCreateEvents' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfireResultCreateEvents'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQresultInstanceData' mangled-name='PQresultInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultInstanceData'>
+      <parameter type-id='db3f2936' name='result'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQresultSetInstanceData' mangled-name='PQresultSetInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultSetInstanceData'>
+      <parameter type-id='15e678b1' name='result'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='eaa32e2f' name='data'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQinstanceData' mangled-name='PQinstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinstanceData'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQsetInstanceData' mangled-name='PQsetInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetInstanceData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='eaa32e2f' name='data'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQregisterEventProc' mangled-name='PQregisterEventProc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQregisterEventProc'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='eaa32e2f' name='passThrough'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/pqexpbuffer.c' language='LANG_C99'>
+    <type-decl name='variadic parameter type' id='2c1145c5'/>
+    <typedef-decl name='PQExpBuffer' type-id='34de0453' id='974bea20'/>
+    <pointer-type-def type-id='d22d5d08' size-in-bits='64' id='34de0453'/>
+    <function-decl name='appendBinaryPQExpBuffer' mangled-name='appendBinaryPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendBinaryPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='data'/>
+      <parameter type-id='b59d7dce' name='datalen'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBufferChar' mangled-name='appendPQExpBufferChar' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBufferChar'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='a84c031d' name='ch'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBufferStr' mangled-name='appendPQExpBufferStr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBufferStr'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='data'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBuffer' mangled-name='appendPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='printfPQExpBuffer' mangled-name='printfPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='printfPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='enlargePQExpBuffer' mangled-name='enlargePQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='enlargePQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='b59d7dce' name='needed'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='resetPQExpBuffer' mangled-name='resetPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='resetPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='termPQExpBuffer' mangled-name='termPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='termPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='destroyPQExpBuffer' mangled-name='destroyPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='destroyPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='initPQExpBuffer' mangled-name='initPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='createPQExpBuffer' mangled-name='createPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='createPQExpBuffer'>
+      <return type-id='974bea20'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build
index 80e6a15adf..42b258503a 100644
--- a/src/interfaces/libpq/meson.build
+++ b/src/interfaces/libpq/meson.build
@@ -84,6 +84,20 @@ libpq = declare_dependency(
   include_directories: [include_directories('.')]
 )
 
+custom_target('libpq.abi.xml',
+              input: libpq_so,
+              output: 'libpq.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
+if get_option('abidiff').enabled()
+  test('libpq.abidiff',
+       abidiff,
+       args: [files('libpq.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              libpq_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libpq',
   description: 'PostgreSQL libpq library',

base-commit: 9aee26a491ba9b7ceff40e6192183ab7200b6bfb
-- 
2.41.0

#12Andres Freund
andres@anarazel.de
In reply to: Peter Eisentraut (#9)
Re: abi-compliance-checker

Hi,

On 2023-06-06 18:30:38 +0200, Peter Eisentraut wrote:

On 30.05.23 06:32, Peter Eisentraut wrote:

I think the way to use this would be to compute the ABI for the .0
release (or rc1 or something like that) and commit it into the tree. And
then compute the current ABI and compare that against the recorded base
ABI.

Here is the workflow:

# build REL_11_0
abidw src/backend/postgres > src/tools/postgres-abi-REL_11_0.xml
# build REL_11_20
abidw src/backend/postgres > src/tools/postgres-abi.xml
abidiff --no-added-syms src/tools/postgres-abi-REL_11_0.xml
src/tools/postgres-abi.xml

Here is a demo patch that implements this.

Right now, I have only added support for libpq and postgres. For
completeness, the ecpg libraries should be covered as well.

I think plpgsql would also be good to include, due to things like plpgsql
debuggers.

* Different Linux distributions produce slightly different ABI reports. In
some cases, symbols like 'optarg@GLIBC_2.17' leak out.

Hm, that's somewhat annoying.

* PostgreSQL compilation options affect the exposed ABI. This is perhaps
expected to some degree, but there are some curious details.

* For example, --enable-cassert exposes additional symbols, and it's maybe
not impossible for those to leak into an extension.

They *definitely* leak into extensions. A single Assert() in an extension or
use of an inline function or macro with an Assertion suffices to end up with a
reference to ExceptionalCondition.

diff --git a/src/interfaces/libpq/libpq.base.abi.xml b/src/interfaces/libpq/libpq.base.abi.xml
new file mode 100644
index 0000000000..691bf192af
--- /dev/null
+++ b/src/interfaces/libpq/libpq.base.abi.xml
@@ -0,0 +1,2634 @@
+<abi-corpus path='src/interfaces/libpq/libpq.so.5.16' soname='libpq.so.5'>
+  <elf-function-symbols>
+    <elf-symbol name='PQbackendPID' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQbinaryTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
[...]
+    <elf-symbol name='termPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>

This seems somewhat painful in its verbosity. We also effectively already have
it in the tree, in src/interfaces/libpq/exports.txt. But I guess that's
somewhat inevitable :/

It sounds we are planning to mostly rely on CI for this, perhaps we should
rely on an artifact from a prior build for a major version + specific task,
instead of committing this to source? That'd automatically take care of
differences in ABI across different platforms etc.

If we want to commit something to the tree, I think we need a fairly
complicated "fingerprint" to avoid false positives. OS, OS version, configure
options, compiler, compiler version at least?

+  <abi-instr version='1.0' address-size='64' path='../src/common/encnames.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='5376' id='752c85d9'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='infinite' id='ac835593'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='5376' id='728d2ee1'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='infinite' id='a01b33bb'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <typedef-decl name='pg_enc2name' type-id='79f06fd8' id='7a4268c7'/>
+    <class-decl name='pg_enc2name' size-in-bits='128' is-struct='yes' visibility='default' id='79f06fd8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='encoding' type-id='66325df6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_enc' type-id='ea65169a' id='66325df6'/>
+    <enum-decl name='pg_enc' id='ea65169a'>
+      <underlying-type type-id='9cac1fee'/>

Hm - why is all of this stuff even ending up in the external ABI? It should
all be internal, unless I am missing something?

I might be looking the wrong way, but to me it sure looks like none of that
ends up being externally visible?

Greetings,

Andres Freund

#13Andres Freund
andres@anarazel.de
In reply to: Andres Freund (#12)
Re: abi-compliance-checker

Hi,

On 2023-06-10 12:48:46 -0700, Andres Freund wrote:

+    <typedef-decl name='pg_enc' type-id='ea65169a' id='66325df6'/>
+    <enum-decl name='pg_enc' id='ea65169a'>
+      <underlying-type type-id='9cac1fee'/>

Hm - why is all of this stuff even ending up in the external ABI? It should
all be internal, unless I am missing something?

I might be looking the wrong way, but to me it sure looks like none of that
ends up being externally visible?

Looks like we ought to add --exported-interfaces-only?

That still seems to include things that shouldn't be there, but much
less. E.g.:

<class-decl name='AddrInfo' size-in-bits='1152' is-struct='yes' naming-typedef-id='79c324ab' visibility='default' id='0b3a01e2'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='family' type-id='95e97e5e' visibility='default'/>
</data-member>
<data-member access='public' layout-offset-in-bits='64'>
<var-decl name='addr' type-id='8c37a12f' visibility='default'/>
</data-member>
</class-decl>

and things outside of our control:

<class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
<data-member access='public' layout-offset-in-bits='0'>
<var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
</data-member>

I guess the latter would have to be suppressed via suppression file. But I
don't understand why things like AddrInfo ends up being included...

I tried using --header-file with --drop-private-types. But that ends up
dropping all enum definitions for some reason.

Independently, I'm a bit confused as to why we export pgresStatus in
exports.txt - I don't see any reason for that. Looks like it might be leftover
from before fa0f24165c0?

We're also a bit schizophrenic about where we install pqexpbuffer.h -
includedir_internal. But at the same time we export all the symbols?

Greetings,

Andres Freund

#14Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#13)
Re: abi-compliance-checker

Andres Freund <andres@anarazel.de> writes:

Independently, I'm a bit confused as to why we export pgresStatus in
exports.txt - I don't see any reason for that. Looks like it might be leftover
from before fa0f24165c0?

It looks like before fa0f24165, the *only* way to convert ExecStatusType
to text was to access that array directly. That commit invented the
wrapper function PQresStatus(), but at that point our docs were so poor
that there wasn't any good way to mark use of the array as deprecated.
A bit later, 9ceb5d8a7 moved the array declaration to libpq-int.h
(without any discussion in the commit message, but maybe there was
some on-list).

Maybe there's still application code out there using it, I dunno.
What I do know is that removing the exports.txt entry will provoke
squawks from distros' ABI checkers.

regards, tom lane

#15Tristan Partin
tristan@neon.tech
In reply to: Peter Eisentraut (#11)
Re: abi-compliance-checker

On Sat Jun 10, 2023 at 9:17 AM CDT, Peter Eisentraut wrote:

I have rearranged this a bit. There are now two build options, called
abidw and abidiff. The abidw option produces the xml file, that you
would then at appropriate times commit into the tree as the base. The
abidiff option enables the abidiff tests. This doesn't actually require
abidw, since abidiff can compare the binary directly against the
recorded XML file. So these options are distinct and nonoverlapping.

Note that in this setup, you still need a conditional around the abidiff
test() call, because otherwise meson setup will fail if the base file
doesn't exist (yet), so it would be impossible to bootstrap this system.

Could you speak more to the workflow you see with managing the checked
in diff files?

At my previous job, I had tried to do something similar with regard to
making sure we didn't break ABI[0]https://github.com/hse-project/hse/blob/master/.github/workflows/abicheck.yaml, but I took a different approach
where instead of hooking into the Meson test infrastructure, I used a CI
job where I checked out the previous major version of the code and the
current version of the code, built both, and checked the built binaries.
The benefit of this workflow is that you don't check anything into the
source repo.

I think the same approach might be better here, but instead of writing
it all into the CI file like I did, use a perl script. Then once you
have the perl script, it could be possible to then hook into the Meson
test infrastructure.

There is something weird going on where the cirrus linux/meson job
doesn't upload the produced abidw artifacts, even though they are
apparently built, and the equivalent works for the freebsd job. Maybe
someone can see something that I'm not seeing there.

Nothing obvious is wrong to me. Was the failure maybe just a fluke?

[0]: https://github.com/hse-project/hse/blob/master/.github/workflows/abicheck.yaml

--
Tristan Partin
Neon (https://neon.tech)

#16Tristan Partin
tristan@neon.tech
In reply to: Tristan Partin (#15)
Re: abi-compliance-checker

On Mon Jun 12, 2023 at 10:10 AM CDT, Tristan Partin wrote:

On Sat Jun 10, 2023 at 9:17 AM CDT, Peter Eisentraut wrote:

I have rearranged this a bit. There are now two build options, called
abidw and abidiff. The abidw option produces the xml file, that you
would then at appropriate times commit into the tree as the base. The
abidiff option enables the abidiff tests. This doesn't actually require
abidw, since abidiff can compare the binary directly against the
recorded XML file. So these options are distinct and nonoverlapping.

Note that in this setup, you still need a conditional around the abidiff
test() call, because otherwise meson setup will fail if the base file
doesn't exist (yet), so it would be impossible to bootstrap this system.

Could you speak more to the workflow you see with managing the checked
in diff files?

Just saw your other email which talks about the workflow.

--
Tristan Partin
Neon (https://neon.tech)

#17Peter Eisentraut
peter@eisentraut.org
In reply to: Andres Freund (#13)
Re: abi-compliance-checker

On 10.06.23 22:24, Andres Freund wrote:

Looks like we ought to add --exported-interfaces-only?

Btw., this option requires libabigail 2.1, which isn't available
everywhere yet. For example, Debian oldstable (used on Cirrus) doesn't
have it yet. So I'll leave this patch set as is for now. If it turns
out that this is the right option and we want to proceed with this patch
set, we might need to think about a version check or something.

#18Peter Eisentraut
peter@eisentraut.org
In reply to: Peter Eisentraut (#11)
4 attachment(s)
Re: abi-compliance-checker

Here is an updated version of this patch. It doesn't have any new
functionality, just a rebase and some minor adjustments.

I have split up the one patch into several ones, which could be
considered incrementally, namely:

v3-0001-abidw-option.patch

This adds the abidw meson option, which produces the xml files with the
ABI description. With that, you can then implement a variety of
workflows, such as the abidiff proposed in the later patches, or
something rigged up via CI, or you can just build various versions
locally and compare them. With this patch, you get the files to compare
built automatically and don't have to remember to cover all the
libraries or which options to use.

I think this patch is mostly pretty straightforward and agreeable,
subject to technical review in detail.

TODO: documentation
TODO: Do we want a configure/make variant of this?

v3-0002-Enable-abidw-option-on-Cirrus-CI.patch

This adds the abidw option to some CI tasks. This was mostly used by me
during development to get feedback from other machines and to produce
base files for the subsequent abidiff patch. I'm not sure whether we
need it in isolation (other than for general testing that the option
works at all).

v3-0003-abidiff-option.patch

This adds the abidiff test suite that compares base files previously
produced with the abidw option to the currently built libraries. There
is clearly some uncertainty here whether the produced files are stable
enough, whether we want this particular workflow, what additional
burdens this would create, etc., so I'm not hung up on this right now,
it's mostly a demonstration.

v3-0004-abidiff-support-files.patch

This contains the support files for patch 0003, just split out because
they are bulky and boring.

Show quoted text

On 10.06.23 16:17, Peter Eisentraut wrote:

On 06.06.23 18:52, Tristan Partin wrote:

It would make sense to me to mark abidiff and abidw as disabler: true.

ok

+if abidiff.found()
+  test('libpq.abidiff',
+       abidiff,
+       args: [files('libpq.base.abi.xml'), libpq_abi],
+       suite: 'abidiff',
+       verbose: true)
+endif

With disabler: true, you can drop the conditionals. Disablers tell Meson
to disable parts of the build[0].

ok

I also don't think it makes sense to mark the custom_targets as
build_by_default: true, unless you see value in that. I would just have
them built when the test is ran.

However, it might make sense to create an alias_target of all the ABI
XML files for people that want to interact with the files outside of the
tests for whatever reason.

Thanks for the feedback.  Attached is a more complete patch.

I have rearranged this a bit.  There are now two build options, called
abidw and abidiff.  The abidw option produces the xml file, that you
would then at appropriate times commit into the tree as the base.  The
abidiff option enables the abidiff tests.  This doesn't actually require
abidw, since abidiff can compare the binary directly against the
recorded XML file.  So these options are distinct and nonoverlapping.

Note that in this setup, you still need a conditional around the abidiff
test() call, because otherwise meson setup will fail if the base file
doesn't exist (yet), so it would be impossible to bootstrap this system.

The updated patch also includes the base files for all the ecpg
libraries and the files all have OS and architecture specific names. The
keep the patch small, I just added a dummy base file for the postgres
binary and a suppression file that suppresses everything.

There is something weird going on where the cirrus linux/meson job
doesn't upload the produced abidw artifacts, even though they are
apparently built, and the equivalent works for the freebsd job.  Maybe
someone can see something that I'm not seeing there.

Attachments:

v3-0001-abidw-option.patchtext/plain; charset=UTF-8; name=v3-0001-abidw-option.patchDownload
From ea23852d42f8b55b91ac2e04372f3637e599ec42 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 1 Nov 2023 05:46:28 -0400
Subject: [PATCH v3 1/4] abidw option

Discussion: https://www.postgresql.org/message-id/CAH2-Wzk7tvgLXzOZ8a22aF-gmO5gHojWTYRvAk5ZgOvTrcEQeg@mail.gmail.com
---
 meson.build                                | 16 ++++++++++++++++
 meson_options.txt                          |  3 +++
 src/backend/meson.build                    |  6 ++++++
 src/interfaces/ecpg/compatlib/meson.build  |  6 ++++++
 src/interfaces/ecpg/ecpglib/meson.build    |  6 ++++++
 src/interfaces/ecpg/pgtypeslib/meson.build |  6 ++++++
 src/interfaces/libpq/meson.build           |  6 ++++++
 src/pl/plpgsql/src/meson.build             |  6 ++++++
 8 files changed, 55 insertions(+)

diff --git a/meson.build b/meson.build
index 2d516c8f372..4a34a8a0434 100644
--- a/meson.build
+++ b/meson.build
@@ -2561,6 +2561,22 @@ endif
 
 
 
+###############################################################
+# abidw
+###############################################################
+
+abidw = find_program('abidw', required: get_option('abidw'), disabler: true)
+abidw_flags = [
+  '--drop-undefined-syms',
+  '--no-comp-dir-path',
+  '--no-elf-needed',
+  '--no-show-locs',
+  '--type-id-style', 'hash',
+]
+abidw_cmd = [abidw, abidw_flags, '--out-file', '@OUTPUT@', '@INPUT@']
+
+
+
 ###############################################################
 # Build
 ###############################################################
diff --git a/meson_options.txt b/meson_options.txt
index d2f95cfec36..6367e077f3c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -73,6 +73,9 @@ option('rpath', type: 'boolean', value: true,
 
 # External dependencies
 
+option('abidw', type: 'feature', value: 'disabled',
+  description: 'Build ELF ABI serializations')
+
 option('bonjour', type: 'feature', value: 'auto',
   description: 'Bonjour support')
 
diff --git a/src/backend/meson.build b/src/backend/meson.build
index 88a35e96763..2f8bb221e9b 100644
--- a/src/backend/meson.build
+++ b/src/backend/meson.build
@@ -155,6 +155,12 @@ postgres = executable('postgres',
 
 backend_targets += postgres
 
+custom_target('postgres.abi.xml',
+              input: postgres,
+              output: 'postgres.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
 pg_mod_c_args = cflags_mod
 pg_mod_cpp_args = cxxflags_mod
 pg_mod_link_args = ldflags_sl + ldflags_mod
diff --git a/src/interfaces/ecpg/compatlib/meson.build b/src/interfaces/ecpg/compatlib/meson.build
index 16d73db88bb..fc101080d35 100644
--- a/src/interfaces/ecpg/compatlib/meson.build
+++ b/src/interfaces/ecpg/compatlib/meson.build
@@ -41,6 +41,12 @@ ecpg_compat_so = shared_library('libecpg_compat',
 )
 ecpg_targets += ecpg_compat_so
 
+custom_target('libecpg_compat.abi.xml',
+              input: ecpg_compat_so,
+              output: 'libecpg_compat.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
 pkgconfig.generate(
   name: 'libecpg_compat',
   description: 'PostgreSQL libecpg_compat library',
diff --git a/src/interfaces/ecpg/ecpglib/meson.build b/src/interfaces/ecpg/ecpglib/meson.build
index da8d304f549..29851a0e79f 100644
--- a/src/interfaces/ecpg/ecpglib/meson.build
+++ b/src/interfaces/ecpg/ecpglib/meson.build
@@ -52,6 +52,12 @@ ecpglib_so = shared_library('libecpg',
 )
 ecpg_targets += ecpglib_so
 
+custom_target('libecpg.abi.xml',
+              input: ecpglib_so,
+              output: 'libecpg.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
 pkgconfig.generate(
   name: 'libecpg',
   description: 'PostgreSQL libecpg library',
diff --git a/src/interfaces/ecpg/pgtypeslib/meson.build b/src/interfaces/ecpg/pgtypeslib/meson.build
index f177dd35a9c..0158d51b6bb 100644
--- a/src/interfaces/ecpg/pgtypeslib/meson.build
+++ b/src/interfaces/ecpg/pgtypeslib/meson.build
@@ -46,6 +46,12 @@ ecpg_pgtypes_so = shared_library('libpgtypes',
 )
 ecpg_targets += ecpg_pgtypes_so
 
+custom_target('libpgtypes.abi.xml',
+              input: ecpg_pgtypes_so,
+              output: 'libpgtypes.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
 pkgconfig.generate(
   name: 'libpgtypes',
   description: 'PostgreSQL libpgtypes library',
diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build
index 80e6a15adf8..1336e0f2a47 100644
--- a/src/interfaces/libpq/meson.build
+++ b/src/interfaces/libpq/meson.build
@@ -84,6 +84,12 @@ libpq = declare_dependency(
   include_directories: [include_directories('.')]
 )
 
+custom_target('libpq.abi.xml',
+              input: libpq_so,
+              output: 'libpq.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
 pkgconfig.generate(
   name: 'libpq',
   description: 'PostgreSQL libpq library',
diff --git a/src/pl/plpgsql/src/meson.build b/src/pl/plpgsql/src/meson.build
index 85e7293b374..5fcbc946138 100644
--- a/src/pl/plpgsql/src/meson.build
+++ b/src/pl/plpgsql/src/meson.build
@@ -57,6 +57,12 @@ plpgsql = shared_module('plpgsql',
 )
 pl_targets += plpgsql
 
+custom_target('plpgsql.abi.xml',
+              input: plpgsql,
+              output: 'plpgsql.@0@-@1@.abi.xml'.format(host_cpu, host_system),
+              command: abidw_cmd,
+              build_by_default: true)
+
 install_data(
   'plpgsql.control',
   'plpgsql--1.0.sql',

base-commit: 6ec62b779907e2fa49283a7d1dbd761fb64675f1
-- 
2.42.0

v3-0002-Enable-abidw-option-on-Cirrus-CI.patchtext/plain; charset=UTF-8; name=v3-0002-Enable-abidw-option-on-Cirrus-CI.patchDownload
From 7294c912c79397ff345dd0da0d4a545ad9d0ab7a Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 1 Nov 2023 05:48:24 -0400
Subject: [PATCH v3 2/4] Enable abidw option on Cirrus CI

---
 .cirrus.tasks.yml | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml
index e137769850d..f13a0eeeb7b 100644
--- a/.cirrus.tasks.yml
+++ b/.cirrus.tasks.yml
@@ -164,6 +164,7 @@ task:
     sysctl kern.corefile='/tmp/cores/%N.%P.core'
   setup_additional_packages_script: |
     #pkg install -y ...
+    pkg install -y libabigail
 
   # NB: Intentionally build without -Dllvm. The freebsd image size is already
   # large enough to make VM startup slow, and even without llvm freebsd
@@ -172,6 +173,7 @@ task:
     su postgres <<-EOF
       meson setup \
         --buildtype=debug \
+        -Dabidw=enabled \
         -Dcassert=true -Duuid=bsd -Dtcl_version=tcl86 -Ddtrace=auto \
         -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
         -Dextra_lib_dirs=/usr/local/lib -Dextra_include_dirs=/usr/local/include/ \
@@ -201,6 +203,11 @@ task:
       build/tmp_install/usr/local/pgsql/bin/pg_ctl -D build/runningcheck stop
     EOF
 
+  always:
+    abidw_artifacts:
+      path: "build/**/*.abi.xml"
+      type: application/xml
+
   on_failure:
     # if the server continues running, it often causes cirrus-ci to fail
     # during upload, as it doesn't expect artifacts to change size
@@ -309,8 +316,8 @@ task:
     EOF
 
   setup_additional_packages_script: |
-    #apt-get update
-    #DEBIAN_FRONTEND=noninteractive apt-get -y install ...
+    apt-get update
+    DEBIAN_FRONTEND=noninteractive apt-get -y install abigail-tools
 
   matrix:
     - name: Linux - Debian Bullseye - Autoconf
@@ -357,6 +364,7 @@ task:
         su postgres <<-EOF
           meson setup \
             --buildtype=debug \
+            -Dabidw=enabled \
             -Dcassert=true \
             ${LINUX_MESON_FEATURES} \
             -DPG_TEST_EXTRA="$PG_TEST_EXTRA" \
@@ -370,6 +378,7 @@ task:
           export CC='ccache gcc -m32'
           meson setup \
             --buildtype=debug \
+            -Dabidw=enabled \
             -Dcassert=true \
             ${LINUX_MESON_FEATURES} \
             -Dllvm=disabled \
@@ -402,6 +411,11 @@ task:
           PYTHONCOERCECLOCALE=0 LANG=C meson test $MTEST_ARGS -C build-32 --num-processes ${TEST_JOBS}
         EOF
 
+      always:
+        abidw_artifacts:
+          path: "build/**/*.abi.xml"
+          type: application/xml
+
       on_failure:
         <<: *on_failure_meson
 
-- 
2.42.0

v3-0003-abidiff-option.patchtext/plain; charset=UTF-8; name=v3-0003-abidiff-option.patchDownload
From 11b6db28fa7457c7cd0349ceea0afa3f9c489f2f Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 1 Nov 2023 05:54:44 -0400
Subject: [PATCH v3 3/4] abidiff option

---
 .cirrus.tasks.yml                          |  1 +
 meson.build                                |  4 +++-
 meson_options.txt                          |  3 +++
 src/backend/meson.build                    | 10 ++++++++++
 src/interfaces/ecpg/compatlib/meson.build  |  8 ++++++++
 src/interfaces/ecpg/ecpglib/meson.build    |  8 ++++++++
 src/interfaces/ecpg/pgtypeslib/meson.build |  8 ++++++++
 src/interfaces/libpq/meson.build           |  8 ++++++++
 src/pl/plpgsql/src/meson.build             |  8 ++++++++
 9 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/.cirrus.tasks.yml b/.cirrus.tasks.yml
index f13a0eeeb7b..4c35c192f40 100644
--- a/.cirrus.tasks.yml
+++ b/.cirrus.tasks.yml
@@ -364,6 +364,7 @@ task:
         su postgres <<-EOF
           meson setup \
             --buildtype=debug \
+            -Dabidiff=enabled \
             -Dabidw=enabled \
             -Dcassert=true \
             ${LINUX_MESON_FEATURES} \
diff --git a/meson.build b/meson.build
index 4a34a8a0434..6d38083bea7 100644
--- a/meson.build
+++ b/meson.build
@@ -2562,9 +2562,11 @@ endif
 
 
 ###############################################################
-# abidw
+# abidw/abidiff
 ###############################################################
 
+abidiff = find_program('abidiff', required: get_option('abidiff'))
+
 abidw = find_program('abidw', required: get_option('abidw'), disabler: true)
 abidw_flags = [
   '--drop-undefined-syms',
diff --git a/meson_options.txt b/meson_options.txt
index 6367e077f3c..a19f74c50e8 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -73,6 +73,9 @@ option('rpath', type: 'boolean', value: true,
 
 # External dependencies
 
+option('abidiff', type: 'feature', value: 'disabled',
+  description: 'Enable abidiff tests')
+
 option('abidw', type: 'feature', value: 'disabled',
   description: 'Build ELF ABI serializations')
 
diff --git a/src/backend/meson.build b/src/backend/meson.build
index 2f8bb221e9b..eea738aa142 100644
--- a/src/backend/meson.build
+++ b/src/backend/meson.build
@@ -161,6 +161,16 @@ custom_target('postgres.abi.xml',
               command: abidw_cmd,
               build_by_default: true)
 
+if get_option('abidiff').enabled()
+  test('postgres.abidiff',
+       abidiff,
+       args: ['--no-added-syms',
+              '--suppr', files('postgres.abidiff-suppr.ini'),
+              files('postgres.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              postgres],
+       suite: 'abidiff')
+endif
+
 pg_mod_c_args = cflags_mod
 pg_mod_cpp_args = cxxflags_mod
 pg_mod_link_args = ldflags_sl + ldflags_mod
diff --git a/src/interfaces/ecpg/compatlib/meson.build b/src/interfaces/ecpg/compatlib/meson.build
index fc101080d35..eb5f2a292b0 100644
--- a/src/interfaces/ecpg/compatlib/meson.build
+++ b/src/interfaces/ecpg/compatlib/meson.build
@@ -47,6 +47,14 @@ custom_target('libecpg_compat.abi.xml',
               command: abidw_cmd,
               build_by_default: true)
 
+if get_option('abidiff').enabled()
+  test('libecpg_compat.abidiff',
+       abidiff,
+       args: [files('libecpg_compat.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              ecpg_compat_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libecpg_compat',
   description: 'PostgreSQL libecpg_compat library',
diff --git a/src/interfaces/ecpg/ecpglib/meson.build b/src/interfaces/ecpg/ecpglib/meson.build
index 29851a0e79f..894a9f3c421 100644
--- a/src/interfaces/ecpg/ecpglib/meson.build
+++ b/src/interfaces/ecpg/ecpglib/meson.build
@@ -58,6 +58,14 @@ custom_target('libecpg.abi.xml',
               command: abidw_cmd,
               build_by_default: true)
 
+if get_option('abidiff').enabled()
+  test('libecpg.abidiff',
+       abidiff,
+       args: [files('libecpg.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              ecpglib_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libecpg',
   description: 'PostgreSQL libecpg library',
diff --git a/src/interfaces/ecpg/pgtypeslib/meson.build b/src/interfaces/ecpg/pgtypeslib/meson.build
index 0158d51b6bb..967b55c7293 100644
--- a/src/interfaces/ecpg/pgtypeslib/meson.build
+++ b/src/interfaces/ecpg/pgtypeslib/meson.build
@@ -52,6 +52,14 @@ custom_target('libpgtypes.abi.xml',
               command: abidw_cmd,
               build_by_default: true)
 
+if get_option('abidiff').enabled()
+  test('libpgtypes.abidiff',
+       abidiff,
+       args: [files('libpgtypes.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              ecpg_pgtypes_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libpgtypes',
   description: 'PostgreSQL libpgtypes library',
diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build
index 1336e0f2a47..42b258503a5 100644
--- a/src/interfaces/libpq/meson.build
+++ b/src/interfaces/libpq/meson.build
@@ -90,6 +90,14 @@ custom_target('libpq.abi.xml',
               command: abidw_cmd,
               build_by_default: true)
 
+if get_option('abidiff').enabled()
+  test('libpq.abidiff',
+       abidiff,
+       args: [files('libpq.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              libpq_so],
+       suite: 'abidiff')
+endif
+
 pkgconfig.generate(
   name: 'libpq',
   description: 'PostgreSQL libpq library',
diff --git a/src/pl/plpgsql/src/meson.build b/src/pl/plpgsql/src/meson.build
index 5fcbc946138..66345291506 100644
--- a/src/pl/plpgsql/src/meson.build
+++ b/src/pl/plpgsql/src/meson.build
@@ -63,6 +63,14 @@ custom_target('plpgsql.abi.xml',
               command: abidw_cmd,
               build_by_default: true)
 
+if get_option('abidiff').enabled()
+  test('plpgsql.abidiff',
+       abidiff,
+       args: [files('plpgsql.@0@-@1@.abi.xml'.format(host_cpu, host_system)),
+              plpgsql],
+       suite: 'abidiff')
+endif
+
 install_data(
   'plpgsql.control',
   'plpgsql--1.0.sql',
-- 
2.42.0

v3-0004-abidiff-support-files.patchtext/plain; charset=UTF-8; name=v3-0004-abidiff-support-files.patchDownload
From 170a1eab0f627982e0d3182d0919c4d4f01b5036 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Wed, 1 Nov 2023 05:55:21 -0400
Subject: [PATCH v3 4/4] abidiff support files

---
 src/backend/postgres.abidiff-suppr.ini        |     3 +
 src/backend/postgres.x86_64-linux.abi.xml     |     2 +
 .../libecpg_compat.x86_64-linux.abi.xml       |   325 +
 .../ecpg/ecpglib/libecpg.x86_64-linux.abi.xml |   482 +
 .../libpgtypes.x86_64-linux.abi.xml           |   392 +
 .../libpq/libpq.x86_64-linux.abi.xml          |  2658 +++
 .../plpgsql/src/plpgsql.x86_64-linux.abi.xml  | 15620 ++++++++++++++++
 7 files changed, 19482 insertions(+)
 create mode 100644 src/backend/postgres.abidiff-suppr.ini
 create mode 100644 src/backend/postgres.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml
 create mode 100644 src/interfaces/libpq/libpq.x86_64-linux.abi.xml
 create mode 100644 src/pl/plpgsql/src/plpgsql.x86_64-linux.abi.xml

diff --git a/src/backend/postgres.abidiff-suppr.ini b/src/backend/postgres.abidiff-suppr.ini
new file mode 100644
index 00000000000..8e5eaa26f57
--- /dev/null
+++ b/src/backend/postgres.abidiff-suppr.ini
@@ -0,0 +1,3 @@
+[suppress_file]
+label = remove upon release
+file_name_regexp = ^postgres$
diff --git a/src/backend/postgres.x86_64-linux.abi.xml b/src/backend/postgres.x86_64-linux.abi.xml
new file mode 100644
index 00000000000..93c117e9ef2
--- /dev/null
+++ b/src/backend/postgres.x86_64-linux.abi.xml
@@ -0,0 +1,2 @@
+<abi-corpus path='src/backend/postgres' architecture='elf-amd-x86_64'>
+</abi-corpus>
diff --git a/src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml b/src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml
new file mode 100644
index 00000000000..5850b7d90cc
--- /dev/null
+++ b/src/interfaces/ecpg/compatlib/libecpg_compat.x86_64-linux.abi.xml
@@ -0,0 +1,325 @@
+<abi-corpus path='src/interfaces/ecpg/compatlib/libecpg_compat.so.3.16' architecture='elf-amd-x86_64' soname='libecpg_compat.so.3'>
+  <elf-function-symbols>
+    <elf-symbol name='ECPG_informix_get_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPG_informix_reset_sqlca' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPG_informix_set_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='byleng' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decadd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvdbl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='deccvlong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decdiv' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decmul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='decsub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectoasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectodbl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectoint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dectolong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtcurrent' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtcvasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtcvfmtasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dtsub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dttoasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='dttofmtasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='intoasc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ldchar' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdatestr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdayofweek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rdefmtdate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rfmtdate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rfmtlong' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rgetmsg' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='risnull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rjulmdy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rmdyjul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rsetnull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rstrdate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtoday' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtypalign' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtypmsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rtypwidth' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='rupshift' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/compatlib/informix.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='e7f23298' size-in-bits='240' id='0851116c'>
+      <subrange length='30' type-id='7359adad' id='6a6183a4'/>
+    </array-type-def>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <type-decl name='double' size-in-bits='64' id='a0eb0f08'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <type-decl name='short int' size-in-bits='16' id='a2185560'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='void' id='48b5725f'/>
+    <typedef-decl name='interval' type-id='5a9386a0' id='6d2a6f9d'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='6d2a6f9d' visibility='default' id='5a9386a0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='month' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='int64' type-id='bd54fe1a' id='27dc5d97'/>
+    <typedef-decl name='timestamp' type-id='27dc5d97' id='71758a2c'/>
+    <typedef-decl name='date' type-id='bd54fe1a' id='ee6f28c8'/>
+    <typedef-decl name='decimal' type-id='c956c942' id='4120637b'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='416' is-struct='yes' is-anonymous='yes' naming-typedef-id='4120637b' visibility='default' id='c956c942'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ndigits' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='weight' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sign' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='digits' type-id='0851116c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='NumericDigit' type-id='002ac4a6' id='e7f23298'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <pointer-type-def type-id='ee6f28c8' size-in-bits='64' id='e3d10909'/>
+    <pointer-type-def type-id='4120637b' size-in-bits='64' id='40769792'/>
+    <pointer-type-def type-id='a0eb0f08' size-in-bits='64' id='7408d286'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <pointer-type-def type-id='6d2a6f9d' size-in-bits='64' id='f8b8e016'/>
+    <pointer-type-def type-id='bd54fe1a' size-in-bits='64' id='3ccc2590'/>
+    <pointer-type-def type-id='a2185560' size-in-bits='64' id='764e437e'/>
+    <pointer-type-def type-id='71758a2c' size-in-bits='64' id='0e885d2b'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <function-decl name='risnull' mangled-name='risnull' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='risnull'>
+      <parameter type-id='95e97e5e' name='t'/>
+      <parameter type-id='80f4b756' name='ptr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rsetnull' mangled-name='rsetnull' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rsetnull'>
+      <parameter type-id='95e97e5e' name='t'/>
+      <parameter type-id='26a90f95' name='ptr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='ECPG_informix_reset_sqlca' mangled-name='ECPG_informix_reset_sqlca' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPG_informix_reset_sqlca'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPG_informix_get_var' mangled-name='ECPG_informix_get_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPG_informix_get_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='ECPG_informix_set_var' mangled-name='ECPG_informix_set_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPG_informix_set_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <parameter type-id='eaa32e2f' name='pointer'/>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rtypwidth' mangled-name='rtypwidth' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtypwidth'>
+      <parameter type-id='95e97e5e' name='sqltype'/>
+      <parameter type-id='95e97e5e' name='sqllen'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rtypmsize' mangled-name='rtypmsize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtypmsize'>
+      <parameter type-id='95e97e5e' name='type'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rtypalign' mangled-name='rtypalign' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtypalign'>
+      <parameter type-id='95e97e5e' name='offset'/>
+      <parameter type-id='95e97e5e' name='type'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rgetmsg' mangled-name='rgetmsg' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rgetmsg'>
+      <parameter type-id='95e97e5e' name='msgnum'/>
+      <parameter type-id='26a90f95' name='s'/>
+      <parameter type-id='95e97e5e' name='maxsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='ldchar' mangled-name='ldchar' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ldchar'>
+      <parameter type-id='26a90f95' name='src'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <parameter type-id='26a90f95' name='dest'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='byleng' mangled-name='byleng' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='byleng'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rupshift' mangled-name='rupshift' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rupshift'>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rfmtlong' mangled-name='rfmtlong' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfmtlong'>
+      <parameter type-id='bd54fe1a' name='lng_val'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='26a90f95' name='outbuf'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='intoasc' mangled-name='intoasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='intoasc'>
+      <parameter type-id='f8b8e016' name='i'/>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dttofmtasc' mangled-name='dttofmtasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dttofmtasc'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <parameter type-id='26a90f95' name='output'/>
+      <parameter type-id='95e97e5e' name='str_len'/>
+      <parameter type-id='26a90f95' name='fmtstr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dttoasc' mangled-name='dttoasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dttoasc'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <parameter type-id='26a90f95' name='output'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtsub' mangled-name='dtsub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtsub'>
+      <parameter type-id='0e885d2b' name='ts1'/>
+      <parameter type-id='0e885d2b' name='ts2'/>
+      <parameter type-id='f8b8e016' name='iv'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtcvfmtasc' mangled-name='dtcvfmtasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtcvfmtasc'>
+      <parameter type-id='26a90f95' name='inbuf'/>
+      <parameter type-id='26a90f95' name='fmtstr'/>
+      <parameter type-id='0e885d2b' name='dtvalue'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtcvasc' mangled-name='dtcvasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtcvasc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dtcurrent' mangled-name='dtcurrent' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dtcurrent'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rdayofweek' mangled-name='rdayofweek' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdayofweek'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rmdyjul' mangled-name='rmdyjul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rmdyjul'>
+      <parameter type-id='764e437e' name='mdy'/>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rfmtdate' mangled-name='rfmtdate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rfmtdate'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rdefmtdate' mangled-name='rdefmtdate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdefmtdate'>
+      <parameter type-id='e3d10909' name='d'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rjulmdy' mangled-name='rjulmdy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rjulmdy'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <parameter type-id='764e437e' name='mdy'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rtoday' mangled-name='rtoday' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rtoday'>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='rstrdate' mangled-name='rstrdate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rstrdate'>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='rdatestr' mangled-name='rdatestr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='rdatestr'>
+      <parameter type-id='ee6f28c8' name='d'/>
+      <parameter type-id='26a90f95' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectolong' mangled-name='dectolong' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectolong'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='3ccc2590' name='lngp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectoint' mangled-name='dectoint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectoint'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='7292109c' name='ip'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectodbl' mangled-name='dectodbl' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectodbl'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='7408d286' name='dblp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='dectoasc' mangled-name='dectoasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='dectoasc'>
+      <parameter type-id='40769792' name='np'/>
+      <parameter type-id='26a90f95' name='cp'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <parameter type-id='95e97e5e' name='right'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decsub' mangled-name='decsub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decsub'>
+      <parameter type-id='40769792' name='n1'/>
+      <parameter type-id='40769792' name='n2'/>
+      <parameter type-id='40769792' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decmul' mangled-name='decmul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decmul'>
+      <parameter type-id='40769792' name='n1'/>
+      <parameter type-id='40769792' name='n2'/>
+      <parameter type-id='40769792' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decdiv' mangled-name='decdiv' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decdiv'>
+      <parameter type-id='40769792' name='n1'/>
+      <parameter type-id='40769792' name='n2'/>
+      <parameter type-id='40769792' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvlong' mangled-name='deccvlong' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvlong'>
+      <parameter type-id='bd54fe1a' name='lng'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvint' mangled-name='deccvint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvint'>
+      <parameter type-id='95e97e5e' name='in'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvdbl' mangled-name='deccvdbl' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvdbl'>
+      <parameter type-id='a0eb0f08' name='dbl'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccvasc' mangled-name='deccvasc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccvasc'>
+      <parameter type-id='80f4b756' name='cp'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <parameter type-id='40769792' name='np'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='deccopy' mangled-name='deccopy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccopy'>
+      <parameter type-id='40769792' name='src'/>
+      <parameter type-id='40769792' name='target'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='deccmp' mangled-name='deccmp' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='deccmp'>
+      <parameter type-id='40769792' name='arg1'/>
+      <parameter type-id='40769792' name='arg2'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='decadd' mangled-name='decadd' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='decadd'>
+      <parameter type-id='40769792' name='arg1'/>
+      <parameter type-id='40769792' name='arg2'/>
+      <parameter type-id='40769792' name='sum'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml b/src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml
new file mode 100644
index 00000000000..38dbc32f1c2
--- /dev/null
+++ b/src/interfaces/ecpg/ecpglib/libecpg.x86_64-linux.abi.xml
@@ -0,0 +1,482 @@
+<abi-corpus path='src/interfaces/ecpg/ecpglib/libecpg.so.6.16' architecture='elf-amd-x86_64' soname='libecpg.so.6'>
+  <elf-function-symbols>
+    <elf-symbol name='ECPGallocate_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdeallocate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdeallocate_all' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdeallocate_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdebug' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdescribe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdisconnect' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGdo_descriptor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGfree_auto_mem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_PGconn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_desc_header' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_sqlca' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGget_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGis_noind_null' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGprepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGprepared_statement' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_desc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_desc_header' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_noind_null' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGset_var' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGsetcommit' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGsetconn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGstatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGtrans' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='ECPGtransactionStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='sqlprint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/connect.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='38b51b3c' size-in-bits='832' id='02b72c00'>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='c894953d'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <class-decl name='__locale_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='23de8b96'/>
+    <class-decl name='pg_conn' is-struct='yes' visibility='default' is-declaration-only='yes' id='491f6917'/>
+    <array-type-def dimensions='1' type-id='80f4b756' size-in-bits='832' id='39e6f84a'>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
+    <typedef-decl name='locale_t' type-id='b7ac9b5f' id='973a4f8d'/>
+    <typedef-decl name='__locale_t' type-id='f01e1813' id='b7ac9b5f'/>
+    <class-decl name='__locale_struct' size-in-bits='1856' is-struct='yes' visibility='default' id='90cc1ce3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='__locales' type-id='02b72c00' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='__ctype_b' type-id='31347b7a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='__ctype_tolower' type-id='6d60f45d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='__ctype_toupper' type-id='6d60f45d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='__names' type-id='39e6f84a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGconn' type-id='491f6917' id='51b05e3b'/>
+    <pointer-type-def type-id='51b05e3b' size-in-bits='64' id='ec15dfe4'/>
+    <pointer-type-def type-id='23de8b96' size-in-bits='64' id='38b51b3c'/>
+    <pointer-type-def type-id='90cc1ce3' size-in-bits='64' id='f01e1813'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <qualified-type-def type-id='95e97e5e' const='yes' id='2448a865'/>
+    <pointer-type-def type-id='2448a865' size-in-bits='64' id='6d60f45d'/>
+    <qualified-type-def type-id='8efea9e5' const='yes' id='3beb2af4'/>
+    <pointer-type-def type-id='3beb2af4' size-in-bits='64' id='31347b7a'/>
+    <var-decl name='ecpg_clocale' type-id='973a4f8d' visibility='default'/>
+    <function-decl name='ECPGget_PGconn' mangled-name='ECPGget_PGconn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_PGconn'>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='ECPGdisconnect' mangled-name='ECPGdisconnect' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdisconnect'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGconnect' mangled-name='ECPGconnect' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGconnect'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='95e97e5e' name='c'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='95e97e5e' name='autocommit'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGsetconn' mangled-name='ECPGsetconn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGsetconn'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGsetcommit' mangled-name='ECPGsetcommit' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGsetcommit'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='mode'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/descriptor.c' language='LANG_C99'>
+    <type-decl name='variadic parameter type' id='2c1145c5'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <function-decl name='ECPGdescribe' mangled-name='ECPGdescribe' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdescribe'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='95e97e5e' name='compat'/>
+      <parameter type-id='c894953d' name='input'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='stmt_name'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGallocate_desc' mangled-name='ECPGallocate_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGallocate_desc'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGdeallocate_desc' mangled-name='ECPGdeallocate_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdeallocate_desc'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGset_desc' mangled-name='ECPGset_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_desc'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='95e97e5e' name='index'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGset_desc_header' mangled-name='ECPGset_desc_header' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_desc_header'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='95e97e5e' name='count'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGget_desc' mangled-name='ECPGget_desc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_desc'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='95e97e5e' name='index'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGget_desc_header' mangled-name='ECPGget_desc_header' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_desc_header'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='desc_name'/>
+      <parameter type-id='7292109c' name='count'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/error.c' language='LANG_C99'>
+    <type-decl name='void' id='48b5725f'/>
+    <function-decl name='sqlprint' mangled-name='sqlprint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='sqlprint'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/execute.c' language='LANG_C99'>
+    <qualified-type-def type-id='c894953d' const='yes' id='4ab96a04'/>
+    <function-decl name='ECPGdo_descriptor' mangled-name='ECPGdo_descriptor' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdo_descriptor'>
+      <parameter type-id='95e97e5e' name='line'/>
+      <parameter type-id='80f4b756' name='connection'/>
+      <parameter type-id='80f4b756' name='descriptor'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGdo' mangled-name='ECPGdo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdo'>
+      <parameter type-id='2448a865' name='lineno'/>
+      <parameter type-id='2448a865' name='compat'/>
+      <parameter type-id='2448a865' name='force_indicator'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='4ab96a04' name='questionmarks'/>
+      <parameter type-id='2448a865' name='st'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/memory.c' language='LANG_C99'>
+    <function-decl name='ECPGfree_auto_mem' mangled-name='ECPGfree_auto_mem' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGfree_auto_mem'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/misc.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='1200' id='8ba463b3'>
+      <subrange length='150' type-id='7359adad' id='c75c987b'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='8' id='89feb1ec'>
+      <subrange length='1' type-id='7359adad' id='52f813b4'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='160' id='664ac0b7'>
+      <subrange length='20' type-id='7359adad' id='fdca39cf'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='40' id='4a08da88'>
+      <subrange length='5' type-id='7359adad' id='53010e10'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='64' id='8e100159'>
+      <subrange length='8' type-id='7359adad' id='56e0c0b1'/>
+    </array-type-def>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <array-type-def dimensions='1' type-id='bd54fe1a' size-in-bits='384' id='613ff906'>
+      <subrange length='6' type-id='7359adad' id='52fa524b'/>
+    </array-type-def>
+    <type-decl name='signed char' size-in-bits='8' id='28577a57'/>
+    <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
+    <class-decl name='var_list' size-in-bits='192' is-struct='yes' visibility='default' id='60257153'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='number' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pointer' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='c181a543' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <enum-decl name='ECPGttype' id='acb9f267'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ECPGt_char' value='1'/>
+      <enumerator name='ECPGt_unsigned_char' value='2'/>
+      <enumerator name='ECPGt_short' value='3'/>
+      <enumerator name='ECPGt_unsigned_short' value='4'/>
+      <enumerator name='ECPGt_int' value='5'/>
+      <enumerator name='ECPGt_unsigned_int' value='6'/>
+      <enumerator name='ECPGt_long' value='7'/>
+      <enumerator name='ECPGt_unsigned_long' value='8'/>
+      <enumerator name='ECPGt_long_long' value='9'/>
+      <enumerator name='ECPGt_unsigned_long_long' value='10'/>
+      <enumerator name='ECPGt_bool' value='11'/>
+      <enumerator name='ECPGt_float' value='12'/>
+      <enumerator name='ECPGt_double' value='13'/>
+      <enumerator name='ECPGt_varchar' value='14'/>
+      <enumerator name='ECPGt_varchar2' value='15'/>
+      <enumerator name='ECPGt_numeric' value='16'/>
+      <enumerator name='ECPGt_decimal' value='17'/>
+      <enumerator name='ECPGt_date' value='18'/>
+      <enumerator name='ECPGt_timestamp' value='19'/>
+      <enumerator name='ECPGt_interval' value='20'/>
+      <enumerator name='ECPGt_array' value='21'/>
+      <enumerator name='ECPGt_struct' value='22'/>
+      <enumerator name='ECPGt_union' value='23'/>
+      <enumerator name='ECPGt_descriptor' value='24'/>
+      <enumerator name='ECPGt_char_variable' value='25'/>
+      <enumerator name='ECPGt_const' value='26'/>
+      <enumerator name='ECPGt_EOIT' value='27'/>
+      <enumerator name='ECPGt_EORT' value='28'/>
+      <enumerator name='ECPGt_NO_INDICATOR' value='29'/>
+      <enumerator name='ECPGt_string' value='30'/>
+      <enumerator name='ECPGt_sqlda' value='31'/>
+      <enumerator name='ECPGt_bytea' value='32'/>
+    </enum-decl>
+    <typedef-decl name='FILE' type-id='ec1ed955' id='aa12d1ba'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='e4c6fa61' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='79989e9c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='8efea9e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='28577a57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='cecf4ea7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='724e4de6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='570f8c59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='c65a1f29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__off_t' type-id='bd54fe1a' id='79989e9c'/>
+    <typedef-decl name='_IO_lock_t' type-id='48b5725f' id='bb4788fa'/>
+    <typedef-decl name='__off64_t' type-id='bd54fe1a' id='724e4de6'/>
+    <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
+    <typedef-decl name='PGTransactionStatusType' type-id='08f5ca17' id='280022c9'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca17'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQTRANS_IDLE' value='0'/>
+      <enumerator name='PQTRANS_ACTIVE' value='1'/>
+      <enumerator name='PQTRANS_INTRANS' value='2'/>
+      <enumerator name='PQTRANS_INERROR' value='3'/>
+      <enumerator name='PQTRANS_UNKNOWN' value='4'/>
+    </enum-decl>
+    <class-decl name='sqlca_t' size-in-bits='2048' is-struct='yes' visibility='default' id='80bcc684'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sqlcaid' type-id='8e100159' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='sqlabc' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sqlcode' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='sqlerrm' type-id='568eb3f1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1440'>
+        <var-decl name='sqlerrp' type-id='8e100159' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='sqlerrd' type-id='613ff906' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='sqlwarn' type-id='8e100159' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='sqlstate' type-id='4a08da88' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='1248' is-struct='yes' is-anonymous='yes' visibility='default' id='568eb3f1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sqlerrml' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sqlerrmc' type-id='8ba463b3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
+    <pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
+    <pointer-type-def type-id='a4036571' size-in-bits='64' id='570f8c59'/>
+    <pointer-type-def type-id='bb4788fa' size-in-bits='64' id='cecf4ea7'/>
+    <pointer-type-def type-id='010ae0b9' size-in-bits='64' id='e4c6fa61'/>
+    <pointer-type-def type-id='79bd3751' size-in-bits='64' id='c65a1f29'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <pointer-type-def type-id='80bcc684' size-in-bits='64' id='43f96bf2'/>
+    <pointer-type-def type-id='60257153' size-in-bits='64' id='c181a543'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <var-decl name='ecpg_internal_regression_mode' type-id='c894953d' visibility='default'/>
+    <var-decl name='ivlist' type-id='c181a543' visibility='default'/>
+    <function-decl name='ECPGget_var' mangled-name='ECPGget_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='ECPGset_var' mangled-name='ECPGset_var' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_var'>
+      <parameter type-id='95e97e5e' name='number'/>
+      <parameter type-id='eaa32e2f' name='pointer'/>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPGis_noind_null' mangled-name='ECPGis_noind_null' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGis_noind_null'>
+      <parameter type-id='acb9f267' name='type'/>
+      <parameter type-id='eaa32e2f' name='ptr'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGset_noind_null' mangled-name='ECPGset_noind_null' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGset_noind_null'>
+      <parameter type-id='acb9f267' name='type'/>
+      <parameter type-id='eaa32e2f' name='ptr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPGdebug' mangled-name='ECPGdebug' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdebug'>
+      <parameter type-id='95e97e5e' name='n'/>
+      <parameter type-id='822cd80b' name='dbgs'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='ECPGtrans' mangled-name='ECPGtrans' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGtrans'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='transaction'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGtransactionStatus' mangled-name='ECPGtransactionStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGtransactionStatus'>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='280022c9'/>
+    </function-decl>
+    <function-decl name='ECPGstatus' mangled-name='ECPGstatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGstatus'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGget_sqlca' mangled-name='ECPGget_sqlca' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGget_sqlca'>
+      <return type-id='43f96bf2'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/ecpglib/prepare.c' language='LANG_C99'>
+    <function-decl name='ECPGprepared_statement' mangled-name='ECPGprepared_statement' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGprepared_statement'>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='ECPGdeallocate_all' mangled-name='ECPGdeallocate_all' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdeallocate_all'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='95e97e5e' name='compat'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGdeallocate' mangled-name='ECPGdeallocate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGdeallocate'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='95e97e5e' name='c'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+    <function-decl name='ECPGprepare' mangled-name='ECPGprepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='ECPGprepare'>
+      <parameter type-id='95e97e5e' name='lineno'/>
+      <parameter type-id='80f4b756' name='connection_name'/>
+      <parameter type-id='4ab96a04' name='questionmarks'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='80f4b756' name='variable'/>
+      <return type-id='c894953d'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml b/src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml
new file mode 100644
index 00000000000..934ad2d62e3
--- /dev/null
+++ b/src/interfaces/ecpg/pgtypeslib/libpgtypes.x86_64-linux.abi.xml
@@ -0,0 +1,392 @@
+<abi-corpus path='src/interfaces/ecpg/pgtypeslib/libpgtypes.so.3.16' architecture='elf-amd-x86_64' soname='libpgtypes.so.3'>
+  <elf-function-symbols>
+    <elf-symbol name='PGTYPESchar_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_dayofweek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_defmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_fmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_from_timestamp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_julmdy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_mdyjul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdate_today' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdecimal_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESdecimal_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESinterval_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_add' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_cmp' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_copy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_div' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_free' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_decimal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_from_long' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_mul' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_new' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_decimal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_double' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_int' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPESnumeric_to_long' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_add_interval' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_current' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_defmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_defmt_scan' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_fmt_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_from_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_sub' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_sub_interval' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PGTYPEStimestamp_to_asc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/common.c' language='LANG_C99'>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <type-decl name='void' id='48b5725f'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <function-decl name='PGTYPESchar_free' mangled-name='PGTYPESchar_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESchar_free'>
+      <parameter type-id='26a90f95' name='ptr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/datetime.c' language='LANG_C99'>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <typedef-decl name='date' type-id='bd54fe1a' id='ee6f28c8'/>
+    <typedef-decl name='timestamp' type-id='27dc5d97' id='71758a2c'/>
+    <typedef-decl name='int64' type-id='bd54fe1a' id='27dc5d97'/>
+    <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <pointer-type-def type-id='ee6f28c8' size-in-bits='64' id='e3d10909'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <function-decl name='PGTYPESdate_defmt_asc' mangled-name='PGTYPESdate_defmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_defmt_asc'>
+      <parameter type-id='e3d10909' name='d'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_fmt_asc' mangled-name='PGTYPESdate_fmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_fmt_asc'>
+      <parameter type-id='ee6f28c8' name='dDate'/>
+      <parameter type-id='80f4b756' name='fmtstring'/>
+      <parameter type-id='26a90f95' name='outbuf'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_today' mangled-name='PGTYPESdate_today' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_today'>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_dayofweek' mangled-name='PGTYPESdate_dayofweek' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_dayofweek'>
+      <parameter type-id='ee6f28c8' name='dDate'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_mdyjul' mangled-name='PGTYPESdate_mdyjul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_mdyjul'>
+      <parameter type-id='7292109c' name='mdy'/>
+      <parameter type-id='e3d10909' name='jdate'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_julmdy' mangled-name='PGTYPESdate_julmdy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_julmdy'>
+      <parameter type-id='ee6f28c8' name='jd'/>
+      <parameter type-id='7292109c' name='mdy'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_to_asc' mangled-name='PGTYPESdate_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_to_asc'>
+      <parameter type-id='ee6f28c8' name='dDate'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_from_asc' mangled-name='PGTYPESdate_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='ee6f28c8'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_from_timestamp' mangled-name='PGTYPESdate_from_timestamp' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_from_timestamp'>
+      <parameter type-id='71758a2c' name='dt'/>
+      <return type-id='ee6f28c8'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_free' mangled-name='PGTYPESdate_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_free'>
+      <parameter type-id='e3d10909' name='d'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESdate_new' mangled-name='PGTYPESdate_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdate_new'>
+      <return type-id='e3d10909'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/dt_common.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='26a90f95' size-in-bits='832' id='c8886dd1'>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='26a90f95' size-in-bits='512' id='460b55b1'>
+      <subrange length='8' type-id='7359adad' id='56e0c0b1'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='26a90f95' size-in-bits='infinite' id='ed7b5735'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='2' type-id='2448a865' size-in-bits='832' id='427248b3'>
+      <subrange length='2' type-id='7359adad' id='52efc4ef'/>
+      <subrange length='13' type-id='7359adad' id='487fded1'/>
+    </array-type-def>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <qualified-type-def type-id='95e97e5e' const='yes' id='2448a865'/>
+    <pointer-type-def type-id='71758a2c' size-in-bits='64' id='0e885d2b'/>
+    <var-decl name='day_tab' type-id='427248b3' visibility='default'/>
+    <var-decl name='months' type-id='ed7b5735' visibility='default'/>
+    <var-decl name='days' type-id='ed7b5735' visibility='default'/>
+    <var-decl name='pgtypes_date_weekdays_short' type-id='ed7b5735' visibility='default'/>
+    <var-decl name='pgtypes_date_months' type-id='ed7b5735' visibility='default'/>
+    <function-decl name='PGTYPEStimestamp_defmt_scan' mangled-name='PGTYPEStimestamp_defmt_scan' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_defmt_scan'>
+      <parameter type-id='9b23c9ad' name='str'/>
+      <parameter type-id='26a90f95' name='fmt'/>
+      <parameter type-id='0e885d2b' name='d'/>
+      <parameter type-id='7292109c' name='year'/>
+      <parameter type-id='7292109c' name='month'/>
+      <parameter type-id='7292109c' name='day'/>
+      <parameter type-id='7292109c' name='hour'/>
+      <parameter type-id='7292109c' name='minute'/>
+      <parameter type-id='7292109c' name='second'/>
+      <parameter type-id='7292109c' name='tz'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/interval.c' language='LANG_C99'>
+    <typedef-decl name='interval' type-id='5a9386a0' id='6d2a6f9d'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='6d2a6f9d' visibility='default' id='5a9386a0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='time' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='month' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='6d2a6f9d' size-in-bits='64' id='f8b8e016'/>
+    <function-decl name='PGTYPESinterval_copy' mangled-name='PGTYPESinterval_copy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_copy'>
+      <parameter type-id='f8b8e016' name='intvlsrc'/>
+      <parameter type-id='f8b8e016' name='intvldest'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_to_asc' mangled-name='PGTYPESinterval_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_to_asc'>
+      <parameter type-id='f8b8e016' name='span'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_from_asc' mangled-name='PGTYPESinterval_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='f8b8e016'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_free' mangled-name='PGTYPESinterval_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_free'>
+      <parameter type-id='f8b8e016' name='intvl'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESinterval_new' mangled-name='PGTYPESinterval_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESinterval_new'>
+      <return type-id='f8b8e016'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/numeric.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='e7f23298' size-in-bits='240' id='0851116c'>
+      <subrange length='30' type-id='7359adad' id='6a6183a4'/>
+    </array-type-def>
+    <type-decl name='double' size-in-bits='64' id='a0eb0f08'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <typedef-decl name='decimal' type-id='c956c942' id='4120637b'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='416' is-struct='yes' is-anonymous='yes' naming-typedef-id='4120637b' visibility='default' id='c956c942'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ndigits' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='weight' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sign' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='digits' type-id='0851116c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='NumericDigit' type-id='002ac4a6' id='e7f23298'/>
+    <typedef-decl name='numeric' type-id='e0002629' id='3c20c58f'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='320' is-struct='yes' is-anonymous='yes' naming-typedef-id='3c20c58f' visibility='default' id='e0002629'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ndigits' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='weight' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='dscale' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='sign' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='buf' type-id='09248375' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='digits' type-id='09248375' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='e7f23298' size-in-bits='64' id='09248375'/>
+    <pointer-type-def type-id='4120637b' size-in-bits='64' id='40769792'/>
+    <pointer-type-def type-id='a0eb0f08' size-in-bits='64' id='7408d286'/>
+    <pointer-type-def type-id='bd54fe1a' size-in-bits='64' id='3ccc2590'/>
+    <pointer-type-def type-id='3c20c58f' size-in-bits='64' id='816a93e6'/>
+    <function-decl name='PGTYPESnumeric_from_decimal' mangled-name='PGTYPESnumeric_from_decimal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_decimal'>
+      <parameter type-id='40769792' name='src'/>
+      <parameter type-id='816a93e6' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_decimal' mangled-name='PGTYPESnumeric_to_decimal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_decimal'>
+      <parameter type-id='816a93e6' name='src'/>
+      <parameter type-id='40769792' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_long' mangled-name='PGTYPESnumeric_to_long' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_long'>
+      <parameter type-id='816a93e6' name='nv'/>
+      <parameter type-id='3ccc2590' name='lp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_int' mangled-name='PGTYPESnumeric_to_int' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_int'>
+      <parameter type-id='816a93e6' name='nv'/>
+      <parameter type-id='7292109c' name='ip'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_double' mangled-name='PGTYPESnumeric_to_double' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_double'>
+      <parameter type-id='816a93e6' name='nv'/>
+      <parameter type-id='7408d286' name='dp'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_double' mangled-name='PGTYPESnumeric_from_double' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_double'>
+      <parameter type-id='a0eb0f08' name='d'/>
+      <parameter type-id='816a93e6' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_copy' mangled-name='PGTYPESnumeric_copy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_copy'>
+      <parameter type-id='816a93e6' name='src'/>
+      <parameter type-id='816a93e6' name='dst'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_long' mangled-name='PGTYPESnumeric_from_long' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_long'>
+      <parameter type-id='bd54fe1a' name='long_val'/>
+      <parameter type-id='816a93e6' name='var'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_int' mangled-name='PGTYPESnumeric_from_int' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_int'>
+      <parameter type-id='95e97e5e' name='int_val'/>
+      <parameter type-id='816a93e6' name='var'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_cmp' mangled-name='PGTYPESnumeric_cmp' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_cmp'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_div' mangled-name='PGTYPESnumeric_div' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_div'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_mul' mangled-name='PGTYPESnumeric_mul' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_mul'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_sub' mangled-name='PGTYPESnumeric_sub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_sub'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_add' mangled-name='PGTYPESnumeric_add' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_add'>
+      <parameter type-id='816a93e6' name='var1'/>
+      <parameter type-id='816a93e6' name='var2'/>
+      <parameter type-id='816a93e6' name='result'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPESdecimal_free' mangled-name='PGTYPESdecimal_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdecimal_free'>
+      <parameter type-id='40769792' name='var'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_free' mangled-name='PGTYPESnumeric_free' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_free'>
+      <parameter type-id='816a93e6' name='var'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_to_asc' mangled-name='PGTYPESnumeric_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_to_asc'>
+      <parameter type-id='816a93e6' name='num'/>
+      <parameter type-id='95e97e5e' name='dscale'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_from_asc' mangled-name='PGTYPESnumeric_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='816a93e6'/>
+    </function-decl>
+    <function-decl name='PGTYPESdecimal_new' mangled-name='PGTYPESdecimal_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESdecimal_new'>
+      <return type-id='40769792'/>
+    </function-decl>
+    <function-decl name='PGTYPESnumeric_new' mangled-name='PGTYPESnumeric_new' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPESnumeric_new'>
+      <return type-id='816a93e6'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/ecpg/pgtypeslib/timestamp.c' language='LANG_C99'>
+    <function-decl name='PGTYPEStimestamp_sub_interval' mangled-name='PGTYPEStimestamp_sub_interval' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_sub_interval'>
+      <parameter type-id='0e885d2b' name='tin'/>
+      <parameter type-id='f8b8e016' name='span'/>
+      <parameter type-id='0e885d2b' name='tout'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_add_interval' mangled-name='PGTYPEStimestamp_add_interval' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_add_interval'>
+      <parameter type-id='0e885d2b' name='tin'/>
+      <parameter type-id='f8b8e016' name='span'/>
+      <parameter type-id='0e885d2b' name='tout'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_defmt_asc' mangled-name='PGTYPEStimestamp_defmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_defmt_asc'>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter type-id='0e885d2b' name='d'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_sub' mangled-name='PGTYPEStimestamp_sub' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_sub'>
+      <parameter type-id='0e885d2b' name='ts1'/>
+      <parameter type-id='0e885d2b' name='ts2'/>
+      <parameter type-id='f8b8e016' name='iv'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_fmt_asc' mangled-name='PGTYPEStimestamp_fmt_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_fmt_asc'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <parameter type-id='26a90f95' name='output'/>
+      <parameter type-id='95e97e5e' name='str_len'/>
+      <parameter type-id='80f4b756' name='fmtstr'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_current' mangled-name='PGTYPEStimestamp_current' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_current'>
+      <parameter type-id='0e885d2b' name='ts'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_to_asc' mangled-name='PGTYPEStimestamp_to_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_to_asc'>
+      <parameter type-id='71758a2c' name='tstamp'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PGTYPEStimestamp_from_asc' mangled-name='PGTYPEStimestamp_from_asc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PGTYPEStimestamp_from_asc'>
+      <parameter type-id='26a90f95' name='str'/>
+      <parameter type-id='9b23c9ad' name='endptr'/>
+      <return type-id='71758a2c'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/interfaces/libpq/libpq.x86_64-linux.abi.xml b/src/interfaces/libpq/libpq.x86_64-linux.abi.xml
new file mode 100644
index 00000000000..2899f28c19c
--- /dev/null
+++ b/src/interfaces/libpq/libpq.x86_64-linux.abi.xml
@@ -0,0 +1,2658 @@
+<abi-corpus path='src/interfaces/libpq/libpq.so.5.17' architecture='elf-amd-x86_64' soname='libpq.so.5'>
+  <elf-function-symbols>
+    <elf-symbol name='PQbackendPID' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQbinaryTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclear' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclientEncoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclosePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQclosePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcmdStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcmdTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconndefaults' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectPoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectStart' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectStartParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectdb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectdbParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionNeedsPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionUsedGSSAPI' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconnectionUsedPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfo' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfoFree' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconninfoParse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQconsumeInput' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQcopyResult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdb' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdefaultSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdescribePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdescribePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdisplayTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQdsplen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQencryptPassword' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQencryptPasswordConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQendcopy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQenterPipelineMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQenv2encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQerrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeBytea' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeByteaConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeIdentifier' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeLiteral' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeString' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQescapeStringConn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexec' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexecParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexecPrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQexitPipelineMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfformat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfinish' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfireResultCreateEvents' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQflush' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfmod' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfn' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfname' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfnumber' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreeCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreeNotify' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfreemem' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQfsize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftable' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftablecol' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQftype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetCopyData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetResult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetgssctx' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetisnull' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetlength' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetlineAsync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetssl' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgetvalue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQgssEncInUse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQhost' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQhostaddr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinitOpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinitSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQinstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisBusy' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisnonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQisthreadsafe' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQlibVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmakeEmptyPGresult' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmblen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQmblenBounded' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnfields' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnotifies' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQnparams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQntuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoidStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoidValue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQoptions' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQparameterStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQparamtype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpass' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQping' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpingParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpipelineStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQpipelineSync' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQport' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprint' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprintTuples' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQprotocolVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputCopyData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputCopyEnd' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputline' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQputnbytes' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQregisterEventProc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQregisterThreadLock' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQrequestCancel' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQreset' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresetPoll' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresetStart' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultAlloc' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultErrorField' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultErrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultMemorySize' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultSetInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQresultVerboseErrorMessage' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendClosePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendClosePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendDescribePortal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendDescribePrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendFlushRequest' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendPrepare' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQuery' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQueryParams' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsendQueryPrepared' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQserverVersion' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetClientEncoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetErrorContextVisibility' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetErrorVerbosity' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetInstanceData' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetNoticeProcessor' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetNoticeReceiver' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetResultAttrs' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetSSLKeyPassHook_OpenSSL' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetSingleRowMode' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetTraceFlags' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetdbLogin' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetnonblocking' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsetvalue' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsocket' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslAttribute' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslAttributeNames' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslInUse' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQsslStruct' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQstatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtransactionStatus' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQtty' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQunescapeBytea' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQuntrace' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='PQuser' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendBinaryPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBufferChar' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='appendPQExpBufferStr' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='createPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='destroyPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='enlargePQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='initPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_close' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_creat' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_create' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_export' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_import' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_import_with_oid' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_lseek' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_lseek64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_open' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_read' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_tell' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_tell64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_truncate' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_truncate64' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_unlink' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='lo_write' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_char_to_encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_encoding_to_char' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_utf_mblen' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_valid_server_encoding' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_valid_server_encoding_id' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pqsignal' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='printfPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='resetPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='termPQExpBuffer' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <elf-variable-symbols>
+    <elf-symbol name='pgresStatus' size='96' type='object-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-variable-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/common/encnames.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='5376' id='752c85d9'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='c8dedbef' size-in-bits='infinite' id='ac835593'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='5376' id='728d2ee1'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='56ef96d7' size-in-bits='infinite' id='a01b33bb'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <typedef-decl name='pg_enc2name' type-id='79f06fd8' id='7a4268c7'/>
+    <class-decl name='pg_enc2name' size-in-bits='128' is-struct='yes' visibility='default' id='79f06fd8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='encoding' type-id='66325df6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_enc' type-id='ea65169a' id='66325df6'/>
+    <enum-decl name='pg_enc' id='ea65169a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PG_SQL_ASCII' value='0'/>
+      <enumerator name='PG_EUC_JP' value='1'/>
+      <enumerator name='PG_EUC_CN' value='2'/>
+      <enumerator name='PG_EUC_KR' value='3'/>
+      <enumerator name='PG_EUC_TW' value='4'/>
+      <enumerator name='PG_EUC_JIS_2004' value='5'/>
+      <enumerator name='PG_UTF8' value='6'/>
+      <enumerator name='PG_MULE_INTERNAL' value='7'/>
+      <enumerator name='PG_LATIN1' value='8'/>
+      <enumerator name='PG_LATIN2' value='9'/>
+      <enumerator name='PG_LATIN3' value='10'/>
+      <enumerator name='PG_LATIN4' value='11'/>
+      <enumerator name='PG_LATIN5' value='12'/>
+      <enumerator name='PG_LATIN6' value='13'/>
+      <enumerator name='PG_LATIN7' value='14'/>
+      <enumerator name='PG_LATIN8' value='15'/>
+      <enumerator name='PG_LATIN9' value='16'/>
+      <enumerator name='PG_LATIN10' value='17'/>
+      <enumerator name='PG_WIN1256' value='18'/>
+      <enumerator name='PG_WIN1258' value='19'/>
+      <enumerator name='PG_WIN866' value='20'/>
+      <enumerator name='PG_WIN874' value='21'/>
+      <enumerator name='PG_KOI8R' value='22'/>
+      <enumerator name='PG_WIN1251' value='23'/>
+      <enumerator name='PG_WIN1252' value='24'/>
+      <enumerator name='PG_ISO_8859_5' value='25'/>
+      <enumerator name='PG_ISO_8859_6' value='26'/>
+      <enumerator name='PG_ISO_8859_7' value='27'/>
+      <enumerator name='PG_ISO_8859_8' value='28'/>
+      <enumerator name='PG_WIN1250' value='29'/>
+      <enumerator name='PG_WIN1253' value='30'/>
+      <enumerator name='PG_WIN1254' value='31'/>
+      <enumerator name='PG_WIN1255' value='32'/>
+      <enumerator name='PG_WIN1257' value='33'/>
+      <enumerator name='PG_KOI8U' value='34'/>
+      <enumerator name='PG_SJIS' value='35'/>
+      <enumerator name='PG_BIG5' value='36'/>
+      <enumerator name='PG_GBK' value='37'/>
+      <enumerator name='PG_UHC' value='38'/>
+      <enumerator name='PG_GB18030' value='39'/>
+      <enumerator name='PG_JOHAB' value='40'/>
+      <enumerator name='PG_SHIFT_JIS_2004' value='41'/>
+      <enumerator name='_PG_LAST_ENCODING_' value='42'/>
+    </enum-decl>
+    <typedef-decl name='pg_enc2gettext' type-id='6257fe06' id='61c38b7f'/>
+    <class-decl name='pg_enc2gettext' size-in-bits='128' is-struct='yes' visibility='default' id='6257fe06'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='encoding' type-id='66325df6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <qualified-type-def type-id='61c38b7f' const='yes' id='c8dedbef'/>
+    <qualified-type-def type-id='7a4268c7' const='yes' id='56ef96d7'/>
+    <var-decl name='pg_enc2name_tbl' type-id='a01b33bb' visibility='default'/>
+    <var-decl name='pg_enc2gettext_tbl' type-id='ac835593' visibility='default'/>
+    <function-decl name='pg_encoding_to_char' mangled-name='pg_encoding_to_char' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_encoding_to_char'>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='pg_char_to_encoding' mangled-name='pg_char_to_encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_char_to_encoding'>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='pg_valid_server_encoding_id' mangled-name='pg_valid_server_encoding_id' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_valid_server_encoding_id'>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='pg_valid_server_encoding' mangled-name='pg_valid_server_encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_valid_server_encoding'>
+      <parameter type-id='80f4b756' name='name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/common/pg_prng.c' language='LANG_C99'>
+    <var-decl name='pg_global_prng_state' type-id='db52f759' visibility='default'/>
+    <typedef-decl name='pg_prng_state' type-id='4bc32f5a' id='db52f759'/>
+    <class-decl name='pg_prng_state' size-in-bits='128' is-struct='yes' visibility='default' id='4bc32f5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s0' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='s1' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/common/wchar.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='2eb933aa' size-in-bits='18816' id='f73e14c8'>
+      <subrange length='42' type-id='7359adad' id='cb7c937f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='2eb933aa' size-in-bits='infinite' id='7598ed9a'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <typedef-decl name='pg_wchar_tbl' type-id='2832bee7' id='4b73dd9a'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='448' is-struct='yes' is-anonymous='yes' naming-typedef-id='4b73dd9a' visibility='default' id='2832bee7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='mb2wchar_with_len' type-id='45ccecaa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wchar2mb_with_len' type-id='d418da4c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='mblen' type-id='62162475' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dsplen' type-id='ba643f05' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='mbverifychar' type-id='357adbda' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='mbverifystr' type-id='69a9e845' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='maxmblen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='mb2wchar_with_len_converter' type-id='94c68999' id='45ccecaa'/>
+    <typedef-decl name='pg_wchar' type-id='f0981eeb' id='69e7d197'/>
+    <typedef-decl name='wchar2mb_with_len_converter' type-id='a8ce94cb' id='d418da4c'/>
+    <typedef-decl name='mblen_converter' type-id='ea6d1a71' id='62162475'/>
+    <typedef-decl name='mbdisplaylen_converter' type-id='ea6d1a71' id='ba643f05'/>
+    <typedef-decl name='mbchar_verifier' type-id='e164bb78' id='357adbda'/>
+    <typedef-decl name='mbstr_verifier' type-id='e164bb78' id='69a9e845'/>
+    <qualified-type-def type-id='69e7d197' const='yes' id='3073fb67'/>
+    <pointer-type-def type-id='3073fb67' size-in-bits='64' id='93949a37'/>
+    <qualified-type-def type-id='4b73dd9a' const='yes' id='2eb933aa'/>
+    <pointer-type-def type-id='404f73b7' size-in-bits='64' id='a8ce94cb'/>
+    <pointer-type-def type-id='343b086d' size-in-bits='64' id='ea6d1a71'/>
+    <pointer-type-def type-id='67c02f4e' size-in-bits='64' id='e164bb78'/>
+    <pointer-type-def type-id='18f2237d' size-in-bits='64' id='94c68999'/>
+    <pointer-type-def type-id='69e7d197' size-in-bits='64' id='37422e90'/>
+    <var-decl name='pg_wchar_table' type-id='7598ed9a' visibility='default'/>
+    <function-decl name='pg_utf_mblen' mangled-name='pg_utf_mblen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_utf_mblen'>
+      <parameter type-id='354f7eb9' name='s'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <pointer-type-def type-id='ea86de29' size-in-bits='64' id='354f7eb9'/>
+    <function-type size-in-bits='64' id='404f73b7'>
+      <parameter type-id='93949a37'/>
+      <parameter type-id='cf536864'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='343b086d'>
+      <parameter type-id='354f7eb9'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='67c02f4e'>
+      <parameter type-id='354f7eb9'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='18f2237d'>
+      <parameter type-id='354f7eb9'/>
+      <parameter type-id='37422e90'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <qualified-type-def type-id='002ac4a6' const='yes' id='ea86de29'/>
+    <pointer-type-def type-id='002ac4a6' size-in-bits='64' id='cf536864'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-auth-scram.c' language='LANG_C99'>
+    <type-decl name='bool' size-in-bits='8' id='c894953d'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='944' id='d8449f07'>
+      <subrange length='118' type-id='7359adad' id='d3d55f9f'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='8' id='89feb1ec'>
+      <subrange length='1' type-id='7359adad' id='52f813b4'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='160' id='664ac0b7'>
+      <subrange length='20' type-id='7359adad' id='fdca39cf'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='512' id='59daf3ef'>
+      <subrange length='64' type-id='7359adad' id='b10be967'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='48' id='4a008bc3'>
+      <subrange length='6' type-id='7359adad' id='52fa524b'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='infinite' id='e84913bd'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <class-decl name='_IO_codecvt' is-struct='yes' visibility='default' is-declaration-only='yes' id='a4036571'/>
+    <class-decl name='_IO_marker' is-struct='yes' visibility='default' is-declaration-only='yes' id='010ae0b9'/>
+    <class-decl name='_IO_wide_data' is-struct='yes' visibility='default' is-declaration-only='yes' id='79bd3751'/>
+    <class-decl name='engine_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='36ec5173'/>
+    <class-decl name='gss_cred_id_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='3fdd6c45'/>
+    <class-decl name='gss_ctx_id_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='9ee227fe'/>
+    <class-decl name='gss_name_struct' is-struct='yes' visibility='default' is-declaration-only='yes' id='a8e0a566'/>
+    <class-decl name='ssl_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='64a5a649'/>
+    <class-decl name='x509_st' is-struct='yes' visibility='default' is-declaration-only='yes' id='704a7505'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <type-decl name='signed char' size-in-bits='8' id='28577a57'/>
+    <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
+    <type-decl name='void' id='48b5725f'/>
+    <class-decl name='pg_fe_sasl_mech' size-in-bits='256' is-struct='yes' visibility='default' id='f3f3632a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='init' type-id='4196f317' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='exchange' type-id='fe1afc54' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='channel_bound' type-id='0bec2760' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='free' type-id='b7f9d8e6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGconn' type-id='491f6917' id='51b05e3b'/>
+    <class-decl name='pg_conn' size-in-bits='9536' is-struct='yes' visibility='default' id='491f6917'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pghost' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pghostaddr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='pgport' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='connect_timeout' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='pgtcp_user_timeout' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='client_encoding_initial' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='pgoptions' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='appname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='fbappname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='dbName' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='replication' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='pguser' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='pgpass' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='pgpassfile' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='channel_binding' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='keepalives' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='keepalives_idle' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='keepalives_interval' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='keepalives_count' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='sslmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='sslcompression' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='sslkey' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='sslcert' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='sslpassword' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='sslcertmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='sslrootcert' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='sslcrl' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='sslcrldir' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='sslsni' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='requirepeer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='gssencmode' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='krbsrvname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='gsslib' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='gssdelegation' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='ssl_min_protocol_version' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='ssl_max_protocol_version' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='target_session_attrs' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='require_auth' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='load_balance_hosts' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='Pfdebug' type-id='822cd80b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='traceFlags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='noticeHooks' type-id='76336d7b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='events' type-id='2f038e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='nEvents' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2976'>
+        <var-decl name='eventArraySize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='status' type-id='0b876eb4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3040'>
+        <var-decl name='asyncStatus' type-id='4847ce6d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='xactStatus' type-id='280022c9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3104'>
+        <var-decl name='last_sqlstate' type-id='4a008bc3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3152'>
+        <var-decl name='options_valid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3160'>
+        <var-decl name='nonblocking' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3168'>
+        <var-decl name='pipelineStatus' type-id='7691cfc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='singleRowMode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3208'>
+        <var-decl name='copy_is_binary' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3232'>
+        <var-decl name='copy_already_done' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='notifyHead' type-id='ecf4f711' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='notifyTail' type-id='ecf4f711' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='nconnhost' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3424'>
+        <var-decl name='whichhost' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='connhost' type-id='ee46afa8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='connip' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='cmd_queue_head' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='cmd_queue_tail' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='cmd_queue_recycle' type-id='60c7de09' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='sock' type-id='f5001928' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='laddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4928'>
+        <var-decl name='raddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6016'>
+        <var-decl name='pversion' type-id='812180e4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6048'>
+        <var-decl name='sversion' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6080'>
+        <var-decl name='auth_req_received' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6088'>
+        <var-decl name='password_needed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6096'>
+        <var-decl name='gssapi_used' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6104'>
+        <var-decl name='sigpipe_so' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6112'>
+        <var-decl name='sigpipe_flag' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6120'>
+        <var-decl name='write_failed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6144'>
+        <var-decl name='write_err_msg' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6208'>
+        <var-decl name='auth_required' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6240'>
+        <var-decl name='allowed_auth_methods' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6272'>
+        <var-decl name='client_finished_auth' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6304'>
+        <var-decl name='target_server_type' type-id='6a71e347' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6336'>
+        <var-decl name='load_balance_type' type-id='05687e13' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6368'>
+        <var-decl name='try_next_addr' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6376'>
+        <var-decl name='try_next_host' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6400'>
+        <var-decl name='naddr' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6432'>
+        <var-decl name='whichaddr' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6464'>
+        <var-decl name='addr' type-id='abeb6880' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6528'>
+        <var-decl name='send_appname' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6560'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6592'>
+        <var-decl name='be_key' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6656'>
+        <var-decl name='pstatus' type-id='6ac21be1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6720'>
+        <var-decl name='client_encoding' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6752'>
+        <var-decl name='std_strings' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6784'>
+        <var-decl name='default_transaction_read_only' type-id='cd92c2cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6816'>
+        <var-decl name='in_hot_standby' type-id='cd92c2cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6848'>
+        <var-decl name='verbosity' type-id='602f6566' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6880'>
+        <var-decl name='show_context' type-id='0534f30c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6912'>
+        <var-decl name='lobjfuncs' type-id='35ec5596' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='6976'>
+        <var-decl name='prng_state' type-id='db52f759' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7104'>
+        <var-decl name='inBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7168'>
+        <var-decl name='inBufSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7200'>
+        <var-decl name='inStart' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7232'>
+        <var-decl name='inCursor' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7264'>
+        <var-decl name='inEnd' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7296'>
+        <var-decl name='outBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7360'>
+        <var-decl name='outBufSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7392'>
+        <var-decl name='outCount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7424'>
+        <var-decl name='outMsgStart' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7456'>
+        <var-decl name='outMsgEnd' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7488'>
+        <var-decl name='rowBuf' type-id='af5f5041' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7552'>
+        <var-decl name='rowBufLen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7616'>
+        <var-decl name='result' type-id='15e678b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7680'>
+        <var-decl name='error_result' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7744'>
+        <var-decl name='next_result' type-id='15e678b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7808'>
+        <var-decl name='sasl' type-id='3a81f511' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7872'>
+        <var-decl name='sasl_state' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7936'>
+        <var-decl name='scram_sha_256_iterations' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7968'>
+        <var-decl name='ssl_in_use' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7976'>
+        <var-decl name='ssl_cert_requested' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7984'>
+        <var-decl name='ssl_cert_sent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='7992'>
+        <var-decl name='allow_ssl_try' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8000'>
+        <var-decl name='wait_ssl_try' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8064'>
+        <var-decl name='ssl' type-id='1e269bf5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8128'>
+        <var-decl name='peer' type-id='02f57381' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8192'>
+        <var-decl name='engine' type-id='827f5e03' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8256'>
+        <var-decl name='crypto_loaded' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8320'>
+        <var-decl name='gctx' type-id='84c6b9b8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8384'>
+        <var-decl name='gtarg_nam' type-id='1abde390' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8448'>
+        <var-decl name='try_gss' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8456'>
+        <var-decl name='gssenc' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8512'>
+        <var-decl name='gcred' type-id='e771909b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8576'>
+        <var-decl name='gss_SendBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8640'>
+        <var-decl name='gss_SendLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8672'>
+        <var-decl name='gss_SendNext' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8704'>
+        <var-decl name='gss_SendConsumed' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8768'>
+        <var-decl name='gss_RecvBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8832'>
+        <var-decl name='gss_RecvLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8896'>
+        <var-decl name='gss_ResultBuffer' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8960'>
+        <var-decl name='gss_ResultLength' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8992'>
+        <var-decl name='gss_ResultNext' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9024'>
+        <var-decl name='gss_MaxPktSize' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9088'>
+        <var-decl name='errorMessage' type-id='d22d5d08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9280'>
+        <var-decl name='errorReported' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='9344'>
+        <var-decl name='workBuffer' type-id='d22d5d08' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FILE' type-id='ec1ed955' id='aa12d1ba'/>
+    <class-decl name='_IO_FILE' size-in-bits='1728' is-struct='yes' visibility='default' id='ec1ed955'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='_flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='_IO_read_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='_IO_read_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='_IO_read_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='_IO_write_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='_IO_write_ptr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='_IO_write_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='_IO_buf_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='_IO_buf_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='_IO_save_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='_IO_backup_base' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='_IO_save_end' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='_markers' type-id='e4c6fa61' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='_chain' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='_fileno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='_flags2' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='_old_offset' type-id='79989e9c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='_cur_column' type-id='8efea9e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1040'>
+        <var-decl name='_vtable_offset' type-id='28577a57' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1048'>
+        <var-decl name='_shortbuf' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='_lock' type-id='cecf4ea7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='_offset' type-id='724e4de6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='_codecvt' type-id='570f8c59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='_wide_data' type-id='c65a1f29' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='_freeres_list' type-id='dca988a5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='_freeres_buf' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='__pad5' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='_mode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='_unused2' type-id='664ac0b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='__off_t' type-id='bd54fe1a' id='79989e9c'/>
+    <typedef-decl name='_IO_lock_t' type-id='48b5725f' id='bb4788fa'/>
+    <typedef-decl name='__off64_t' type-id='bd54fe1a' id='724e4de6'/>
+    <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='256' is-struct='yes' is-anonymous='yes' naming-typedef-id='76336d7b' visibility='default' id='8b36bd1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='noticeRec' type-id='d6489eba' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='noticeRecArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='noticeProc' type-id='af31ca99' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='noticeProcArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PQnoticeReceiver' type-id='92c74605' id='d6489eba'/>
+    <typedef-decl name='PGresult' type-id='5be59f1c' id='7bcca728'/>
+    <class-decl name='pg_result' size-in-bits='1728' is-struct='yes' visibility='default' id='5be59f1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ntups' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='numAttributes' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='attDescs' type-id='d614db7e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tuples' type-id='d60ac47e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tupArrSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='numParameters' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='paramDescs' type-id='297c0d38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='resultStatus' type-id='921cdb17' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='cmdStatus' type-id='59daf3ef' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='binary' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='noticeHooks' type-id='76336d7b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='events' type-id='2f038e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='nEvents' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='client_encoding' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='errMsg' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='errFields' type-id='0c5c8941' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='errQuery' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='null_field' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='curBlock' type-id='ae741ce0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='curOffset' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1632'>
+        <var-decl name='spaceLeft' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='memorySize' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGresAttDesc' type-id='efc88a28' id='0edd802d'/>
+    <class-decl name='pgresAttDesc' size-in-bits='256' is-struct='yes' visibility='default' id='efc88a28'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tableid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='columnid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='format' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typlen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='atttypmod' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Oid' type-id='f0981eeb' id='63cf087c'/>
+    <typedef-decl name='PGresAttValue' type-id='e2f3e732' id='7ceef345'/>
+    <class-decl name='pgresAttValue' size-in-bits='128' is-struct='yes' visibility='default' id='e2f3e732'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGresParamDesc' type-id='569b18fa' id='034c2f9b'/>
+    <class-decl name='pgresParamDesc' size-in-bits='32' is-struct='yes' visibility='default' id='569b18fa'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecStatusType' type-id='08f5ca17' id='921cdb17'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca17'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGRES_EMPTY_QUERY' value='0'/>
+      <enumerator name='PGRES_COMMAND_OK' value='1'/>
+      <enumerator name='PGRES_TUPLES_OK' value='2'/>
+      <enumerator name='PGRES_COPY_OUT' value='3'/>
+      <enumerator name='PGRES_COPY_IN' value='4'/>
+      <enumerator name='PGRES_BAD_RESPONSE' value='5'/>
+      <enumerator name='PGRES_NONFATAL_ERROR' value='6'/>
+      <enumerator name='PGRES_FATAL_ERROR' value='7'/>
+      <enumerator name='PGRES_COPY_BOTH' value='8'/>
+      <enumerator name='PGRES_SINGLE_TUPLE' value='9'/>
+      <enumerator name='PGRES_PIPELINE_SYNC' value='10'/>
+      <enumerator name='PGRES_PIPELINE_ABORTED' value='11'/>
+    </enum-decl>
+    <typedef-decl name='PGNoticeHooks' type-id='8b36bd1c' id='76336d7b'/>
+    <typedef-decl name='PGEvent' type-id='02f7e048' id='33aa0ae3'/>
+    <class-decl name='PGEvent' size-in-bits='320' is-struct='yes' visibility='default' id='02f7e048'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='proc' type-id='a945da4b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='passThrough' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='resultInitialized' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGEventProc' type-id='d2d9538c' id='a945da4b'/>
+    <typedef-decl name='PGEventId' type-id='40ed39d2' id='e727f48e'/>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d2'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGEVT_REGISTER' value='0'/>
+      <enumerator name='PGEVT_CONNRESET' value='1'/>
+      <enumerator name='PGEVT_CONNDESTROY' value='2'/>
+      <enumerator name='PGEVT_RESULTCREATE' value='3'/>
+      <enumerator name='PGEVT_RESULTCOPY' value='4'/>
+      <enumerator name='PGEVT_RESULTDESTROY' value='5'/>
+    </enum-decl>
+    <typedef-decl name='PGMessageField' type-id='a39f2929' id='2c6470ac'/>
+    <class-decl name='pgMessageField' size-in-bits='128' is-struct='yes' visibility='default' id='a39f2929'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='5297b901' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='code' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='contents' type-id='e84913bd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='pgresult_data' size-in-bits='64' visibility='default' id='d0998e85'>
+      <data-member access='private'>
+        <var-decl name='next' type-id='ae741ce0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='space' type-id='89feb1ec' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='PGresult_data' type-id='d0998e85' id='97dd0d15'/>
+    <typedef-decl name='PQnoticeProcessor' type-id='8102f025' id='af31ca99'/>
+    <typedef-decl name='ConnStatusType' type-id='3fed383f' id='0b876eb4'/>
+    <enum-decl name='__anonymous_enum__2' is-anonymous='yes' id='3fed383f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CONNECTION_OK' value='0'/>
+      <enumerator name='CONNECTION_BAD' value='1'/>
+      <enumerator name='CONNECTION_STARTED' value='2'/>
+      <enumerator name='CONNECTION_MADE' value='3'/>
+      <enumerator name='CONNECTION_AWAITING_RESPONSE' value='4'/>
+      <enumerator name='CONNECTION_AUTH_OK' value='5'/>
+      <enumerator name='CONNECTION_SETENV' value='6'/>
+      <enumerator name='CONNECTION_SSL_STARTUP' value='7'/>
+      <enumerator name='CONNECTION_NEEDED' value='8'/>
+      <enumerator name='CONNECTION_CHECK_WRITABLE' value='9'/>
+      <enumerator name='CONNECTION_CONSUME' value='10'/>
+      <enumerator name='CONNECTION_GSS_STARTUP' value='11'/>
+      <enumerator name='CONNECTION_CHECK_TARGET' value='12'/>
+      <enumerator name='CONNECTION_CHECK_STANDBY' value='13'/>
+    </enum-decl>
+    <typedef-decl name='PGAsyncStatusType' type-id='3eed36ac' id='4847ce6d'/>
+    <enum-decl name='__anonymous_enum__3' is-anonymous='yes' id='3eed36ac'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGASYNC_IDLE' value='0'/>
+      <enumerator name='PGASYNC_BUSY' value='1'/>
+      <enumerator name='PGASYNC_READY' value='2'/>
+      <enumerator name='PGASYNC_READY_MORE' value='3'/>
+      <enumerator name='PGASYNC_COPY_IN' value='4'/>
+      <enumerator name='PGASYNC_COPY_OUT' value='5'/>
+      <enumerator name='PGASYNC_COPY_BOTH' value='6'/>
+      <enumerator name='PGASYNC_PIPELINE_IDLE' value='7'/>
+    </enum-decl>
+    <typedef-decl name='PGTransactionStatusType' type-id='3ded3519' id='280022c9'/>
+    <enum-decl name='__anonymous_enum__4' is-anonymous='yes' id='3ded3519'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQTRANS_IDLE' value='0'/>
+      <enumerator name='PQTRANS_ACTIVE' value='1'/>
+      <enumerator name='PQTRANS_INTRANS' value='2'/>
+      <enumerator name='PQTRANS_INERROR' value='3'/>
+      <enumerator name='PQTRANS_UNKNOWN' value='4'/>
+    </enum-decl>
+    <typedef-decl name='PGpipelineStatus' type-id='3ced3386' id='7691cfc1'/>
+    <enum-decl name='__anonymous_enum__5' is-anonymous='yes' id='3ced3386'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQ_PIPELINE_OFF' value='0'/>
+      <enumerator name='PQ_PIPELINE_ON' value='1'/>
+      <enumerator name='PQ_PIPELINE_ABORTED' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGnotify' type-id='7d78c1a9' id='90054450'/>
+    <class-decl name='pgNotify' size-in-bits='256' is-struct='yes' visibility='default' id='7d78c1a9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='relname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='extra' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='next' type-id='b9ecfcf1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_conn_host' type-id='df7265ca' id='23727e97'/>
+    <class-decl name='pg_conn_host' size-in-bits='320' is-struct='yes' visibility='default' id='df7265ca'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='2203a010' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='host' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hostaddr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='port' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='password' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_conn_host_type' type-id='f050b1c4' id='2203a010'/>
+    <enum-decl name='pg_conn_host_type' id='f050b1c4'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CHT_HOST_NAME' value='0'/>
+      <enumerator name='CHT_HOST_ADDRESS' value='1'/>
+      <enumerator name='CHT_UNIX_SOCKET' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGcmdQueueEntry' type-id='d58085c1' id='d127ebe6'/>
+    <class-decl name='PGcmdQueueEntry' size-in-bits='192' is-struct='yes' visibility='default' id='d58085c1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='queryclass' type-id='e0c60a21' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='query' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='60c7de09' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGQueryClass' type-id='3bed31f3' id='e0c60a21'/>
+    <enum-decl name='__anonymous_enum__6' is-anonymous='yes' id='3bed31f3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGQUERY_SIMPLE' value='0'/>
+      <enumerator name='PGQUERY_EXTENDED' value='1'/>
+      <enumerator name='PGQUERY_PREPARE' value='2'/>
+      <enumerator name='PGQUERY_DESCRIBE' value='3'/>
+      <enumerator name='PGQUERY_SYNC' value='4'/>
+      <enumerator name='PGQUERY_CLOSE' value='5'/>
+    </enum-decl>
+    <typedef-decl name='pgsocket' type-id='95e97e5e' id='f5001928'/>
+    <typedef-decl name='SockAddr' type-id='cdb5e8f8' id='8c37a12f'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='1088' is-struct='yes' is-anonymous='yes' naming-typedef-id='8c37a12f' visibility='default' id='cdb5e8f8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='addr' type-id='06b72fe4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='salen' type-id='6b2697b0' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='sockaddr_storage' size-in-bits='1024' is-struct='yes' visibility='default' id='06b72fe4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ss_family' type-id='376fda66' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='__ss_padding' type-id='d8449f07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='__ss_align' type-id='7359adad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='sa_family_t' type-id='8efea9e5' id='376fda66'/>
+    <typedef-decl name='socklen_t' type-id='83f97a0a' id='6b2697b0'/>
+    <typedef-decl name='__socklen_t' type-id='f0981eeb' id='83f97a0a'/>
+    <typedef-decl name='ProtocolVersion' type-id='7aa912f5' id='812180e4'/>
+    <typedef-decl name='uint32' type-id='f0981eeb' id='7aa912f5'/>
+    <typedef-decl name='PGTargetServerType' type-id='3aed3060' id='6a71e347'/>
+    <enum-decl name='__anonymous_enum__7' is-anonymous='yes' id='3aed3060'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SERVER_TYPE_ANY' value='0'/>
+      <enumerator name='SERVER_TYPE_READ_WRITE' value='1'/>
+      <enumerator name='SERVER_TYPE_READ_ONLY' value='2'/>
+      <enumerator name='SERVER_TYPE_PRIMARY' value='3'/>
+      <enumerator name='SERVER_TYPE_STANDBY' value='4'/>
+      <enumerator name='SERVER_TYPE_PREFER_STANDBY' value='5'/>
+      <enumerator name='SERVER_TYPE_PREFER_STANDBY_PASS2' value='6'/>
+    </enum-decl>
+    <typedef-decl name='PGLoadBalanceType' type-id='49ed47fd' id='05687e13'/>
+    <enum-decl name='__anonymous_enum__8' is-anonymous='yes' id='49ed47fd'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LOAD_BALANCE_DISABLE' value='0'/>
+      <enumerator name='LOAD_BALANCE_RANDOM' value='1'/>
+    </enum-decl>
+    <typedef-decl name='AddrInfo' type-id='fd08561c' id='79c324ab'/>
+    <class-decl name='__anonymous_struct__2' size-in-bits='1152' is-struct='yes' is-anonymous='yes' naming-typedef-id='79c324ab' visibility='default' id='fd08561c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='family' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pgParameterStatus' type-id='1b4efcd9' id='85458fd6'/>
+    <class-decl name='pgParameterStatus' size-in-bits='192' is-struct='yes' visibility='default' id='1b4efcd9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='6ac21be1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='value' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGTernaryBool' type-id='48ed466a' id='cd92c2cc'/>
+    <enum-decl name='__anonymous_enum__9' is-anonymous='yes' id='48ed466a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PG_BOOL_UNKNOWN' value='0'/>
+      <enumerator name='PG_BOOL_YES' value='1'/>
+      <enumerator name='PG_BOOL_NO' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGVerbosity' type-id='17721ec6' id='602f6566'/>
+    <enum-decl name='__anonymous_enum__10' is-anonymous='yes' id='17721ec6'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQERRORS_TERSE' value='0'/>
+      <enumerator name='PQERRORS_DEFAULT' value='1'/>
+      <enumerator name='PQERRORS_VERBOSE' value='2'/>
+      <enumerator name='PQERRORS_SQLSTATE' value='3'/>
+    </enum-decl>
+    <typedef-decl name='PGContextVisibility' type-id='18722059' id='0534f30c'/>
+    <enum-decl name='__anonymous_enum__11' is-anonymous='yes' id='18722059'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQSHOW_CONTEXT_NEVER' value='0'/>
+      <enumerator name='PQSHOW_CONTEXT_ERRORS' value='1'/>
+      <enumerator name='PQSHOW_CONTEXT_ALWAYS' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PGlobjfuncs' type-id='566fb0d0' id='fb034143'/>
+    <class-decl name='pgLobjfuncs' size-in-bits='416' is-struct='yes' visibility='default' id='566fb0d0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fn_lo_open' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fn_lo_close' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn_lo_creat' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fn_lo_create' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_lo_unlink' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='fn_lo_lseek' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fn_lo_lseek64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='fn_lo_tell' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_lo_tell64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='fn_lo_truncate' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_lo_truncate64' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='fn_lo_read' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fn_lo_write' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_prng_state' type-id='4bc32f5a' id='db52f759'/>
+    <class-decl name='pg_prng_state' size-in-bits='128' is-struct='yes' visibility='default' id='4bc32f5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='s0' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='s1' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+    <typedef-decl name='PGdataValue' type-id='0e688e59' id='ff7d8966'/>
+    <class-decl name='pgDataValue' size-in-bits='128' is-struct='yes' visibility='default' id='0e688e59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='80f4b756' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pg_fe_sasl_mech' type-id='f3f3632a' id='52868a31'/>
+    <typedef-decl name='SSL' type-id='64a5a649' id='785e1b42'/>
+    <typedef-decl name='X509' type-id='704a7505' id='3ee76568'/>
+    <typedef-decl name='ENGINE' type-id='36ec5173' id='8796dda6'/>
+    <typedef-decl name='gss_ctx_id_t' type-id='037bfd74' id='84c6b9b8'/>
+    <typedef-decl name='gss_name_t' type-id='79306dcc' id='1abde390'/>
+    <typedef-decl name='gss_cred_id_t' type-id='2d82dc55' id='e771909b'/>
+    <typedef-decl name='PQExpBufferData' type-id='d45baed3' id='d22d5d08'/>
+    <class-decl name='PQExpBufferData' size-in-bits='192' is-struct='yes' visibility='default' id='d45baed3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='len' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='maxlen' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='79c324ab' size-in-bits='64' id='abeb6880'/>
+    <pointer-type-def type-id='8796dda6' size-in-bits='64' id='827f5e03'/>
+    <pointer-type-def type-id='aa12d1ba' size-in-bits='64' id='822cd80b'/>
+    <pointer-type-def type-id='33aa0ae3' size-in-bits='64' id='2f038e5e'/>
+    <pointer-type-def type-id='2c6470ac' size-in-bits='64' id='0c5c8941'/>
+    <pointer-type-def type-id='d58085c1' size-in-bits='64' id='60c7de09'/>
+    <pointer-type-def type-id='51b05e3b' size-in-bits='64' id='ec15dfe4'/>
+    <pointer-type-def type-id='ff7d8966' size-in-bits='64' id='af5f5041'/>
+    <pointer-type-def type-id='fb034143' size-in-bits='64' id='35ec5596'/>
+    <pointer-type-def type-id='90054450' size-in-bits='64' id='ecf4f711'/>
+    <pointer-type-def type-id='0edd802d' size-in-bits='64' id='d614db7e'/>
+    <pointer-type-def type-id='7ceef345' size-in-bits='64' id='477e7060'/>
+    <pointer-type-def type-id='477e7060' size-in-bits='64' id='d60ac47e'/>
+    <pointer-type-def type-id='034c2f9b' size-in-bits='64' id='297c0d38'/>
+    <pointer-type-def type-id='7bcca728' size-in-bits='64' id='15e678b1'/>
+    <pointer-type-def type-id='97dd0d15' size-in-bits='64' id='ae741ce0'/>
+    <pointer-type-def type-id='785e1b42' size-in-bits='64' id='1e269bf5'/>
+    <pointer-type-def type-id='3ee76568' size-in-bits='64' id='02f57381'/>
+    <pointer-type-def type-id='ec1ed955' size-in-bits='64' id='dca988a5'/>
+    <pointer-type-def type-id='a4036571' size-in-bits='64' id='570f8c59'/>
+    <pointer-type-def type-id='bb4788fa' size-in-bits='64' id='cecf4ea7'/>
+    <pointer-type-def type-id='010ae0b9' size-in-bits='64' id='e4c6fa61'/>
+    <pointer-type-def type-id='79bd3751' size-in-bits='64' id='c65a1f29'/>
+    <pointer-type-def type-id='9b3b543e' size-in-bits='64' id='0bec2760'/>
+    <pointer-type-def type-id='c894953d' size-in-bits='64' id='d8e6b335'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
+    <qualified-type-def type-id='7bcca728' const='yes' id='d1184b98'/>
+    <pointer-type-def type-id='d1184b98' size-in-bits='64' id='db3f2936'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <qualified-type-def type-id='52868a31' const='yes' id='cd23e561'/>
+    <pointer-type-def type-id='cd23e561' size-in-bits='64' id='3a81f511'/>
+    <pointer-type-def type-id='3fdd6c45' size-in-bits='64' id='2d82dc55'/>
+    <pointer-type-def type-id='9ee227fe' size-in-bits='64' id='037bfd74'/>
+    <pointer-type-def type-id='a8e0a566' size-in-bits='64' id='79306dcc'/>
+    <pointer-type-def type-id='f1e4fd3a' size-in-bits='64' id='d2d9538c'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <pointer-type-def type-id='a39f2929' size-in-bits='64' id='5297b901'/>
+    <pointer-type-def type-id='7d78c1a9' size-in-bits='64' id='b9ecfcf1'/>
+    <pointer-type-def type-id='1b4efcd9' size-in-bits='64' id='6ac21be1'/>
+    <pointer-type-def type-id='23727e97' size-in-bits='64' id='ee46afa8'/>
+    <pointer-type-def type-id='c5c76c9c' size-in-bits='64' id='b7f9d8e6'/>
+    <pointer-type-def type-id='68909e7a' size-in-bits='64' id='fe1afc54'/>
+    <pointer-type-def type-id='6343bba1' size-in-bits='64' id='92c74605'/>
+    <pointer-type-def type-id='fda39aa9' size-in-bits='64' id='8102f025'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <pointer-type-def type-id='3196721b' size-in-bits='64' id='4196f317'/>
+    <var-decl name='pg_scram_mech' type-id='cd23e561' visibility='default'/>
+    <function-type size-in-bits='64' id='9b3b543e'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='f1e4fd3a'>
+      <parameter type-id='e727f48e'/>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+    <function-type size-in-bits='64' id='c5c76c9c'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='68909e7a'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='26a90f95'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='9b23c9ad'/>
+      <parameter type-id='7292109c'/>
+      <parameter type-id='d8e6b335'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='6343bba1'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='db3f2936'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='fda39aa9'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='80f4b756'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='3196721b'>
+      <parameter type-id='ec15dfe4'/>
+      <parameter type-id='80f4b756'/>
+      <parameter type-id='80f4b756'/>
+      <return type-id='eaa32e2f'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-auth.c' language='LANG_C99'>
+    <function-decl name='PQencryptPasswordConn' mangled-name='PQencryptPasswordConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQencryptPasswordConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <parameter type-id='80f4b756' name='algorithm'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQencryptPassword' mangled-name='PQencryptPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQencryptPassword'>
+      <parameter type-id='80f4b756' name='passwd'/>
+      <parameter type-id='80f4b756' name='user'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-connect.c' language='LANG_C99'>
+    <typedef-decl name='pgthreadlock_t' type-id='03347643' id='df5023a1'/>
+    <typedef-decl name='PQconninfoOption' type-id='274fb2ba' id='9c44ab40'/>
+    <class-decl name='_PQconninfoOption' size-in-bits='448' is-struct='yes' visibility='default' id='274fb2ba'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='keyword' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='envvar' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='compiled' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='val' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='label' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='dispchar' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='dispsize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGcancel' type-id='bb26c323' id='55bea9a7'/>
+    <class-decl name='pg_cancel' size-in-bits='1344' is-struct='yes' visibility='default' id='bb26c323'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='raddr' type-id='8c37a12f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='be_pid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='be_key' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='pgtcp_user_timeout' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='keepalives' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='keepalives_idle' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='keepalives_interval' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='keepalives_count' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PostgresPollingStatusType' type-id='08f5ca18' id='d716a268'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca18'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PGRES_POLLING_FAILED' value='0'/>
+      <enumerator name='PGRES_POLLING_READING' value='1'/>
+      <enumerator name='PGRES_POLLING_WRITING' value='2'/>
+      <enumerator name='PGRES_POLLING_OK' value='3'/>
+      <enumerator name='PGRES_POLLING_ACTIVE' value='4'/>
+    </enum-decl>
+    <typedef-decl name='PGPing' type-id='40ed39d3' id='1a5758dd'/>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PQPING_OK' value='0'/>
+      <enumerator name='PQPING_REJECT' value='1'/>
+      <enumerator name='PQPING_NO_RESPONSE' value='2'/>
+      <enumerator name='PQPING_NO_ATTEMPT' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='55bea9a7' size-in-bits='64' id='d2029528'/>
+    <pointer-type-def type-id='9c44ab40' size-in-bits='64' id='871381b5'/>
+    <qualified-type-def type-id='51b05e3b' const='yes' id='9245a0eb'/>
+    <pointer-type-def type-id='9245a0eb' size-in-bits='64' id='049c0fd3'/>
+    <qualified-type-def type-id='80f4b756' const='yes' id='b99c00c9'/>
+    <pointer-type-def type-id='b99c00c9' size-in-bits='64' id='13956559'/>
+    <pointer-type-def type-id='f712e2b7' size-in-bits='64' id='03347643'/>
+    <var-decl name='pg_g_threadlock' type-id='df5023a1' visibility='default'/>
+    <function-decl name='PQregisterThreadLock' mangled-name='PQregisterThreadLock' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQregisterThreadLock'>
+      <parameter type-id='df5023a1' name='newhandler'/>
+      <return type-id='df5023a1'/>
+    </function-decl>
+    <function-decl name='PQsetNoticeProcessor' mangled-name='PQsetNoticeProcessor' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetNoticeProcessor'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='af31ca99' name='proc'/>
+      <parameter type-id='eaa32e2f' name='arg'/>
+      <return type-id='af31ca99'/>
+    </function-decl>
+    <function-decl name='PQsetNoticeReceiver' mangled-name='PQsetNoticeReceiver' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetNoticeReceiver'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='d6489eba' name='proc'/>
+      <parameter type-id='eaa32e2f' name='arg'/>
+      <return type-id='d6489eba'/>
+    </function-decl>
+    <function-decl name='PQsetErrorContextVisibility' mangled-name='PQsetErrorContextVisibility' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetErrorContextVisibility'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='0534f30c' name='show_context'/>
+      <return type-id='0534f30c'/>
+    </function-decl>
+    <function-decl name='PQsetErrorVerbosity' mangled-name='PQsetErrorVerbosity' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetErrorVerbosity'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='602f6566' name='verbosity'/>
+      <return type-id='602f6566'/>
+    </function-decl>
+    <function-decl name='PQsetClientEncoding' mangled-name='PQsetClientEncoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetClientEncoding'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQclientEncoding' mangled-name='PQclientEncoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclientEncoding'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionUsedGSSAPI' mangled-name='PQconnectionUsedGSSAPI' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionUsedGSSAPI'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionUsedPassword' mangled-name='PQconnectionUsedPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionUsedPassword'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconnectionNeedsPassword' mangled-name='PQconnectionNeedsPassword' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectionNeedsPassword'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQpipelineStatus' mangled-name='PQpipelineStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpipelineStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='7691cfc1'/>
+    </function-decl>
+    <function-decl name='PQbackendPID' mangled-name='PQbackendPID' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQbackendPID'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsocket' mangled-name='PQsocket' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsocket'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQerrorMessage' mangled-name='PQerrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQerrorMessage'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQserverVersion' mangled-name='PQserverVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQserverVersion'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQprotocolVersion' mangled-name='PQprotocolVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprotocolVersion'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQparameterStatus' mangled-name='PQparameterStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQparameterStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <parameter type-id='80f4b756' name='paramName'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='PQtransactionStatus' mangled-name='PQtransactionStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtransactionStatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='280022c9'/>
+    </function-decl>
+    <function-decl name='PQstatus' mangled-name='PQstatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQstatus'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='0b876eb4'/>
+    </function-decl>
+    <function-decl name='PQoptions' mangled-name='PQoptions' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoptions'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQtty' mangled-name='PQtty' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtty'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQport' mangled-name='PQport' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQport'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQhostaddr' mangled-name='PQhostaddr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQhostaddr'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQhost' mangled-name='PQhost' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQhost'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQpass' mangled-name='PQpass' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpass'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQuser' mangled-name='PQuser' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQuser'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQdb' mangled-name='PQdb' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdb'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQconninfoFree' mangled-name='PQconninfoFree' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfoFree'>
+      <parameter type-id='871381b5' name='connOptions'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQconninfo' mangled-name='PQconninfo' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfo'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQconninfoParse' mangled-name='PQconninfoParse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconninfoParse'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <parameter type-id='9b23c9ad' name='errmsg'/>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQrequestCancel' mangled-name='PQrequestCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQrequestCancel'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQcancel' mangled-name='PQcancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcancel'>
+      <parameter type-id='d2029528' name='cancel'/>
+      <parameter type-id='26a90f95' name='errbuf'/>
+      <parameter type-id='95e97e5e' name='errbufsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfreeCancel' mangled-name='PQfreeCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreeCancel'>
+      <parameter type-id='d2029528' name='cancel'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQgetCancel' mangled-name='PQgetCancel' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetCancel'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d2029528'/>
+    </function-decl>
+    <function-decl name='PQresetPoll' mangled-name='PQresetPoll' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresetPoll'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d716a268'/>
+    </function-decl>
+    <function-decl name='PQresetStart' mangled-name='PQresetStart' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresetStart'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQreset' mangled-name='PQreset' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQreset'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQfinish' mangled-name='PQfinish' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfinish'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQconnectPoll' mangled-name='PQconnectPoll' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectPoll'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='d716a268'/>
+    </function-decl>
+    <function-decl name='PQsetdbLogin' mangled-name='PQsetdbLogin' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetdbLogin'>
+      <parameter type-id='80f4b756' name='pghost'/>
+      <parameter type-id='80f4b756' name='pgport'/>
+      <parameter type-id='80f4b756' name='pgoptions'/>
+      <parameter type-id='80f4b756' name='pgtty'/>
+      <parameter type-id='80f4b756' name='dbName'/>
+      <parameter type-id='80f4b756' name='login'/>
+      <parameter type-id='80f4b756' name='pwd'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQconndefaults' mangled-name='PQconndefaults' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconndefaults'>
+      <return type-id='871381b5'/>
+    </function-decl>
+    <function-decl name='PQconnectStart' mangled-name='PQconnectStart' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectStart'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQconnectStartParams' mangled-name='PQconnectStartParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectStartParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQping' mangled-name='PQping' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQping'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='1a5758dd'/>
+    </function-decl>
+    <function-decl name='PQconnectdb' mangled-name='PQconnectdb' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectdb'>
+      <parameter type-id='80f4b756' name='conninfo'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-decl name='PQpingParams' mangled-name='PQpingParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpingParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='1a5758dd'/>
+    </function-decl>
+    <function-decl name='PQconnectdbParams' mangled-name='PQconnectdbParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconnectdbParams'>
+      <parameter type-id='13956559' name='keywords'/>
+      <parameter type-id='13956559' name='values'/>
+      <parameter type-id='95e97e5e' name='expand_dbname'/>
+      <return type-id='ec15dfe4'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='f712e2b7'>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-exec.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='57de658a' size-in-bits='768' id='459dd743'>
+      <subrange length='12' type-id='7359adad' id='84827bdc'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='57de658a' size-in-bits='infinite' id='335febfa'>
+      <subrange length='infinite' id='031f2035'/>
+    </array-type-def>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <typedef-decl name='PQArgBlock' type-id='cf97e9fc' id='d2328d0a'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' naming-typedef-id='d2328d0a' visibility='default' id='cf97e9fc'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='isint' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='u' type-id='691be1d8' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='64' is-anonymous='yes' visibility='default' id='691be1d8'>
+      <data-member access='private'>
+        <var-decl name='ptr' type-id='7292109c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='integer' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <qualified-type-def type-id='26a90f95' const='yes' id='57de658a'/>
+    <qualified-type-def type-id='63cf087c' const='yes' id='97b155ac'/>
+    <pointer-type-def type-id='97b155ac' size-in-bits='64' id='5229a1f2'/>
+    <qualified-type-def type-id='d2328d0a' const='yes' id='22803e3a'/>
+    <pointer-type-def type-id='22803e3a' size-in-bits='64' id='5fe1b330'/>
+    <qualified-type-def type-id='95e97e5e' const='yes' id='2448a865'/>
+    <pointer-type-def type-id='2448a865' size-in-bits='64' id='6d60f45d'/>
+    <qualified-type-def type-id='002ac4a6' const='yes' id='ea86de29'/>
+    <pointer-type-def type-id='ea86de29' size-in-bits='64' id='354f7eb9'/>
+    <pointer-type-def type-id='b59d7dce' size-in-bits='64' id='78c01427'/>
+    <pointer-type-def type-id='002ac4a6' size-in-bits='64' id='cf536864'/>
+    <var-decl name='pgresStatus' type-id='335febfa' mangled-name='pgresStatus' visibility='default' elf-symbol-id='pgresStatus'/>
+    <function-decl name='PQunescapeBytea' mangled-name='PQunescapeBytea' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQunescapeBytea'>
+      <parameter type-id='354f7eb9' name='strtext'/>
+      <parameter type-id='78c01427' name='retbuflen'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeBytea' mangled-name='PQescapeBytea' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeBytea'>
+      <parameter type-id='354f7eb9' name='from'/>
+      <parameter type-id='b59d7dce' name='from_length'/>
+      <parameter type-id='78c01427' name='to_length'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeByteaConn' mangled-name='PQescapeByteaConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeByteaConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='354f7eb9' name='from'/>
+      <parameter type-id='b59d7dce' name='from_length'/>
+      <parameter type-id='78c01427' name='to_length'/>
+      <return type-id='cf536864'/>
+    </function-decl>
+    <function-decl name='PQescapeIdentifier' mangled-name='PQescapeIdentifier' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeIdentifier'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQescapeLiteral' mangled-name='PQescapeLiteral' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeLiteral'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='str'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQescapeString' mangled-name='PQescapeString' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeString'>
+      <parameter type-id='26a90f95' name='to'/>
+      <parameter type-id='80f4b756' name='from'/>
+      <parameter type-id='b59d7dce' name='length'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQescapeStringConn' mangled-name='PQescapeStringConn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQescapeStringConn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='to'/>
+      <parameter type-id='80f4b756' name='from'/>
+      <parameter type-id='b59d7dce' name='length'/>
+      <parameter type-id='7292109c' name='error'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQfreeNotify' mangled-name='PQfreeNotify' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreeNotify'>
+      <parameter type-id='ecf4f711' name='notify'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQfreemem' mangled-name='PQfreemem' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfreemem'>
+      <parameter type-id='eaa32e2f' name='ptr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQflush' mangled-name='PQflush' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQflush'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQisthreadsafe' mangled-name='PQisthreadsafe' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisthreadsafe'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQisnonblocking' mangled-name='PQisnonblocking' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisnonblocking'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsetnonblocking' mangled-name='PQsetnonblocking' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetnonblocking'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='arg'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQparamtype' mangled-name='PQparamtype' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQparamtype'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='param_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQnparams' mangled-name='PQnparams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnparams'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetisnull' mangled-name='PQgetisnull' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetisnull'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetlength' mangled-name='PQgetlength' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetlength'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetvalue' mangled-name='PQgetvalue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetvalue'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQcmdTuples' mangled-name='PQcmdTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcmdTuples'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQoidValue' mangled-name='PQoidValue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoidValue'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQoidStatus' mangled-name='PQoidStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQoidStatus'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQcmdStatus' mangled-name='PQcmdStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcmdStatus'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQfmod' mangled-name='PQfmod' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfmod'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfsize' mangled-name='PQfsize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfsize'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftype' mangled-name='PQftype' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftype'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQfformat' mangled-name='PQfformat' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfformat'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftablecol' mangled-name='PQftablecol' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftablecol'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQftable' mangled-name='PQftable' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQftable'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='PQfnumber' mangled-name='PQfnumber' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfnumber'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='80f4b756' name='field_name'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfname' mangled-name='PQfname' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfname'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQbinaryTuples' mangled-name='PQbinaryTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQbinaryTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQnfields' mangled-name='PQnfields' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnfields'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQntuples' mangled-name='PQntuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQntuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQresultErrorField' mangled-name='PQresultErrorField' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultErrorField'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='95e97e5e' name='fieldcode'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultVerboseErrorMessage' mangled-name='PQresultVerboseErrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultVerboseErrorMessage'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='602f6566' name='verbosity'/>
+      <parameter type-id='0534f30c' name='show_context'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultErrorMessage' mangled-name='PQresultErrorMessage' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultErrorMessage'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresStatus' mangled-name='PQresStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresStatus'>
+      <parameter type-id='921cdb17' name='status'/>
+      <return type-id='26a90f95'/>
+    </function-decl>
+    <function-decl name='PQresultStatus' mangled-name='PQresultStatus' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultStatus'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='921cdb17'/>
+    </function-decl>
+    <function-decl name='PQsendFlushRequest' mangled-name='PQsendFlushRequest' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendFlushRequest'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQpipelineSync' mangled-name='PQpipelineSync' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQpipelineSync'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQexitPipelineMode' mangled-name='PQexitPipelineMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexitPipelineMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQenterPipelineMode' mangled-name='PQenterPipelineMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQenterPipelineMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQfn' mangled-name='PQfn' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfn'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fnid'/>
+      <parameter type-id='7292109c' name='result_buf'/>
+      <parameter type-id='7292109c' name='result_len'/>
+      <parameter type-id='95e97e5e' name='result_is_int'/>
+      <parameter type-id='5fe1b330' name='args'/>
+      <parameter type-id='95e97e5e' name='nargs'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQendcopy' mangled-name='PQendcopy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQendcopy'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputnbytes' mangled-name='PQputnbytes' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputnbytes'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='buffer'/>
+      <parameter type-id='95e97e5e' name='nbytes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputline' mangled-name='PQputline' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputline'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='string'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetlineAsync' mangled-name='PQgetlineAsync' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetlineAsync'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='buffer'/>
+      <parameter type-id='95e97e5e' name='bufsize'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetline' mangled-name='PQgetline' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetline'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='26a90f95' name='buffer'/>
+      <parameter type-id='95e97e5e' name='length'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetCopyData' mangled-name='PQgetCopyData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetCopyData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='9b23c9ad' name='buffer'/>
+      <parameter type-id='95e97e5e' name='async'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputCopyEnd' mangled-name='PQputCopyEnd' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputCopyEnd'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='errormsg'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQputCopyData' mangled-name='PQputCopyData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQputCopyData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='buffer'/>
+      <parameter type-id='95e97e5e' name='nbytes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQnotifies' mangled-name='PQnotifies' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQnotifies'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='ecf4f711'/>
+    </function-decl>
+    <function-decl name='PQsendClosePortal' mangled-name='PQsendClosePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendClosePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendClosePrepared' mangled-name='PQsendClosePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendClosePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQclosePortal' mangled-name='PQclosePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclosePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQclosePrepared' mangled-name='PQclosePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclosePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQsendDescribePortal' mangled-name='PQsendDescribePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendDescribePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendDescribePrepared' mangled-name='PQsendDescribePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendDescribePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQdescribePortal' mangled-name='PQdescribePortal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdescribePortal'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='portal'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQdescribePrepared' mangled-name='PQdescribePrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdescribePrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmt'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexecPrepared' mangled-name='PQexecPrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexecPrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQprepare' mangled-name='PQprepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprepare'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexecParams' mangled-name='PQexecParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexecParams'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='command'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQexec' mangled-name='PQexec' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQexec'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQgetResult' mangled-name='PQgetResult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetResult'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQisBusy' mangled-name='PQisBusy' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQisBusy'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQconsumeInput' mangled-name='PQconsumeInput' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQconsumeInput'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsetSingleRowMode' mangled-name='PQsetSingleRowMode' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetSingleRowMode'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQueryPrepared' mangled-name='PQsendQueryPrepared' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQueryPrepared'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendPrepare' mangled-name='PQsendPrepare' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendPrepare'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='stmtName'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQueryParams' mangled-name='PQsendQueryParams' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQueryParams'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='command'/>
+      <parameter type-id='95e97e5e' name='nParams'/>
+      <parameter type-id='5229a1f2' name='paramTypes'/>
+      <parameter type-id='13956559' name='paramValues'/>
+      <parameter type-id='6d60f45d' name='paramLengths'/>
+      <parameter type-id='6d60f45d' name='paramFormats'/>
+      <parameter type-id='95e97e5e' name='resultFormat'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsendQuery' mangled-name='PQsendQuery' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsendQuery'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='query'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQclear' mangled-name='PQclear' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQclear'>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQresultMemorySize' mangled-name='PQresultMemorySize' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultMemorySize'>
+      <parameter type-id='db3f2936' name='res'/>
+      <return type-id='b59d7dce'/>
+    </function-decl>
+    <function-decl name='PQresultAlloc' mangled-name='PQresultAlloc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultAlloc'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='b59d7dce' name='nBytes'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQsetvalue' mangled-name='PQsetvalue' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetvalue'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='95e97e5e' name='tup_num'/>
+      <parameter type-id='95e97e5e' name='field_num'/>
+      <parameter type-id='26a90f95' name='value'/>
+      <parameter type-id='95e97e5e' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQcopyResult' mangled-name='PQcopyResult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQcopyResult'>
+      <parameter type-id='db3f2936' name='src'/>
+      <parameter type-id='95e97e5e' name='flags'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+    <function-decl name='PQsetResultAttrs' mangled-name='PQsetResultAttrs' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetResultAttrs'>
+      <parameter type-id='15e678b1' name='res'/>
+      <parameter type-id='95e97e5e' name='numAttributes'/>
+      <parameter type-id='d614db7e' name='attDescs'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmakeEmptyPGresult' mangled-name='PQmakeEmptyPGresult' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmakeEmptyPGresult'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='921cdb17' name='status'/>
+      <return type-id='15e678b1'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-lobj.c' language='LANG_C99'>
+    <typedef-decl name='pg_int64' type-id='bd54fe1a' id='e95912f9'/>
+    <function-decl name='lo_export' mangled-name='lo_export' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_export'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_import_with_oid' mangled-name='lo_import_with_oid' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_import_with_oid'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_import' mangled-name='lo_import' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_import'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='filename'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_unlink' mangled-name='lo_unlink' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_unlink'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_tell64' mangled-name='lo_tell64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_tell64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='e95912f9'/>
+    </function-decl>
+    <function-decl name='lo_tell' mangled-name='lo_tell' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_tell'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_create' mangled-name='lo_create' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_create'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_creat' mangled-name='lo_creat' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_creat'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='mode'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-decl name='lo_lseek64' mangled-name='lo_lseek64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_lseek64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='e95912f9' name='offset'/>
+      <parameter type-id='95e97e5e' name='whence'/>
+      <return type-id='e95912f9'/>
+    </function-decl>
+    <function-decl name='lo_lseek' mangled-name='lo_lseek' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_lseek'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='95e97e5e' name='offset'/>
+      <parameter type-id='95e97e5e' name='whence'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_write' mangled-name='lo_write' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_write'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='80f4b756' name='buf'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_read' mangled-name='lo_read' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_read'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='26a90f95' name='buf'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_truncate64' mangled-name='lo_truncate64' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_truncate64'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='e95912f9' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_truncate' mangled-name='lo_truncate' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_truncate'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <parameter type-id='b59d7dce' name='len'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_close' mangled-name='lo_close' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_close'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='fd'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='lo_open' mangled-name='lo_open' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='lo_open'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='63cf087c' name='lobjId'/>
+      <parameter type-id='95e97e5e' name='mode'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-misc.c' language='LANG_C99'>
+    <function-decl name='PQenv2encoding' mangled-name='PQenv2encoding' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQenv2encoding'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQdsplen' mangled-name='PQdsplen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdsplen'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmblenBounded' mangled-name='PQmblenBounded' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmblenBounded'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQmblen' mangled-name='PQmblen' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQmblen'>
+      <parameter type-id='80f4b756' name='s'/>
+      <parameter type-id='95e97e5e' name='encoding'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQlibVersion' mangled-name='PQlibVersion' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQlibVersion'>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-print.c' language='LANG_C99'>
+    <typedef-decl name='PQprintOpt' type-id='2d5a9ab5' id='4f41284f'/>
+    <class-decl name='_PQprintOpt' size-in-bits='320' is-struct='yes' visibility='default' id='2d5a9ab5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='header' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='align' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='standard' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='html3' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='expanded' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='pager' type-id='194f51db' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fieldSep' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tableOpt' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='caption' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fieldName' type-id='9b23c9ad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='pqbool' type-id='a84c031d' id='194f51db'/>
+    <qualified-type-def type-id='4f41284f' const='yes' id='709b887f'/>
+    <pointer-type-def type-id='709b887f' size-in-bits='64' id='99d79dcf'/>
+    <function-decl name='PQprintTuples' mangled-name='PQprintTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprintTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='822cd80b' name='fout'/>
+      <parameter type-id='95e97e5e' name='PrintAttNames'/>
+      <parameter type-id='95e97e5e' name='TerseOutput'/>
+      <parameter type-id='95e97e5e' name='colWidth'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQdisplayTuples' mangled-name='PQdisplayTuples' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdisplayTuples'>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='822cd80b' name='fp'/>
+      <parameter type-id='95e97e5e' name='fillAlign'/>
+      <parameter type-id='80f4b756' name='fieldSep'/>
+      <parameter type-id='95e97e5e' name='printHeader'/>
+      <parameter type-id='95e97e5e' name='quiet'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQprint' mangled-name='PQprint' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQprint'>
+      <parameter type-id='822cd80b' name='fout'/>
+      <parameter type-id='db3f2936' name='res'/>
+      <parameter type-id='99d79dcf' name='po'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure-gssapi.c' language='LANG_C99'>
+    <function-decl name='PQgssEncInUse' mangled-name='PQgssEncInUse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgssEncInUse'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQgetgssctx' mangled-name='PQgetgssctx' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetgssctx'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure-openssl.c' language='LANG_C99'>
+    <typedef-decl name='PQsslKeyPassHook_OpenSSL_type' type-id='365bb6cb' id='769874b6'/>
+    <pointer-type-def type-id='690257ef' size-in-bits='64' id='365bb6cb'/>
+    <function-decl name='PQsetSSLKeyPassHook_OpenSSL' mangled-name='PQsetSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetSSLKeyPassHook_OpenSSL'>
+      <parameter type-id='769874b6' name='hook'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQgetSSLKeyPassHook_OpenSSL' mangled-name='PQgetSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetSSLKeyPassHook_OpenSSL'>
+      <return type-id='769874b6'/>
+    </function-decl>
+    <function-decl name='PQdefaultSSLKeyPassHook_OpenSSL' mangled-name='PQdefaultSSLKeyPassHook_OpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQdefaultSSLKeyPassHook_OpenSSL'>
+      <parameter type-id='26a90f95' name='buf'/>
+      <parameter type-id='95e97e5e' name='size'/>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQsslAttribute' mangled-name='PQsslAttribute' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslAttribute'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='attribute_name'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='PQsslAttributeNames' mangled-name='PQsslAttributeNames' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslAttributeNames'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='13956559'/>
+    </function-decl>
+    <function-decl name='PQsslStruct' mangled-name='PQsslStruct' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslStruct'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='80f4b756' name='struct_name'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQgetssl' mangled-name='PQgetssl' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQgetssl'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='690257ef'>
+      <parameter type-id='26a90f95'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='ec15dfe4'/>
+      <return type-id='95e97e5e'/>
+    </function-type>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-secure.c' language='LANG_C99'>
+    <function-decl name='PQinitOpenSSL' mangled-name='PQinitOpenSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinitOpenSSL'>
+      <parameter type-id='95e97e5e' name='do_ssl'/>
+      <parameter type-id='95e97e5e' name='do_crypto'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQinitSSL' mangled-name='PQinitSSL' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinitSSL'>
+      <parameter type-id='95e97e5e' name='do_init'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQsslInUse' mangled-name='PQsslInUse' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsslInUse'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/fe-trace.c' language='LANG_C99'>
+    <function-decl name='PQsetTraceFlags' mangled-name='PQsetTraceFlags' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetTraceFlags'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='95e97e5e' name='flags'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQuntrace' mangled-name='PQuntrace' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQuntrace'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='PQtrace' mangled-name='PQtrace' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQtrace'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='822cd80b' name='debug_port'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/legacy-pqsignal.c' language='LANG_C99'>
+    <typedef-decl name='pqsigfunc' type-id='03347643' id='b52123e6'/>
+    <function-decl name='pqsignal' mangled-name='pqsignal' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pqsignal'>
+      <parameter type-id='95e97e5e' name='signo'/>
+      <parameter type-id='b52123e6' name='func'/>
+      <return type-id='b52123e6'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/libpq-events.c' language='LANG_C99'>
+    <function-decl name='PQfireResultCreateEvents' mangled-name='PQfireResultCreateEvents' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQfireResultCreateEvents'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='15e678b1' name='res'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQresultInstanceData' mangled-name='PQresultInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultInstanceData'>
+      <parameter type-id='db3f2936' name='result'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQresultSetInstanceData' mangled-name='PQresultSetInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQresultSetInstanceData'>
+      <parameter type-id='15e678b1' name='result'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='eaa32e2f' name='data'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQinstanceData' mangled-name='PQinstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQinstanceData'>
+      <parameter type-id='049c0fd3' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <return type-id='eaa32e2f'/>
+    </function-decl>
+    <function-decl name='PQsetInstanceData' mangled-name='PQsetInstanceData' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQsetInstanceData'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='eaa32e2f' name='data'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='PQregisterEventProc' mangled-name='PQregisterEventProc' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='PQregisterEventProc'>
+      <parameter type-id='ec15dfe4' name='conn'/>
+      <parameter type-id='a945da4b' name='proc'/>
+      <parameter type-id='80f4b756' name='name'/>
+      <parameter type-id='eaa32e2f' name='passThrough'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/interfaces/libpq/pqexpbuffer.c' language='LANG_C99'>
+    <type-decl name='variadic parameter type' id='2c1145c5'/>
+    <typedef-decl name='PQExpBuffer' type-id='34de0453' id='974bea20'/>
+    <pointer-type-def type-id='d22d5d08' size-in-bits='64' id='34de0453'/>
+    <function-decl name='appendBinaryPQExpBuffer' mangled-name='appendBinaryPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendBinaryPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='data'/>
+      <parameter type-id='b59d7dce' name='datalen'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBufferChar' mangled-name='appendPQExpBufferChar' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBufferChar'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='a84c031d' name='ch'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBufferStr' mangled-name='appendPQExpBufferStr' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBufferStr'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='data'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='appendPQExpBuffer' mangled-name='appendPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='appendPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='printfPQExpBuffer' mangled-name='printfPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='printfPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='80f4b756' name='fmt'/>
+      <parameter is-variadic='yes'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='enlargePQExpBuffer' mangled-name='enlargePQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='enlargePQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <parameter type-id='b59d7dce' name='needed'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='resetPQExpBuffer' mangled-name='resetPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='resetPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='termPQExpBuffer' mangled-name='termPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='termPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='destroyPQExpBuffer' mangled-name='destroyPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='destroyPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='initPQExpBuffer' mangled-name='initPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='initPQExpBuffer'>
+      <parameter type-id='974bea20' name='str'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='createPQExpBuffer' mangled-name='createPQExpBuffer' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='createPQExpBuffer'>
+      <return type-id='974bea20'/>
+    </function-decl>
+  </abi-instr>
+</abi-corpus>
diff --git a/src/pl/plpgsql/src/plpgsql.x86_64-linux.abi.xml b/src/pl/plpgsql/src/plpgsql.x86_64-linux.abi.xml
new file mode 100644
index 00000000000..89647a7eb7a
--- /dev/null
+++ b/src/pl/plpgsql/src/plpgsql.x86_64-linux.abi.xml
@@ -0,0 +1,15620 @@
+<abi-corpus path='src/pl/plpgsql/src/plpgsql.so' architecture='elf-amd-x86_64' soname='plpgsql.so'>
+  <elf-function-symbols>
+    <elf-symbol name='Pg_magic_func' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='_PG_init' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_finfo_plpgsql_call_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_finfo_plpgsql_inline_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='pg_finfo_plpgsql_validator' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_build_datatype' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_call_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_compile' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_exec_get_datum_type' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_inline_handler' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_ns_lookup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_parser_setup' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_recognize_err_condition' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_stmt_typename' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+    <elf-symbol name='plpgsql_validator' type='func-type' binding='global-binding' visibility='default-visibility' is-defined='yes'/>
+  </elf-function-symbols>
+  <abi-instr version='1.0' address-size='64' path='../src/pl/plpgsql/src/pl_comp.c' language='LANG_C99'>
+    <class-decl name='PLpgSQL_function' size-in-bits='4416' is-struct='yes' visibility='default' id='030ac029'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fn_signature' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fn_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_tid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fn_is_trigger' type-id='cf86bdd2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='fn_input_collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_hashkey' type-id='4eebb19f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_cxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fn_rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='fn_rettyplen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='fn_retbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='456'>
+        <var-decl name='fn_retistuple' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='fn_retisdomain' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='472'>
+        <var-decl name='fn_retset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='fn_readonly' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='488'>
+        <var-decl name='fn_prokind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='fn_nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='fn_argvarnos' type-id='9715b4e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3744'>
+        <var-decl name='out_param_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='found_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3808'>
+        <var-decl name='new_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='old_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3872'>
+        <var-decl name='resolve_option' type-id='33f41e40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='print_strict_params' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3936'>
+        <var-decl name='extra_warnings' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='extra_errors' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4000'>
+        <var-decl name='ndatums' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='datums' type-id='a4efa950' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='copiable_size' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='action' type-id='eca75285' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='nstatements' type-id='f0981eeb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4256'>
+        <var-decl name='requires_procedure_resowner' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='cur_estate' type-id='1b126ff9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='use_count' type-id='7359adad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='MemoryContextMethods' type-id='af602f35' id='cfc760f8'/>
+    <class-decl name='MemoryContextMethods' size-in-bits='640' is-struct='yes' visibility='default' id='af602f35'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='alloc' type-id='5858793f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='free_p' type-id='b7f9d8e6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='realloc' type-id='6403b1fa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='reset' type-id='9c3ff8a7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='delete_context' type-id='9c3ff8a7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='get_chunk_context' type-id='ba89cebd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='get_chunk_space' type-id='50bede38' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='is_empty' type-id='34540a4d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='stats' type-id='1394b3ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='check' type-id='9c3ff8a7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='MemoryStatsPrintFunc' type-id='7fba09f6' id='80668b97'/>
+    <typedef-decl name='MemoryContextCounters' type-id='9c9fd134' id='edb1c15f'/>
+    <class-decl name='MemoryContextCounters' size-in-bits='256' is-struct='yes' visibility='default' id='9c9fd134'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='nblocks' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='freechunks' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='totalspace' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='freespace' type-id='305ff205' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='MemoryContextCallback' type-id='06678ae2' id='37349209'/>
+    <class-decl name='MemoryContextCallback' size-in-bits='192' is-struct='yes' visibility='default' id='06678ae2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='func' type-id='f401d9ad' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='ce502280' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='MemoryContextCallbackFunction' type-id='b7f9d8e6' id='f401d9ad'/>
+    <class-decl name='PLpgSQL_execstate' size-in-bits='1920' is-struct='yes' visibility='default' id='dc7edfa1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='func' type-id='c9560f01' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trigdata' type-id='80983f93' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='evtrigdata' type-id='70e42b81' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='retval' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='retisnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='retistuple' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='retisset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='readonly_func' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='376'>
+        <var-decl name='atomic' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='exitlabel' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='cur_error' type-id='f2dff411' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tuple_store' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tuple_store_desc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='tuple_store_cxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tuple_store_owner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rsi' type-id='966dbf3d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='found_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='ndatums' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='datums' type-id='a4efa950' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='datum_context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='paramLI' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='simple_eval_estate' type-id='d20936cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='simple_eval_resowner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='procedure_resowner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='cast_hash' type-id='6c5dd83c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='stmt_mcontext' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='stmt_mcontext_parent' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='eval_tuptable' type-id='6f28dedb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='eval_processed' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='eval_econtext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='err_stmt' type-id='583566eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='err_var' type-id='e4d9ce05' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='err_text' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='plugin_info' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_function' type-id='030ac029' id='ce21d3e0'/>
+    <typedef-decl name='TriggerData' type-id='9bf0c9f3' id='adb604d8'/>
+    <class-decl name='TriggerData' size-in-bits='640' is-struct='yes' visibility='default' id='9bf0c9f3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tg_event' type-id='2b6c27d8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tg_relation' type-id='c79d68a8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tg_trigtuple' type-id='3de55dac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tg_newtuple' type-id='3de55dac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tg_trigger' type-id='b8734eab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tg_trigslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tg_newslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tg_oldtable' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tg_newtable' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tg_updatedcols' type-id='e873e795' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Relation' type-id='27104061' id='c79d68a8'/>
+    <class-decl name='RelationData' size-in-bits='3840' is-struct='yes' visibility='default' id='a73b6b59'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rd_locator' type-id='b67cbde5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rd_smgr' type-id='80a274b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rd_refcnt' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='rd_backend' type-id='71ae5a39' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rd_islocaltemp' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='rd_isnailed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='rd_isvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='rd_indexvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rd_statvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rd_createSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='rd_newRelfilelocatorSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rd_firstRelfilelocatorSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='rd_droppedSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rd_rel' type-id='053ec625' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rd_att' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rd_id' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='rd_lockInfo' type-id='0ec0059f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rd_rules' type-id='566804c2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rd_rulescxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='trigdesc' type-id='457b83dc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='rd_rsdesc' type-id='db26e016' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='rd_fkeylist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rd_fkeyvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='rd_partkey' type-id='33ddacc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='rd_partkeycxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='rd_partdesc' type-id='a63f38eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='rd_pdcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='rd_partdesc_nodetached' type-id='a63f38eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='rd_pddcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='rd_partdesc_nodetached_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='rd_partcheck' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rd_partcheckvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='rd_partcheckcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rd_indexlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='rd_pkindex' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1824'>
+        <var-decl name='rd_replidindex' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='rd_statlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='rd_attrsvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='rd_keyattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='rd_pkattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='rd_idattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='rd_hotblockingattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='rd_summarizedattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='rd_pubdesc' type-id='469dd726' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rd_options' type-id='dd173450' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rd_amhandler' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='rd_tableam' type-id='eca96808' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='rd_index' type-id='320f78a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rd_indextuple' type-id='7b21fc8f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rd_indexcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rd_indam' type-id='6196cdc7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rd_opfamily' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rd_opcintype' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='rd_support' type-id='8bf9597c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rd_supportinfo' type-id='335fd961' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rd_indoption' type-id='660e0121' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='rd_indexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='rd_indpred' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='rd_exclops' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='rd_exclprocs' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='rd_exclstrats' type-id='a2b66e08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='rd_indcollation' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='rd_opcoptions' type-id='85879c0e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='rd_amcache' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='rd_fdwroutine' type-id='db4b126e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='rd_toastoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3744'>
+        <var-decl name='pgstat_enabled' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='pgstat_info' type-id='fe8c4a8b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ReturnSetInfo' type-id='5c2924dd' id='785ba03a'/>
+    <class-decl name='ReturnSetInfo' size-in-bits='448' is-struct='yes' visibility='default' id='5c2924dd'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='econtext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='expectedDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='allowedModes' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='returnMode' type-id='3c64eef9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='isDone' type-id='a15d5633' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='setResult' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='setDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ExprContext' size-in-bits='1024' is-struct='yes' visibility='default' id='a0a26f31'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ecxt_scantuple' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ecxt_innertuple' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ecxt_outertuple' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ecxt_per_query_memory' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ecxt_per_tuple_memory' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ecxt_param_exec_vals' type-id='94926d07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ecxt_param_list_info' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ecxt_aggvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ecxt_aggnulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='caseValue_datum' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='caseValue_isNull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='domainValue_datum' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='domainValue_isNull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ecxt_estate' type-id='d20936cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ecxt_callbacks' type-id='4b1e905b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='EState' size-in-bits='2432' is-struct='yes' visibility='default' id='88ee323d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='es_direction' type-id='f403d182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='es_snapshot' type-id='7f2324e8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='es_crosscheck_snapshot' type-id='7f2324e8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='es_range_table' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='es_range_table_size' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='es_relations' type-id='610afcf1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='es_rowmarks' type-id='bbc29af9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='es_rteperminfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='es_plannedstmt' type-id='579971b3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='es_sourceText' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='es_junkFilter' type-id='763b1c4d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='es_output_cid' type-id='6692fd60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='es_result_relations' type-id='860c2a6f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='es_opened_result_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='es_partition_directory' type-id='97164569' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='es_tuple_routing_result_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='es_trig_target_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='es_param_list_info' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='es_param_exec_vals' type-id='94926d07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='es_queryEnv' type-id='74ab5782' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='es_query_cxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='es_tupleTable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='es_processed' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='es_total_processed' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='es_top_eflags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='es_instrument' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='es_finished' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='es_exprcontexts' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='es_subplanstates' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='es_auxmodifytables' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='es_per_tuple_exprcontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='es_epq_active' type-id='3a68d90a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='es_use_parallel_mode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='es_query_dsa' type-id='fbc5e3ad' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='es_jit_flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='es_jit' type-id='24d6a8d3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='es_jit_worker_instr' type-id='76399dc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='es_insert_pending_result_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='es_insert_pending_modifytables' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ExecRowMark' size-in-bits='448' is-struct='yes' visibility='default' id='64bdbbb1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='relation' type-id='c79d68a8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='relid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rti' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='prti' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='rowmarkId' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='markType' type-id='de7882c1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='strength' type-id='4f5c07df' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='waitPolicy' type-id='5016605c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='ermActive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='curCtid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ermExtra' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ResultRelInfo' type-id='1c3932b7' id='a41dd398'/>
+    <class-decl name='ResultRelInfo' size-in-bits='2880' is-struct='yes' visibility='default' id='1c3932b7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ri_RangeTableIndex' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ri_RelationDesc' type-id='c79d68a8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ri_NumIndices' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ri_IndexRelationDescs' type-id='f3975292' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ri_IndexRelationInfo' type-id='db19172f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ri_RowIdAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ri_extraUpdatedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ri_projectNew' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ri_newTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ri_oldTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='ri_projectNewInfoValid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ri_TrigDesc' type-id='457b83dc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ri_TrigFunctions' type-id='335fd961' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='ri_TrigWhenExprs' type-id='35406223' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ri_TrigInstrument' type-id='83bfdd55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ri_ReturningSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ri_TrigOldSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ri_TrigNewSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='ri_FdwRoutine' type-id='db4b126e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='ri_FdwState' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='ri_usesFdwDirectModify' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='ri_NumSlots' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='ri_NumSlotsInitialized' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='ri_BatchSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='ri_Slots' type-id='052cd977' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='ri_PlanSlots' type-id='052cd977' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='ri_WithCheckOptions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='ri_WithCheckOptionExprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='ri_ConstraintExprs' type-id='35406223' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='ri_GeneratedExprsI' type-id='35406223' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='ri_GeneratedExprsU' type-id='35406223' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='ri_NumGeneratedNeededI' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1888'>
+        <var-decl name='ri_NumGeneratedNeededU' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='ri_returningList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='ri_projectReturning' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='ri_onConflictArbiterIndexes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='ri_onConflict' type-id='c926e317' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='ri_matchedMergeAction' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='ri_notMatchedMergeAction' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='ri_PartitionCheckExpr' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='ri_ChildToRootMap' type-id='163db565' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='ri_ChildToRootMapValid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='ri_RootToChildMap' type-id='163db565' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='ri_RootToChildMapValid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='ri_RootResultRelInfo' type-id='3b472d1f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='ri_PartitionTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='ri_CopyMultiInsertBuffer' type-id='d6dea224' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='ri_ancestorResultRels' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RelationPtr' type-id='610afcf1' id='f3975292'/>
+    <typedef-decl name='IndexInfo' type-id='2268c427' id='75254514'/>
+    <class-decl name='IndexInfo' size-in-bits='1536' is-struct='yes' visibility='default' id='2268c427'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ii_NumIndexAttrs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ii_NumIndexKeyAttrs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ii_IndexAttrNumbers' type-id='1e675450' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='ii_Expressions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ii_ExpressionsState' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ii_Predicate' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='ii_PredicateState' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ii_ExclusionOps' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ii_ExclusionProcs' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ii_ExclusionStrats' type-id='a2b66e08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ii_UniqueOps' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='ii_UniqueProcs' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='ii_UniqueStrats' type-id='a2b66e08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='ii_Unique' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1288'>
+        <var-decl name='ii_NullsNotDistinct' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1296'>
+        <var-decl name='ii_ReadyForInserts' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1304'>
+        <var-decl name='ii_CheckedUnchanged' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='ii_IndexUnchanged' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1320'>
+        <var-decl name='ii_Concurrent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1328'>
+        <var-decl name='ii_BrokenHotChain' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1336'>
+        <var-decl name='ii_Summarizing' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='ii_ParallelWorkers' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='ii_Am' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='ii_AmCache' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='ii_Context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ExprState' size-in-bits='896' is-struct='yes' visibility='default' id='96070c1b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flags' type-id='78b39644' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='resnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resvalue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resultslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='steps' type-id='f5da7878' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='evalfunc' type-id='636a14ac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='expr' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='evalfunc_private' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='steps_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='steps_alloc' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parent' type-id='22f23587' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ext_params' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='innermost_caseval' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='innermost_casenull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='innermost_domainval' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='innermost_domainnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PlanState' size-in-bits='1600' is-struct='yes' visibility='default' id='5501a66f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='plan' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='state' type-id='d20936cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ExecProcNode' type-id='980aaae4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ExecProcNodeReal' type-id='980aaae4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='instrument' type-id='83bfdd55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='worker_instrument' type-id='91a0b133' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='worker_jit_instrument' type-id='fc394b83' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='qual' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='lefttree' type-id='22f23587' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='righttree' type-id='22f23587' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='initPlan' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='subPlan' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='chgParam' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ps_ResultTupleDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ps_ResultTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ps_ExprContext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ps_ProjInfo' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='async_capable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='scandesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='scanops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='outerops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='innerops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='resultops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='scanopsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1544'>
+        <var-decl name='outeropsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1552'>
+        <var-decl name='inneropsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1560'>
+        <var-decl name='resultopsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='scanopsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1576'>
+        <var-decl name='outeropsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1584'>
+        <var-decl name='inneropsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1592'>
+        <var-decl name='resultopsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='EState' type-id='88ee323d' id='bce5e02c'/>
+    <typedef-decl name='ExprState' type-id='96070c1b' id='31d0348c'/>
+    <typedef-decl name='ExprContext' type-id='a0a26f31' id='bc564a52'/>
+    <typedef-decl name='ProjectionInfo' type-id='aa2bff84' id='53ba63d9'/>
+    <class-decl name='ProjectionInfo' size-in-bits='1024' is-struct='yes' visibility='default' id='aa2bff84'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pi_state' type-id='31d0348c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='pi_exprContext' type-id='47bae389' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='OnConflictSetState' type-id='b6b96f8f' id='e594b096'/>
+    <class-decl name='OnConflictSetState' size-in-bits='320' is-struct='yes' visibility='default' id='b6b96f8f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='oc_Existing' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='oc_ProjSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='oc_ProjInfo' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='oc_WhereClause' type-id='6460b71b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='EPQState' size-in-bits='832' is-struct='yes' visibility='default' id='23a7186c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parentestate' type-id='d20936cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epqParam' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resultRelations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tuple_table' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='relsubs_slot' type-id='052cd977' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='plan' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='arowMarks' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='origslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='recheckestate' type-id='d20936cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='relsubs_rowmark' type-id='2bf11ac7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='relsubs_done' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='relsubs_blocked' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='recheckplanstate' type-id='22f23587' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecAuxRowMark' type-id='55e42c9f' id='9ef9edc2'/>
+    <class-decl name='ExecAuxRowMark' size-in-bits='128' is-struct='yes' visibility='default' id='55e42c9f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rowmark' type-id='5cb9f8e9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctidAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='toidAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='wholeAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecRowMark' type-id='64bdbbb1' id='ac55978e'/>
+    <typedef-decl name='PlanState' type-id='5501a66f' id='7f232f50'/>
+    <typedef-decl name='PLpgSQL_variable' type-id='3bb420e5' id='a7723a38'/>
+    <class-decl name='PLpgSQL_variable' size-in-bits='256' is-struct='yes' visibility='default' id='3bb420e5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dtype' type-id='8fdeefdc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='isconst' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='notnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_val' type-id='575e2304' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_expr' type-id='6d218c8e' id='395172af'/>
+    <class-decl name='PLpgSQL_expr' size-in-bits='960' is-struct='yes' visibility='default' id='6d218c8e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='query' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parseMode' type-id='79179ab2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='plan' type-id='98abc875' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='paramnos' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='func' type-id='c9560f01' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ns' type-id='f0068755' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='expr_simple_expr' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='expr_simple_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='expr_simple_typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='expr_simple_mutable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='target_param' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='expr_rw_param' type-id='4c6e7968' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='expr_simple_plansource' type-id='f6d6a649' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='expr_simple_plan' type-id='da707eb2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='expr_simple_plan_lxid' type-id='52debaec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='expr_simple_state' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='expr_simple_in_use' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='expr_simple_lxid' type-id='52debaec' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParseState' size-in-bits='1792' is-struct='yes' visibility='default' id='aeb18879'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parentParseState' type-id='63c837a1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p_sourcetext' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='p_rtable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='p_rteperminfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='p_joinexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='p_nullingrels' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='p_joinlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='p_namespace' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='p_lateral_active' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='p_ctenamespace' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='p_future_ctes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='p_parent_cte' type-id='8c1a5c4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='p_target_relation' type-id='c79d68a8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='p_target_nsitem' type-id='6883c46a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='p_is_insert' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='p_windowdefs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='p_expr_kind' type-id='168841d2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='p_next_resno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='p_multiassign_exprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='p_locking_clause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='p_locked_from_parent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1224'>
+        <var-decl name='p_resolve_unknowns' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='p_queryEnv' type-id='74ab5782' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='p_hasAggs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1352'>
+        <var-decl name='p_hasWindowFuncs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1360'>
+        <var-decl name='p_hasTargetSRFs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1368'>
+        <var-decl name='p_hasSubLinks' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='p_hasModifyingCTE' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='p_last_srf' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='p_pre_columnref_hook' type-id='c6ea5968' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='p_post_columnref_hook' type-id='4afcb79b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='p_paramref_hook' type-id='2fc99baa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='p_coerce_param_hook' type-id='c4d0a731' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='p_ref_hook_state' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FunctionCallInfo' type-id='046659d6' id='cbf1f028'/>
+    <class-decl name='FunctionCallInfoBaseData' size-in-bits='256' is-struct='yes' visibility='default' id='23024950'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flinfo' type-id='335fd961' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='context' type-id='89bbd655' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resultinfo' type-id='89bbd655' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fncollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='nargs' type-id='a2185560' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='args' type-id='a03a8123' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='23a7186c' size-in-bits='64' id='3a68d90a'/>
+    <pointer-type-def type-id='bce5e02c' size-in-bits='64' id='d20936cd'/>
+    <pointer-type-def type-id='9ef9edc2' size-in-bits='64' id='2a5c1257'/>
+    <pointer-type-def type-id='2a5c1257' size-in-bits='64' id='2bf11ac7'/>
+    <pointer-type-def type-id='64bdbbb1' size-in-bits='64' id='5cb9f8e9'/>
+    <pointer-type-def type-id='5cb9f8e9' size-in-bits='64' id='bbc29af9'/>
+    <pointer-type-def type-id='bc564a52' size-in-bits='64' id='47bae389'/>
+    <pointer-type-def type-id='00165dba' size-in-bits='64' id='4b1e905b'/>
+    <pointer-type-def type-id='31d0348c' size-in-bits='64' id='6460b71b'/>
+    <pointer-type-def type-id='6460b71b' size-in-bits='64' id='35406223'/>
+    <pointer-type-def type-id='e46e0d79' size-in-bits='64' id='335fd961'/>
+    <pointer-type-def type-id='23024950' size-in-bits='64' id='046659d6'/>
+    <pointer-type-def type-id='07fb1a17' size-in-bits='64' id='7b21fc8f'/>
+    <pointer-type-def type-id='75254514' size-in-bits='64' id='2dfd855f'/>
+    <pointer-type-def type-id='2dfd855f' size-in-bits='64' id='db19172f'/>
+    <pointer-type-def type-id='06678ae2' size-in-bits='64' id='ce502280'/>
+    <pointer-type-def type-id='edb1c15f' size-in-bits='64' id='dbe61d52'/>
+    <pointer-type-def type-id='e594b096' size-in-bits='64' id='c926e317'/>
+    <pointer-type-def type-id='dc7edfa1' size-in-bits='64' id='1b126ff9'/>
+    <pointer-type-def type-id='395172af' size-in-bits='64' id='575e2304'/>
+    <pointer-type-def type-id='ce21d3e0' size-in-bits='64' id='c9560f01'/>
+    <pointer-type-def type-id='a7723a38' size-in-bits='64' id='e4d9ce05'/>
+    <pointer-type-def type-id='547991cd' size-in-bits='64' id='4c6e7968'/>
+    <pointer-type-def type-id='aeb18879' size-in-bits='64' id='63c837a2'/>
+    <pointer-type-def type-id='5501a66f' size-in-bits='64' id='22f23587'/>
+    <pointer-type-def type-id='53ba63d9' size-in-bits='64' id='a5c2be02'/>
+    <pointer-type-def type-id='c79d68a8' size-in-bits='64' id='610afcf1'/>
+    <pointer-type-def type-id='a73b6b59' size-in-bits='64' id='27104061'/>
+    <pointer-type-def type-id='1c3932b7' size-in-bits='64' id='3b472d1f'/>
+    <pointer-type-def type-id='3b472d1f' size-in-bits='64' id='860c2a6f'/>
+    <pointer-type-def type-id='785ba03a' size-in-bits='64' id='966dbf3d'/>
+    <pointer-type-def type-id='adb604d8' size-in-bits='64' id='80983f93'/>
+    <pointer-type-def type-id='ee55b4c1' size-in-bits='64' id='34540a4d'/>
+    <qualified-type-def type-id='cfc760f8' const='yes' id='3546ca68'/>
+    <pointer-type-def type-id='3546ca68' size-in-bits='64' id='207065e6'/>
+    <pointer-type-def type-id='b1c41459' size-in-bits='64' id='ba89cebd'/>
+    <pointer-type-def type-id='ab20941e' size-in-bits='64' id='50bede38'/>
+    <pointer-type-def type-id='4727a413' size-in-bits='64' id='9c3ff8a7'/>
+    <pointer-type-def type-id='f5e36494' size-in-bits='64' id='1394b3ce'/>
+    <pointer-type-def type-id='704d2234' size-in-bits='64' id='7fba09f6'/>
+    <pointer-type-def type-id='c5c76c9c' size-in-bits='64' id='b7f9d8e6'/>
+    <pointer-type-def type-id='82c498eb' size-in-bits='64' id='5858793f'/>
+    <pointer-type-def type-id='76683798' size-in-bits='64' id='6403b1fa'/>
+    <var-decl name='plpgsql_parse_result' type-id='eca75285' visibility='default'/>
+    <var-decl name='plpgsql_nDatums' type-id='95e97e5e' visibility='default'/>
+    <var-decl name='plpgsql_Datums' type-id='a4efa950' visibility='default'/>
+    <var-decl name='plpgsql_error_funcname' type-id='26a90f95' visibility='default'/>
+    <var-decl name='plpgsql_DumpExecTree' type-id='c894953d' visibility='default'/>
+    <var-decl name='plpgsql_check_syntax' type-id='c894953d' visibility='default'/>
+    <var-decl name='plpgsql_curr_compile' type-id='c9560f01' visibility='default'/>
+    <var-decl name='plpgsql_compile_tmp_cxt' type-id='9968f2f6' visibility='default'/>
+    <function-decl name='plpgsql_recognize_err_condition' mangled-name='plpgsql_recognize_err_condition' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_recognize_err_condition'>
+      <parameter type-id='80f4b756' name='condname'/>
+      <parameter type-id='c894953d' name='allow_sqlstate'/>
+      <return type-id='95e97e5e'/>
+    </function-decl>
+    <function-decl name='plpgsql_build_datatype' mangled-name='plpgsql_build_datatype' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_build_datatype'>
+      <parameter type-id='63cf087c' name='typeOid'/>
+      <parameter type-id='93e3c360' name='typmod'/>
+      <parameter type-id='63cf087c' name='collation'/>
+      <parameter type-id='9ec4c26c' name='origtypname'/>
+      <return type-id='b02e3f7d'/>
+    </function-decl>
+    <function-decl name='plpgsql_parser_setup' mangled-name='plpgsql_parser_setup' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_parser_setup'>
+      <parameter type-id='63c837a2' name='pstate'/>
+      <parameter type-id='575e2304' name='expr'/>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='plpgsql_compile' mangled-name='plpgsql_compile' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_compile'>
+      <parameter type-id='cbf1f028' name='fcinfo'/>
+      <parameter type-id='c894953d' name='forValidator'/>
+      <return type-id='c9560f01'/>
+    </function-decl>
+    <array-type-def dimensions='1' type-id='6bdc0c3e' size-in-bits='512' id='1e675450'>
+      <subrange length='32' type-id='7359adad' id='ae5bde82'/>
+    </array-type-def>
+    <pointer-type-def type-id='d0a434ed' size-in-bits='64' id='e8c55cbc'/>
+    <pointer-type-def type-id='421dd424' size-in-bits='64' id='da707eb2'/>
+    <pointer-type-def type-id='86833f90' size-in-bits='64' id='f6d6a649'/>
+    <pointer-type-def type-id='d52d60c4' size-in-bits='64' id='8c1a5c4f'/>
+    <pointer-type-def type-id='daee8f6e' size-in-bits='64' id='d6dea224'/>
+    <pointer-type-def type-id='f24b0a4f' size-in-bits='64' id='87794d52'/>
+    <pointer-type-def type-id='a0fdc2ea' size-in-bits='64' id='f2dff411'/>
+    <pointer-type-def type-id='c23f55f0' size-in-bits='64' id='70e42b81'/>
+    <pointer-type-def type-id='c0a129cb' size-in-bits='64' id='f57d71ec'/>
+    <pointer-type-def type-id='d3b295aa' size-in-bits='64' id='f5da7878'/>
+    <pointer-type-def type-id='870496e8' size-in-bits='64' id='db4b126e'/>
+    <pointer-type-def type-id='09c852cb' size-in-bits='64' id='6c5dd83c'/>
+    <pointer-type-def type-id='0fa0ca0f' size-in-bits='64' id='6196cdc7'/>
+    <pointer-type-def type-id='25f39bce' size-in-bits='64' id='83bfdd55'/>
+    <pointer-type-def type-id='67f61e43' size-in-bits='64' id='24d6a8d3'/>
+    <pointer-type-def type-id='adb8d8aa' size-in-bits='64' id='76399dc8'/>
+    <pointer-type-def type-id='512b66a8' size-in-bits='64' id='763b1c4d'/>
+    <pointer-type-def type-id='db0045d4' size-in-bits='64' id='c2e26fd1'/>
+    <pointer-type-def type-id='717e4c75' size-in-bits='64' id='86bcc405'/>
+    <array-type-def dimensions='1' type-id='73f7fd18' size-in-bits='infinite' id='a03a8123'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <pointer-type-def type-id='63cf087c' size-in-bits='64' id='42f3594b'/>
+    <pointer-type-def type-id='42d4c35a' size-in-bits='64' id='a4efa950'/>
+    <pointer-type-def type-id='c32716ea' size-in-bits='64' id='4eebb19f'/>
+    <pointer-type-def type-id='a47fdee5' size-in-bits='64' id='f0068755'/>
+    <pointer-type-def type-id='79e2ce06' size-in-bits='64' id='583566eb'/>
+    <pointer-type-def type-id='f9084154' size-in-bits='64' id='eca75285'/>
+    <pointer-type-def type-id='c5027e70' size-in-bits='64' id='b02e3f7d'/>
+    <pointer-type-def type-id='ec58a07c' size-in-bits='64' id='94926d07'/>
+    <pointer-type-def type-id='2167e055' size-in-bits='64' id='6883c46a'/>
+    <pointer-type-def type-id='37a337dc' size-in-bits='64' id='63c837a1'/>
+    <pointer-type-def type-id='7e3f796b' size-in-bits='64' id='fe8c4a8b'/>
+    <pointer-type-def type-id='58a10fda' size-in-bits='64' id='5fc51fc8'/>
+    <pointer-type-def type-id='a0780334' size-in-bits='64' id='579971b3'/>
+    <pointer-type-def type-id='03d04117' size-in-bits='64' id='469dd726'/>
+    <pointer-type-def type-id='7345a329' size-in-bits='64' id='74ab5782'/>
+    <pointer-type-def type-id='e59e47cf' size-in-bits='64' id='8bf9597c'/>
+    <pointer-type-def type-id='09e09440' size-in-bits='64' id='db26e016'/>
+    <pointer-type-def type-id='fa5e6a1d' size-in-bits='64' id='566804c2'/>
+    <pointer-type-def type-id='b46b9160' size-in-bits='64' id='6f28dedb'/>
+    <pointer-type-def type-id='94925cc3' size-in-bits='64' id='fc394b83'/>
+    <pointer-type-def type-id='fd4d0dd0' size-in-bits='64' id='b8734eab'/>
+    <pointer-type-def type-id='1b2f0781' size-in-bits='64' id='457b83dc'/>
+    <pointer-type-def type-id='e434b0a4' size-in-bits='64' id='163db565'/>
+    <pointer-type-def type-id='1f0b318a' size-in-bits='64' id='336f4727'/>
+    <pointer-type-def type-id='336f4727' size-in-bits='64' id='052cd977'/>
+    <pointer-type-def type-id='8b7bc69c' size-in-bits='64' id='e43b772f'/>
+    <pointer-type-def type-id='d1d2d2bf' size-in-bits='64' id='9ec4c26c'/>
+    <pointer-type-def type-id='d39d25d0' size-in-bits='64' id='91a0b133'/>
+    <type-decl name='bool' size-in-bits='8' id='c894953d'/>
+    <pointer-type-def type-id='c894953d' size-in-bits='64' id='d8e6b335'/>
+    <pointer-type-def type-id='0fb10f85' size-in-bits='64' id='dd173450'/>
+    <pointer-type-def type-id='dd173450' size-in-bits='64' id='85879c0e'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <pointer-type-def type-id='7f7ccb1d' size-in-bits='64' id='e873e795'/>
+    <pointer-type-def type-id='57141cf2' size-in-bits='64' id='eca96808'/>
+    <pointer-type-def type-id='0668e6ba' size-in-bits='64' id='a722f4b0'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <pointer-type-def type-id='255914cd' size-in-bits='64' id='fbc5e3ad'/>
+    <function-type size-in-bits='64' id='ee55b4c1'>
+      <parameter type-id='9968f2f6'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='b1c41459'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='9968f2f6'/>
+    </function-type>
+    <function-type size-in-bits='64' id='ab20941e'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='305ff205'/>
+    </function-type>
+    <function-type size-in-bits='64' id='4727a413'>
+      <parameter type-id='9968f2f6'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='f5e36494'>
+      <parameter type-id='9968f2f6'/>
+      <parameter type-id='80668b97'/>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='dbe61d52'/>
+      <parameter type-id='c894953d'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='704d2234'>
+      <parameter type-id='9968f2f6'/>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='80f4b756'/>
+      <parameter type-id='c894953d'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='c5c76c9c'>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='82c498eb'>
+      <parameter type-id='9968f2f6'/>
+      <parameter type-id='305ff205'/>
+      <return type-id='eaa32e2f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='76683798'>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='305ff205'/>
+      <return type-id='eaa32e2f'/>
+    </function-type>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <pointer-type-def type-id='27de9c2e' size-in-bits='64' id='660e0121'/>
+    <array-type-def dimensions='1' type-id='95e97e5e' size-in-bits='3200' id='9715b4e5'>
+      <subrange length='100' type-id='7359adad' id='4196563c'/>
+    </array-type-def>
+    <type-decl name='short int' size-in-bits='16' id='a2185560'/>
+    <class-decl name='FmgrInfo' size-in-bits='384' is-struct='yes' visibility='default' id='e46e0d79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fn_nargs' type-id='a2185560' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='fn_strict' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='fn_retset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_stats' type-id='002ac4a6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fn_extra' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_mcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_expr' type-id='89bbd655' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='HeapTupleData' size-in-bits='192' is-struct='yes' visibility='default' id='07fb1a17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_len' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='t_self' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='t_tableOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='t_data' type-id='0dfa8919' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AttrNumber' type-id='27de9c2e' id='6bdc0c3e'/>
+    <typedef-decl name='BackendId' type-id='95e97e5e' id='71ae5a39'/>
+    <typedef-decl name='CoerceParamHook' type-id='915248f0' id='c4d0a731'/>
+    <typedef-decl name='CommandId' type-id='7aa912f5' id='6692fd60'/>
+    <typedef-decl name='Datum' type-id='e475ab95' id='f24b0a4f'/>
+    <typedef-decl name='ExecProcNodeMtd' type-id='cf53b5e2' id='980aaae4'/>
+    <typedef-decl name='ExprContext_CB' type-id='7cf0472b' id='00165dba'/>
+    <typedef-decl name='ExprDoneCond' type-id='3fed383f' id='a15d5633'/>
+    <typedef-decl name='ExprStateEvalFunc' type-id='1759c1b2' id='636a14ac'/>
+    <typedef-decl name='Form_pg_class' type-id='5523530c' id='053ec625'/>
+    <typedef-decl name='Form_pg_index' type-id='7a0bd728' id='320f78a9'/>
+    <typedef-decl name='HeapTuple' type-id='7b21fc90' id='3de55dac'/>
+    <typedef-decl name='Index' type-id='f0981eeb' id='b14ca5c8'/>
+    <typedef-decl name='ItemPointerData' type-id='9dcce3ff' id='f228c910'/>
+    <typedef-decl name='LocalTransactionId' type-id='7aa912f5' id='52debaec'/>
+    <typedef-decl name='LockClauseStrength' type-id='c58fd1e3' id='4f5c07df'/>
+    <typedef-decl name='LockInfoData' type-id='746df812' id='0ec0059f'/>
+    <typedef-decl name='LockWaitPolicy' type-id='b8b605a0' id='5016605c'/>
+    <typedef-decl name='MemoryContext' type-id='34bdb839' id='9968f2f6'/>
+    <typedef-decl name='NodeTag' type-id='8a25f004' id='57011038'/>
+    <typedef-decl name='Oid' type-id='f0981eeb' id='63cf087c'/>
+    <typedef-decl name='PLpgSQL_datum_type' type-id='75857318' id='8fdeefdc'/>
+    <typedef-decl name='PLpgSQL_resolve_option' type-id='6587f404' id='33f41e40'/>
+    <typedef-decl name='PLpgSQL_trigtype' type-id='7a8f9736' id='cf86bdd2'/>
+    <typedef-decl name='Param' type-id='24900a7a' id='547991cd'/>
+    <typedef-decl name='ParamListInfo' type-id='ca0e7f8c' id='4ff08111'/>
+    <typedef-decl name='ParseExprKind' type-id='6578095e' id='168841d2'/>
+    <typedef-decl name='ParseParamRefHook' type-id='13679b7c' id='2fc99baa'/>
+    <typedef-decl name='PartitionDesc' type-id='658e7622' id='a63f38eb'/>
+    <typedef-decl name='PartitionDirectory' type-id='358e4672' id='97164569'/>
+    <typedef-decl name='PartitionKey' type-id='74ab1d06' id='33ddacc1'/>
+    <typedef-decl name='PostParseColumnRefHook' type-id='0c5337d7' id='4afcb79b'/>
+    <typedef-decl name='PreParseColumnRefHook' type-id='8b232c55' id='c6ea5968'/>
+    <typedef-decl name='RawParseMode' type-id='08f5ca17' id='79179ab2'/>
+    <typedef-decl name='RelFileLocator' type-id='99549310' id='b67cbde5'/>
+    <typedef-decl name='ResourceOwner' type-id='c6fe2952' id='2d5e7217'/>
+    <typedef-decl name='RowMarkType' type-id='c13ee7d5' id='de7882c1'/>
+    <typedef-decl name='SMgrRelation' type-id='47c63816' id='80a274b1'/>
+    <typedef-decl name='SPIPlanPtr' type-id='d4c733bc' id='98abc875'/>
+    <typedef-decl name='ScanDirection' type-id='b25f871e' id='f403d182'/>
+    <typedef-decl name='SetFunctionReturnMode' type-id='40ed39d2' id='3c64eef9'/>
+    <typedef-decl name='Size' type-id='b59d7dce' id='305ff205'/>
+    <typedef-decl name='Snapshot' type-id='06d5c805' id='7f2324e8'/>
+    <typedef-decl name='SubTransactionId' type-id='7aa912f5' id='5f59ae47'/>
+    <typedef-decl name='TransactionId' type-id='7aa912f5' id='2d7d3949'/>
+    <typedef-decl name='TriggerEvent' type-id='7aa912f5' id='2b6c27d8'/>
+    <typedef-decl name='TupleDesc' type-id='455f1eca' id='39243d9b'/>
+    <typedef-decl name='fmNodePtr' type-id='86bcc405' id='89bbd655'/>
+    <typedef-decl name='int32' type-id='95e97e5e' id='93e3c360'/>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+    <typedef-decl name='uint8' type-id='002ac4a6' id='78b39644'/>
+    <pointer-type-def type-id='06a3df2b' size-in-bits='64' id='a2b66e08'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='void' id='48b5725f'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <pointer-type-def type-id='cf1c8d75' size-in-bits='64' id='5523530c'/>
+    <pointer-type-def type-id='4d9fe359' size-in-bits='64' id='7a0bd728'/>
+    <pointer-type-def type-id='e5c4cc54' size-in-bits='64' id='7b21fc90'/>
+    <pointer-type-def type-id='60ea65f1' size-in-bits='64' id='34bdb839'/>
+    <pointer-type-def type-id='2b45aa39' size-in-bits='64' id='8b232c55'/>
+    <pointer-type-def type-id='852ff403' size-in-bits='64' id='0c5337d7'/>
+    <pointer-type-def type-id='9d26c5b6' size-in-bits='64' id='915248f0'/>
+    <pointer-type-def type-id='2520a912' size-in-bits='64' id='13679b7c'/>
+    <pointer-type-def type-id='d86ba563' size-in-bits='64' id='42d4c35a'/>
+    <pointer-type-def type-id='e1501ec6' size-in-bits='64' id='ca0e7f8c'/>
+    <pointer-type-def type-id='6678ac94' size-in-bits='64' id='658e7622'/>
+    <pointer-type-def type-id='9cf45a44' size-in-bits='64' id='358e4672'/>
+    <pointer-type-def type-id='d3523890' size-in-bits='64' id='74ab1d06'/>
+    <pointer-type-def type-id='d301d814' size-in-bits='64' id='c6fe2952'/>
+    <pointer-type-def type-id='bcdd7f90' size-in-bits='64' id='47c63816'/>
+    <pointer-type-def type-id='8b267665' size-in-bits='64' id='06d5c805'/>
+    <pointer-type-def type-id='e053624c' size-in-bits='64' id='455f1eca'/>
+    <pointer-type-def type-id='9ea39988' size-in-bits='64' id='cf53b5e2'/>
+    <pointer-type-def type-id='a8e0f606' size-in-bits='64' id='d4c733bc'/>
+    <qualified-type-def type-id='d0a434ed' const='yes' id='7f7ccb1d'/>
+    <qualified-type-def type-id='9351f42b' const='yes' id='57141cf2'/>
+    <qualified-type-def type-id='4ad8af4a' const='yes' id='0668e6ba'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <enum-decl name='LockClauseStrength' id='c58fd1e3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LCS_NONE' value='0'/>
+      <enumerator name='LCS_FORKEYSHARE' value='1'/>
+      <enumerator name='LCS_FORSHARE' value='2'/>
+      <enumerator name='LCS_FORNOKEYUPDATE' value='3'/>
+      <enumerator name='LCS_FORUPDATE' value='4'/>
+    </enum-decl>
+    <enum-decl name='LockWaitPolicy' id='b8b605a0'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LockWaitBlock' value='0'/>
+      <enumerator name='LockWaitSkip' value='1'/>
+      <enumerator name='LockWaitError' value='2'/>
+    </enum-decl>
+    <enum-decl name='NodeTag' id='8a25f004'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='T_Invalid' value='0'/>
+      <enumerator name='T_List' value='1'/>
+      <enumerator name='T_Alias' value='2'/>
+      <enumerator name='T_RangeVar' value='3'/>
+      <enumerator name='T_TableFunc' value='4'/>
+      <enumerator name='T_IntoClause' value='5'/>
+      <enumerator name='T_Var' value='6'/>
+      <enumerator name='T_Const' value='7'/>
+      <enumerator name='T_Param' value='8'/>
+      <enumerator name='T_Aggref' value='9'/>
+      <enumerator name='T_GroupingFunc' value='10'/>
+      <enumerator name='T_WindowFunc' value='11'/>
+      <enumerator name='T_SubscriptingRef' value='12'/>
+      <enumerator name='T_FuncExpr' value='13'/>
+      <enumerator name='T_NamedArgExpr' value='14'/>
+      <enumerator name='T_OpExpr' value='15'/>
+      <enumerator name='T_DistinctExpr' value='16'/>
+      <enumerator name='T_NullIfExpr' value='17'/>
+      <enumerator name='T_ScalarArrayOpExpr' value='18'/>
+      <enumerator name='T_BoolExpr' value='19'/>
+      <enumerator name='T_SubLink' value='20'/>
+      <enumerator name='T_SubPlan' value='21'/>
+      <enumerator name='T_AlternativeSubPlan' value='22'/>
+      <enumerator name='T_FieldSelect' value='23'/>
+      <enumerator name='T_FieldStore' value='24'/>
+      <enumerator name='T_RelabelType' value='25'/>
+      <enumerator name='T_CoerceViaIO' value='26'/>
+      <enumerator name='T_ArrayCoerceExpr' value='27'/>
+      <enumerator name='T_ConvertRowtypeExpr' value='28'/>
+      <enumerator name='T_CollateExpr' value='29'/>
+      <enumerator name='T_CaseExpr' value='30'/>
+      <enumerator name='T_CaseWhen' value='31'/>
+      <enumerator name='T_CaseTestExpr' value='32'/>
+      <enumerator name='T_ArrayExpr' value='33'/>
+      <enumerator name='T_RowExpr' value='34'/>
+      <enumerator name='T_RowCompareExpr' value='35'/>
+      <enumerator name='T_CoalesceExpr' value='36'/>
+      <enumerator name='T_MinMaxExpr' value='37'/>
+      <enumerator name='T_SQLValueFunction' value='38'/>
+      <enumerator name='T_XmlExpr' value='39'/>
+      <enumerator name='T_JsonFormat' value='40'/>
+      <enumerator name='T_JsonReturning' value='41'/>
+      <enumerator name='T_JsonValueExpr' value='42'/>
+      <enumerator name='T_JsonConstructorExpr' value='43'/>
+      <enumerator name='T_JsonIsPredicate' value='44'/>
+      <enumerator name='T_NullTest' value='45'/>
+      <enumerator name='T_BooleanTest' value='46'/>
+      <enumerator name='T_CoerceToDomain' value='47'/>
+      <enumerator name='T_CoerceToDomainValue' value='48'/>
+      <enumerator name='T_SetToDefault' value='49'/>
+      <enumerator name='T_CurrentOfExpr' value='50'/>
+      <enumerator name='T_NextValueExpr' value='51'/>
+      <enumerator name='T_InferenceElem' value='52'/>
+      <enumerator name='T_TargetEntry' value='53'/>
+      <enumerator name='T_RangeTblRef' value='54'/>
+      <enumerator name='T_JoinExpr' value='55'/>
+      <enumerator name='T_FromExpr' value='56'/>
+      <enumerator name='T_OnConflictExpr' value='57'/>
+      <enumerator name='T_Query' value='58'/>
+      <enumerator name='T_TypeName' value='59'/>
+      <enumerator name='T_ColumnRef' value='60'/>
+      <enumerator name='T_ParamRef' value='61'/>
+      <enumerator name='T_A_Expr' value='62'/>
+      <enumerator name='T_A_Const' value='63'/>
+      <enumerator name='T_TypeCast' value='64'/>
+      <enumerator name='T_CollateClause' value='65'/>
+      <enumerator name='T_RoleSpec' value='66'/>
+      <enumerator name='T_FuncCall' value='67'/>
+      <enumerator name='T_A_Star' value='68'/>
+      <enumerator name='T_A_Indices' value='69'/>
+      <enumerator name='T_A_Indirection' value='70'/>
+      <enumerator name='T_A_ArrayExpr' value='71'/>
+      <enumerator name='T_ResTarget' value='72'/>
+      <enumerator name='T_MultiAssignRef' value='73'/>
+      <enumerator name='T_SortBy' value='74'/>
+      <enumerator name='T_WindowDef' value='75'/>
+      <enumerator name='T_RangeSubselect' value='76'/>
+      <enumerator name='T_RangeFunction' value='77'/>
+      <enumerator name='T_RangeTableFunc' value='78'/>
+      <enumerator name='T_RangeTableFuncCol' value='79'/>
+      <enumerator name='T_RangeTableSample' value='80'/>
+      <enumerator name='T_ColumnDef' value='81'/>
+      <enumerator name='T_TableLikeClause' value='82'/>
+      <enumerator name='T_IndexElem' value='83'/>
+      <enumerator name='T_DefElem' value='84'/>
+      <enumerator name='T_LockingClause' value='85'/>
+      <enumerator name='T_XmlSerialize' value='86'/>
+      <enumerator name='T_PartitionElem' value='87'/>
+      <enumerator name='T_PartitionSpec' value='88'/>
+      <enumerator name='T_PartitionBoundSpec' value='89'/>
+      <enumerator name='T_PartitionRangeDatum' value='90'/>
+      <enumerator name='T_PartitionCmd' value='91'/>
+      <enumerator name='T_RangeTblEntry' value='92'/>
+      <enumerator name='T_RTEPermissionInfo' value='93'/>
+      <enumerator name='T_RangeTblFunction' value='94'/>
+      <enumerator name='T_TableSampleClause' value='95'/>
+      <enumerator name='T_WithCheckOption' value='96'/>
+      <enumerator name='T_SortGroupClause' value='97'/>
+      <enumerator name='T_GroupingSet' value='98'/>
+      <enumerator name='T_WindowClause' value='99'/>
+      <enumerator name='T_RowMarkClause' value='100'/>
+      <enumerator name='T_WithClause' value='101'/>
+      <enumerator name='T_InferClause' value='102'/>
+      <enumerator name='T_OnConflictClause' value='103'/>
+      <enumerator name='T_CTESearchClause' value='104'/>
+      <enumerator name='T_CTECycleClause' value='105'/>
+      <enumerator name='T_CommonTableExpr' value='106'/>
+      <enumerator name='T_MergeWhenClause' value='107'/>
+      <enumerator name='T_MergeAction' value='108'/>
+      <enumerator name='T_TriggerTransition' value='109'/>
+      <enumerator name='T_JsonOutput' value='110'/>
+      <enumerator name='T_JsonKeyValue' value='111'/>
+      <enumerator name='T_JsonParseExpr' value='112'/>
+      <enumerator name='T_JsonScalarExpr' value='113'/>
+      <enumerator name='T_JsonSerializeExpr' value='114'/>
+      <enumerator name='T_JsonObjectConstructor' value='115'/>
+      <enumerator name='T_JsonArrayConstructor' value='116'/>
+      <enumerator name='T_JsonArrayQueryConstructor' value='117'/>
+      <enumerator name='T_JsonAggConstructor' value='118'/>
+      <enumerator name='T_JsonObjectAgg' value='119'/>
+      <enumerator name='T_JsonArrayAgg' value='120'/>
+      <enumerator name='T_RawStmt' value='121'/>
+      <enumerator name='T_InsertStmt' value='122'/>
+      <enumerator name='T_DeleteStmt' value='123'/>
+      <enumerator name='T_UpdateStmt' value='124'/>
+      <enumerator name='T_MergeStmt' value='125'/>
+      <enumerator name='T_SelectStmt' value='126'/>
+      <enumerator name='T_SetOperationStmt' value='127'/>
+      <enumerator name='T_ReturnStmt' value='128'/>
+      <enumerator name='T_PLAssignStmt' value='129'/>
+      <enumerator name='T_CreateSchemaStmt' value='130'/>
+      <enumerator name='T_AlterTableStmt' value='131'/>
+      <enumerator name='T_ReplicaIdentityStmt' value='132'/>
+      <enumerator name='T_AlterTableCmd' value='133'/>
+      <enumerator name='T_AlterCollationStmt' value='134'/>
+      <enumerator name='T_AlterDomainStmt' value='135'/>
+      <enumerator name='T_GrantStmt' value='136'/>
+      <enumerator name='T_ObjectWithArgs' value='137'/>
+      <enumerator name='T_AccessPriv' value='138'/>
+      <enumerator name='T_GrantRoleStmt' value='139'/>
+      <enumerator name='T_AlterDefaultPrivilegesStmt' value='140'/>
+      <enumerator name='T_CopyStmt' value='141'/>
+      <enumerator name='T_VariableSetStmt' value='142'/>
+      <enumerator name='T_VariableShowStmt' value='143'/>
+      <enumerator name='T_CreateStmt' value='144'/>
+      <enumerator name='T_Constraint' value='145'/>
+      <enumerator name='T_CreateTableSpaceStmt' value='146'/>
+      <enumerator name='T_DropTableSpaceStmt' value='147'/>
+      <enumerator name='T_AlterTableSpaceOptionsStmt' value='148'/>
+      <enumerator name='T_AlterTableMoveAllStmt' value='149'/>
+      <enumerator name='T_CreateExtensionStmt' value='150'/>
+      <enumerator name='T_AlterExtensionStmt' value='151'/>
+      <enumerator name='T_AlterExtensionContentsStmt' value='152'/>
+      <enumerator name='T_CreateFdwStmt' value='153'/>
+      <enumerator name='T_AlterFdwStmt' value='154'/>
+      <enumerator name='T_CreateForeignServerStmt' value='155'/>
+      <enumerator name='T_AlterForeignServerStmt' value='156'/>
+      <enumerator name='T_CreateForeignTableStmt' value='157'/>
+      <enumerator name='T_CreateUserMappingStmt' value='158'/>
+      <enumerator name='T_AlterUserMappingStmt' value='159'/>
+      <enumerator name='T_DropUserMappingStmt' value='160'/>
+      <enumerator name='T_ImportForeignSchemaStmt' value='161'/>
+      <enumerator name='T_CreatePolicyStmt' value='162'/>
+      <enumerator name='T_AlterPolicyStmt' value='163'/>
+      <enumerator name='T_CreateAmStmt' value='164'/>
+      <enumerator name='T_CreateTrigStmt' value='165'/>
+      <enumerator name='T_CreateEventTrigStmt' value='166'/>
+      <enumerator name='T_AlterEventTrigStmt' value='167'/>
+      <enumerator name='T_CreatePLangStmt' value='168'/>
+      <enumerator name='T_CreateRoleStmt' value='169'/>
+      <enumerator name='T_AlterRoleStmt' value='170'/>
+      <enumerator name='T_AlterRoleSetStmt' value='171'/>
+      <enumerator name='T_DropRoleStmt' value='172'/>
+      <enumerator name='T_CreateSeqStmt' value='173'/>
+      <enumerator name='T_AlterSeqStmt' value='174'/>
+      <enumerator name='T_DefineStmt' value='175'/>
+      <enumerator name='T_CreateDomainStmt' value='176'/>
+      <enumerator name='T_CreateOpClassStmt' value='177'/>
+      <enumerator name='T_CreateOpClassItem' value='178'/>
+      <enumerator name='T_CreateOpFamilyStmt' value='179'/>
+      <enumerator name='T_AlterOpFamilyStmt' value='180'/>
+      <enumerator name='T_DropStmt' value='181'/>
+      <enumerator name='T_TruncateStmt' value='182'/>
+      <enumerator name='T_CommentStmt' value='183'/>
+      <enumerator name='T_SecLabelStmt' value='184'/>
+      <enumerator name='T_DeclareCursorStmt' value='185'/>
+      <enumerator name='T_ClosePortalStmt' value='186'/>
+      <enumerator name='T_FetchStmt' value='187'/>
+      <enumerator name='T_IndexStmt' value='188'/>
+      <enumerator name='T_CreateStatsStmt' value='189'/>
+      <enumerator name='T_StatsElem' value='190'/>
+      <enumerator name='T_AlterStatsStmt' value='191'/>
+      <enumerator name='T_CreateFunctionStmt' value='192'/>
+      <enumerator name='T_FunctionParameter' value='193'/>
+      <enumerator name='T_AlterFunctionStmt' value='194'/>
+      <enumerator name='T_DoStmt' value='195'/>
+      <enumerator name='T_InlineCodeBlock' value='196'/>
+      <enumerator name='T_CallStmt' value='197'/>
+      <enumerator name='T_CallContext' value='198'/>
+      <enumerator name='T_RenameStmt' value='199'/>
+      <enumerator name='T_AlterObjectDependsStmt' value='200'/>
+      <enumerator name='T_AlterObjectSchemaStmt' value='201'/>
+      <enumerator name='T_AlterOwnerStmt' value='202'/>
+      <enumerator name='T_AlterOperatorStmt' value='203'/>
+      <enumerator name='T_AlterTypeStmt' value='204'/>
+      <enumerator name='T_RuleStmt' value='205'/>
+      <enumerator name='T_NotifyStmt' value='206'/>
+      <enumerator name='T_ListenStmt' value='207'/>
+      <enumerator name='T_UnlistenStmt' value='208'/>
+      <enumerator name='T_TransactionStmt' value='209'/>
+      <enumerator name='T_CompositeTypeStmt' value='210'/>
+      <enumerator name='T_CreateEnumStmt' value='211'/>
+      <enumerator name='T_CreateRangeStmt' value='212'/>
+      <enumerator name='T_AlterEnumStmt' value='213'/>
+      <enumerator name='T_ViewStmt' value='214'/>
+      <enumerator name='T_LoadStmt' value='215'/>
+      <enumerator name='T_CreatedbStmt' value='216'/>
+      <enumerator name='T_AlterDatabaseStmt' value='217'/>
+      <enumerator name='T_AlterDatabaseRefreshCollStmt' value='218'/>
+      <enumerator name='T_AlterDatabaseSetStmt' value='219'/>
+      <enumerator name='T_DropdbStmt' value='220'/>
+      <enumerator name='T_AlterSystemStmt' value='221'/>
+      <enumerator name='T_ClusterStmt' value='222'/>
+      <enumerator name='T_VacuumStmt' value='223'/>
+      <enumerator name='T_VacuumRelation' value='224'/>
+      <enumerator name='T_ExplainStmt' value='225'/>
+      <enumerator name='T_CreateTableAsStmt' value='226'/>
+      <enumerator name='T_RefreshMatViewStmt' value='227'/>
+      <enumerator name='T_CheckPointStmt' value='228'/>
+      <enumerator name='T_DiscardStmt' value='229'/>
+      <enumerator name='T_LockStmt' value='230'/>
+      <enumerator name='T_ConstraintsSetStmt' value='231'/>
+      <enumerator name='T_ReindexStmt' value='232'/>
+      <enumerator name='T_CreateConversionStmt' value='233'/>
+      <enumerator name='T_CreateCastStmt' value='234'/>
+      <enumerator name='T_CreateTransformStmt' value='235'/>
+      <enumerator name='T_PrepareStmt' value='236'/>
+      <enumerator name='T_ExecuteStmt' value='237'/>
+      <enumerator name='T_DeallocateStmt' value='238'/>
+      <enumerator name='T_DropOwnedStmt' value='239'/>
+      <enumerator name='T_ReassignOwnedStmt' value='240'/>
+      <enumerator name='T_AlterTSDictionaryStmt' value='241'/>
+      <enumerator name='T_AlterTSConfigurationStmt' value='242'/>
+      <enumerator name='T_PublicationTable' value='243'/>
+      <enumerator name='T_PublicationObjSpec' value='244'/>
+      <enumerator name='T_CreatePublicationStmt' value='245'/>
+      <enumerator name='T_AlterPublicationStmt' value='246'/>
+      <enumerator name='T_CreateSubscriptionStmt' value='247'/>
+      <enumerator name='T_AlterSubscriptionStmt' value='248'/>
+      <enumerator name='T_DropSubscriptionStmt' value='249'/>
+      <enumerator name='T_PlannerGlobal' value='250'/>
+      <enumerator name='T_PlannerInfo' value='251'/>
+      <enumerator name='T_RelOptInfo' value='252'/>
+      <enumerator name='T_IndexOptInfo' value='253'/>
+      <enumerator name='T_ForeignKeyOptInfo' value='254'/>
+      <enumerator name='T_StatisticExtInfo' value='255'/>
+      <enumerator name='T_JoinDomain' value='256'/>
+      <enumerator name='T_EquivalenceClass' value='257'/>
+      <enumerator name='T_EquivalenceMember' value='258'/>
+      <enumerator name='T_PathKey' value='259'/>
+      <enumerator name='T_PathTarget' value='260'/>
+      <enumerator name='T_ParamPathInfo' value='261'/>
+      <enumerator name='T_Path' value='262'/>
+      <enumerator name='T_IndexPath' value='263'/>
+      <enumerator name='T_IndexClause' value='264'/>
+      <enumerator name='T_BitmapHeapPath' value='265'/>
+      <enumerator name='T_BitmapAndPath' value='266'/>
+      <enumerator name='T_BitmapOrPath' value='267'/>
+      <enumerator name='T_TidPath' value='268'/>
+      <enumerator name='T_TidRangePath' value='269'/>
+      <enumerator name='T_SubqueryScanPath' value='270'/>
+      <enumerator name='T_ForeignPath' value='271'/>
+      <enumerator name='T_CustomPath' value='272'/>
+      <enumerator name='T_AppendPath' value='273'/>
+      <enumerator name='T_MergeAppendPath' value='274'/>
+      <enumerator name='T_GroupResultPath' value='275'/>
+      <enumerator name='T_MaterialPath' value='276'/>
+      <enumerator name='T_MemoizePath' value='277'/>
+      <enumerator name='T_UniquePath' value='278'/>
+      <enumerator name='T_GatherPath' value='279'/>
+      <enumerator name='T_GatherMergePath' value='280'/>
+      <enumerator name='T_NestPath' value='281'/>
+      <enumerator name='T_MergePath' value='282'/>
+      <enumerator name='T_HashPath' value='283'/>
+      <enumerator name='T_ProjectionPath' value='284'/>
+      <enumerator name='T_ProjectSetPath' value='285'/>
+      <enumerator name='T_SortPath' value='286'/>
+      <enumerator name='T_IncrementalSortPath' value='287'/>
+      <enumerator name='T_GroupPath' value='288'/>
+      <enumerator name='T_UpperUniquePath' value='289'/>
+      <enumerator name='T_AggPath' value='290'/>
+      <enumerator name='T_GroupingSetData' value='291'/>
+      <enumerator name='T_RollupData' value='292'/>
+      <enumerator name='T_GroupingSetsPath' value='293'/>
+      <enumerator name='T_MinMaxAggPath' value='294'/>
+      <enumerator name='T_WindowAggPath' value='295'/>
+      <enumerator name='T_SetOpPath' value='296'/>
+      <enumerator name='T_RecursiveUnionPath' value='297'/>
+      <enumerator name='T_LockRowsPath' value='298'/>
+      <enumerator name='T_ModifyTablePath' value='299'/>
+      <enumerator name='T_LimitPath' value='300'/>
+      <enumerator name='T_RestrictInfo' value='301'/>
+      <enumerator name='T_PlaceHolderVar' value='302'/>
+      <enumerator name='T_SpecialJoinInfo' value='303'/>
+      <enumerator name='T_OuterJoinClauseInfo' value='304'/>
+      <enumerator name='T_AppendRelInfo' value='305'/>
+      <enumerator name='T_RowIdentityVarInfo' value='306'/>
+      <enumerator name='T_PlaceHolderInfo' value='307'/>
+      <enumerator name='T_MinMaxAggInfo' value='308'/>
+      <enumerator name='T_PlannerParamItem' value='309'/>
+      <enumerator name='T_AggInfo' value='310'/>
+      <enumerator name='T_AggTransInfo' value='311'/>
+      <enumerator name='T_UniqueRelInfo' value='312'/>
+      <enumerator name='T_PlannedStmt' value='313'/>
+      <enumerator name='T_Result' value='314'/>
+      <enumerator name='T_ProjectSet' value='315'/>
+      <enumerator name='T_ModifyTable' value='316'/>
+      <enumerator name='T_Append' value='317'/>
+      <enumerator name='T_MergeAppend' value='318'/>
+      <enumerator name='T_RecursiveUnion' value='319'/>
+      <enumerator name='T_BitmapAnd' value='320'/>
+      <enumerator name='T_BitmapOr' value='321'/>
+      <enumerator name='T_SeqScan' value='322'/>
+      <enumerator name='T_SampleScan' value='323'/>
+      <enumerator name='T_IndexScan' value='324'/>
+      <enumerator name='T_IndexOnlyScan' value='325'/>
+      <enumerator name='T_BitmapIndexScan' value='326'/>
+      <enumerator name='T_BitmapHeapScan' value='327'/>
+      <enumerator name='T_TidScan' value='328'/>
+      <enumerator name='T_TidRangeScan' value='329'/>
+      <enumerator name='T_SubqueryScan' value='330'/>
+      <enumerator name='T_FunctionScan' value='331'/>
+      <enumerator name='T_ValuesScan' value='332'/>
+      <enumerator name='T_TableFuncScan' value='333'/>
+      <enumerator name='T_CteScan' value='334'/>
+      <enumerator name='T_NamedTuplestoreScan' value='335'/>
+      <enumerator name='T_WorkTableScan' value='336'/>
+      <enumerator name='T_ForeignScan' value='337'/>
+      <enumerator name='T_CustomScan' value='338'/>
+      <enumerator name='T_NestLoop' value='339'/>
+      <enumerator name='T_NestLoopParam' value='340'/>
+      <enumerator name='T_MergeJoin' value='341'/>
+      <enumerator name='T_HashJoin' value='342'/>
+      <enumerator name='T_Material' value='343'/>
+      <enumerator name='T_Memoize' value='344'/>
+      <enumerator name='T_Sort' value='345'/>
+      <enumerator name='T_IncrementalSort' value='346'/>
+      <enumerator name='T_Group' value='347'/>
+      <enumerator name='T_Agg' value='348'/>
+      <enumerator name='T_WindowAgg' value='349'/>
+      <enumerator name='T_Unique' value='350'/>
+      <enumerator name='T_Gather' value='351'/>
+      <enumerator name='T_GatherMerge' value='352'/>
+      <enumerator name='T_Hash' value='353'/>
+      <enumerator name='T_SetOp' value='354'/>
+      <enumerator name='T_LockRows' value='355'/>
+      <enumerator name='T_Limit' value='356'/>
+      <enumerator name='T_PlanRowMark' value='357'/>
+      <enumerator name='T_PartitionPruneInfo' value='358'/>
+      <enumerator name='T_PartitionedRelPruneInfo' value='359'/>
+      <enumerator name='T_PartitionPruneStepOp' value='360'/>
+      <enumerator name='T_PartitionPruneStepCombine' value='361'/>
+      <enumerator name='T_PlanInvalItem' value='362'/>
+      <enumerator name='T_ExprState' value='363'/>
+      <enumerator name='T_IndexInfo' value='364'/>
+      <enumerator name='T_ExprContext' value='365'/>
+      <enumerator name='T_ReturnSetInfo' value='366'/>
+      <enumerator name='T_ProjectionInfo' value='367'/>
+      <enumerator name='T_JunkFilter' value='368'/>
+      <enumerator name='T_OnConflictSetState' value='369'/>
+      <enumerator name='T_MergeActionState' value='370'/>
+      <enumerator name='T_ResultRelInfo' value='371'/>
+      <enumerator name='T_EState' value='372'/>
+      <enumerator name='T_WindowFuncExprState' value='373'/>
+      <enumerator name='T_SetExprState' value='374'/>
+      <enumerator name='T_SubPlanState' value='375'/>
+      <enumerator name='T_DomainConstraintState' value='376'/>
+      <enumerator name='T_ResultState' value='377'/>
+      <enumerator name='T_ProjectSetState' value='378'/>
+      <enumerator name='T_ModifyTableState' value='379'/>
+      <enumerator name='T_AppendState' value='380'/>
+      <enumerator name='T_MergeAppendState' value='381'/>
+      <enumerator name='T_RecursiveUnionState' value='382'/>
+      <enumerator name='T_BitmapAndState' value='383'/>
+      <enumerator name='T_BitmapOrState' value='384'/>
+      <enumerator name='T_ScanState' value='385'/>
+      <enumerator name='T_SeqScanState' value='386'/>
+      <enumerator name='T_SampleScanState' value='387'/>
+      <enumerator name='T_IndexScanState' value='388'/>
+      <enumerator name='T_IndexOnlyScanState' value='389'/>
+      <enumerator name='T_BitmapIndexScanState' value='390'/>
+      <enumerator name='T_BitmapHeapScanState' value='391'/>
+      <enumerator name='T_TidScanState' value='392'/>
+      <enumerator name='T_TidRangeScanState' value='393'/>
+      <enumerator name='T_SubqueryScanState' value='394'/>
+      <enumerator name='T_FunctionScanState' value='395'/>
+      <enumerator name='T_ValuesScanState' value='396'/>
+      <enumerator name='T_TableFuncScanState' value='397'/>
+      <enumerator name='T_CteScanState' value='398'/>
+      <enumerator name='T_NamedTuplestoreScanState' value='399'/>
+      <enumerator name='T_WorkTableScanState' value='400'/>
+      <enumerator name='T_ForeignScanState' value='401'/>
+      <enumerator name='T_CustomScanState' value='402'/>
+      <enumerator name='T_JoinState' value='403'/>
+      <enumerator name='T_NestLoopState' value='404'/>
+      <enumerator name='T_MergeJoinState' value='405'/>
+      <enumerator name='T_HashJoinState' value='406'/>
+      <enumerator name='T_MaterialState' value='407'/>
+      <enumerator name='T_MemoizeState' value='408'/>
+      <enumerator name='T_SortState' value='409'/>
+      <enumerator name='T_IncrementalSortState' value='410'/>
+      <enumerator name='T_GroupState' value='411'/>
+      <enumerator name='T_AggState' value='412'/>
+      <enumerator name='T_WindowAggState' value='413'/>
+      <enumerator name='T_UniqueState' value='414'/>
+      <enumerator name='T_GatherState' value='415'/>
+      <enumerator name='T_GatherMergeState' value='416'/>
+      <enumerator name='T_HashState' value='417'/>
+      <enumerator name='T_SetOpState' value='418'/>
+      <enumerator name='T_LockRowsState' value='419'/>
+      <enumerator name='T_LimitState' value='420'/>
+      <enumerator name='T_IndexAmRoutine' value='421'/>
+      <enumerator name='T_TableAmRoutine' value='422'/>
+      <enumerator name='T_TsmRoutine' value='423'/>
+      <enumerator name='T_EventTriggerData' value='424'/>
+      <enumerator name='T_TriggerData' value='425'/>
+      <enumerator name='T_TupleTableSlot' value='426'/>
+      <enumerator name='T_FdwRoutine' value='427'/>
+      <enumerator name='T_Bitmapset' value='428'/>
+      <enumerator name='T_ExtensibleNode' value='429'/>
+      <enumerator name='T_ErrorSaveContext' value='430'/>
+      <enumerator name='T_IdentifySystemCmd' value='431'/>
+      <enumerator name='T_BaseBackupCmd' value='432'/>
+      <enumerator name='T_CreateReplicationSlotCmd' value='433'/>
+      <enumerator name='T_DropReplicationSlotCmd' value='434'/>
+      <enumerator name='T_StartReplicationCmd' value='435'/>
+      <enumerator name='T_ReadReplicationSlotCmd' value='436'/>
+      <enumerator name='T_TimeLineHistoryCmd' value='437'/>
+      <enumerator name='T_SupportRequestSimplify' value='438'/>
+      <enumerator name='T_SupportRequestSelectivity' value='439'/>
+      <enumerator name='T_SupportRequestCost' value='440'/>
+      <enumerator name='T_SupportRequestRows' value='441'/>
+      <enumerator name='T_SupportRequestIndexCondition' value='442'/>
+      <enumerator name='T_SupportRequestWFuncMonotonic' value='443'/>
+      <enumerator name='T_SupportRequestOptimizeWindowClause' value='444'/>
+      <enumerator name='T_Integer' value='445'/>
+      <enumerator name='T_Float' value='446'/>
+      <enumerator name='T_Boolean' value='447'/>
+      <enumerator name='T_String' value='448'/>
+      <enumerator name='T_BitString' value='449'/>
+      <enumerator name='T_ForeignKeyCacheInfo' value='450'/>
+      <enumerator name='T_IntList' value='451'/>
+      <enumerator name='T_OidList' value='452'/>
+      <enumerator name='T_XidList' value='453'/>
+      <enumerator name='T_AllocSetContext' value='454'/>
+      <enumerator name='T_GenerationContext' value='455'/>
+      <enumerator name='T_SlabContext' value='456'/>
+      <enumerator name='T_TIDBitmap' value='457'/>
+      <enumerator name='T_WindowObjectData' value='458'/>
+    </enum-decl>
+    <enum-decl name='PLpgSQL_datum_type' id='75857318'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_DTYPE_VAR' value='0'/>
+      <enumerator name='PLPGSQL_DTYPE_ROW' value='1'/>
+      <enumerator name='PLPGSQL_DTYPE_REC' value='2'/>
+      <enumerator name='PLPGSQL_DTYPE_RECFIELD' value='3'/>
+      <enumerator name='PLPGSQL_DTYPE_PROMISE' value='4'/>
+    </enum-decl>
+    <enum-decl name='PLpgSQL_resolve_option' id='6587f404'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_RESOLVE_ERROR' value='0'/>
+      <enumerator name='PLPGSQL_RESOLVE_VARIABLE' value='1'/>
+      <enumerator name='PLPGSQL_RESOLVE_COLUMN' value='2'/>
+    </enum-decl>
+    <enum-decl name='PLpgSQL_trigtype' id='7a8f9736'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_DML_TRIGGER' value='0'/>
+      <enumerator name='PLPGSQL_EVENT_TRIGGER' value='1'/>
+      <enumerator name='PLPGSQL_NOT_TRIGGER' value='2'/>
+    </enum-decl>
+    <enum-decl name='ParseExprKind' id='6578095e'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='EXPR_KIND_NONE' value='0'/>
+      <enumerator name='EXPR_KIND_OTHER' value='1'/>
+      <enumerator name='EXPR_KIND_JOIN_ON' value='2'/>
+      <enumerator name='EXPR_KIND_JOIN_USING' value='3'/>
+      <enumerator name='EXPR_KIND_FROM_SUBSELECT' value='4'/>
+      <enumerator name='EXPR_KIND_FROM_FUNCTION' value='5'/>
+      <enumerator name='EXPR_KIND_WHERE' value='6'/>
+      <enumerator name='EXPR_KIND_HAVING' value='7'/>
+      <enumerator name='EXPR_KIND_FILTER' value='8'/>
+      <enumerator name='EXPR_KIND_WINDOW_PARTITION' value='9'/>
+      <enumerator name='EXPR_KIND_WINDOW_ORDER' value='10'/>
+      <enumerator name='EXPR_KIND_WINDOW_FRAME_RANGE' value='11'/>
+      <enumerator name='EXPR_KIND_WINDOW_FRAME_ROWS' value='12'/>
+      <enumerator name='EXPR_KIND_WINDOW_FRAME_GROUPS' value='13'/>
+      <enumerator name='EXPR_KIND_SELECT_TARGET' value='14'/>
+      <enumerator name='EXPR_KIND_INSERT_TARGET' value='15'/>
+      <enumerator name='EXPR_KIND_UPDATE_SOURCE' value='16'/>
+      <enumerator name='EXPR_KIND_UPDATE_TARGET' value='17'/>
+      <enumerator name='EXPR_KIND_MERGE_WHEN' value='18'/>
+      <enumerator name='EXPR_KIND_GROUP_BY' value='19'/>
+      <enumerator name='EXPR_KIND_ORDER_BY' value='20'/>
+      <enumerator name='EXPR_KIND_DISTINCT_ON' value='21'/>
+      <enumerator name='EXPR_KIND_LIMIT' value='22'/>
+      <enumerator name='EXPR_KIND_OFFSET' value='23'/>
+      <enumerator name='EXPR_KIND_RETURNING' value='24'/>
+      <enumerator name='EXPR_KIND_VALUES' value='25'/>
+      <enumerator name='EXPR_KIND_VALUES_SINGLE' value='26'/>
+      <enumerator name='EXPR_KIND_CHECK_CONSTRAINT' value='27'/>
+      <enumerator name='EXPR_KIND_DOMAIN_CHECK' value='28'/>
+      <enumerator name='EXPR_KIND_COLUMN_DEFAULT' value='29'/>
+      <enumerator name='EXPR_KIND_FUNCTION_DEFAULT' value='30'/>
+      <enumerator name='EXPR_KIND_INDEX_EXPRESSION' value='31'/>
+      <enumerator name='EXPR_KIND_INDEX_PREDICATE' value='32'/>
+      <enumerator name='EXPR_KIND_STATS_EXPRESSION' value='33'/>
+      <enumerator name='EXPR_KIND_ALTER_COL_TRANSFORM' value='34'/>
+      <enumerator name='EXPR_KIND_EXECUTE_PARAMETER' value='35'/>
+      <enumerator name='EXPR_KIND_TRIGGER_WHEN' value='36'/>
+      <enumerator name='EXPR_KIND_POLICY' value='37'/>
+      <enumerator name='EXPR_KIND_PARTITION_BOUND' value='38'/>
+      <enumerator name='EXPR_KIND_PARTITION_EXPRESSION' value='39'/>
+      <enumerator name='EXPR_KIND_CALL_ARGUMENT' value='40'/>
+      <enumerator name='EXPR_KIND_COPY_WHERE' value='41'/>
+      <enumerator name='EXPR_KIND_GENERATED_COLUMN' value='42'/>
+      <enumerator name='EXPR_KIND_CYCLE_MARK' value='43'/>
+    </enum-decl>
+    <enum-decl name='RowMarkType' id='c13ee7d5'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ROW_MARK_EXCLUSIVE' value='0'/>
+      <enumerator name='ROW_MARK_NOKEYEXCLUSIVE' value='1'/>
+      <enumerator name='ROW_MARK_SHARE' value='2'/>
+      <enumerator name='ROW_MARK_KEYSHARE' value='3'/>
+      <enumerator name='ROW_MARK_REFERENCE' value='4'/>
+      <enumerator name='ROW_MARK_COPY' value='5'/>
+    </enum-decl>
+    <enum-decl name='ScanDirection' id='b25f871e'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='BackwardScanDirection' value='-1'/>
+      <enumerator name='NoMovementScanDirection' value='0'/>
+      <enumerator name='ForwardScanDirection' value='1'/>
+    </enum-decl>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca17'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='RAW_PARSE_DEFAULT' value='0'/>
+      <enumerator name='RAW_PARSE_TYPE_NAME' value='1'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_EXPR' value='2'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_ASSIGN1' value='3'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_ASSIGN2' value='4'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_ASSIGN3' value='5'/>
+    </enum-decl>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d2'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SFRM_ValuePerCall' value='1'/>
+      <enumerator name='SFRM_Materialize' value='2'/>
+      <enumerator name='SFRM_Materialize_Random' value='4'/>
+      <enumerator name='SFRM_Materialize_Preferred' value='8'/>
+    </enum-decl>
+    <enum-decl name='__anonymous_enum__2' is-anonymous='yes' id='3fed383f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ExprSingleResult' value='0'/>
+      <enumerator name='ExprMultipleResult' value='1'/>
+      <enumerator name='ExprEndResult' value='2'/>
+    </enum-decl>
+    <class-decl name='CachedPlan' size-in-bits='384' is-struct='yes' visibility='default' id='421dd424'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='magic' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmt_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_oneshot' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='is_saved' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='is_valid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='planRoleId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dependsOnRole' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='saved_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='generation' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='refcount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='CopyMultiInsertBuffer' is-struct='yes' visibility='default' is-declaration-only='yes' id='daee8f6e'/>
+    <class-decl name='ExprContext_CB' size-in-bits='192' is-struct='yes' visibility='default' id='7cf0472b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='4b1e905c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='function' type-id='a8df8ac9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='arg' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ExprEvalStep' size-in-bits='512' is-struct='yes' visibility='default' id='d3b295aa'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opcode' type-id='33dbba72' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='d' type-id='7f139c63' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FdwRoutine' is-struct='yes' visibility='default' is-declaration-only='yes' id='870496e8'/>
+    <class-decl name='IndexAmRoutine' is-struct='yes' visibility='default' is-declaration-only='yes' id='0fa0ca0f'/>
+    <class-decl name='ItemPointerData' size-in-bits='48' is-struct='yes' visibility='default' id='9dcce3ff'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip_blkid' type-id='dbac37a8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ip_posid' type-id='12f12c16' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JitContext' is-struct='yes' visibility='default' is-declaration-only='yes' id='67f61e43'/>
+    <class-decl name='JitInstrumentation' is-struct='yes' visibility='default' is-declaration-only='yes' id='adb8d8aa'/>
+    <class-decl name='LockInfoData' size-in-bits='64' is-struct='yes' visibility='default' id='746df812'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lockRelId' type-id='499d55b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='Node' size-in-bits='32' is-struct='yes' visibility='default' id='717e4c75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_nsitem' size-in-bits='128' is-struct='yes' visibility='default' id='a47fdee5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='itemtype' type-id='179a0329' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='itemno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='f0068755' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='e84913bd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='Param' size-in-bits='224' is-struct='yes' visibility='default' id='24900a7a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='paramkind' type-id='7a947a9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='paramid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='paramtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramtypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='paramcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PgStat_TableStatus' is-struct='yes' visibility='default' is-declaration-only='yes' id='7e3f796b'/>
+    <class-decl name='Plan' size-in-bits='832' is-struct='yes' visibility='default' id='58a10fda'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='startup_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='total_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='plan_rows' type-id='2206bd64' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='plan_width' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='parallel_aware' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='parallel_safe' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='async_capable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='plan_node_id' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='targetlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='qual' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='lefttree' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='righttree' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='initPlan' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='extParam' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allParam' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RelFileLocator' size-in-bits='96' is-struct='yes' visibility='default' id='99549310'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spcOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dbOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='relNumber' type-id='58e4ef28' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RowSecurityDesc' is-struct='yes' visibility='default' is-declaration-only='yes' id='09e09440'/>
+    <class-decl name='SharedJitInstrumentation' is-struct='yes' visibility='default' is-declaration-only='yes' id='94925cc3'/>
+    <class-decl name='dsa_area' is-struct='yes' visibility='default' is-declaration-only='yes' id='255914cd'/>
+    <typedef-decl name='Bitmapset' type-id='fef0ef96' id='d0a434ed'/>
+    <typedef-decl name='CachedPlanSource' type-id='376258c1' id='86833f90'/>
+    <typedef-decl name='CommonTableExpr' type-id='83628fe7' id='d52d60c4'/>
+    <pointer-type-def type-id='73f0e738' size-in-bits='64' id='1759c1b2'/>
+    <typedef-decl name='ErrorData' type-id='2530e949' id='a0fdc2ea'/>
+    <typedef-decl name='EventTriggerData' type-id='06d66699' id='c23f55f0'/>
+    <typedef-decl name='Expr' type-id='46fc0fe6' id='c0a129cb'/>
+    <typedef-decl name='HTAB' type-id='d3f73eb6' id='09c852cb'/>
+    <typedef-decl name='HeapTupleHeader' type-id='a537715c' id='0dfa8919'/>
+    <typedef-decl name='Instrumentation' type-id='e19aae85' id='25f39bce'/>
+    <typedef-decl name='JunkFilter' type-id='fa34ef4d' id='512b66a8'/>
+    <typedef-decl name='List' type-id='6852ba09' id='db0045d4'/>
+    <typedef-decl name='NullableDatum' type-id='e2d57367' id='73f7fd18'/>
+    <typedef-decl name='PGFunction' type-id='050f9711' id='bf77460d'/>
+    <typedef-decl name='PLpgSQL_func_hashkey' type-id='66941e67' id='c32716ea'/>
+    <typedef-decl name='PLpgSQL_stmt' type-id='839ee38b' id='79e2ce06'/>
+    <typedef-decl name='PLpgSQL_stmt_block' type-id='b3b83075' id='f9084154'/>
+    <typedef-decl name='PLpgSQL_type' type-id='e8226b2d' id='c5027e70'/>
+    <typedef-decl name='ParamExecData' type-id='8889a5cf' id='ec58a07c'/>
+    <typedef-decl name='ParseNamespaceItem' type-id='9a7c918c' id='2167e055'/>
+    <typedef-decl name='ParseState' type-id='aeb1887a' id='37a337dc'/>
+    <typedef-decl name='PlannedStmt' type-id='cdab5403' id='a0780334'/>
+    <typedef-decl name='PublicationDesc' type-id='aca4dc30' id='03d04117'/>
+    <typedef-decl name='QueryEnvironment' type-id='1e791674' id='7345a329'/>
+    <typedef-decl name='RegProcedure' type-id='de491152' id='e59e47cf'/>
+    <typedef-decl name='RuleLock' type-id='e0e44ec4' id='fa5e6a1d'/>
+    <typedef-decl name='SPITupleTable' type-id='2c07bdfb' id='b46b9160'/>
+    <typedef-decl name='Trigger' type-id='ee64d34b' id='fd4d0dd0'/>
+    <typedef-decl name='TriggerDesc' type-id='e97a37c6' id='1b2f0781'/>
+    <typedef-decl name='TupleConversionMap' type-id='794d0e85' id='e434b0a4'/>
+    <typedef-decl name='TupleTableSlot' type-id='05215b1f' id='1f0b318a'/>
+    <typedef-decl name='Tuplestorestate' type-id='ffe56677' id='8b7bc69c'/>
+    <typedef-decl name='TypeName' type-id='e1d79126' id='d1d2d2bf'/>
+    <typedef-decl name='WorkerInstrumentation' type-id='601c3a93' id='d39d25d0'/>
+    <typedef-decl name='bytea' type-id='24428564' id='0fb10f85'/>
+    <typedef-decl name='int16' type-id='a2185560' id='27de9c2e'/>
+    <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
+    <typedef-decl name='uint16' type-id='8efea9e5' id='06a3df2b'/>
+    <typedef-decl name='uint32' type-id='f0981eeb' id='7aa912f5'/>
+    <typedef-decl name='uintptr_t' type-id='7359adad' id='e475ab95'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <pointer-type-def type-id='7cf0472b' size-in-bits='64' id='4b1e905c'/>
+    <pointer-type-def type-id='03f6d8e9' size-in-bits='64' id='a537715c'/>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='infinite' id='e84913bd'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <class-decl name='Bitmapset' size-in-bits='64' is-struct='yes' visibility='default' id='fef0ef96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nwords' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='words' type-id='0e160242' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='CachedPlanSource' size-in-bits='1600' is-struct='yes' visibility='default' id='376258c1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='magic' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='raw_parse_tree' type-id='563110bf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='query_string' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='commandTag' type-id='a18bc913' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='param_types' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='num_params' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='parserSetup' type-id='df87ed5b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='parserSetupArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cursor_options' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='fixed_result' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='resultDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='query_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='relationOids' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='invalItems' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='search_path' type-id='2f13296e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='query_context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rewriteRoleId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='rewriteRowSecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1064'>
+        <var-decl name='dependsOnRLS' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='gplan' type-id='da707eb2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='is_oneshot' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1160'>
+        <var-decl name='is_complete' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1168'>
+        <var-decl name='is_saved' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1176'>
+        <var-decl name='is_valid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='generation' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='node' type-id='7ec7d215' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='generic_cost' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='total_custom_cost' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='num_custom_plans' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='num_generic_plans' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='CommonTableExpr' size-in-bits='832' is-struct='yes' visibility='default' id='83628fe7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctename' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='aliascolnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ctematerialized' type-id='c0bf5007' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ctequery' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='search_clause' type-id='ff83265a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='cycle_clause' type-id='3a14ea32' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='cterecursive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cterefcount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ctecolnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='ctecoltypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ctecoltypmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ctecolcollations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ErrorData' size-in-bits='1472' is-struct='yes' visibility='default' id='2530e949'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elevel' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='output_to_server' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='output_to_client' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='hide_stmt' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='hide_ctx' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='filename' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='funcname' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='domain' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='context_domain' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sqlerrcode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='message' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='detail' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='detail_log' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='hint' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='context' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='backtrace' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='message_id' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='schema_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='table_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='column_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='datatype_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='constraint_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='cursorpos' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='internalpos' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='internalquery' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='saved_errno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='assoc_context' type-id='34bdb839' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='EventTriggerData' size-in-bits='256' is-struct='yes' visibility='default' id='06d66699'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='event' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='parsetree' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tag' type-id='a18bc913' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='Expr' size-in-bits='32' is-struct='yes' visibility='default' id='46fc0fe6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='HTAB' is-struct='yes' visibility='default' is-declaration-only='yes' id='d3f73eb6'/>
+    <class-decl name='Instrumentation' size-in-bits='3200' is-struct='yes' visibility='default' id='e19aae85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='need_timer' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='need_bufusage' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='need_walusage' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='async_mode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='running' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='starttime' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='counter' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='firsttuple' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tuplecount' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='bufusage_start' type-id='bec09531' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='walusage_start' type-id='cb65ae2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='startup' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='total' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='ntuples' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='ntuples2' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='nloops' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='nfiltered1' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='nfiltered2' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='bufusage' type-id='bec09531' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='walusage' type-id='cb65ae2b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JunkFilter' size-in-bits='320' is-struct='yes' visibility='default' id='fa34ef4d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='jf_targetList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='jf_cleanTupType' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='jf_cleanMap' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='jf_resultSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='List' size-in-bits='192' is-struct='yes' visibility='default' id='6852ba09'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='length' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_length' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='elements' type-id='ac606329' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='initial_elements' type-id='93433141' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='MemoryContextData' size-in-bits='640' is-struct='yes' visibility='default' id='60ea65f1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='isReset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='allowInCritSection' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mem_allocated' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='methods' type-id='207065e6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='firstchild' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='prevchild' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='nextchild' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ident' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='reset_cbs' type-id='ce502280' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='NullableDatum' size-in-bits='128' is-struct='yes' visibility='default' id='e2d57367'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_func_hashkey' size-in-bits='3328' is-struct='yes' visibility='default' id='66941e67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='funcOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='isTrigger' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='isEventTrigger' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trigOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='inputCollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='argtypes' type-id='6b765c6a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_stmt' size-in-bits='96' is-struct='yes' visibility='default' id='839ee38b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cmd_type' type-id='75f63103' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmtid' type-id='f0981eeb' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_stmt_block' size-in-bits='448' is-struct='yes' visibility='default' id='b3b83075'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cmd_type' type-id='75f63103' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmtid' type-id='f0981eeb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='label' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='body' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='n_initvars' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='initvarnos' type-id='7292109c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='exceptions' type-id='15a18f82' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_type' size-in-bits='448' is-struct='yes' visibility='default' id='e8226b2d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='typname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ttype' type-id='736dc355' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='typtype' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typisarray' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='atttypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='origtypname' type-id='9ec4c26c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tcache' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tupdesc_id' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParamExecData' size-in-bits='192' is-struct='yes' visibility='default' id='8889a5cf'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='execPlan' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParamListInfoData' size-in-bits='512' is-struct='yes' visibility='default' id='e1501ec6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='paramFetch' type-id='a3de2d94' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='paramFetchArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramCompile' type-id='b831bad1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='paramCompileArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='parserSetup' type-id='df87ed5b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='parserSetupArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='paramValuesStr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='numParams' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='params' type-id='4f1256a8' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParseNamespaceItem' size-in-bits='384' is-struct='yes' visibility='default' id='9a7c918c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p_names' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p_rte' type-id='0e6ce0d6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='p_rtindex' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='p_perminfo' type-id='8768804d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='p_nscolumns' type-id='f18806f9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='p_rel_visible' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='p_cols_visible' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='p_lateral_only' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='344'>
+        <var-decl name='p_lateral_ok' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParseState' size-in-bits='1792' is-struct='yes' visibility='default' id='aeb1887a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parentParseState' type-id='63c837a1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p_sourcetext' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='p_rtable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='p_rteperminfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='p_joinexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='p_nullingrels' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='p_joinlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='p_namespace' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='p_lateral_active' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='p_ctenamespace' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='p_future_ctes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='p_parent_cte' type-id='8c1a5c4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='p_target_relation' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='p_target_nsitem' type-id='6883c46a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='p_is_insert' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='p_windowdefs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='p_expr_kind' type-id='168841d2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='p_next_resno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='p_multiassign_exprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='p_locking_clause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='p_locked_from_parent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1224'>
+        <var-decl name='p_resolve_unknowns' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='p_queryEnv' type-id='74ab5782' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='p_hasAggs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1352'>
+        <var-decl name='p_hasWindowFuncs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1360'>
+        <var-decl name='p_hasTargetSRFs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1368'>
+        <var-decl name='p_hasSubLinks' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='p_hasModifyingCTE' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='p_last_srf' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='p_pre_columnref_hook' type-id='c6ea5968' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='p_post_columnref_hook' type-id='4afcb79b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='p_paramref_hook' type-id='2fc99baa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='p_coerce_param_hook' type-id='c4d0a731' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='p_ref_hook_state' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PartitionDescData' is-struct='yes' visibility='default' is-declaration-only='yes' id='6678ac94'/>
+    <class-decl name='PartitionDirectoryData' is-struct='yes' visibility='default' is-declaration-only='yes' id='9cf45a44'/>
+    <class-decl name='PartitionKeyData' is-struct='yes' visibility='default' is-declaration-only='yes' id='d3523890'/>
+    <class-decl name='PlannedStmt' size-in-bits='1088' is-struct='yes' visibility='default' id='cdab5403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='commandType' type-id='af8a0214' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='queryId' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hasReturning' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='hasModifyingCTE' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='canSetTag' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='transientPlan' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dependsOnRole' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='parallelModeNeeded' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='jitFlags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='planTree' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rtable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='permInfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='resultRelations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='appendRelations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='subplans' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rewindPlanIDs' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rowMarks' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='relationOids' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='invalItems' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='paramExecTypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='utilityStmt' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='stmt_location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='stmt_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PublicationDesc' size-in-bits='64' is-struct='yes' visibility='default' id='aca4dc30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pubactions' type-id='ae282a3d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rf_valid_for_update' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='rf_valid_for_delete' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='cols_valid_for_update' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='cols_valid_for_delete' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='QueryEnvironment' is-struct='yes' visibility='default' is-declaration-only='yes' id='1e791674'/>
+    <class-decl name='ResourceOwnerData' is-struct='yes' visibility='default' is-declaration-only='yes' id='d301d814'/>
+    <class-decl name='RuleLock' size-in-bits='128' is-struct='yes' visibility='default' id='e0e44ec4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='numLocks' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rules' type-id='50db0561' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SMgrRelationData' size-in-bits='896' is-struct='yes' visibility='default' id='bcdd7f90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='smgr_rlocator' type-id='24ad344f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='smgr_owner' type-id='390a8674' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='smgr_targblock' type-id='3db40640' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='smgr_cached_nblocks' type-id='0403c23f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='smgr_which' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='md_num_open_segs' type-id='2020bac4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='md_seg_fds' type-id='2d63c7ed' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='node' type-id='7ec7d215' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SPITupleTable' size-in-bits='448' is-struct='yes' visibility='default' id='2c07bdfb'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tupdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vals' type-id='4fc4ab07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='numvals' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alloced' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tuptabcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='next' type-id='f13aab3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='subid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SnapshotData' size-in-bits='960' is-struct='yes' visibility='default' id='8b267665'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='snapshot_type' type-id='92c892a0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xmax' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='xip' type-id='b1ef65cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='xcnt' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='subxip' type-id='b1ef65cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='subxcnt' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='suboverflowed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='takenDuringRecovery' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='copied' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='curcid' type-id='6692fd60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='speculativeToken' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vistest' type-id='8b7497cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='active_count' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='regd_count' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ph_node' type-id='e72a9a83' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='whenTaken' type-id='7448fdb6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='lsn' type-id='cdb01e8a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='snapXactCompletionCount' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TableAmRoutine' size-in-bits='2944' is-struct='yes' visibility='default' id='9351f42b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='slot_callbacks' type-id='5a87d566' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='scan_begin' type-id='12479770' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan_end' type-id='5c77fa5d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='scan_rescan' type-id='158a83bf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='scan_getnextslot' type-id='ec4735d0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='scan_set_tidrange' type-id='6da8c08f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scan_getnextslot_tidrange' type-id='ec4735d0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parallelscan_estimate' type-id='11c65a0b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='parallelscan_initialize' type-id='d773ab59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='parallelscan_reinitialize' type-id='4c8fbedb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='index_fetch_begin' type-id='b2f50009' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='index_fetch_reset' type-id='85893be2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='index_fetch_end' type-id='85893be2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='index_fetch_tuple' type-id='5760624e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='tuple_fetch_row_version' type-id='8e09e859' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='tuple_tid_valid' type-id='7a5010f0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='tuple_get_latest_tid' type-id='3eaabdfa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='tuple_satisfies_snapshot' type-id='5b219226' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='index_delete_tuples' type-id='d2aca269' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='tuple_insert' type-id='5a898ed9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='tuple_insert_speculative' type-id='ef6a1459' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='tuple_complete_speculative' type-id='97ed04e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='multi_insert' type-id='c1be146e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='tuple_delete' type-id='70dac445' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='tuple_update' type-id='0cf7ee5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='tuple_lock' type-id='c734c22b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='finish_bulk_insert' type-id='1ff7fe08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='relation_set_new_filelocator' type-id='ca493d20' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='relation_nontransactional_truncate' type-id='f2b1da41' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='relation_copy_data' type-id='e01d8093' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='relation_copy_for_cluster' type-id='d6174351' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='relation_vacuum' type-id='2b3b1f1c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='scan_analyze_next_block' type-id='25d4612c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='scan_analyze_next_tuple' type-id='bee3d46f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='index_build_range_scan' type-id='8f3c25ba' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='index_validate_scan' type-id='2931a6a4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='relation_size' type-id='0feda258' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='relation_needs_toast_table' type-id='2cb8ed83' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='relation_toast_am' type-id='dca928c2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='relation_fetch_toast_slice' type-id='5eda35ee' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='relation_estimate_size' type-id='74ff6c8f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='scan_bitmap_next_block' type-id='4a75c639' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='scan_bitmap_next_tuple' type-id='0f772ba5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='scan_sample_next_block' type-id='4d721265' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='scan_sample_next_tuple' type-id='07848f31' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='Trigger' size-in-bits='704' is-struct='yes' visibility='default' id='ee64d34b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tgoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tgname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tgfoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='tgtype' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='tgenabled' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='tgisinternal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tgisclone' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='tgconstrrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tgconstrindid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='tgconstraint' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tgdeferrable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='tginitdeferred' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='tgnargs' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='tgnattr' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tgattr' type-id='660e0121' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tgargs' type-id='9b23c9ad' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tgqual' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tgoldtable' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='tgnewtable' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TriggerDesc' size-in-bits='320' is-struct='yes' visibility='default' id='e97a37c6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='triggers' type-id='b8734eab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='numtriggers' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='trig_insert_before_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='trig_insert_after_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='trig_insert_instead_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='trig_insert_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='trig_insert_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='trig_update_before_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='trig_update_after_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='trig_update_instead_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='trig_update_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='trig_update_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='trig_delete_before_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='trig_delete_after_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='trig_delete_instead_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='trig_delete_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='trig_delete_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='trig_truncate_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='trig_truncate_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='trig_insert_new_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='trig_update_old_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='248'>
+        <var-decl name='trig_update_new_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='trig_delete_old_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TupleConversionMap' size-in-bits='448' is-struct='yes' visibility='default' id='794d0e85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='indesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='outdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='attrMap' type-id='042f5542' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='invalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='inisnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='outvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='outisnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TupleDescData' size-in-bits='192' is-struct='yes' visibility='default' id='e053624c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='natts' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tdtypeid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tdtypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tdrefcount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='constr' type-id='f0d64c54' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='3f6b39ca' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TupleTableSlot' size-in-bits='512' is-struct='yes' visibility='default' id='05215b1f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tts_flags' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tts_nvalid' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tts_ops' type-id='4c122643' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tts_tupleDescriptor' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tts_values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tts_isnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tts_mcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tts_tid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tts_tableOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='Tuplestorestate' is-struct='yes' visibility='default' is-declaration-only='yes' id='ffe56677'/>
+    <class-decl name='TypeName' size-in-bits='448' is-struct='yes' visibility='default' id='e1d79126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='names' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typeOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='setof' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='pct_type' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='typemod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='arrayBounds' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='WorkerInstrumentation' size-in-bits='64' is-struct='yes' visibility='default' id='601c3a93'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_workers' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='instrument' type-id='b1f0fafd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_SPI_plan' is-struct='yes' visibility='default' is-declaration-only='yes' id='a8e0f606'/>
+    <class-decl name='varlena' size-in-bits='32' is-struct='yes' visibility='default' id='24428564'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vl_len_' type-id='8e0573fd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vl_dat' type-id='e84913bd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='BlockIdData' type-id='2869d54f' id='dbac37a8'/>
+    <typedef-decl name='Cardinality' type-id='a0eb0f08' id='2206bd64'/>
+    <typedef-decl name='Cost' type-id='a0eb0f08' id='46a85fb1'/>
+    <pointer-type-def type-id='59c8bafd' size-in-bits='64' id='050f9711'/>
+    <typedef-decl name='ExprContextCallbackFunction' type-id='49a7cf56' id='a8df8ac9'/>
+    <typedef-decl name='FormData_pg_class' type-id='2bc808b6' id='cf1c8d75'/>
+    <typedef-decl name='FormData_pg_index' type-id='9c8bb25a' id='4d9fe359'/>
+    <typedef-decl name='HeapTupleData' type-id='07fb1a17' id='e5c4cc54'/>
+    <typedef-decl name='LockRelId' type-id='0738d104' id='499d55b7'/>
+    <typedef-decl name='OffsetNumber' type-id='06a3df2b' id='12f12c16'/>
+    <typedef-decl name='PLpgSQL_datum' type-id='4ecb5a4c' id='d86ba563'/>
+    <typedef-decl name='PLpgSQL_nsitem_type' type-id='7a61f31d' id='179a0329'/>
+    <typedef-decl name='ParamKind' type-id='410f5d6f' id='7a947a9b'/>
+    <typedef-decl name='RelFileNumber' type-id='63cf087c' id='58e4ef28'/>
+    <typedef-decl name='TupleTableSlotOps' type-id='0f69d789' id='4ad8af4a'/>
+    <typedef-decl name='intptr_t' type-id='bd54fe1a' id='33dbba72'/>
+    <typedef-decl name='regproc' type-id='63cf087c' id='de491152'/>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' id='7f139c63'>
+      <data-member access='private'>
+        <var-decl name='fetch' type-id='4b17193f' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='var' type-id='8ecd93e4' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='wholerow' type-id='dfea21c8' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='assign_var' type-id='89567c3d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='assign_tmp' type-id='0c2386a4' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='constval' type-id='154f1990' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='func' type-id='01ace714' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='boolexpr' type-id='8dec3f33' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qualexpr' type-id='221c69c5' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='jump' type-id='221c69c5' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='nulltest_row' type-id='8dde685d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='param' type-id='db8d3af1' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cparam' type-id='052f406c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='casetest' type-id='6d4cc9f0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='make_readonly' type-id='6d4cc9f0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iocoerce' type-id='3b773333' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sqlvaluefunction' type-id='1eb9c3ae' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='nextvalueexpr' type-id='12f5f526' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arrayexpr' type-id='471f877a' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arraycoerce' type-id='c17e1800' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='row' type-id='a19f65b2' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rowcompare_step' type-id='ae4ad948' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rowcompare_final' type-id='57460238' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='minmax' type-id='e523744d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='fieldselect' type-id='4be09a1c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='fieldstore' type-id='1d070bd0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sbsref_subscript' type-id='fa683c65' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sbsref' type-id='95d46cc9' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='domaincheck' type-id='cd5af2ef' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='convert_rowtype' type-id='39ce71be' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='scalararrayop' type-id='f315c01c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='hashedscalararrayop' type-id='3304a23a' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='xmlexpr' type-id='ca842759' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='json_constructor' type-id='72e92d3a' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aggref' type-id='38b50155' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='grouping_func' type-id='3b84f0d6' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='window_func' type-id='779e7fb0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='subplan' type-id='34fa8b2c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_deserialize' type-id='0d73263b' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_strict_input_check' type-id='ee5c1480' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_plain_pergroup_nullcheck' type-id='8d9740b9' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_presorted_distinctcheck' type-id='64955077' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_trans' type-id='4840c6de' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='is_json' type-id='e4a33f20' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
+    <pointer-type-def type-id='eea2deb8' size-in-bits='64' id='c6b151e7'/>
+    <pointer-type-def type-id='dc4eb83f' size-in-bits='64' id='042f5542'/>
+    <pointer-type-def type-id='6bdc0c3e' size-in-bits='64' id='f205808f'/>
+    <array-type-def dimensions='1' type-id='3db40640' size-in-bits='128' id='0403c23f'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <pointer-type-def type-id='546c8069' size-in-bits='64' id='3a14ea32'/>
+    <pointer-type-def type-id='a76c026f' size-in-bits='64' id='ff83265a'/>
+    <array-type-def dimensions='1' type-id='ddba9bc9' size-in-bits='infinite' id='3f6b39ca'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <pointer-type-def type-id='16f01b5d' size-in-bits='64' id='8b7497cd'/>
+    <pointer-type-def type-id='3de55dac' size-in-bits='64' id='4fc4ab07'/>
+    <pointer-type-def type-id='4a2f935d' size-in-bits='64' id='b2f50009'/>
+    <array-type-def dimensions='1' type-id='25f39bce' size-in-bits='infinite' id='b1f0fafd'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <pointer-type-def type-id='4f9e23e8' size-in-bits='64' id='ac606329'/>
+    <array-type-def dimensions='1' type-id='4f9e23e8' size-in-bits='infinite' id='93433141'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='63cf087c' size-in-bits='3200' id='6b765c6a'>
+      <subrange length='100' type-id='7359adad' id='4196563c'/>
+    </array-type-def>
+    <pointer-type-def type-id='0ad5e557' size-in-bits='64' id='15a18f82'/>
+    <array-type-def dimensions='1' type-id='16406887' size-in-bits='infinite' id='4f1256a8'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <pointer-type-def type-id='20db3fac' size-in-bits='64' id='f18806f9'/>
+    <pointer-type-def type-id='2a1b44b2' size-in-bits='64' id='8768804d'/>
+    <pointer-type-def type-id='08e55fdf' size-in-bits='64' id='0e6ce0d6'/>
+    <pointer-type-def type-id='858759f7' size-in-bits='64' id='563110bf'/>
+    <pointer-type-def type-id='7e260591' size-in-bits='64' id='50db0561'/>
+    <pointer-type-def type-id='47c63816' size-in-bits='64' id='390a8674'/>
+    <pointer-type-def type-id='2b16adc8' size-in-bits='64' id='2f13296e'/>
+    <pointer-type-def type-id='2d7d3949' size-in-bits='64' id='b1ef65cc'/>
+    <pointer-type-def type-id='50aebc99' size-in-bits='64' id='f0d64c54'/>
+    <pointer-type-def type-id='194c78d3' size-in-bits='64' id='aa8b2ff3'/>
+    <array-type-def dimensions='1' type-id='d1885e4d' size-in-bits='256' id='2d63c7ed'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='337bdc9b' size-in-bits='infinite' id='0e160242'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <pointer-type-def type-id='cfb3e584' size-in-bits='64' id='5760624e'/>
+    <pointer-type-def type-id='cfc385bf' size-in-bits='64' id='2cb8ed83'/>
+    <pointer-type-def type-id='6ef34894' size-in-bits='64' id='5b219226'/>
+    <pointer-type-def type-id='07b64d75' size-in-bits='64' id='8e09e859'/>
+    <pointer-type-def type-id='502ed071' size-in-bits='64' id='4d721265'/>
+    <pointer-type-def type-id='91fdba25' size-in-bits='64' id='07848f31'/>
+    <pointer-type-def type-id='2661e72d' size-in-bits='64' id='4a75c639'/>
+    <pointer-type-def type-id='64879be1' size-in-bits='64' id='0f772ba5'/>
+    <pointer-type-def type-id='892b2802' size-in-bits='64' id='25d4612c'/>
+    <pointer-type-def type-id='3d329d3e' size-in-bits='64' id='7a5010f0'/>
+    <pointer-type-def type-id='d84a5746' size-in-bits='64' id='ec4735d0'/>
+    <pointer-type-def type-id='bce04fab' size-in-bits='64' id='bee3d46f'/>
+    <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='32' id='8e0573fd'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <pointer-type-def type-id='27643d14' size-in-bits='64' id='5a87d566'/>
+    <qualified-type-def type-id='a722f4b0' const='yes' id='4c122643'/>
+    <type-decl name='double' size-in-bits='64' id='a0eb0f08'/>
+    <pointer-type-def type-id='77af88f8' size-in-bits='64' id='8f3c25ba'/>
+    <enum-decl name='PLpgSQL_nsitem_type' id='7a61f31d'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_NSTYPE_LABEL' value='0'/>
+      <enumerator name='PLPGSQL_NSTYPE_VAR' value='1'/>
+      <enumerator name='PLPGSQL_NSTYPE_REC' value='2'/>
+    </enum-decl>
+    <enum-decl name='ParamKind' id='410f5d6f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PARAM_EXTERN' value='0'/>
+      <enumerator name='PARAM_EXEC' value='1'/>
+      <enumerator name='PARAM_SUBLINK' value='2'/>
+      <enumerator name='PARAM_MULTIEXPR' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <array-type-def dimensions='1' type-id='95e97e5e' size-in-bits='128' id='2020bac4'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <class-decl name='BlockIdData' size-in-bits='32' is-struct='yes' visibility='default' id='2869d54f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bi_hi' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='bi_lo' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FormData_pg_class' size-in-bits='1120' is-struct='yes' visibility='default' id='2bc808b6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='relname' type-id='d4b9f8ef' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='relnamespace' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='reltype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='reloftype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='relowner' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='relam' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='relfilenode' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='reltablespace' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='relpages' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='reltuples' type-id='b6d86a0e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='relallvisible' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='reltoastrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='relhasindex' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='904'>
+        <var-decl name='relisshared' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='relpersistence' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='920'>
+        <var-decl name='relkind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='relnatts' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='944'>
+        <var-decl name='relchecks' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='relhasrules' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='968'>
+        <var-decl name='relhastriggers' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='976'>
+        <var-decl name='relhassubclass' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='984'>
+        <var-decl name='relrowsecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='relforcerowsecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1000'>
+        <var-decl name='relispopulated' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1008'>
+        <var-decl name='relreplident' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1016'>
+        <var-decl name='relispartition' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='relrewrite' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='relfrozenxid' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='relminmxid' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FormData_pg_index' size-in-bits='384' is-struct='yes' visibility='default' id='9c8bb25a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='indexrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='indrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='indnatts' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='indnkeyatts' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='indisunique' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='indnullsnotdistinct' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='indisprimary' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='indisexclusion' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='indimmediate' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='indisclustered' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='indisvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='indcheckxmin' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='indisready' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='indislive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='indisreplident' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='indkey' type-id='41ad24e2' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='LockRelId' size-in-bits='64' is-struct='yes' visibility='default' id='0738d104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='relId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dbId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_datum' size-in-bits='64' is-struct='yes' visibility='default' id='4ecb5a4c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dtype' type-id='8fdeefdc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TupleTableSlotOps' size-in-bits='768' is-struct='yes' visibility='default' id='0f69d789'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base_slot_size' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='init' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='release' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='clear' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='getsomeattrs' type-id='ad9add71' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='getsysattr' type-id='289e6cbb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='materialize' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='copyslot' type-id='f5465184' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='get_heap_tuple' type-id='c80a7bab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='get_minimal_tuple' type-id='e927a3d2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='copy_heap_tuple' type-id='c80a7bab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='copy_minimal_tuple' type-id='e927a3d2' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__42' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='64955077'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pertrans' type-id='22d3bcc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggcontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='jumpdistinct' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__43' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='4840c6de'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pertrans' type-id='22d3bcc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggcontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='setno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='transno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='setoff' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__24' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='4be09a1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fieldnum' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='resulttype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rowcache' type-id='6d23b4a3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__5' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='154f1990'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__18' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='471f877a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elemvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='elemnulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nelems' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='elemtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elemlength' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='elembyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='elemalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='multidims' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__13' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='6d4cc9f0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__23' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='e523744d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nelems' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='op' type-id='f012c4d9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__26' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='fa683c65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subscriptfunc' type-id='957dd9fd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='state' type-id='b337bec6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__12' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='052f406c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='paramfunc' type-id='5b661f31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='paramarg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='paramtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__27' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='95d46cc9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subscriptfunc' type-id='5b661f31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='state' type-id='b337bec6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__10' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='8dde685d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rowcache' type-id='6d23b4a3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__19' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='c17e1800'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elemexprstate' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resultelemtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='amstate' type-id='7776142d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__25' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='1d070bd0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fstore' type-id='668f87de' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rowcache' type-id='09327ce4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ncolumns' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__21' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='ae4ad948'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='01ace714'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__15' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='3b773333'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='finfo_out' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcinfo_data_out' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='finfo_in' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fcinfo_data_in' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__39' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='0d73263b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__33' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='72e92d3a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='jcstate' type-id='33c89107' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__44' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='e4a33f20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pred' type-id='d5f30022' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__36' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='3b84f0d6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='clauses' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__40' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='ee5c1480'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='args' type-id='2f0d000f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__30' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='f315c01c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='element_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='useOr' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='typalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__29' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='39ce71be'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='inputtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='outputtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='incache' type-id='09327ce4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='outcache' type-id='09327ce4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='map' type-id='163db565' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__17' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='12f5f526'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='seqid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='seqtypid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__22' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='57460238'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rctype' type-id='0d6fd59f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__16' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='1eb9c3ae'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='svf' type-id='57758142' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__38' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='34fa8b2c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sstate' type-id='6d8ec8b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__20' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='a19f65b2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tupdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='elemvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='elemnulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__2' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='dfea21c8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='var' type-id='10530c9c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='first' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='slow' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tupdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='junkFilter' type-id='763b1c4d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__37' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='779e7fb0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wfstate' type-id='3dc2b291' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__32' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='ca842759'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xexpr' type-id='92862e91' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='named_argvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='named_argnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='argvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='argnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__31' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='3304a23a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='has_nulls' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='inclause' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='elements_tab' type-id='870f75f8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='saop' type-id='b48149d0' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__7' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='8dec3f33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='anynull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__28' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='cd5af2ef'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='constraintname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='checkvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='checknull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='resulttype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__35' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='38b50155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='aggno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='8ecd93e4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vartype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='221c69c5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='4b17193f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='last_var' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='known_desc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kind' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__11' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='db8d3af1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='paramid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='paramtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__3' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='89567c3d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='resultnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='attnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__4' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='0c2386a4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='resultnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__41' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='8d9740b9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='setoff' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='BlockNumber' type-id='7aa912f5' id='3db40640'/>
+    <typedef-decl name='BufferUsage' type-id='540c4462' id='bec09531'/>
+    <typedef-decl name='CTEMaterialize' type-id='7743f283' id='c0bf5007'/>
+    <typedef-decl name='CmdType' type-id='a2526320' id='af8a0214'/>
+    <typedef-decl name='CommandTag' type-id='dbec090f' id='a18bc913'/>
+    <typedef-decl name='HeapTupleHeaderData' type-id='aa8d7906' id='03f6d8e9'/>
+    <pointer-type-def type-id='2096ae18' size-in-bits='64' id='dca928c2'/>
+    <typedef-decl name='PLpgSQL_stmt_type' type-id='ed55f0ff' id='75f63103'/>
+    <typedef-decl name='PLpgSQL_type_type' type-id='f4a6ce49' id='736dc355'/>
+    <typedef-decl name='ParamCompileHook' type-id='df00b2e4' id='b831bad1'/>
+    <typedef-decl name='ParamFetchHook' type-id='3c1a52d5' id='a3de2d94'/>
+    <typedef-decl name='ParserSetupHook' type-id='cff19eca' id='df87ed5b'/>
+    <typedef-decl name='PublicationActions' type-id='a62895b4' id='ae282a3d'/>
+    <typedef-decl name='RelFileLocatorBackend' type-id='34173ff8' id='24ad344f'/>
+    <typedef-decl name='Relation' type-id='27104062' id='c79d68a9'/>
+    <pointer-type-def type-id='91e8065f' size-in-bits='64' id='11c65a0b'/>
+    <pointer-type-def type-id='fdc3960d' size-in-bits='64' id='d773ab59'/>
+    <typedef-decl name='SnapshotType' type-id='7ecac09c' id='92c892a0'/>
+    <pointer-type-def type-id='07cee8d4' size-in-bits='64' id='0cf7ee5e'/>
+    <pointer-type-def type-id='aa2df4d1' size-in-bits='64' id='70dac445'/>
+    <pointer-type-def type-id='a5b5e4e7' size-in-bits='64' id='c734c22b'/>
+    <pointer-type-def type-id='baed5ec6' size-in-bits='64' id='12479770'/>
+    <typedef-decl name='TimestampTz' type-id='27dc5d97' id='7448fdb6'/>
+    <pointer-type-def type-id='a212ab3d' size-in-bits='64' id='d2aca269'/>
+    <typedef-decl name='WalUsage' type-id='384a99c2' id='cb65ae2b'/>
+    <typedef-decl name='XLogRecPtr' type-id='f69d0a36' id='cdb01e8a'/>
+    <typedef-decl name='dlist_node' type-id='e82100c0' id='7ec7d215'/>
+    <typedef-decl name='instr_time' type-id='a25de323' id='bec842ce'/>
+    <typedef-decl name='int64' type-id='bd54fe1a' id='27dc5d97'/>
+    <typedef-decl name='pairingheap_node' type-id='7072f006' id='e72a9a83'/>
+    <typedef-decl name='slist_node' type-id='7aa1cb7b' id='f13aab3e'/>
+    <pointer-type-def type-id='12b5cdae' size-in-bits='64' id='0feda258'/>
+    <pointer-type-def type-id='d06a4608' size-in-bits='64' id='85893be2'/>
+    <pointer-type-def type-id='5edfc9dc' size-in-bits='64' id='49a7cf56'/>
+    <pointer-type-def type-id='c090d1d5' size-in-bits='64' id='f2b1da41'/>
+    <pointer-type-def type-id='45f1172c' size-in-bits='64' id='c1be146e'/>
+    <pointer-type-def type-id='44c39c1d' size-in-bits='64' id='5a898ed9'/>
+    <pointer-type-def type-id='167f30d5' size-in-bits='64' id='ef6a1459'/>
+    <pointer-type-def type-id='290bdbc9' size-in-bits='64' id='97ed04e5'/>
+    <pointer-type-def type-id='77c641b2' size-in-bits='64' id='2b3b1f1c'/>
+    <pointer-type-def type-id='910c447f' size-in-bits='64' id='e01d8093'/>
+    <pointer-type-def type-id='f5fdfd36' size-in-bits='64' id='ca493d20'/>
+    <pointer-type-def type-id='2a093c36' size-in-bits='64' id='1ff7fe08'/>
+    <pointer-type-def type-id='52c43603' size-in-bits='64' id='74ff6c8f'/>
+    <pointer-type-def type-id='0ea78b5c' size-in-bits='64' id='5eda35ee'/>
+    <pointer-type-def type-id='2ad725bf' size-in-bits='64' id='4c8fbedb'/>
+    <pointer-type-def type-id='a1036fba' size-in-bits='64' id='2931a6a4'/>
+    <pointer-type-def type-id='5ed911e5' size-in-bits='64' id='d6174351'/>
+    <pointer-type-def type-id='94c2a909' size-in-bits='64' id='5c77fa5d'/>
+    <pointer-type-def type-id='b345e47b' size-in-bits='64' id='158a83bf'/>
+    <pointer-type-def type-id='7f60fd78' size-in-bits='64' id='3eaabdfa'/>
+    <pointer-type-def type-id='284ffa43' size-in-bits='64' id='6da8c08f'/>
+    <pointer-type-def type-id='88ed490d' size-in-bits='64' id='7776142d'/>
+    <pointer-type-def type-id='6d23b4a3' size-in-bits='64' id='09327ce4'/>
+    <pointer-type-def type-id='de8f9c31' size-in-bits='64' id='668f87de'/>
+    <pointer-type-def type-id='a736f7b4' size-in-bits='64' id='335fd962'/>
+    <pointer-type-def type-id='d253d76f' size-in-bits='64' id='33c89107'/>
+    <pointer-type-def type-id='a378692f' size-in-bits='64' id='d5f30022'/>
+    <pointer-type-def type-id='73f7fd18' size-in-bits='64' id='2f0d000f'/>
+    <pointer-type-def type-id='37c441c1' size-in-bits='64' id='3c1a52d5'/>
+    <pointer-type-def type-id='a73b6b5a' size-in-bits='64' id='27104062'/>
+    <pointer-type-def type-id='9fc747fa' size-in-bits='64' id='7e260591'/>
+    <pointer-type-def type-id='9587e87d' size-in-bits='64' id='57758142'/>
+    <pointer-type-def type-id='f4c742b5' size-in-bits='64' id='b48149d0'/>
+    <pointer-type-def type-id='d12202ba' size-in-bits='64' id='870f75f8'/>
+    <pointer-type-def type-id='c8a482d6' size-in-bits='64' id='6d8ec8b7'/>
+    <pointer-type-def type-id='6f8bb1e0' size-in-bits='64' id='b337bec6'/>
+    <pointer-type-def type-id='3365c9bd' size-in-bits='64' id='10530c9c'/>
+    <pointer-type-def type-id='41441fe2' size-in-bits='64' id='3dc2b291'/>
+    <pointer-type-def type-id='073facf6' size-in-bits='64' id='92862e91'/>
+    <pointer-type-def type-id='20ae5afd' size-in-bits='64' id='d1885e4d'/>
+    <enum-decl name='CTEMaterialize' id='7743f283'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CTEMaterializeDefault' value='0'/>
+      <enumerator name='CTEMaterializeAlways' value='1'/>
+      <enumerator name='CTEMaterializeNever' value='2'/>
+    </enum-decl>
+    <enum-decl name='CmdType' id='a2526320'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CMD_UNKNOWN' value='0'/>
+      <enumerator name='CMD_SELECT' value='1'/>
+      <enumerator name='CMD_UPDATE' value='2'/>
+      <enumerator name='CMD_INSERT' value='3'/>
+      <enumerator name='CMD_DELETE' value='4'/>
+      <enumerator name='CMD_MERGE' value='5'/>
+      <enumerator name='CMD_UTILITY' value='6'/>
+      <enumerator name='CMD_NOTHING' value='7'/>
+    </enum-decl>
+    <enum-decl name='CommandTag' id='dbec090f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CMDTAG_UNKNOWN' value='0'/>
+      <enumerator name='CMDTAG_ALTER_ACCESS_METHOD' value='1'/>
+      <enumerator name='CMDTAG_ALTER_AGGREGATE' value='2'/>
+      <enumerator name='CMDTAG_ALTER_CAST' value='3'/>
+      <enumerator name='CMDTAG_ALTER_COLLATION' value='4'/>
+      <enumerator name='CMDTAG_ALTER_CONSTRAINT' value='5'/>
+      <enumerator name='CMDTAG_ALTER_CONVERSION' value='6'/>
+      <enumerator name='CMDTAG_ALTER_DATABASE' value='7'/>
+      <enumerator name='CMDTAG_ALTER_DEFAULT_PRIVILEGES' value='8'/>
+      <enumerator name='CMDTAG_ALTER_DOMAIN' value='9'/>
+      <enumerator name='CMDTAG_ALTER_EVENT_TRIGGER' value='10'/>
+      <enumerator name='CMDTAG_ALTER_EXTENSION' value='11'/>
+      <enumerator name='CMDTAG_ALTER_FOREIGN_DATA_WRAPPER' value='12'/>
+      <enumerator name='CMDTAG_ALTER_FOREIGN_TABLE' value='13'/>
+      <enumerator name='CMDTAG_ALTER_FUNCTION' value='14'/>
+      <enumerator name='CMDTAG_ALTER_INDEX' value='15'/>
+      <enumerator name='CMDTAG_ALTER_LANGUAGE' value='16'/>
+      <enumerator name='CMDTAG_ALTER_LARGE_OBJECT' value='17'/>
+      <enumerator name='CMDTAG_ALTER_MATERIALIZED_VIEW' value='18'/>
+      <enumerator name='CMDTAG_ALTER_OPERATOR' value='19'/>
+      <enumerator name='CMDTAG_ALTER_OPERATOR_CLASS' value='20'/>
+      <enumerator name='CMDTAG_ALTER_OPERATOR_FAMILY' value='21'/>
+      <enumerator name='CMDTAG_ALTER_POLICY' value='22'/>
+      <enumerator name='CMDTAG_ALTER_PROCEDURE' value='23'/>
+      <enumerator name='CMDTAG_ALTER_PUBLICATION' value='24'/>
+      <enumerator name='CMDTAG_ALTER_ROLE' value='25'/>
+      <enumerator name='CMDTAG_ALTER_ROUTINE' value='26'/>
+      <enumerator name='CMDTAG_ALTER_RULE' value='27'/>
+      <enumerator name='CMDTAG_ALTER_SCHEMA' value='28'/>
+      <enumerator name='CMDTAG_ALTER_SEQUENCE' value='29'/>
+      <enumerator name='CMDTAG_ALTER_SERVER' value='30'/>
+      <enumerator name='CMDTAG_ALTER_STATISTICS' value='31'/>
+      <enumerator name='CMDTAG_ALTER_SUBSCRIPTION' value='32'/>
+      <enumerator name='CMDTAG_ALTER_SYSTEM' value='33'/>
+      <enumerator name='CMDTAG_ALTER_TABLE' value='34'/>
+      <enumerator name='CMDTAG_ALTER_TABLESPACE' value='35'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_CONFIGURATION' value='36'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_DICTIONARY' value='37'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_PARSER' value='38'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_TEMPLATE' value='39'/>
+      <enumerator name='CMDTAG_ALTER_TRANSFORM' value='40'/>
+      <enumerator name='CMDTAG_ALTER_TRIGGER' value='41'/>
+      <enumerator name='CMDTAG_ALTER_TYPE' value='42'/>
+      <enumerator name='CMDTAG_ALTER_USER_MAPPING' value='43'/>
+      <enumerator name='CMDTAG_ALTER_VIEW' value='44'/>
+      <enumerator name='CMDTAG_ANALYZE' value='45'/>
+      <enumerator name='CMDTAG_BEGIN' value='46'/>
+      <enumerator name='CMDTAG_CALL' value='47'/>
+      <enumerator name='CMDTAG_CHECKPOINT' value='48'/>
+      <enumerator name='CMDTAG_CLOSE' value='49'/>
+      <enumerator name='CMDTAG_CLOSE_CURSOR' value='50'/>
+      <enumerator name='CMDTAG_CLOSE_CURSOR_ALL' value='51'/>
+      <enumerator name='CMDTAG_CLUSTER' value='52'/>
+      <enumerator name='CMDTAG_COMMENT' value='53'/>
+      <enumerator name='CMDTAG_COMMIT' value='54'/>
+      <enumerator name='CMDTAG_COMMIT_PREPARED' value='55'/>
+      <enumerator name='CMDTAG_COPY' value='56'/>
+      <enumerator name='CMDTAG_COPY_FROM' value='57'/>
+      <enumerator name='CMDTAG_CREATE_ACCESS_METHOD' value='58'/>
+      <enumerator name='CMDTAG_CREATE_AGGREGATE' value='59'/>
+      <enumerator name='CMDTAG_CREATE_CAST' value='60'/>
+      <enumerator name='CMDTAG_CREATE_COLLATION' value='61'/>
+      <enumerator name='CMDTAG_CREATE_CONSTRAINT' value='62'/>
+      <enumerator name='CMDTAG_CREATE_CONVERSION' value='63'/>
+      <enumerator name='CMDTAG_CREATE_DATABASE' value='64'/>
+      <enumerator name='CMDTAG_CREATE_DOMAIN' value='65'/>
+      <enumerator name='CMDTAG_CREATE_EVENT_TRIGGER' value='66'/>
+      <enumerator name='CMDTAG_CREATE_EXTENSION' value='67'/>
+      <enumerator name='CMDTAG_CREATE_FOREIGN_DATA_WRAPPER' value='68'/>
+      <enumerator name='CMDTAG_CREATE_FOREIGN_TABLE' value='69'/>
+      <enumerator name='CMDTAG_CREATE_FUNCTION' value='70'/>
+      <enumerator name='CMDTAG_CREATE_INDEX' value='71'/>
+      <enumerator name='CMDTAG_CREATE_LANGUAGE' value='72'/>
+      <enumerator name='CMDTAG_CREATE_MATERIALIZED_VIEW' value='73'/>
+      <enumerator name='CMDTAG_CREATE_OPERATOR' value='74'/>
+      <enumerator name='CMDTAG_CREATE_OPERATOR_CLASS' value='75'/>
+      <enumerator name='CMDTAG_CREATE_OPERATOR_FAMILY' value='76'/>
+      <enumerator name='CMDTAG_CREATE_POLICY' value='77'/>
+      <enumerator name='CMDTAG_CREATE_PROCEDURE' value='78'/>
+      <enumerator name='CMDTAG_CREATE_PUBLICATION' value='79'/>
+      <enumerator name='CMDTAG_CREATE_ROLE' value='80'/>
+      <enumerator name='CMDTAG_CREATE_ROUTINE' value='81'/>
+      <enumerator name='CMDTAG_CREATE_RULE' value='82'/>
+      <enumerator name='CMDTAG_CREATE_SCHEMA' value='83'/>
+      <enumerator name='CMDTAG_CREATE_SEQUENCE' value='84'/>
+      <enumerator name='CMDTAG_CREATE_SERVER' value='85'/>
+      <enumerator name='CMDTAG_CREATE_STATISTICS' value='86'/>
+      <enumerator name='CMDTAG_CREATE_SUBSCRIPTION' value='87'/>
+      <enumerator name='CMDTAG_CREATE_TABLE' value='88'/>
+      <enumerator name='CMDTAG_CREATE_TABLE_AS' value='89'/>
+      <enumerator name='CMDTAG_CREATE_TABLESPACE' value='90'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_CONFIGURATION' value='91'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_DICTIONARY' value='92'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_PARSER' value='93'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_TEMPLATE' value='94'/>
+      <enumerator name='CMDTAG_CREATE_TRANSFORM' value='95'/>
+      <enumerator name='CMDTAG_CREATE_TRIGGER' value='96'/>
+      <enumerator name='CMDTAG_CREATE_TYPE' value='97'/>
+      <enumerator name='CMDTAG_CREATE_USER_MAPPING' value='98'/>
+      <enumerator name='CMDTAG_CREATE_VIEW' value='99'/>
+      <enumerator name='CMDTAG_DEALLOCATE' value='100'/>
+      <enumerator name='CMDTAG_DEALLOCATE_ALL' value='101'/>
+      <enumerator name='CMDTAG_DECLARE_CURSOR' value='102'/>
+      <enumerator name='CMDTAG_DELETE' value='103'/>
+      <enumerator name='CMDTAG_DISCARD' value='104'/>
+      <enumerator name='CMDTAG_DISCARD_ALL' value='105'/>
+      <enumerator name='CMDTAG_DISCARD_PLANS' value='106'/>
+      <enumerator name='CMDTAG_DISCARD_SEQUENCES' value='107'/>
+      <enumerator name='CMDTAG_DISCARD_TEMP' value='108'/>
+      <enumerator name='CMDTAG_DO' value='109'/>
+      <enumerator name='CMDTAG_DROP_ACCESS_METHOD' value='110'/>
+      <enumerator name='CMDTAG_DROP_AGGREGATE' value='111'/>
+      <enumerator name='CMDTAG_DROP_CAST' value='112'/>
+      <enumerator name='CMDTAG_DROP_COLLATION' value='113'/>
+      <enumerator name='CMDTAG_DROP_CONSTRAINT' value='114'/>
+      <enumerator name='CMDTAG_DROP_CONVERSION' value='115'/>
+      <enumerator name='CMDTAG_DROP_DATABASE' value='116'/>
+      <enumerator name='CMDTAG_DROP_DOMAIN' value='117'/>
+      <enumerator name='CMDTAG_DROP_EVENT_TRIGGER' value='118'/>
+      <enumerator name='CMDTAG_DROP_EXTENSION' value='119'/>
+      <enumerator name='CMDTAG_DROP_FOREIGN_DATA_WRAPPER' value='120'/>
+      <enumerator name='CMDTAG_DROP_FOREIGN_TABLE' value='121'/>
+      <enumerator name='CMDTAG_DROP_FUNCTION' value='122'/>
+      <enumerator name='CMDTAG_DROP_INDEX' value='123'/>
+      <enumerator name='CMDTAG_DROP_LANGUAGE' value='124'/>
+      <enumerator name='CMDTAG_DROP_MATERIALIZED_VIEW' value='125'/>
+      <enumerator name='CMDTAG_DROP_OPERATOR' value='126'/>
+      <enumerator name='CMDTAG_DROP_OPERATOR_CLASS' value='127'/>
+      <enumerator name='CMDTAG_DROP_OPERATOR_FAMILY' value='128'/>
+      <enumerator name='CMDTAG_DROP_OWNED' value='129'/>
+      <enumerator name='CMDTAG_DROP_POLICY' value='130'/>
+      <enumerator name='CMDTAG_DROP_PROCEDURE' value='131'/>
+      <enumerator name='CMDTAG_DROP_PUBLICATION' value='132'/>
+      <enumerator name='CMDTAG_DROP_ROLE' value='133'/>
+      <enumerator name='CMDTAG_DROP_ROUTINE' value='134'/>
+      <enumerator name='CMDTAG_DROP_RULE' value='135'/>
+      <enumerator name='CMDTAG_DROP_SCHEMA' value='136'/>
+      <enumerator name='CMDTAG_DROP_SEQUENCE' value='137'/>
+      <enumerator name='CMDTAG_DROP_SERVER' value='138'/>
+      <enumerator name='CMDTAG_DROP_STATISTICS' value='139'/>
+      <enumerator name='CMDTAG_DROP_SUBSCRIPTION' value='140'/>
+      <enumerator name='CMDTAG_DROP_TABLE' value='141'/>
+      <enumerator name='CMDTAG_DROP_TABLESPACE' value='142'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_CONFIGURATION' value='143'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_DICTIONARY' value='144'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_PARSER' value='145'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_TEMPLATE' value='146'/>
+      <enumerator name='CMDTAG_DROP_TRANSFORM' value='147'/>
+      <enumerator name='CMDTAG_DROP_TRIGGER' value='148'/>
+      <enumerator name='CMDTAG_DROP_TYPE' value='149'/>
+      <enumerator name='CMDTAG_DROP_USER_MAPPING' value='150'/>
+      <enumerator name='CMDTAG_DROP_VIEW' value='151'/>
+      <enumerator name='CMDTAG_EXECUTE' value='152'/>
+      <enumerator name='CMDTAG_EXPLAIN' value='153'/>
+      <enumerator name='CMDTAG_FETCH' value='154'/>
+      <enumerator name='CMDTAG_GRANT' value='155'/>
+      <enumerator name='CMDTAG_GRANT_ROLE' value='156'/>
+      <enumerator name='CMDTAG_IMPORT_FOREIGN_SCHEMA' value='157'/>
+      <enumerator name='CMDTAG_INSERT' value='158'/>
+      <enumerator name='CMDTAG_LISTEN' value='159'/>
+      <enumerator name='CMDTAG_LOAD' value='160'/>
+      <enumerator name='CMDTAG_LOCK_TABLE' value='161'/>
+      <enumerator name='CMDTAG_LOGIN' value='162'/>
+      <enumerator name='CMDTAG_MERGE' value='163'/>
+      <enumerator name='CMDTAG_MOVE' value='164'/>
+      <enumerator name='CMDTAG_NOTIFY' value='165'/>
+      <enumerator name='CMDTAG_PREPARE' value='166'/>
+      <enumerator name='CMDTAG_PREPARE_TRANSACTION' value='167'/>
+      <enumerator name='CMDTAG_REASSIGN_OWNED' value='168'/>
+      <enumerator name='CMDTAG_REFRESH_MATERIALIZED_VIEW' value='169'/>
+      <enumerator name='CMDTAG_REINDEX' value='170'/>
+      <enumerator name='CMDTAG_RELEASE' value='171'/>
+      <enumerator name='CMDTAG_RESET' value='172'/>
+      <enumerator name='CMDTAG_REVOKE' value='173'/>
+      <enumerator name='CMDTAG_REVOKE_ROLE' value='174'/>
+      <enumerator name='CMDTAG_ROLLBACK' value='175'/>
+      <enumerator name='CMDTAG_ROLLBACK_PREPARED' value='176'/>
+      <enumerator name='CMDTAG_SAVEPOINT' value='177'/>
+      <enumerator name='CMDTAG_SECURITY_LABEL' value='178'/>
+      <enumerator name='CMDTAG_SELECT' value='179'/>
+      <enumerator name='CMDTAG_SELECT_FOR_KEY_SHARE' value='180'/>
+      <enumerator name='CMDTAG_SELECT_FOR_NO_KEY_UPDATE' value='181'/>
+      <enumerator name='CMDTAG_SELECT_FOR_SHARE' value='182'/>
+      <enumerator name='CMDTAG_SELECT_FOR_UPDATE' value='183'/>
+      <enumerator name='CMDTAG_SELECT_INTO' value='184'/>
+      <enumerator name='CMDTAG_SET' value='185'/>
+      <enumerator name='CMDTAG_SET_CONSTRAINTS' value='186'/>
+      <enumerator name='CMDTAG_SHOW' value='187'/>
+      <enumerator name='CMDTAG_START_TRANSACTION' value='188'/>
+      <enumerator name='CMDTAG_TRUNCATE_TABLE' value='189'/>
+      <enumerator name='CMDTAG_UNLISTEN' value='190'/>
+      <enumerator name='CMDTAG_UPDATE' value='191'/>
+      <enumerator name='CMDTAG_VACUUM' value='192'/>
+      <enumerator name='COMMAND_TAG_NEXTTAG' value='193'/>
+    </enum-decl>
+    <enum-decl name='PLpgSQL_stmt_type' id='ed55f0ff'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_STMT_BLOCK' value='0'/>
+      <enumerator name='PLPGSQL_STMT_ASSIGN' value='1'/>
+      <enumerator name='PLPGSQL_STMT_IF' value='2'/>
+      <enumerator name='PLPGSQL_STMT_CASE' value='3'/>
+      <enumerator name='PLPGSQL_STMT_LOOP' value='4'/>
+      <enumerator name='PLPGSQL_STMT_WHILE' value='5'/>
+      <enumerator name='PLPGSQL_STMT_FORI' value='6'/>
+      <enumerator name='PLPGSQL_STMT_FORS' value='7'/>
+      <enumerator name='PLPGSQL_STMT_FORC' value='8'/>
+      <enumerator name='PLPGSQL_STMT_FOREACH_A' value='9'/>
+      <enumerator name='PLPGSQL_STMT_EXIT' value='10'/>
+      <enumerator name='PLPGSQL_STMT_RETURN' value='11'/>
+      <enumerator name='PLPGSQL_STMT_RETURN_NEXT' value='12'/>
+      <enumerator name='PLPGSQL_STMT_RETURN_QUERY' value='13'/>
+      <enumerator name='PLPGSQL_STMT_RAISE' value='14'/>
+      <enumerator name='PLPGSQL_STMT_ASSERT' value='15'/>
+      <enumerator name='PLPGSQL_STMT_EXECSQL' value='16'/>
+      <enumerator name='PLPGSQL_STMT_DYNEXECUTE' value='17'/>
+      <enumerator name='PLPGSQL_STMT_DYNFORS' value='18'/>
+      <enumerator name='PLPGSQL_STMT_GETDIAG' value='19'/>
+      <enumerator name='PLPGSQL_STMT_OPEN' value='20'/>
+      <enumerator name='PLPGSQL_STMT_FETCH' value='21'/>
+      <enumerator name='PLPGSQL_STMT_CLOSE' value='22'/>
+      <enumerator name='PLPGSQL_STMT_PERFORM' value='23'/>
+      <enumerator name='PLPGSQL_STMT_CALL' value='24'/>
+      <enumerator name='PLPGSQL_STMT_COMMIT' value='25'/>
+      <enumerator name='PLPGSQL_STMT_ROLLBACK' value='26'/>
+    </enum-decl>
+    <enum-decl name='PLpgSQL_type_type' id='f4a6ce49'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_TTYPE_SCALAR' value='0'/>
+      <enumerator name='PLPGSQL_TTYPE_REC' value='1'/>
+      <enumerator name='PLPGSQL_TTYPE_PSEUDO' value='2'/>
+    </enum-decl>
+    <enum-decl name='SnapshotType' id='7ecac09c'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SNAPSHOT_MVCC' value='0'/>
+      <enumerator name='SNAPSHOT_SELF' value='1'/>
+      <enumerator name='SNAPSHOT_ANY' value='2'/>
+      <enumerator name='SNAPSHOT_TOAST' value='3'/>
+      <enumerator name='SNAPSHOT_DIRTY' value='4'/>
+      <enumerator name='SNAPSHOT_HISTORIC_MVCC' value='5'/>
+      <enumerator name='SNAPSHOT_NON_VACUUMABLE' value='6'/>
+    </enum-decl>
+    <class-decl name='BufferUsage' size-in-bits='1024' is-struct='yes' visibility='default' id='540c4462'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shared_blks_hit' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shared_blks_read' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shared_blks_dirtied' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shared_blks_written' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='local_blks_hit' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='local_blks_read' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='local_blks_dirtied' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='local_blks_written' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='temp_blks_read' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='temp_blks_written' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='shared_blk_read_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared_blk_write_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_blk_read_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='local_blk_write_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='temp_blk_read_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='temp_blk_write_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='GlobalVisState' is-struct='yes' visibility='default' is-declaration-only='yes' id='16f01b5d'/>
+    <class-decl name='HeapTupleHeaderData' size-in-bits='192' is-struct='yes' visibility='default' id='aa8d7906'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_choice' type-id='94e19b80' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='t_ctid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='t_infomask2' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='t_infomask' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='t_hoff' type-id='78b39644' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='t_bits' type-id='767ab51f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PublicationActions' size-in-bits='32' is-struct='yes' visibility='default' id='a62895b4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pubinsert' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='pubupdate' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='pubdelete' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='pubtruncate' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RawStmt' size-in-bits='192' is-struct='yes' visibility='default' id='858759f7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmt' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='stmt_location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='stmt_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RelFileLocatorBackend' size-in-bits='128' is-struct='yes' visibility='default' id='34173ff8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locator' type-id='b67cbde5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='backend' type-id='71ae5a39' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SearchPathMatcher' size-in-bits='192' is-struct='yes' visibility='default' id='2b16adc8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='schemas' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addCatalog' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='addTemp' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='generation' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TypeCacheEntry' size-in-bits='3904' is-struct='yes' visibility='default' id='194c78d3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type_id' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='type_id_hash' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='88'>
+        <var-decl name='typalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='typstorage' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='typtype' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='typsubscript' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typelem' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='typcollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='btree_opf' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='btree_opintype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='hash_opf' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='hash_opintype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='eq_opr' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='lt_opr' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='gt_opr' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='cmp_proc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='hash_proc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='hash_extended_proc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='eq_opr_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cmp_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='hash_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='hash_extended_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='tupDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='tupDesc_identifier' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='rngelemtype' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='rng_collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rng_cmp_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rng_canonical_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='rng_subdiff_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='rngtype' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='domainBaseType' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3616'>
+        <var-decl name='domainBaseTypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='domainData' type-id='fd550652' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='enumData' type-id='671dcf8e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='nextDomain' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='WalUsage' size-in-bits='192' is-struct='yes' visibility='default' id='384a99c2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wal_records' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wal_fpi' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wal_bytes' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='dlist_node' size-in-bits='128' is-struct='yes' visibility='default' id='e82100c0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prev' type-id='e594e2a6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='e594e2a6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='instr_time' size-in-bits='64' is-struct='yes' visibility='default' id='a25de323'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ticks' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='pairingheap_node' size-in-bits='192' is-struct='yes' visibility='default' id='7072f006'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='first_child' type-id='a5bd00ac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next_sibling' type-id='a5bd00ac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='prev_or_parent' type-id='a5bd00ac' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='slist_node' size-in-bits='64' is-struct='yes' visibility='default' id='7aa1cb7b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='2ff33dcb' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AggStatePerTrans' type-id='39d8a67e' id='22d3bcc1'/>
+    <typedef-decl name='Alias' type-id='3f633f0f' id='eea2deb8'/>
+    <typedef-decl name='AttrMap' type-id='d0b8b6e4' id='dc4eb83f'/>
+    <typedef-decl name='CTECycleClause' type-id='dcdfa6a4' id='546c8069'/>
+    <typedef-decl name='CTESearchClause' type-id='1995298c' id='a76c026f'/>
+    <pointer-type-def type-id='914a3f7f' size-in-bits='64' id='289e6cbb'/>
+    <typedef-decl name='ExecEvalBoolSubroutine' type-id='474f5df1' id='957dd9fd'/>
+    <typedef-decl name='ExecEvalSubroutine' type-id='40fd9943' id='5b661f31'/>
+    <typedef-decl name='ExprEvalRowtypeCache' type-id='18e1aefe' id='6d23b4a3'/>
+    <typedef-decl name='FormData_pg_attribute' type-id='45ef6c22' id='ddba9bc9'/>
+    <typedef-decl name='FunctionCallInfo' type-id='046659d7' id='cbf1f029'/>
+    <pointer-type-def type-id='75774dbf' size-in-bits='64' id='c80a7bab'/>
+    <typedef-decl name='ListCell' type-id='72e21cd8' id='4f9e23e8'/>
+    <typedef-decl name='MinMaxOp' type-id='232a192d' id='f012c4d9'/>
+    <pointer-type-def type-id='3b810138' size-in-bits='64' id='e927a3d2'/>
+    <typedef-decl name='NameData' type-id='16fdf6ae' id='d4b9f8ef'/>
+    <typedef-decl name='PLpgSQL_exception_block' type-id='eb7709c4' id='0ad5e557'/>
+    <typedef-decl name='ParamExternData' type-id='6d700424' id='16406887'/>
+    <typedef-decl name='ParseNamespaceColumn' type-id='c02293f1' id='20db3fac'/>
+    <typedef-decl name='RTEPermissionInfo' type-id='e3b8eaad' id='2a1b44b2'/>
+    <typedef-decl name='RangeTblEntry' type-id='6561a890' id='08e55fdf'/>
+    <typedef-decl name='RowCompareType' type-id='e602457b' id='0d6fd59f'/>
+    <typedef-decl name='TupleConstr' type-id='89347d5e' id='50aebc99'/>
+    <typedef-decl name='bitmapword' type-id='f69d0a36' id='337bdc9b'/>
+    <typedef-decl name='float4' type-id='a6c45d85' id='b6d86a0e'/>
+    <typedef-decl name='int2vector' type-id='8c09b324' id='41ad24e2'/>
+    <pointer-type-def type-id='35215438' size-in-bits='64' id='cff19eca'/>
+    <pointer-type-def type-id='dd5ffb40' size-in-bits='64' id='9a56498a'/>
+    <pointer-type-def type-id='1c8a7d92' size-in-bits='64' id='f5465184'/>
+    <pointer-type-def type-id='ae6a234d' size-in-bits='64' id='ad9add71'/>
+    <pointer-type-def type-id='b9532072' size-in-bits='64' id='df00b2e4'/>
+    <pointer-type-def type-id='2e142c18' size-in-bits='64' id='39d8a67e'/>
+    <pointer-type-def type-id='547be363' size-in-bits='64' id='fd550652'/>
+    <pointer-type-def type-id='23024951' size-in-bits='64' id='046659d7'/>
+    <pointer-type-def type-id='a9e05f68' size-in-bits='64' id='671dcf8e'/>
+    <array-type-def dimensions='1' type-id='164e7d5c' size-in-bits='infinite' id='767ab51f'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <pointer-type-def type-id='59698efd' size-in-bits='64' id='474f5df1'/>
+    <pointer-type-def type-id='7ec7d215' size-in-bits='64' id='e594e2a6'/>
+    <enum-decl name='MinMaxOp' id='232a192d'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='IS_GREATEST' value='0'/>
+      <enumerator name='IS_LEAST' value='1'/>
+    </enum-decl>
+    <enum-decl name='RowCompareType' id='e602457b'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ROWCOMPARE_LT' value='1'/>
+      <enumerator name='ROWCOMPARE_LE' value='2'/>
+      <enumerator name='ROWCOMPARE_EQ' value='3'/>
+      <enumerator name='ROWCOMPARE_GE' value='4'/>
+      <enumerator name='ROWCOMPARE_GT' value='5'/>
+      <enumerator name='ROWCOMPARE_NE' value='6'/>
+    </enum-decl>
+    <type-decl name='float' size-in-bits='32' id='a6c45d85'/>
+    <pointer-type-def type-id='7072f006' size-in-bits='64' id='a5bd00ac'/>
+    <pointer-type-def type-id='f13aab3e' size-in-bits='64' id='2ff33dcb'/>
+    <class-decl name='Alias' size-in-bits='192' is-struct='yes' visibility='default' id='3f633f0f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aliasname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='colnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ArrayMapState' size-in-bits='1152' is-struct='yes' visibility='default' id='88ed490d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='inp_extra' type-id='39745d31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ret_extra' type-id='39745d31' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='AttrMap' size-in-bits='128' is-struct='yes' visibility='default' id='d0b8b6e4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attnums' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='maplen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='CTECycleClause' size-in-bits='576' is-struct='yes' visibility='default' id='dcdfa6a4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cycle_col_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cycle_mark_column' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cycle_mark_value' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cycle_mark_default' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cycle_path_column' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='cycle_mark_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='cycle_mark_typmod' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='cycle_mark_collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cycle_mark_neop' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='CTESearchClause' size-in-bits='320' is-struct='yes' visibility='default' id='1995298c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='search_col_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='search_breadth_first' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='search_seq_column' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ExprEvalRowtypeCache' size-in-bits='128' is-struct='yes' visibility='default' id='18e1aefe'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheptr' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tupdesc_id' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FormData_pg_attribute' size-in-bits='864' is-struct='yes' visibility='default' id='45ef6c22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='attname' type-id='d4b9f8ef' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='atttypid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='attlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='592'>
+        <var-decl name='attnum' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='attcacheoff' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='atttypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='attndims' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='688'>
+        <var-decl name='attbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='696'>
+        <var-decl name='attalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='attstorage' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='712'>
+        <var-decl name='attcompression' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='720'>
+        <var-decl name='attnotnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='728'>
+        <var-decl name='atthasdef' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='atthasmissing' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='744'>
+        <var-decl name='attidentity' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='752'>
+        <var-decl name='attgenerated' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='760'>
+        <var-decl name='attisdropped' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='attislocal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='attinhcount' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='attstattarget' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='attcollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JsonConstructorExprState' size-in-bits='384' is-struct='yes' visibility='default' id='d253d76f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='constructor' type-id='eadb1e48' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg_values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='arg_nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='arg_types' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='arg_type_cache' type-id='8567d8b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_exception_block' size-in-bits='128' is-struct='yes' visibility='default' id='eb7709c4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sqlstate_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sqlerrm_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='exc_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParamExternData' size-in-bits='128' is-struct='yes' visibility='default' id='6d700424'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='pflags' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ptype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParseNamespaceColumn' size-in-bits='224' is-struct='yes' visibility='default' id='c02293f1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p_varno' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='p_varattno' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p_vartype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='p_vartypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='p_varcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='p_varnosyn' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='p_varattnosyn' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='p_dontexpand' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RTEPermissionInfo' size-in-bits='448' is-struct='yes' visibility='default' id='e3b8eaad'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='relid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='inh' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='requiredPerms' type-id='5c8ae3e3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='checkAsUser' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='selectedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='insertedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='updatedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RangeTblEntry' size-in-bits='1728' is-struct='yes' visibility='default' id='6561a890'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rtekind' type-id='b6aa9a4b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='relid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='relkind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rellockmode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tablesample' type-id='9753639e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='perminfoindex' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='subquery' type-id='3c17af0b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='security_barrier' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='jointype' type-id='79cff1c4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='joinmergedcols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='joinaliasvars' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='joinleftcols' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='joinrightcols' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='join_using_alias' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='functions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='funcordinality' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='tablefunc' type-id='55a3f1d5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='values_lists' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ctename' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ctelevelsup' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='self_reference' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='coltypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='coltypmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='colcollations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='enrname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='enrtuples' type-id='2206bd64' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='alias' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='eref' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='lateral' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1608'>
+        <var-decl name='inh' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1616'>
+        <var-decl name='inFromCl' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='securityQuals' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RelationData' size-in-bits='3840' is-struct='yes' visibility='default' id='a73b6b5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rd_locator' type-id='b67cbde5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rd_smgr' type-id='80a274b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rd_refcnt' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='rd_backend' type-id='71ae5a39' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rd_islocaltemp' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='rd_isnailed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='rd_isvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='rd_indexvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rd_statvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rd_createSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='rd_newRelfilelocatorSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rd_firstRelfilelocatorSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='rd_droppedSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rd_rel' type-id='053ec625' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rd_att' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rd_id' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='rd_lockInfo' type-id='0ec0059f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rd_rules' type-id='566804c2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rd_rulescxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='trigdesc' type-id='457b83dc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='rd_rsdesc' type-id='db26e016' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='rd_fkeylist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rd_fkeyvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='rd_partkey' type-id='33ddacc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='rd_partkeycxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='rd_partdesc' type-id='a63f38eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='rd_pdcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='rd_partdesc_nodetached' type-id='a63f38eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='rd_pddcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='rd_partdesc_nodetached_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='rd_partcheck' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rd_partcheckvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='rd_partcheckcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rd_indexlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='rd_pkindex' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1824'>
+        <var-decl name='rd_replidindex' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='rd_statlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='rd_attrsvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='rd_keyattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='rd_pkattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='rd_idattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='rd_hotblockingattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='rd_summarizedattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='rd_pubdesc' type-id='469dd726' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rd_options' type-id='dd173450' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rd_amhandler' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='rd_tableam' type-id='eca96808' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='rd_index' type-id='320f78a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rd_indextuple' type-id='7b21fc90' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rd_indexcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rd_indam' type-id='6196cdc7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rd_opfamily' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rd_opcintype' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='rd_support' type-id='8bf9597c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rd_supportinfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rd_indoption' type-id='660e0121' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='rd_indexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='rd_indpred' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='rd_exclops' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='rd_exclprocs' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='rd_exclstrats' type-id='a2b66e08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='rd_indcollation' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='rd_opcoptions' type-id='85879c0e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='rd_amcache' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='rd_fdwroutine' type-id='db4b126e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='rd_toastoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3744'>
+        <var-decl name='pgstat_enabled' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='pgstat_info' type-id='fe8c4a8b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ScalarArrayOpExprHashTable' is-struct='yes' visibility='default' is-declaration-only='yes' id='d12202ba'/>
+    <class-decl name='SubscriptingRefState' size-in-bits='896' is-struct='yes' visibility='default' id='6f8bb1e0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='isassignment' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='workspace' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='numupper' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='upperprovided' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='upperindex' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='upperindexnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='numlower' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='lowerprovided' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='lowerindex' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='lowerindexnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='replacevalue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='replacenull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='prevvalue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prevnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TupleConstr' size-in-bits='256' is-struct='yes' visibility='default' id='89347d5e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='defval' type-id='32b888cf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='check' type-id='3bc26f88' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='missing' type-id='40cf5de4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_defval' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='num_check' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='has_not_null' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='has_generated_stored' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='_MdfdVec' is-struct='yes' visibility='default' is-declaration-only='yes' id='20ae5afd'/>
+    <class-decl name='nameData' size-in-bits='512' is-struct='yes' visibility='default' id='16fdf6ae'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='59daf3ef' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__4' size-in-bits='192' is-struct='yes' is-anonymous='yes' naming-typedef-id='41ad24e2' visibility='default' id='8c09b324'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vl_len_' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ndim' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dataoffset' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='elemtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dim1' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='lbound1' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='values' type-id='26f3f8d9' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FieldStore' type-id='15f44bf8' id='de8f9c31'/>
+    <typedef-decl name='FmgrInfo' type-id='e46e0d79' id='a736f7b4'/>
+    <typedef-decl name='JsonIsPredicate' type-id='90dced04' id='a378692f'/>
+    <typedef-decl name='RewriteRule' type-id='d39e9999' id='9fc747fa'/>
+    <typedef-decl name='SQLValueFunction' type-id='1c5cfda4' id='9587e87d'/>
+    <typedef-decl name='ScalarArrayOpExpr' type-id='24a7dfb2' id='f4c742b5'/>
+    <typedef-decl name='SubPlanState' type-id='44051e4f' id='c8a482d6'/>
+    <typedef-decl name='Var' type-id='54570956' id='3365c9bd'/>
+    <typedef-decl name='WindowFuncExprState' type-id='f5644b29' id='41441fe2'/>
+    <typedef-decl name='XmlExpr' type-id='439d9419' id='073facf6'/>
+    <union-decl name='ListCell' size-in-bits='64' visibility='default' id='72e21cd8'>
+      <data-member access='private'>
+        <var-decl name='ptr_value' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='int_value' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='oid_value' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='xid_value' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' id='94e19b80'>
+      <data-member access='private'>
+        <var-decl name='t_heap' type-id='14a7e5f9' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='t_datum' type-id='e661351e' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='7d5143e7' size-in-bits='64' id='40fd9943'/>
+    <pointer-type-def type-id='31fbc3e8' size-in-bits='64' id='32b888cf'/>
+    <pointer-type-def type-id='1d76607e' size-in-bits='64' id='40cf5de4'/>
+    <pointer-type-def type-id='dc8f1689' size-in-bits='64' id='3bc26f88'/>
+    <pointer-type-def type-id='f4ee98c9' size-in-bits='64' id='eadb1e48'/>
+    <pointer-type-def type-id='1c323488' size-in-bits='64' id='3c17af0b'/>
+    <pointer-type-def type-id='c2ddc016' size-in-bits='64' id='55a3f1d5'/>
+    <pointer-type-def type-id='fd2c75b8' size-in-bits='64' id='9753639e'/>
+    <pointer-type-def type-id='8334883d' size-in-bits='64' id='8567d8b0'/>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='512' id='59daf3ef'>
+      <subrange length='64' type-id='7359adad' id='b10be967'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='27de9c2e' size-in-bits='infinite' id='26f3f8d9'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <class-decl name='AggStatePerTransData' size-in-bits='3008' is-struct='yes' visibility='default' id='2e142c18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='aggref' type-id='8663f5f3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggshared' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='aggsortrequired' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='numInputs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='numTransInputs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='transfn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='serialfn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='deserialfn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aggtranstype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='transfn' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='serialfn' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='deserialfn' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='aggCollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='numSortCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='numDistinctCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='sortColIdx' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='sortOperators' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='sortCollations' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='sortNullsFirst' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='equalfnOne' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='equalfnMulti' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='initValue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='initValueIsNull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2384'>
+        <var-decl name='inputtypeLen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2400'>
+        <var-decl name='transtypeLen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2416'>
+        <var-decl name='inputtypeByVal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2424'>
+        <var-decl name='transtypeByVal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='sortslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='uniqslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='sortdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='lastdatum' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='lastisnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2696'>
+        <var-decl name='haslast' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='sortstates' type-id='6ff7fd62' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='transfn_fcinfo' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='serialfn_fcinfo' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='deserialfn_fcinfo' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FieldStore' size-in-bits='320' is-struct='yes' visibility='default' id='15f44bf8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='newvals' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fieldnums' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='resulttype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FunctionCallInfoBaseData' size-in-bits='256' is-struct='yes' visibility='default' id='23024951'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flinfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='context' type-id='89bbd655' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resultinfo' type-id='89bbd655' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fncollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='nargs' type-id='a2185560' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='args' type-id='a03a8123' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JsonIsPredicate' size-in-bits='320' is-struct='yes' visibility='default' id='90dced04'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='expr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='format' type-id='624d7672' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='item_type' type-id='8d63ea77' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='unique_keys' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RewriteRule' size-in-bits='256' is-struct='yes' visibility='default' id='d39e9999'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ruleId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='event' type-id='af8a0214' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='qual' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='actions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='enabled' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='isInstead' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SQLValueFunction' size-in-bits='160' is-struct='yes' visibility='default' id='1c5cfda4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op' type-id='65ca29b2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ScalarArrayOpExpr' size-in-bits='384' is-struct='yes' visibility='default' id='24a7dfb2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='opno' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='hashfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='negfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='useOr' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='inputcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SubPlanState' size-in-bits='1664' is-struct='yes' visibility='default' id='44051e4f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subplan' type-id='574e4538' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='planstate' type-id='22f23587' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='22f23587' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='testexpr' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='curTuple' type-id='3de55dac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='curArray' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='descRight' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='projLeft' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='projRight' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='hashtable' type-id='e46c0d22' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='hashnulls' type-id='e46c0d22' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='havehashrows' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='840'>
+        <var-decl name='havenullrows' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hashtablecxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='hashtempcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='innerecontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='numCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='keyColIdx' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='tab_eq_funcoids' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='tab_collations' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='tab_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='tab_eq_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='lhs_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='cur_eq_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='cur_eq_comp' type-id='6460b71b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TypeCacheEnumData' is-struct='yes' visibility='default' is-declaration-only='yes' id='a9e05f68'/>
+    <class-decl name='Var' size-in-bits='384' is-struct='yes' visibility='default' id='54570956'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='varattno' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vartype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vartypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='varcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='varnullingrels' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='varlevelsup' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='varnosyn' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='varattnosyn' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='WindowFuncExprState' size-in-bits='320' is-struct='yes' visibility='default' id='f5644b29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wfunc' type-id='ecd87f9f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='aggfilter' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='wfuncno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='XmlExpr' size-in-bits='512' is-struct='yes' visibility='default' id='439d9419'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op' type-id='30e01b11' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='named_args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='arg_names' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='xmloption' type-id='8d13d124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='indent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AclMode' type-id='f69d0a36' id='5c8ae3e3'/>
+    <typedef-decl name='ArrayMetaState' type-id='ebd60f44' id='39745d31'/>
+    <typedef-decl name='DatumTupleFields' type-id='61c2134f' id='e661351e'/>
+    <typedef-decl name='DomainConstraintCache' type-id='ca81fa34' id='547be363'/>
+    <typedef-decl name='HeapTupleFields' type-id='31512706' id='14a7e5f9'/>
+    <typedef-decl name='JoinType' type-id='8aee9ad8' id='79cff1c4'/>
+    <typedef-decl name='RTEKind' type-id='7b325a47' id='b6aa9a4b'/>
+    <typedef-decl name='bits8' type-id='78b39644' id='164e7d5c'/>
+    <pointer-type-def type-id='656988b2' size-in-bits='64' id='8663f5f3'/>
+    <pointer-type-def type-id='1403053d' size-in-bits='64' id='624d7672'/>
+    <pointer-type-def type-id='cd2d2d05' size-in-bits='64' id='574e4538'/>
+    <pointer-type-def type-id='5c2c727c' size-in-bits='64' id='6ff7fd62'/>
+    <pointer-type-def type-id='8bcdc1a6' size-in-bits='64' id='ecd87f9f'/>
+    <enum-decl name='JoinType' id='8aee9ad8'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JOIN_INNER' value='0'/>
+      <enumerator name='JOIN_LEFT' value='1'/>
+      <enumerator name='JOIN_FULL' value='2'/>
+      <enumerator name='JOIN_RIGHT' value='3'/>
+      <enumerator name='JOIN_SEMI' value='4'/>
+      <enumerator name='JOIN_ANTI' value='5'/>
+      <enumerator name='JOIN_RIGHT_ANTI' value='6'/>
+      <enumerator name='JOIN_UNIQUE_OUTER' value='7'/>
+      <enumerator name='JOIN_UNIQUE_INNER' value='8'/>
+    </enum-decl>
+    <enum-decl name='RTEKind' id='7b325a47'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='RTE_RELATION' value='0'/>
+      <enumerator name='RTE_SUBQUERY' value='1'/>
+      <enumerator name='RTE_JOIN' value='2'/>
+      <enumerator name='RTE_FUNCTION' value='3'/>
+      <enumerator name='RTE_TABLEFUNC' value='4'/>
+      <enumerator name='RTE_VALUES' value='5'/>
+      <enumerator name='RTE_CTE' value='6'/>
+      <enumerator name='RTE_NAMEDTUPLESTORE' value='7'/>
+      <enumerator name='RTE_RESULT' value='8'/>
+    </enum-decl>
+    <class-decl name='ArrayMetaState' size-in-bits='576' is-struct='yes' visibility='default' id='ebd60f44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='element_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='typalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typdelim' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='typioparam' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typiofunc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='proc' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='AttrMissing' is-struct='yes' visibility='default' is-declaration-only='yes' id='1d76607e'/>
+    <class-decl name='DatumTupleFields' size-in-bits='96' is-struct='yes' visibility='default' id='61c2134f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='datum_len_' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='datum_typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='datum_typeid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='DomainConstraintCache' is-struct='yes' visibility='default' is-declaration-only='yes' id='ca81fa34'/>
+    <class-decl name='HeapTupleFields' size-in-bits='96' is-struct='yes' visibility='default' id='31512706'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='t_xmax' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='t_field3' type-id='32948e4f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TableSampleClause' size-in-bits='192' is-struct='yes' visibility='default' id='fd2c75b8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tsmhandler' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='repeatable' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__34' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='8334883d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='category' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='outfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AttrDefault' type-id='b6490f07' id='31fbc3e8'/>
+    <typedef-decl name='ConstrCheck' type-id='aa93fa6a' id='dc8f1689'/>
+    <typedef-decl name='JsonConstructorExpr' type-id='8d740ada' id='f4ee98c9'/>
+    <typedef-decl name='JsonValueType' type-id='6143a583' id='8d63ea77'/>
+    <typedef-decl name='Query' type-id='4a49842b' id='1c323488'/>
+    <typedef-decl name='SQLValueFunctionOp' type-id='d6a1c586' id='65ca29b2'/>
+    <typedef-decl name='TableFunc' type-id='0d4ab955' id='c2ddc016'/>
+    <typedef-decl name='TupleHashTable' type-id='82eec28f' id='e46c0d22'/>
+    <typedef-decl name='XmlExprOp' type-id='8c9d724d' id='30e01b11'/>
+    <typedef-decl name='XmlOptionType' type-id='d3e3ee70' id='8d13d124'/>
+    <pointer-type-def type-id='e5c06d67' size-in-bits='64' id='82eec28f'/>
+    <pointer-type-def type-id='85cb439f' size-in-bits='64' id='5c2c727c'/>
+    <enum-decl name='JsonValueType' id='6143a583'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JS_TYPE_ANY' value='0'/>
+      <enumerator name='JS_TYPE_OBJECT' value='1'/>
+      <enumerator name='JS_TYPE_ARRAY' value='2'/>
+      <enumerator name='JS_TYPE_SCALAR' value='3'/>
+    </enum-decl>
+    <enum-decl name='SQLValueFunctionOp' id='d6a1c586'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SVFOP_CURRENT_DATE' value='0'/>
+      <enumerator name='SVFOP_CURRENT_TIME' value='1'/>
+      <enumerator name='SVFOP_CURRENT_TIME_N' value='2'/>
+      <enumerator name='SVFOP_CURRENT_TIMESTAMP' value='3'/>
+      <enumerator name='SVFOP_CURRENT_TIMESTAMP_N' value='4'/>
+      <enumerator name='SVFOP_LOCALTIME' value='5'/>
+      <enumerator name='SVFOP_LOCALTIME_N' value='6'/>
+      <enumerator name='SVFOP_LOCALTIMESTAMP' value='7'/>
+      <enumerator name='SVFOP_LOCALTIMESTAMP_N' value='8'/>
+      <enumerator name='SVFOP_CURRENT_ROLE' value='9'/>
+      <enumerator name='SVFOP_CURRENT_USER' value='10'/>
+      <enumerator name='SVFOP_USER' value='11'/>
+      <enumerator name='SVFOP_SESSION_USER' value='12'/>
+      <enumerator name='SVFOP_CURRENT_CATALOG' value='13'/>
+      <enumerator name='SVFOP_CURRENT_SCHEMA' value='14'/>
+    </enum-decl>
+    <enum-decl name='XmlExprOp' id='8c9d724d'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='IS_XMLCONCAT' value='0'/>
+      <enumerator name='IS_XMLELEMENT' value='1'/>
+      <enumerator name='IS_XMLFOREST' value='2'/>
+      <enumerator name='IS_XMLPARSE' value='3'/>
+      <enumerator name='IS_XMLPI' value='4'/>
+      <enumerator name='IS_XMLROOT' value='5'/>
+      <enumerator name='IS_XMLSERIALIZE' value='6'/>
+      <enumerator name='IS_DOCUMENT' value='7'/>
+    </enum-decl>
+    <enum-decl name='XmlOptionType' id='d3e3ee70'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='XMLOPTION_DOCUMENT' value='0'/>
+      <enumerator name='XMLOPTION_CONTENT' value='1'/>
+    </enum-decl>
+    <class-decl name='AttrDefault' size-in-bits='128' is-struct='yes' visibility='default' id='b6490f07'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='adnum' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='adbin' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ConstrCheck' size-in-bits='192' is-struct='yes' visibility='default' id='aa93fa6a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ccname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ccbin' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ccvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='ccnoinherit' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JsonConstructorExpr' size-in-bits='384' is-struct='yes' visibility='default' id='8d740ada'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='type' type-id='e9f1042e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='func' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='coercion' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='returning' type-id='c6f2fccf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='absent_on_null' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='unique' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='Query' size-in-bits='2048' is-struct='yes' visibility='default' id='4a49842b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='commandType' type-id='af8a0214' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='querySource' type-id='9ddeb77d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='queryId' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='canSetTag' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='utilityStmt' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='resultRelation' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='hasAggs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='hasWindowFuncs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='hasTargetSRFs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='376'>
+        <var-decl name='hasSubLinks' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='hasDistinctOn' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='392'>
+        <var-decl name='hasRecursive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='400'>
+        <var-decl name='hasModifyingCTE' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='408'>
+        <var-decl name='hasForUpdate' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='hasRowSecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='424'>
+        <var-decl name='isReturn' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='cteList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rtable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rteperminfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='jointree' type-id='6e6c6f3c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mergeActionList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mergeUseOuterJoin' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='targetList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='override' type-id='bd8d4bed' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='onConflict' type-id='8b70250d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='returningList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='groupClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='groupDistinct' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='groupingSets' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='havingQual' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='windowClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='distinctClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='sortClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='limitOffset' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='limitCount' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='limitOption' type-id='2b03595a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rowMarks' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='setOperations' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='constraintDeps' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='withCheckOptions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='stmt_location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='stmt_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TableFunc' size-in-bits='832' is-struct='yes' visibility='default' id='0d4ab955'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ns_uris' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ns_names' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='docexpr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rowexpr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='colnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='coltypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='coltypmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='colcollations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='colexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='coldefexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='notnulls' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ordinalitycol' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Aggref' type-id='5f2f8633' id='656988b2'/>
+    <typedef-decl name='JsonFormat' type-id='691cd884' id='1403053d'/>
+    <typedef-decl name='SubPlan' type-id='0fe5a47a' id='cd2d2d05'/>
+    <typedef-decl name='WindowFunc' type-id='06379db7' id='8bcdc1a6'/>
+    <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' id='32948e4f'>
+      <data-member access='private'>
+        <var-decl name='t_cid' type-id='6692fd60' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='t_xvac' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <pointer-type-def type-id='fa41b943' size-in-bits='64' id='6e6c6f3c'/>
+    <pointer-type-def type-id='96acb4a0' size-in-bits='64' id='c6f2fccf'/>
+    <pointer-type-def type-id='7507af8c' size-in-bits='64' id='8b70250d'/>
+    <class-decl name='Aggref' size-in-bits='768' is-struct='yes' visibility='default' id='5f2f8633'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='aggfnoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='aggcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='inputcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='aggtranstype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='aggargtypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aggdirectargs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='aggorder' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='aggdistinct' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='aggfilter' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='aggstar' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='584'>
+        <var-decl name='aggvariadic' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='592'>
+        <var-decl name='aggkind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='600'>
+        <var-decl name='aggpresorted' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='agglevelsup' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='aggsplit' type-id='248c9533' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='aggno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='aggtransno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JsonFormat' size-in-bits='128' is-struct='yes' visibility='default' id='691cd884'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='format_type' type-id='31349175' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='encoding' type-id='22985bbf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SubPlan' size-in-bits='768' is-struct='yes' visibility='default' id='0fe5a47a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='subLinkType' type-id='cf920ca6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='testexpr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramIds' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='plan_id' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='plan_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='firstColType' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='firstColTypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='firstColCollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='useHashTable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='424'>
+        <var-decl name='unknownEqFalse' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='parallel_safe' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='setParam' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parParam' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='startup_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='per_call_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TupleHashTableData' size-in-bits='960' is-struct='yes' visibility='default' id='e5c06d67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hashtab' type-id='c4543c40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='numCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='keyColIdx' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tab_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tab_eq_func' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tab_collations' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tablecxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tempcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='entrysize' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tableslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='inputslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='in_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='cur_eq_func' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='hash_iv' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='exprcontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='WindowFunc' size-in-bits='448' is-struct='yes' visibility='default' id='06379db7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='winfnoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wintype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='wincollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='inputcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aggfilter' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='winref' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='winstar' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='winagg' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='JsonConstructorType' type-id='636af99a' id='e9f1042e'/>
+    <typedef-decl name='LimitOption' type-id='03b38bbe' id='2b03595a'/>
+    <typedef-decl name='OverridingKind' type-id='78d6fa01' id='bd8d4bed'/>
+    <typedef-decl name='QuerySource' type-id='f0abff21' id='9ddeb77d'/>
+    <typedef-decl name='Tuplesortstate' type-id='2e3aca66' id='85cb439f'/>
+    <enum-decl name='JsonConstructorType' id='636af99a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JSCTOR_JSON_OBJECT' value='1'/>
+      <enumerator name='JSCTOR_JSON_ARRAY' value='2'/>
+      <enumerator name='JSCTOR_JSON_OBJECTAGG' value='3'/>
+      <enumerator name='JSCTOR_JSON_ARRAYAGG' value='4'/>
+      <enumerator name='JSCTOR_JSON_PARSE' value='5'/>
+      <enumerator name='JSCTOR_JSON_SCALAR' value='6'/>
+      <enumerator name='JSCTOR_JSON_SERIALIZE' value='7'/>
+    </enum-decl>
+    <enum-decl name='LimitOption' id='03b38bbe'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LIMIT_OPTION_COUNT' value='0'/>
+      <enumerator name='LIMIT_OPTION_WITH_TIES' value='1'/>
+      <enumerator name='LIMIT_OPTION_DEFAULT' value='2'/>
+    </enum-decl>
+    <enum-decl name='OverridingKind' id='78d6fa01'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='OVERRIDING_NOT_SET' value='0'/>
+      <enumerator name='OVERRIDING_USER_VALUE' value='1'/>
+      <enumerator name='OVERRIDING_SYSTEM_VALUE' value='2'/>
+    </enum-decl>
+    <enum-decl name='QuerySource' id='f0abff21'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='QSRC_ORIGINAL' value='0'/>
+      <enumerator name='QSRC_PARSER' value='1'/>
+      <enumerator name='QSRC_INSTEAD_RULE' value='2'/>
+      <enumerator name='QSRC_QUAL_INSTEAD_RULE' value='3'/>
+      <enumerator name='QSRC_NON_INSTEAD_RULE' value='4'/>
+    </enum-decl>
+    <class-decl name='Tuplesortstate' is-struct='yes' visibility='default' is-declaration-only='yes' id='2e3aca66'/>
+    <pointer-type-def type-id='c5a41863' size-in-bits='64' id='c4543c40'/>
+    <typedef-decl name='AggSplit' type-id='1fc0a387' id='248c9533'/>
+    <typedef-decl name='FromExpr' type-id='4df675b6' id='fa41b943'/>
+    <typedef-decl name='JsonEncoding' type-id='9db03403' id='22985bbf'/>
+    <typedef-decl name='JsonFormatType' type-id='c2405779' id='31349175'/>
+    <typedef-decl name='JsonReturning' type-id='23a69477' id='96acb4a0'/>
+    <typedef-decl name='OnConflictExpr' type-id='561c5b4d' id='7507af8c'/>
+    <typedef-decl name='SubLinkType' type-id='2175821a' id='cf920ca6'/>
+    <enum-decl name='AggSplit' id='1fc0a387'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='AGGSPLIT_SIMPLE' value='0'/>
+      <enumerator name='AGGSPLIT_INITIAL_SERIAL' value='6'/>
+      <enumerator name='AGGSPLIT_FINAL_DESERIAL' value='9'/>
+    </enum-decl>
+    <enum-decl name='JsonEncoding' id='9db03403'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JS_ENC_DEFAULT' value='0'/>
+      <enumerator name='JS_ENC_UTF8' value='1'/>
+      <enumerator name='JS_ENC_UTF16' value='2'/>
+      <enumerator name='JS_ENC_UTF32' value='3'/>
+    </enum-decl>
+    <enum-decl name='JsonFormatType' id='c2405779'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JS_FORMAT_DEFAULT' value='0'/>
+      <enumerator name='JS_FORMAT_JSON' value='1'/>
+      <enumerator name='JS_FORMAT_JSONB' value='2'/>
+    </enum-decl>
+    <enum-decl name='SubLinkType' id='2175821a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='EXISTS_SUBLINK' value='0'/>
+      <enumerator name='ALL_SUBLINK' value='1'/>
+      <enumerator name='ANY_SUBLINK' value='2'/>
+      <enumerator name='ROWCOMPARE_SUBLINK' value='3'/>
+      <enumerator name='EXPR_SUBLINK' value='4'/>
+      <enumerator name='MULTIEXPR_SUBLINK' value='5'/>
+      <enumerator name='ARRAY_SUBLINK' value='6'/>
+      <enumerator name='CTE_SUBLINK' value='7'/>
+    </enum-decl>
+    <class-decl name='FromExpr' size-in-bits='192' is-struct='yes' visibility='default' id='4df675b6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fromlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='quals' type-id='86bcc405' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JsonReturning' size-in-bits='192' is-struct='yes' visibility='default' id='23a69477'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='format' type-id='624d7672' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='OnConflictExpr' size-in-bits='512' is-struct='yes' visibility='default' id='561c5b4d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='action' type-id='7cfcb9e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arbiterElems' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='arbiterWhere' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='constraint' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='onConflictSet' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='onConflictWhere' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='exclRelIndex' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='exclRelTlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='tuplehash_hash' type-id='6a71a852' id='c5a41863'/>
+    <class-decl name='tuplehash_hash' size-in-bits='384' is-struct='yes' visibility='default' id='6a71a852'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='members' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='sizemask' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grow_threshold' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='ed8da54b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ctx' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='private_data' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='OnConflictAction' type-id='9148e939' id='7cfcb9e5'/>
+    <pointer-type-def type-id='07a85dd6' size-in-bits='64' id='ed8da54b'/>
+    <enum-decl name='OnConflictAction' id='9148e939'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ONCONFLICT_NONE' value='0'/>
+      <enumerator name='ONCONFLICT_NOTHING' value='1'/>
+      <enumerator name='ONCONFLICT_UPDATE' value='2'/>
+    </enum-decl>
+    <typedef-decl name='TupleHashEntryData' type-id='4bd7c8fb' id='07a85dd6'/>
+    <class-decl name='TupleHashEntryData' size-in-bits='192' is-struct='yes' visibility='default' id='4bd7c8fb'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='firstTuple' type-id='00840737' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='additional' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='status' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hash' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='MinimalTuple' type-id='ebce69c4' id='00840737'/>
+    <pointer-type-def type-id='2f2c189f' size-in-bits='64' id='ebce69c4'/>
+    <typedef-decl name='MinimalTupleData' type-id='c38cbc9e' id='2f2c189f'/>
+    <class-decl name='MinimalTupleData' size-in-bits='128' is-struct='yes' visibility='default' id='c38cbc9e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_len' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mt_padding' type-id='4a008bc3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='t_infomask2' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='t_infomask' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='t_hoff' type-id='78b39644' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='t_bits' type-id='767ab51f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='48' id='4a008bc3'>
+      <subrange length='6' type-id='7359adad' id='52fa524b'/>
+    </array-type-def>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/pl/plpgsql/src/pl_exec.c' language='LANG_C99'>
+    <class-decl name='ScalarArrayOpExprHashTable' is-struct='yes' visibility='default' is-declaration-only='yes' id='d12202ba'/>
+    <class-decl name='Tuplesortstate' is-struct='yes' visibility='default' is-declaration-only='yes' id='2e3aca66'/>
+    <typedef-decl name='PLpgSQL_execstate' type-id='dc7edfa2' id='a92b7e32'/>
+    <class-decl name='PLpgSQL_execstate' size-in-bits='1920' is-struct='yes' visibility='default' id='dc7edfa2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='func' type-id='c9560f01' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trigdata' type-id='80983f93' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='evtrigdata' type-id='70e42b81' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='retval' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='retisnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='retistuple' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='retisset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='readonly_func' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='376'>
+        <var-decl name='atomic' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='exitlabel' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='cur_error' type-id='f2dff411' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tuple_store' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tuple_store_desc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='tuple_store_cxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tuple_store_owner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rsi' type-id='966dbf3d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='found_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='ndatums' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='datums' type-id='a4efa950' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='datum_context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='paramLI' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='simple_eval_estate' type-id='d20936cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='simple_eval_resowner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='procedure_resowner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='cast_hash' type-id='6c5dd83c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='stmt_mcontext' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='stmt_mcontext_parent' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='eval_tuptable' type-id='6f28dedb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='eval_processed' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='eval_econtext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='err_stmt' type-id='583566eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='err_var' type-id='e4d9ce06' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='err_text' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='plugin_info' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_variable' type-id='3bb420e6' id='a7723a39'/>
+    <class-decl name='PLpgSQL_variable' size-in-bits='256' is-struct='yes' visibility='default' id='3bb420e6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dtype' type-id='8fdeefdc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='isconst' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='notnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_val' type-id='575e2305' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_expr' type-id='6d218c8f' id='395172b0'/>
+    <class-decl name='PLpgSQL_expr' size-in-bits='960' is-struct='yes' visibility='default' id='6d218c8f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='query' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parseMode' type-id='79179ab2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='plan' type-id='98abc875' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='paramnos' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='func' type-id='c9560f01' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ns' type-id='f0068755' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='expr_simple_expr' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='expr_simple_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='expr_simple_typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='expr_simple_mutable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='target_param' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='expr_rw_param' type-id='4c6e7968' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='expr_simple_plansource' type-id='f6d6a649' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='expr_simple_plan' type-id='da707eb3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='expr_simple_plan_lxid' type-id='52debaec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='expr_simple_state' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='expr_simple_in_use' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='expr_simple_lxid' type-id='52debaec' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='intptr_t' type-id='bd54fe1a' id='33dbba72'/>
+    <union-decl name='__anonymous_union__' size-in-bits='320' is-anonymous='yes' visibility='default' id='7f139c63'>
+      <data-member access='private'>
+        <var-decl name='fetch' type-id='4b17193f' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='var' type-id='8ecd93e4' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='wholerow' type-id='dfea21c8' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='assign_var' type-id='89567c3d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='assign_tmp' type-id='0c2386a4' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='constval' type-id='154f1990' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='func' type-id='01ace714' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='boolexpr' type-id='8dec3f33' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='qualexpr' type-id='221c69c5' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='jump' type-id='221c69c5' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='nulltest_row' type-id='8dde685d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='param' type-id='db8d3af1' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cparam' type-id='052f406c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='casetest' type-id='6d4cc9f0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='make_readonly' type-id='6d4cc9f0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='iocoerce' type-id='3b773333' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sqlvaluefunction' type-id='1eb9c3ae' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='nextvalueexpr' type-id='12f5f526' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arrayexpr' type-id='471f877a' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='arraycoerce' type-id='c17e1800' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='row' type-id='a19f65b2' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rowcompare_step' type-id='ae4ad948' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='rowcompare_final' type-id='57460238' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='minmax' type-id='e523744d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='fieldselect' type-id='4be09a1c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='fieldstore' type-id='1d070bd0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sbsref_subscript' type-id='fa683c65' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='sbsref' type-id='95d46cc9' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='domaincheck' type-id='cd5af2ef' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='convert_rowtype' type-id='39ce71be' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='scalararrayop' type-id='f315c01c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='hashedscalararrayop' type-id='3304a23a' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='xmlexpr' type-id='ca842759' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='json_constructor' type-id='72e92d3a' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='aggref' type-id='38b50155' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='grouping_func' type-id='3b84f0d6' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='window_func' type-id='779e7fb0' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='subplan' type-id='34fa8b2c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_deserialize' type-id='0d73263b' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_strict_input_check' type-id='ee5c1480' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_plain_pergroup_nullcheck' type-id='8d9740b9' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_presorted_distinctcheck' type-id='64955077' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='agg_trans' type-id='4840c6de' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='is_json' type-id='e4a33f20' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='4b17193f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='last_var' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='fixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='known_desc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='kind' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='8ecd93e4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vartype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__2' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='dfea21c8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='var' type-id='10530c9c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='first' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='slow' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tupdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='junkFilter' type-id='763b1c4d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Var' type-id='54570956' id='3365c9bd'/>
+    <class-decl name='Var' size-in-bits='384' is-struct='yes' visibility='default' id='54570956'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='varattno' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='vartype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='vartypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='varcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='varnullingrels' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='varlevelsup' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='varnosyn' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='varattnosyn' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__3' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='89567c3d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='resultnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='attnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__4' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='0c2386a4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='resultnum' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__5' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='154f1990'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__6' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='01ace714'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__7' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='8dec3f33'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='anynull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__8' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='221c69c5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__10' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='8dde685d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rowcache' type-id='6d23b4a3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExprEvalRowtypeCache' type-id='18e1aefe' id='6d23b4a3'/>
+    <class-decl name='ExprEvalRowtypeCache' size-in-bits='128' is-struct='yes' visibility='default' id='18e1aefe'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cacheptr' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tupdesc_id' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__11' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='db8d3af1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='paramid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='paramtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__12' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='052f406c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='paramfunc' type-id='5b661f31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='paramarg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='paramtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecEvalSubroutine' type-id='40fd9943' id='5b661f31'/>
+    <class-decl name='__anonymous_struct__13' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='6d4cc9f0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__15' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='3b773333'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='finfo_out' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcinfo_data_out' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='finfo_in' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fcinfo_data_in' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__16' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='1eb9c3ae'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='svf' type-id='57758142' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='SQLValueFunction' type-id='1c5cfda4' id='9587e87d'/>
+    <class-decl name='SQLValueFunction' size-in-bits='160' is-struct='yes' visibility='default' id='1c5cfda4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op' type-id='65ca29b2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='SQLValueFunctionOp' type-id='d6a1c586' id='65ca29b2'/>
+    <enum-decl name='SQLValueFunctionOp' id='d6a1c586'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SVFOP_CURRENT_DATE' value='0'/>
+      <enumerator name='SVFOP_CURRENT_TIME' value='1'/>
+      <enumerator name='SVFOP_CURRENT_TIME_N' value='2'/>
+      <enumerator name='SVFOP_CURRENT_TIMESTAMP' value='3'/>
+      <enumerator name='SVFOP_CURRENT_TIMESTAMP_N' value='4'/>
+      <enumerator name='SVFOP_LOCALTIME' value='5'/>
+      <enumerator name='SVFOP_LOCALTIME_N' value='6'/>
+      <enumerator name='SVFOP_LOCALTIMESTAMP' value='7'/>
+      <enumerator name='SVFOP_LOCALTIMESTAMP_N' value='8'/>
+      <enumerator name='SVFOP_CURRENT_ROLE' value='9'/>
+      <enumerator name='SVFOP_CURRENT_USER' value='10'/>
+      <enumerator name='SVFOP_USER' value='11'/>
+      <enumerator name='SVFOP_SESSION_USER' value='12'/>
+      <enumerator name='SVFOP_CURRENT_CATALOG' value='13'/>
+      <enumerator name='SVFOP_CURRENT_SCHEMA' value='14'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__17' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='12f5f526'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='seqid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='seqtypid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__18' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='471f877a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elemvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='elemnulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nelems' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='elemtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='elemlength' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='elembyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='elemalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='multidims' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__19' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='c17e1800'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elemexprstate' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resultelemtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='amstate' type-id='7776142d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ArrayMapState' size-in-bits='1152' is-struct='yes' visibility='default' id='88ed490d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='inp_extra' type-id='39745d31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ret_extra' type-id='39745d31' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ArrayMetaState' type-id='ebd60f44' id='39745d31'/>
+    <class-decl name='ArrayMetaState' size-in-bits='576' is-struct='yes' visibility='default' id='ebd60f44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='element_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='typalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typdelim' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='typioparam' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typiofunc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='proc' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__20' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='a19f65b2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tupdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='elemvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='elemnulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__21' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='ae4ad948'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__22' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='57460238'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rctype' type-id='0d6fd59f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RowCompareType' type-id='e602457b' id='0d6fd59f'/>
+    <enum-decl name='RowCompareType' id='e602457b'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ROWCOMPARE_LT' value='1'/>
+      <enumerator name='ROWCOMPARE_LE' value='2'/>
+      <enumerator name='ROWCOMPARE_EQ' value='3'/>
+      <enumerator name='ROWCOMPARE_GE' value='4'/>
+      <enumerator name='ROWCOMPARE_GT' value='5'/>
+      <enumerator name='ROWCOMPARE_NE' value='6'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__23' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='e523744d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nelems' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='op' type-id='f012c4d9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='MinMaxOp' type-id='232a192d' id='f012c4d9'/>
+    <enum-decl name='MinMaxOp' id='232a192d'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='IS_GREATEST' value='0'/>
+      <enumerator name='IS_LEAST' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__24' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='4be09a1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fieldnum' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='resulttype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rowcache' type-id='6d23b4a3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__25' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='1d070bd0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fstore' type-id='668f87de' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rowcache' type-id='09327ce4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ncolumns' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FieldStore' type-id='15f44bf8' id='de8f9c31'/>
+    <class-decl name='FieldStore' size-in-bits='320' is-struct='yes' visibility='default' id='15f44bf8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='newvals' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fieldnums' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='resulttype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__26' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='fa683c65'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subscriptfunc' type-id='957dd9fd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='state' type-id='b337bec6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='jumpdone' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecEvalBoolSubroutine' type-id='474f5df1' id='957dd9fd'/>
+    <class-decl name='SubscriptingRefState' size-in-bits='896' is-struct='yes' visibility='default' id='6f8bb1e0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='isassignment' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='workspace' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='numupper' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='upperprovided' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='upperindex' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='upperindexnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='numlower' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='lowerprovided' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='lowerindex' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='lowerindexnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='replacevalue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='replacenull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='prevvalue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='prevnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__27' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='95d46cc9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='subscriptfunc' type-id='5b661f31' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='state' type-id='b337bec6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__28' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='cd5af2ef'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='constraintname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='checkvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='checknull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='resulttype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__29' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='39ce71be'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='inputtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='outputtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='incache' type-id='09327ce4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='outcache' type-id='09327ce4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='map' type-id='163db565' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__30' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='f315c01c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='element_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='useOr' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='typalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__31' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='3304a23a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='has_nulls' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='inclause' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='elements_tab' type-id='870f75f8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='finfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='saop' type-id='b48149d0' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ScalarArrayOpExpr' type-id='24a7dfb2' id='f4c742b5'/>
+    <class-decl name='ScalarArrayOpExpr' size-in-bits='384' is-struct='yes' visibility='default' id='24a7dfb2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='opno' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='opfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='hashfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='negfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='useOr' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='inputcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__32' size-in-bits='320' is-struct='yes' is-anonymous='yes' visibility='default' id='ca842759'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xexpr' type-id='92862e91' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='named_argvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='named_argnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='argvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='argnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='XmlExpr' type-id='439d9419' id='073facf6'/>
+    <class-decl name='XmlExpr' size-in-bits='512' is-struct='yes' visibility='default' id='439d9419'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='op' type-id='30e01b11' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='named_args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='arg_names' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='xmloption' type-id='8d13d124' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='indent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='XmlExprOp' type-id='8c9d724d' id='30e01b11'/>
+    <enum-decl name='XmlExprOp' id='8c9d724d'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='IS_XMLCONCAT' value='0'/>
+      <enumerator name='IS_XMLELEMENT' value='1'/>
+      <enumerator name='IS_XMLFOREST' value='2'/>
+      <enumerator name='IS_XMLPARSE' value='3'/>
+      <enumerator name='IS_XMLPI' value='4'/>
+      <enumerator name='IS_XMLROOT' value='5'/>
+      <enumerator name='IS_XMLSERIALIZE' value='6'/>
+      <enumerator name='IS_DOCUMENT' value='7'/>
+    </enum-decl>
+    <typedef-decl name='XmlOptionType' type-id='d3e3ee70' id='8d13d124'/>
+    <enum-decl name='XmlOptionType' id='d3e3ee70'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='XMLOPTION_DOCUMENT' value='0'/>
+      <enumerator name='XMLOPTION_CONTENT' value='1'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__33' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='72e92d3a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='jcstate' type-id='33c89107' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='JsonConstructorExprState' size-in-bits='384' is-struct='yes' visibility='default' id='d253d76f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='constructor' type-id='eadb1e48' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arg_values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='arg_nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='arg_types' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='arg_type_cache' type-id='8567d8b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='JsonConstructorExpr' type-id='8d740ada' id='f4ee98c9'/>
+    <class-decl name='JsonConstructorExpr' size-in-bits='384' is-struct='yes' visibility='default' id='8d740ada'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='type' type-id='e9f1042e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='func' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='coercion' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='returning' type-id='c6f2fccf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='absent_on_null' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='unique' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='JsonConstructorType' type-id='636af99a' id='e9f1042e'/>
+    <enum-decl name='JsonConstructorType' id='636af99a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JSCTOR_JSON_OBJECT' value='1'/>
+      <enumerator name='JSCTOR_JSON_ARRAY' value='2'/>
+      <enumerator name='JSCTOR_JSON_OBJECTAGG' value='3'/>
+      <enumerator name='JSCTOR_JSON_ARRAYAGG' value='4'/>
+      <enumerator name='JSCTOR_JSON_PARSE' value='5'/>
+      <enumerator name='JSCTOR_JSON_SCALAR' value='6'/>
+      <enumerator name='JSCTOR_JSON_SERIALIZE' value='7'/>
+    </enum-decl>
+    <typedef-decl name='JsonReturning' type-id='23a69477' id='96acb4a0'/>
+    <class-decl name='JsonReturning' size-in-bits='192' is-struct='yes' visibility='default' id='23a69477'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='format' type-id='624d7672' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='JsonFormat' type-id='691cd884' id='1403053d'/>
+    <class-decl name='JsonFormat' size-in-bits='128' is-struct='yes' visibility='default' id='691cd884'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='format_type' type-id='31349175' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='encoding' type-id='22985bbf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='JsonFormatType' type-id='c2405779' id='31349175'/>
+    <enum-decl name='JsonFormatType' id='c2405779'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JS_FORMAT_DEFAULT' value='0'/>
+      <enumerator name='JS_FORMAT_JSON' value='1'/>
+      <enumerator name='JS_FORMAT_JSONB' value='2'/>
+    </enum-decl>
+    <typedef-decl name='JsonEncoding' type-id='9db03403' id='22985bbf'/>
+    <enum-decl name='JsonEncoding' id='9db03403'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JS_ENC_DEFAULT' value='0'/>
+      <enumerator name='JS_ENC_UTF8' value='1'/>
+      <enumerator name='JS_ENC_UTF16' value='2'/>
+      <enumerator name='JS_ENC_UTF32' value='3'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__34' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='8334883d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='category' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='outfuncid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__35' size-in-bits='32' is-struct='yes' is-anonymous='yes' visibility='default' id='38b50155'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='aggno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__36' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='3b84f0d6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='clauses' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__37' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='779e7fb0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wfstate' type-id='3dc2b291' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='WindowFuncExprState' type-id='f5644b29' id='41441fe2'/>
+    <class-decl name='WindowFuncExprState' size-in-bits='320' is-struct='yes' visibility='default' id='f5644b29'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wfunc' type-id='ecd87f9f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='aggfilter' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='wfuncno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='WindowFunc' type-id='06379db7' id='8bcdc1a6'/>
+    <class-decl name='WindowFunc' size-in-bits='448' is-struct='yes' visibility='default' id='06379db7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='winfnoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wintype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='wincollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='inputcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aggfilter' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='winref' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='winstar' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='winagg' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__38' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='34fa8b2c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sstate' type-id='6d8ec8b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='SubPlanState' type-id='44051e4f' id='c8a482d6'/>
+    <class-decl name='SubPlanState' size-in-bits='1664' is-struct='yes' visibility='default' id='44051e4f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='subplan' type-id='574e4538' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='planstate' type-id='22f23587' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='22f23587' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='testexpr' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='curTuple' type-id='3de55dac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='curArray' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='descRight' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='projLeft' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='projRight' type-id='a5c2be02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='hashtable' type-id='e46c0d22' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='hashnulls' type-id='e46c0d22' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='havehashrows' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='840'>
+        <var-decl name='havenullrows' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='hashtablecxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='hashtempcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='innerecontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='numCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='keyColIdx' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='tab_eq_funcoids' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='tab_collations' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='tab_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='tab_eq_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='lhs_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='cur_eq_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='cur_eq_comp' type-id='6460b71b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='SubPlan' type-id='0fe5a47a' id='cd2d2d05'/>
+    <class-decl name='SubPlan' size-in-bits='768' is-struct='yes' visibility='default' id='0fe5a47a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='subLinkType' type-id='cf920ca6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='testexpr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramIds' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='plan_id' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='plan_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='firstColType' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='firstColTypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='firstColCollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='useHashTable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='424'>
+        <var-decl name='unknownEqFalse' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='432'>
+        <var-decl name='parallel_safe' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='setParam' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parParam' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='startup_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='per_call_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='SubLinkType' type-id='2175821a' id='cf920ca6'/>
+    <enum-decl name='SubLinkType' id='2175821a'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='EXISTS_SUBLINK' value='0'/>
+      <enumerator name='ALL_SUBLINK' value='1'/>
+      <enumerator name='ANY_SUBLINK' value='2'/>
+      <enumerator name='ROWCOMPARE_SUBLINK' value='3'/>
+      <enumerator name='EXPR_SUBLINK' value='4'/>
+      <enumerator name='MULTIEXPR_SUBLINK' value='5'/>
+      <enumerator name='ARRAY_SUBLINK' value='6'/>
+      <enumerator name='CTE_SUBLINK' value='7'/>
+    </enum-decl>
+    <typedef-decl name='TupleHashTable' type-id='82eec28f' id='e46c0d22'/>
+    <class-decl name='TupleHashTableData' size-in-bits='960' is-struct='yes' visibility='default' id='e5c06d67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='hashtab' type-id='c4543c40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='numCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='keyColIdx' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tab_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tab_eq_func' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tab_collations' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tablecxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tempcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='entrysize' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tableslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='inputslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='in_hash_funcs' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='cur_eq_func' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='hash_iv' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='exprcontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='tuplehash_hash' type-id='6a71a852' id='c5a41863'/>
+    <class-decl name='tuplehash_hash' size-in-bits='384' is-struct='yes' visibility='default' id='6a71a852'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='size' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='members' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='sizemask' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='grow_threshold' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='data' type-id='ed8da54b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ctx' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='private_data' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TupleHashEntryData' type-id='4bd7c8fb' id='07a85dd6'/>
+    <class-decl name='TupleHashEntryData' size-in-bits='192' is-struct='yes' visibility='default' id='4bd7c8fb'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='firstTuple' type-id='00840737' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='additional' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='status' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='hash' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__39' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='0d73263b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fcinfo_data' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__40' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='ee5c1480'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='args' type-id='2f0d000f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='nulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__41' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='8d9740b9'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='setoff' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='jumpnull' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__42' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='64955077'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pertrans' type-id='22d3bcc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggcontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='jumpdistinct' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AggStatePerTrans' type-id='39d8a67e' id='22d3bcc1'/>
+    <class-decl name='AggStatePerTransData' size-in-bits='3008' is-struct='yes' visibility='default' id='2e142c18'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='aggref' type-id='8663f5f3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggshared' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='aggsortrequired' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='numInputs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='numTransInputs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='transfn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='serialfn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='deserialfn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aggtranstype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='transfn' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='serialfn' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='deserialfn' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='aggCollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1504'>
+        <var-decl name='numSortCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='numDistinctCols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='sortColIdx' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='sortOperators' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='sortCollations' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='sortNullsFirst' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='equalfnOne' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='equalfnMulti' type-id='6460b71b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='initValue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='initValueIsNull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2384'>
+        <var-decl name='inputtypeLen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2400'>
+        <var-decl name='transtypeLen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2416'>
+        <var-decl name='inputtypeByVal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2424'>
+        <var-decl name='transtypeByVal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='sortslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='uniqslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='sortdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='lastdatum' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='lastisnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2696'>
+        <var-decl name='haslast' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='sortstates' type-id='6ff7fd62' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='transfn_fcinfo' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='serialfn_fcinfo' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='deserialfn_fcinfo' type-id='cbf1f029' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Aggref' type-id='5f2f8633' id='656988b2'/>
+    <class-decl name='Aggref' size-in-bits='768' is-struct='yes' visibility='default' id='5f2f8633'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='aggfnoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='aggcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='inputcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='aggtranstype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='aggargtypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='aggdirectargs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='aggorder' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='aggdistinct' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='aggfilter' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='aggstar' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='584'>
+        <var-decl name='aggvariadic' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='592'>
+        <var-decl name='aggkind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='600'>
+        <var-decl name='aggpresorted' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='agglevelsup' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='aggsplit' type-id='248c9533' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='aggno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='aggtransno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AggSplit' type-id='1fc0a387' id='248c9533'/>
+    <enum-decl name='AggSplit' id='1fc0a387'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='AGGSPLIT_SIMPLE' value='0'/>
+      <enumerator name='AGGSPLIT_INITIAL_SERIAL' value='6'/>
+      <enumerator name='AGGSPLIT_FINAL_DESERIAL' value='9'/>
+    </enum-decl>
+    <typedef-decl name='Tuplesortstate' type-id='2e3aca66' id='85cb439f'/>
+    <class-decl name='__anonymous_struct__43' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='4840c6de'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pertrans' type-id='22d3bcc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aggcontext' type-id='47bae389' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='setno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='transno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='setoff' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__44' size-in-bits='64' is-struct='yes' is-anonymous='yes' visibility='default' id='e4a33f20'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pred' type-id='d5f30022' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='JsonIsPredicate' type-id='90dced04' id='a378692f'/>
+    <class-decl name='JsonIsPredicate' size-in-bits='320' is-struct='yes' visibility='default' id='90dced04'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='expr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='format' type-id='624d7672' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='item_type' type-id='8d63ea77' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='unique_keys' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='JsonValueType' type-id='6143a583' id='8d63ea77'/>
+    <enum-decl name='JsonValueType' id='6143a583'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JS_TYPE_ANY' value='0'/>
+      <enumerator name='JS_TYPE_OBJECT' value='1'/>
+      <enumerator name='JS_TYPE_ARRAY' value='2'/>
+      <enumerator name='JS_TYPE_SCALAR' value='3'/>
+    </enum-decl>
+    <pointer-type-def type-id='2e142c18' size-in-bits='64' id='39d8a67e'/>
+    <pointer-type-def type-id='656988b2' size-in-bits='64' id='8663f5f3'/>
+    <pointer-type-def type-id='88ed490d' size-in-bits='64' id='7776142d'/>
+    <pointer-type-def type-id='179a98ad' size-in-bits='64' id='da707eb3'/>
+    <pointer-type-def type-id='6d23b4a3' size-in-bits='64' id='09327ce4'/>
+    <pointer-type-def type-id='de8f9c31' size-in-bits='64' id='668f87de'/>
+    <pointer-type-def type-id='f4ee98c9' size-in-bits='64' id='eadb1e48'/>
+    <pointer-type-def type-id='d253d76f' size-in-bits='64' id='33c89107'/>
+    <pointer-type-def type-id='1403053d' size-in-bits='64' id='624d7672'/>
+    <pointer-type-def type-id='a378692f' size-in-bits='64' id='d5f30022'/>
+    <pointer-type-def type-id='96acb4a0' size-in-bits='64' id='c6f2fccf'/>
+    <pointer-type-def type-id='73f7fd18' size-in-bits='64' id='2f0d000f'/>
+    <pointer-type-def type-id='a92b7e32' size-in-bits='64' id='1b126ffa'/>
+    <pointer-type-def type-id='395172b0' size-in-bits='64' id='575e2305'/>
+    <pointer-type-def type-id='a7723a39' size-in-bits='64' id='e4d9ce06'/>
+    <pointer-type-def type-id='9587e87d' size-in-bits='64' id='57758142'/>
+    <pointer-type-def type-id='f4c742b5' size-in-bits='64' id='b48149d0'/>
+    <pointer-type-def type-id='d12202ba' size-in-bits='64' id='870f75f8'/>
+    <pointer-type-def type-id='cd2d2d05' size-in-bits='64' id='574e4538'/>
+    <pointer-type-def type-id='c8a482d6' size-in-bits='64' id='6d8ec8b7'/>
+    <pointer-type-def type-id='6f8bb1e0' size-in-bits='64' id='b337bec6'/>
+    <pointer-type-def type-id='07a85dd6' size-in-bits='64' id='ed8da54b'/>
+    <pointer-type-def type-id='e5c06d67' size-in-bits='64' id='82eec28f'/>
+    <pointer-type-def type-id='85cb439f' size-in-bits='64' id='5c2c727c'/>
+    <pointer-type-def type-id='5c2c727c' size-in-bits='64' id='6ff7fd62'/>
+    <pointer-type-def type-id='3365c9bd' size-in-bits='64' id='10530c9c'/>
+    <pointer-type-def type-id='8bcdc1a6' size-in-bits='64' id='ecd87f9f'/>
+    <pointer-type-def type-id='41441fe2' size-in-bits='64' id='3dc2b291'/>
+    <pointer-type-def type-id='073facf6' size-in-bits='64' id='92862e91'/>
+    <pointer-type-def type-id='8334883d' size-in-bits='64' id='8567d8b0'/>
+    <pointer-type-def type-id='59698efd' size-in-bits='64' id='474f5df1'/>
+    <pointer-type-def type-id='c5a41863' size-in-bits='64' id='c4543c40'/>
+    <pointer-type-def type-id='7d5143e7' size-in-bits='64' id='40fd9943'/>
+    <function-decl name='plpgsql_exec_get_datum_type' mangled-name='plpgsql_exec_get_datum_type' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_exec_get_datum_type'>
+      <parameter type-id='1b126ffa' name='estate'/>
+      <parameter type-id='42d4c35a' name='datum'/>
+      <return type-id='63cf087c'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='59698efd'>
+      <parameter type-id='6460b71b'/>
+      <parameter type-id='f5da7878'/>
+      <parameter type-id='47bae389'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='7d5143e7'>
+      <parameter type-id='6460b71b'/>
+      <parameter type-id='f5da7878'/>
+      <parameter type-id='47bae389'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <typedef-decl name='CachedPlan' type-id='421dd424' id='179a98ad'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/pl/plpgsql/src/pl_funcs.c' language='LANG_C99'>
+    <pointer-type-def type-id='1ca8d864' size-in-bits='64' id='f0068756'/>
+    <function-decl name='plpgsql_stmt_typename' mangled-name='plpgsql_stmt_typename' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_stmt_typename'>
+      <parameter type-id='583566eb' name='stmt'/>
+      <return type-id='80f4b756'/>
+    </function-decl>
+    <function-decl name='plpgsql_ns_lookup' mangled-name='plpgsql_ns_lookup' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_ns_lookup'>
+      <parameter type-id='f0068756' name='ns_cur'/>
+      <parameter type-id='c894953d' name='localmode'/>
+      <parameter type-id='80f4b756' name='name1'/>
+      <parameter type-id='80f4b756' name='name2'/>
+      <parameter type-id='80f4b756' name='name3'/>
+      <parameter type-id='7292109c' name='names_used'/>
+      <return type-id='f0068756'/>
+    </function-decl>
+    <typedef-decl name='PLpgSQL_nsitem' type-id='a47fdee5' id='1ca8d864'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/pl/plpgsql/src/pl_handler.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='256' id='16dc656a'>
+      <subrange length='32' type-id='7359adad' id='ae5bde82'/>
+    </array-type-def>
+    <typedef-decl name='PLpgSQL_plugin' type-id='52e9f55a' id='402744fb'/>
+    <class-decl name='PLpgSQL_plugin' size-in-bits='640' is-struct='yes' visibility='default' id='52e9f55a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='func_setup' type-id='0511158c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='func_beg' type-id='0511158c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='func_end' type-id='0511158c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='stmt_beg' type-id='1b15699a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='stmt_end' type-id='1b15699a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='error_callback' type-id='b7f9d8e6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='assign_expr' type-id='71af8874' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='assign_value' type-id='d2972111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='eval_datum' type-id='8fd42794' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='cast_value' type-id='1edf6efe' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Pg_finfo_record' type-id='aacf6c54' id='bedec414'/>
+    <class-decl name='__anonymous_struct__' size-in-bits='32' is-struct='yes' is-anonymous='yes' naming-typedef-id='bedec414' visibility='default' id='aacf6c54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='api_version' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Pg_magic_struct' type-id='6556d068' id='0311f297'/>
+    <class-decl name='__anonymous_struct__1' size-in-bits='448' is-struct='yes' is-anonymous='yes' naming-typedef-id='0311f297' visibility='default' id='6556d068'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='version' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='funcmaxargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='indexmaxkeys' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='namedatalen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='float8byval' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='abi_extra' type-id='16dc656a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='402744fb' size-in-bits='64' id='ff951168'/>
+    <pointer-type-def type-id='ff951168' size-in-bits='64' id='99aa2ae6'/>
+    <qualified-type-def type-id='bedec414' const='yes' id='ab220ae4'/>
+    <pointer-type-def type-id='ab220ae4' size-in-bits='64' id='3497024a'/>
+    <qualified-type-def type-id='0311f297' const='yes' id='315bc507'/>
+    <pointer-type-def type-id='315bc507' size-in-bits='64' id='e07765d7'/>
+    <pointer-type-def type-id='984e2214' size-in-bits='64' id='1edf6efe'/>
+    <pointer-type-def type-id='c7e2bcda' size-in-bits='64' id='8fd42794'/>
+    <pointer-type-def type-id='ebb0a622' size-in-bits='64' id='71af8874'/>
+    <pointer-type-def type-id='d831969d' size-in-bits='64' id='d2972111'/>
+    <pointer-type-def type-id='9e895d6a' size-in-bits='64' id='0511158c'/>
+    <pointer-type-def type-id='c330d818' size-in-bits='64' id='1b15699a'/>
+    <var-decl name='plpgsql_variable_conflict' type-id='95e97e5e' visibility='default'/>
+    <var-decl name='plpgsql_print_strict_params' type-id='c894953d' visibility='default'/>
+    <var-decl name='plpgsql_check_asserts' type-id='c894953d' visibility='default'/>
+    <var-decl name='plpgsql_extra_warnings' type-id='95e97e5e' visibility='default'/>
+    <var-decl name='plpgsql_extra_errors' type-id='95e97e5e' visibility='default'/>
+    <var-decl name='plpgsql_plugin_ptr' type-id='99aa2ae6' visibility='default'/>
+    <function-decl name='plpgsql_validator' mangled-name='plpgsql_validator' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_validator'>
+      <parameter type-id='cbf1f028' name='fcinfo'/>
+      <return type-id='f24b0a4f'/>
+    </function-decl>
+    <function-decl name='pg_finfo_plpgsql_validator' mangled-name='pg_finfo_plpgsql_validator' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_finfo_plpgsql_validator'>
+      <return type-id='3497024a'/>
+    </function-decl>
+    <function-decl name='plpgsql_inline_handler' mangled-name='plpgsql_inline_handler' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_inline_handler'>
+      <parameter type-id='cbf1f028' name='fcinfo'/>
+      <return type-id='f24b0a4f'/>
+    </function-decl>
+    <function-decl name='pg_finfo_plpgsql_inline_handler' mangled-name='pg_finfo_plpgsql_inline_handler' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_finfo_plpgsql_inline_handler'>
+      <return type-id='3497024a'/>
+    </function-decl>
+    <function-decl name='plpgsql_call_handler' mangled-name='plpgsql_call_handler' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='plpgsql_call_handler'>
+      <parameter type-id='cbf1f028' name='fcinfo'/>
+      <return type-id='f24b0a4f'/>
+    </function-decl>
+    <function-decl name='pg_finfo_plpgsql_call_handler' mangled-name='pg_finfo_plpgsql_call_handler' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='pg_finfo_plpgsql_call_handler'>
+      <return type-id='3497024a'/>
+    </function-decl>
+    <function-decl name='_PG_init' mangled-name='_PG_init' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='_PG_init'>
+      <return type-id='48b5725f'/>
+    </function-decl>
+    <function-decl name='Pg_magic_func' mangled-name='Pg_magic_func' visibility='default' binding='global' size-in-bits='64' elf-symbol-id='Pg_magic_func'>
+      <return type-id='e07765d7'/>
+    </function-decl>
+    <function-type size-in-bits='64' id='984e2214'>
+      <parameter type-id='1b126ffa'/>
+      <parameter type-id='f24b0a4f'/>
+      <parameter type-id='d8e6b335'/>
+      <parameter type-id='63cf087c'/>
+      <parameter type-id='93e3c360'/>
+      <parameter type-id='63cf087c'/>
+      <parameter type-id='93e3c360'/>
+      <return type-id='f24b0a4f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='c7e2bcda'>
+      <parameter type-id='1b126ffa'/>
+      <parameter type-id='42d4c35a'/>
+      <parameter type-id='42f3594b'/>
+      <parameter type-id='14deb08f'/>
+      <parameter type-id='87794d52'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='ebb0a622'>
+      <parameter type-id='1b126ffa'/>
+      <parameter type-id='42d4c35a'/>
+      <parameter type-id='575e2305'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='d831969d'>
+      <parameter type-id='1b126ffa'/>
+      <parameter type-id='42d4c35a'/>
+      <parameter type-id='f24b0a4f'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='63cf087c'/>
+      <parameter type-id='93e3c360'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='9e895d6a'>
+      <parameter type-id='1b126ffa'/>
+      <parameter type-id='c9560f01'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='c330d818'>
+      <parameter type-id='1b126ffa'/>
+      <parameter type-id='583566eb'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <pointer-type-def type-id='93e3c360' size-in-bits='64' id='14deb08f'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='../src/pl/plpgsql/src/pl_scanner.c' language='LANG_C99'>
+    <typedef-decl name='IdentifierLookup' type-id='08f5ca18' id='78824de9'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca18'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='IDENTIFIER_LOOKUP_NORMAL' value='0'/>
+      <enumerator name='IDENTIFIER_LOOKUP_DECLARE' value='1'/>
+      <enumerator name='IDENTIFIER_LOOKUP_EXPR' value='2'/>
+    </enum-decl>
+    <var-decl name='plpgsql_IdentifierLookup' type-id='78824de9' visibility='default'/>
+  </abi-instr>
+  <abi-instr version='1.0' address-size='64' path='src/pl/plpgsql/src/pl_gram.c' language='LANG_C99'>
+    <array-type-def dimensions='1' type-id='6bdc0c3e' size-in-bits='512' id='1e675450'>
+      <subrange length='32' type-id='7359adad' id='ae5bde82'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='3db40640' size-in-bits='128' id='0403c23f'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='ddba9bc9' size-in-bits='infinite' id='3f6b39ca'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='25f39bce' size-in-bits='infinite' id='b1f0fafd'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='4f9e23e8' size-in-bits='infinite' id='93433141'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='73f7fd18' size-in-bits='infinite' id='a03a8123'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='12f12c16' size-in-bits='infinite' id='f75dfdbb'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='63cf087c' size-in-bits='3200' id='6b765c6a'>
+      <subrange length='100' type-id='7359adad' id='4196563c'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='16406887' size-in-bits='infinite' id='4f1256a8'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='d1885e4d' size-in-bits='256' id='2d63c7ed'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='337bdc9b' size-in-bits='infinite' id='0e160242'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='164e7d5c' size-in-bits='infinite' id='767ab51f'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <type-decl name='bool' size-in-bits='8' id='c894953d'/>
+    <type-decl name='char' size-in-bits='8' id='a84c031d'/>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='32' id='8e0573fd'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='512' id='59daf3ef'>
+      <subrange length='64' type-id='7359adad' id='b10be967'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='48' id='4a008bc3'>
+      <subrange length='6' type-id='7359adad' id='52fa524b'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='a84c031d' size-in-bits='infinite' id='e84913bd'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <class-decl name='AttrMissing' is-struct='yes' visibility='default' is-declaration-only='yes' id='1d76607e'/>
+    <class-decl name='BufferAccessStrategyData' is-struct='yes' visibility='default' is-declaration-only='yes' id='e3152710'/>
+    <class-decl name='BulkInsertStateData' is-struct='yes' visibility='default' is-declaration-only='yes' id='7c3a169d'/>
+    <class-decl name='CopyMultiInsertBuffer' is-struct='yes' visibility='default' is-declaration-only='yes' id='daee8f6e'/>
+    <class-decl name='DomainConstraintCache' is-struct='yes' visibility='default' is-declaration-only='yes' id='ca81fa34'/>
+    <class-decl name='ExprEvalStep' size-in-bits='512' is-struct='yes' visibility='default' id='d3b295aa'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='opcode' type-id='33dbba72' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resvalue' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='d' type-id='7f139c63' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FdwRoutine' is-struct='yes' visibility='default' is-declaration-only='yes' id='870496e8'/>
+    <class-decl name='GlobalVisState' is-struct='yes' visibility='default' is-declaration-only='yes' id='16f01b5d'/>
+    <class-decl name='HTAB' is-struct='yes' visibility='default' is-declaration-only='yes' id='d3f73eb6'/>
+    <class-decl name='IndexAmRoutine' is-struct='yes' visibility='default' is-declaration-only='yes' id='0fa0ca0f'/>
+    <class-decl name='JitContext' is-struct='yes' visibility='default' is-declaration-only='yes' id='67f61e43'/>
+    <class-decl name='JitInstrumentation' is-struct='yes' visibility='default' is-declaration-only='yes' id='adb8d8aa'/>
+    <class-decl name='MemoryContextData' size-in-bits='640' is-struct='yes' visibility='default' id='60ea65f1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='isReset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='allowInCritSection' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='mem_allocated' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='methods' type-id='207065e6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='parent' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='firstchild' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='prevchild' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='nextchild' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='name' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ident' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='reset_cbs' type-id='ce502280' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PartitionDescData' is-struct='yes' visibility='default' is-declaration-only='yes' id='6678ac94'/>
+    <class-decl name='PartitionDirectoryData' is-struct='yes' visibility='default' is-declaration-only='yes' id='9cf45a44'/>
+    <class-decl name='PartitionKeyData' is-struct='yes' visibility='default' is-declaration-only='yes' id='d3523890'/>
+    <class-decl name='PgStat_TableStatus' is-struct='yes' visibility='default' is-declaration-only='yes' id='7e3f796b'/>
+    <class-decl name='QueryEnvironment' is-struct='yes' visibility='default' is-declaration-only='yes' id='1e791674'/>
+    <class-decl name='ResourceOwnerData' is-struct='yes' visibility='default' is-declaration-only='yes' id='d301d814'/>
+    <class-decl name='RowSecurityDesc' is-struct='yes' visibility='default' is-declaration-only='yes' id='09e09440'/>
+    <class-decl name='ScanKeyData' is-struct='yes' visibility='default' is-declaration-only='yes' id='c48e0f27'/>
+    <class-decl name='SharedJitInstrumentation' is-struct='yes' visibility='default' is-declaration-only='yes' id='94925cc3'/>
+    <class-decl name='TsmRoutine' is-struct='yes' visibility='default' is-declaration-only='yes' id='6eb3206d'/>
+    <class-decl name='Tuplestorestate' is-struct='yes' visibility='default' is-declaration-only='yes' id='ffe56677'/>
+    <class-decl name='TypeCacheEnumData' is-struct='yes' visibility='default' is-declaration-only='yes' id='a9e05f68'/>
+    <class-decl name='VacuumParams' is-struct='yes' visibility='default' is-declaration-only='yes' id='0fc947f8'/>
+    <class-decl name='ValidateIndexState' is-struct='yes' visibility='default' is-declaration-only='yes' id='b450a3ea'/>
+    <class-decl name='_MdfdVec' is-struct='yes' visibility='default' is-declaration-only='yes' id='20ae5afd'/>
+    <class-decl name='_SPI_plan' is-struct='yes' visibility='default' is-declaration-only='yes' id='a8e0f606'/>
+    <class-decl name='dsa_area' is-struct='yes' visibility='default' is-declaration-only='yes' id='255914cd'/>
+    <type-decl name='double' size-in-bits='64' id='a0eb0f08'/>
+    <type-decl name='float' size-in-bits='32' id='a6c45d85'/>
+    <type-decl name='int' size-in-bits='32' id='95e97e5e'/>
+    <array-type-def dimensions='1' type-id='27de9c2e' size-in-bits='infinite' id='26f3f8d9'>
+      <subrange length='infinite' type-id='7359adad' id='031f2035'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='95e97e5e' size-in-bits='3200' id='9715b4e5'>
+      <subrange length='100' type-id='7359adad' id='4196563c'/>
+    </array-type-def>
+    <array-type-def dimensions='1' type-id='95e97e5e' size-in-bits='128' id='2020bac4'>
+      <subrange length='4' type-id='7359adad' id='16fe7105'/>
+    </array-type-def>
+    <type-decl name='long int' size-in-bits='64' id='bd54fe1a'/>
+    <type-decl name='short int' size-in-bits='16' id='a2185560'/>
+    <type-decl name='unnamed-enum-underlying-type-32' is-anonymous='yes' size-in-bits='32' alignment-in-bits='32' id='9cac1fee'/>
+    <type-decl name='unsigned char' size-in-bits='8' id='002ac4a6'/>
+    <type-decl name='unsigned int' size-in-bits='32' id='f0981eeb'/>
+    <type-decl name='unsigned long int' size-in-bits='64' id='7359adad'/>
+    <type-decl name='unsigned short int' size-in-bits='16' id='8efea9e5'/>
+    <type-decl name='void' id='48b5725f'/>
+    <typedef-decl name='YYSTYPE' type-id='5422c36b' id='a0a25e5b'/>
+    <union-decl name='YYSTYPE' size-in-bits='256' visibility='default' id='5422c36b'>
+      <data-member access='private'>
+        <var-decl name='core_yystype' type-id='72f376cb' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='ival' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='keyword' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='word' type-id='72483a88' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='cword' type-id='42c12c31' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='wdatum' type-id='23ec1bb4' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='boolean' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='varname' type-id='eaef6c32' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='forvariable' type-id='5a52a4b6' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='declhdr' type-id='c86b095c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='loop_body' type-id='391bab54' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='dtype' type-id='b02e3f7d' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='datum' type-id='42d4c35a' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='var' type-id='8bc35814' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='expr' type-id='575e2306' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='stmt' type-id='583566eb' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='condition' type-id='8c079e74' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='exception' type-id='781f2a4c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='exception_block' type-id='15a18f82' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='nsitem' type-id='f0068755' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='diagitem' type-id='4d924482' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='fetch' type-id='a8e1fd92' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='casewhen' type-id='69e43ed0' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='core_YYSTYPE' type-id='1c3d95bb' id='72f376cb'/>
+    <union-decl name='core_YYSTYPE' size-in-bits='64' visibility='default' id='1c3d95bb'>
+      <data-member access='private'>
+        <var-decl name='ival' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='str' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='keyword' type-id='80f4b756' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='PLword' type-id='0e6418f1' id='72483a88'/>
+    <class-decl name='PLword' size-in-bits='128' is-struct='yes' visibility='default' id='0e6418f1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ident' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='quoted' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLcword' type-id='8d747f02' id='42c12c31'/>
+    <class-decl name='PLcword' size-in-bits='64' is-struct='yes' visibility='default' id='8d747f02'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idents' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='List' type-id='6852ba09' id='db0045d4'/>
+    <class-decl name='List' size-in-bits='192' is-struct='yes' visibility='default' id='6852ba09'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='length' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='max_length' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='elements' type-id='ac606329' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='initial_elements' type-id='93433141' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='NodeTag' type-id='8a25f004' id='57011038'/>
+    <enum-decl name='NodeTag' id='8a25f004'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='T_Invalid' value='0'/>
+      <enumerator name='T_List' value='1'/>
+      <enumerator name='T_Alias' value='2'/>
+      <enumerator name='T_RangeVar' value='3'/>
+      <enumerator name='T_TableFunc' value='4'/>
+      <enumerator name='T_IntoClause' value='5'/>
+      <enumerator name='T_Var' value='6'/>
+      <enumerator name='T_Const' value='7'/>
+      <enumerator name='T_Param' value='8'/>
+      <enumerator name='T_Aggref' value='9'/>
+      <enumerator name='T_GroupingFunc' value='10'/>
+      <enumerator name='T_WindowFunc' value='11'/>
+      <enumerator name='T_SubscriptingRef' value='12'/>
+      <enumerator name='T_FuncExpr' value='13'/>
+      <enumerator name='T_NamedArgExpr' value='14'/>
+      <enumerator name='T_OpExpr' value='15'/>
+      <enumerator name='T_DistinctExpr' value='16'/>
+      <enumerator name='T_NullIfExpr' value='17'/>
+      <enumerator name='T_ScalarArrayOpExpr' value='18'/>
+      <enumerator name='T_BoolExpr' value='19'/>
+      <enumerator name='T_SubLink' value='20'/>
+      <enumerator name='T_SubPlan' value='21'/>
+      <enumerator name='T_AlternativeSubPlan' value='22'/>
+      <enumerator name='T_FieldSelect' value='23'/>
+      <enumerator name='T_FieldStore' value='24'/>
+      <enumerator name='T_RelabelType' value='25'/>
+      <enumerator name='T_CoerceViaIO' value='26'/>
+      <enumerator name='T_ArrayCoerceExpr' value='27'/>
+      <enumerator name='T_ConvertRowtypeExpr' value='28'/>
+      <enumerator name='T_CollateExpr' value='29'/>
+      <enumerator name='T_CaseExpr' value='30'/>
+      <enumerator name='T_CaseWhen' value='31'/>
+      <enumerator name='T_CaseTestExpr' value='32'/>
+      <enumerator name='T_ArrayExpr' value='33'/>
+      <enumerator name='T_RowExpr' value='34'/>
+      <enumerator name='T_RowCompareExpr' value='35'/>
+      <enumerator name='T_CoalesceExpr' value='36'/>
+      <enumerator name='T_MinMaxExpr' value='37'/>
+      <enumerator name='T_SQLValueFunction' value='38'/>
+      <enumerator name='T_XmlExpr' value='39'/>
+      <enumerator name='T_JsonFormat' value='40'/>
+      <enumerator name='T_JsonReturning' value='41'/>
+      <enumerator name='T_JsonValueExpr' value='42'/>
+      <enumerator name='T_JsonConstructorExpr' value='43'/>
+      <enumerator name='T_JsonIsPredicate' value='44'/>
+      <enumerator name='T_NullTest' value='45'/>
+      <enumerator name='T_BooleanTest' value='46'/>
+      <enumerator name='T_CoerceToDomain' value='47'/>
+      <enumerator name='T_CoerceToDomainValue' value='48'/>
+      <enumerator name='T_SetToDefault' value='49'/>
+      <enumerator name='T_CurrentOfExpr' value='50'/>
+      <enumerator name='T_NextValueExpr' value='51'/>
+      <enumerator name='T_InferenceElem' value='52'/>
+      <enumerator name='T_TargetEntry' value='53'/>
+      <enumerator name='T_RangeTblRef' value='54'/>
+      <enumerator name='T_JoinExpr' value='55'/>
+      <enumerator name='T_FromExpr' value='56'/>
+      <enumerator name='T_OnConflictExpr' value='57'/>
+      <enumerator name='T_Query' value='58'/>
+      <enumerator name='T_TypeName' value='59'/>
+      <enumerator name='T_ColumnRef' value='60'/>
+      <enumerator name='T_ParamRef' value='61'/>
+      <enumerator name='T_A_Expr' value='62'/>
+      <enumerator name='T_A_Const' value='63'/>
+      <enumerator name='T_TypeCast' value='64'/>
+      <enumerator name='T_CollateClause' value='65'/>
+      <enumerator name='T_RoleSpec' value='66'/>
+      <enumerator name='T_FuncCall' value='67'/>
+      <enumerator name='T_A_Star' value='68'/>
+      <enumerator name='T_A_Indices' value='69'/>
+      <enumerator name='T_A_Indirection' value='70'/>
+      <enumerator name='T_A_ArrayExpr' value='71'/>
+      <enumerator name='T_ResTarget' value='72'/>
+      <enumerator name='T_MultiAssignRef' value='73'/>
+      <enumerator name='T_SortBy' value='74'/>
+      <enumerator name='T_WindowDef' value='75'/>
+      <enumerator name='T_RangeSubselect' value='76'/>
+      <enumerator name='T_RangeFunction' value='77'/>
+      <enumerator name='T_RangeTableFunc' value='78'/>
+      <enumerator name='T_RangeTableFuncCol' value='79'/>
+      <enumerator name='T_RangeTableSample' value='80'/>
+      <enumerator name='T_ColumnDef' value='81'/>
+      <enumerator name='T_TableLikeClause' value='82'/>
+      <enumerator name='T_IndexElem' value='83'/>
+      <enumerator name='T_DefElem' value='84'/>
+      <enumerator name='T_LockingClause' value='85'/>
+      <enumerator name='T_XmlSerialize' value='86'/>
+      <enumerator name='T_PartitionElem' value='87'/>
+      <enumerator name='T_PartitionSpec' value='88'/>
+      <enumerator name='T_PartitionBoundSpec' value='89'/>
+      <enumerator name='T_PartitionRangeDatum' value='90'/>
+      <enumerator name='T_PartitionCmd' value='91'/>
+      <enumerator name='T_RangeTblEntry' value='92'/>
+      <enumerator name='T_RTEPermissionInfo' value='93'/>
+      <enumerator name='T_RangeTblFunction' value='94'/>
+      <enumerator name='T_TableSampleClause' value='95'/>
+      <enumerator name='T_WithCheckOption' value='96'/>
+      <enumerator name='T_SortGroupClause' value='97'/>
+      <enumerator name='T_GroupingSet' value='98'/>
+      <enumerator name='T_WindowClause' value='99'/>
+      <enumerator name='T_RowMarkClause' value='100'/>
+      <enumerator name='T_WithClause' value='101'/>
+      <enumerator name='T_InferClause' value='102'/>
+      <enumerator name='T_OnConflictClause' value='103'/>
+      <enumerator name='T_CTESearchClause' value='104'/>
+      <enumerator name='T_CTECycleClause' value='105'/>
+      <enumerator name='T_CommonTableExpr' value='106'/>
+      <enumerator name='T_MergeWhenClause' value='107'/>
+      <enumerator name='T_MergeAction' value='108'/>
+      <enumerator name='T_TriggerTransition' value='109'/>
+      <enumerator name='T_JsonOutput' value='110'/>
+      <enumerator name='T_JsonKeyValue' value='111'/>
+      <enumerator name='T_JsonParseExpr' value='112'/>
+      <enumerator name='T_JsonScalarExpr' value='113'/>
+      <enumerator name='T_JsonSerializeExpr' value='114'/>
+      <enumerator name='T_JsonObjectConstructor' value='115'/>
+      <enumerator name='T_JsonArrayConstructor' value='116'/>
+      <enumerator name='T_JsonArrayQueryConstructor' value='117'/>
+      <enumerator name='T_JsonAggConstructor' value='118'/>
+      <enumerator name='T_JsonObjectAgg' value='119'/>
+      <enumerator name='T_JsonArrayAgg' value='120'/>
+      <enumerator name='T_RawStmt' value='121'/>
+      <enumerator name='T_InsertStmt' value='122'/>
+      <enumerator name='T_DeleteStmt' value='123'/>
+      <enumerator name='T_UpdateStmt' value='124'/>
+      <enumerator name='T_MergeStmt' value='125'/>
+      <enumerator name='T_SelectStmt' value='126'/>
+      <enumerator name='T_SetOperationStmt' value='127'/>
+      <enumerator name='T_ReturnStmt' value='128'/>
+      <enumerator name='T_PLAssignStmt' value='129'/>
+      <enumerator name='T_CreateSchemaStmt' value='130'/>
+      <enumerator name='T_AlterTableStmt' value='131'/>
+      <enumerator name='T_ReplicaIdentityStmt' value='132'/>
+      <enumerator name='T_AlterTableCmd' value='133'/>
+      <enumerator name='T_AlterCollationStmt' value='134'/>
+      <enumerator name='T_AlterDomainStmt' value='135'/>
+      <enumerator name='T_GrantStmt' value='136'/>
+      <enumerator name='T_ObjectWithArgs' value='137'/>
+      <enumerator name='T_AccessPriv' value='138'/>
+      <enumerator name='T_GrantRoleStmt' value='139'/>
+      <enumerator name='T_AlterDefaultPrivilegesStmt' value='140'/>
+      <enumerator name='T_CopyStmt' value='141'/>
+      <enumerator name='T_VariableSetStmt' value='142'/>
+      <enumerator name='T_VariableShowStmt' value='143'/>
+      <enumerator name='T_CreateStmt' value='144'/>
+      <enumerator name='T_Constraint' value='145'/>
+      <enumerator name='T_CreateTableSpaceStmt' value='146'/>
+      <enumerator name='T_DropTableSpaceStmt' value='147'/>
+      <enumerator name='T_AlterTableSpaceOptionsStmt' value='148'/>
+      <enumerator name='T_AlterTableMoveAllStmt' value='149'/>
+      <enumerator name='T_CreateExtensionStmt' value='150'/>
+      <enumerator name='T_AlterExtensionStmt' value='151'/>
+      <enumerator name='T_AlterExtensionContentsStmt' value='152'/>
+      <enumerator name='T_CreateFdwStmt' value='153'/>
+      <enumerator name='T_AlterFdwStmt' value='154'/>
+      <enumerator name='T_CreateForeignServerStmt' value='155'/>
+      <enumerator name='T_AlterForeignServerStmt' value='156'/>
+      <enumerator name='T_CreateForeignTableStmt' value='157'/>
+      <enumerator name='T_CreateUserMappingStmt' value='158'/>
+      <enumerator name='T_AlterUserMappingStmt' value='159'/>
+      <enumerator name='T_DropUserMappingStmt' value='160'/>
+      <enumerator name='T_ImportForeignSchemaStmt' value='161'/>
+      <enumerator name='T_CreatePolicyStmt' value='162'/>
+      <enumerator name='T_AlterPolicyStmt' value='163'/>
+      <enumerator name='T_CreateAmStmt' value='164'/>
+      <enumerator name='T_CreateTrigStmt' value='165'/>
+      <enumerator name='T_CreateEventTrigStmt' value='166'/>
+      <enumerator name='T_AlterEventTrigStmt' value='167'/>
+      <enumerator name='T_CreatePLangStmt' value='168'/>
+      <enumerator name='T_CreateRoleStmt' value='169'/>
+      <enumerator name='T_AlterRoleStmt' value='170'/>
+      <enumerator name='T_AlterRoleSetStmt' value='171'/>
+      <enumerator name='T_DropRoleStmt' value='172'/>
+      <enumerator name='T_CreateSeqStmt' value='173'/>
+      <enumerator name='T_AlterSeqStmt' value='174'/>
+      <enumerator name='T_DefineStmt' value='175'/>
+      <enumerator name='T_CreateDomainStmt' value='176'/>
+      <enumerator name='T_CreateOpClassStmt' value='177'/>
+      <enumerator name='T_CreateOpClassItem' value='178'/>
+      <enumerator name='T_CreateOpFamilyStmt' value='179'/>
+      <enumerator name='T_AlterOpFamilyStmt' value='180'/>
+      <enumerator name='T_DropStmt' value='181'/>
+      <enumerator name='T_TruncateStmt' value='182'/>
+      <enumerator name='T_CommentStmt' value='183'/>
+      <enumerator name='T_SecLabelStmt' value='184'/>
+      <enumerator name='T_DeclareCursorStmt' value='185'/>
+      <enumerator name='T_ClosePortalStmt' value='186'/>
+      <enumerator name='T_FetchStmt' value='187'/>
+      <enumerator name='T_IndexStmt' value='188'/>
+      <enumerator name='T_CreateStatsStmt' value='189'/>
+      <enumerator name='T_StatsElem' value='190'/>
+      <enumerator name='T_AlterStatsStmt' value='191'/>
+      <enumerator name='T_CreateFunctionStmt' value='192'/>
+      <enumerator name='T_FunctionParameter' value='193'/>
+      <enumerator name='T_AlterFunctionStmt' value='194'/>
+      <enumerator name='T_DoStmt' value='195'/>
+      <enumerator name='T_InlineCodeBlock' value='196'/>
+      <enumerator name='T_CallStmt' value='197'/>
+      <enumerator name='T_CallContext' value='198'/>
+      <enumerator name='T_RenameStmt' value='199'/>
+      <enumerator name='T_AlterObjectDependsStmt' value='200'/>
+      <enumerator name='T_AlterObjectSchemaStmt' value='201'/>
+      <enumerator name='T_AlterOwnerStmt' value='202'/>
+      <enumerator name='T_AlterOperatorStmt' value='203'/>
+      <enumerator name='T_AlterTypeStmt' value='204'/>
+      <enumerator name='T_RuleStmt' value='205'/>
+      <enumerator name='T_NotifyStmt' value='206'/>
+      <enumerator name='T_ListenStmt' value='207'/>
+      <enumerator name='T_UnlistenStmt' value='208'/>
+      <enumerator name='T_TransactionStmt' value='209'/>
+      <enumerator name='T_CompositeTypeStmt' value='210'/>
+      <enumerator name='T_CreateEnumStmt' value='211'/>
+      <enumerator name='T_CreateRangeStmt' value='212'/>
+      <enumerator name='T_AlterEnumStmt' value='213'/>
+      <enumerator name='T_ViewStmt' value='214'/>
+      <enumerator name='T_LoadStmt' value='215'/>
+      <enumerator name='T_CreatedbStmt' value='216'/>
+      <enumerator name='T_AlterDatabaseStmt' value='217'/>
+      <enumerator name='T_AlterDatabaseRefreshCollStmt' value='218'/>
+      <enumerator name='T_AlterDatabaseSetStmt' value='219'/>
+      <enumerator name='T_DropdbStmt' value='220'/>
+      <enumerator name='T_AlterSystemStmt' value='221'/>
+      <enumerator name='T_ClusterStmt' value='222'/>
+      <enumerator name='T_VacuumStmt' value='223'/>
+      <enumerator name='T_VacuumRelation' value='224'/>
+      <enumerator name='T_ExplainStmt' value='225'/>
+      <enumerator name='T_CreateTableAsStmt' value='226'/>
+      <enumerator name='T_RefreshMatViewStmt' value='227'/>
+      <enumerator name='T_CheckPointStmt' value='228'/>
+      <enumerator name='T_DiscardStmt' value='229'/>
+      <enumerator name='T_LockStmt' value='230'/>
+      <enumerator name='T_ConstraintsSetStmt' value='231'/>
+      <enumerator name='T_ReindexStmt' value='232'/>
+      <enumerator name='T_CreateConversionStmt' value='233'/>
+      <enumerator name='T_CreateCastStmt' value='234'/>
+      <enumerator name='T_CreateTransformStmt' value='235'/>
+      <enumerator name='T_PrepareStmt' value='236'/>
+      <enumerator name='T_ExecuteStmt' value='237'/>
+      <enumerator name='T_DeallocateStmt' value='238'/>
+      <enumerator name='T_DropOwnedStmt' value='239'/>
+      <enumerator name='T_ReassignOwnedStmt' value='240'/>
+      <enumerator name='T_AlterTSDictionaryStmt' value='241'/>
+      <enumerator name='T_AlterTSConfigurationStmt' value='242'/>
+      <enumerator name='T_PublicationTable' value='243'/>
+      <enumerator name='T_PublicationObjSpec' value='244'/>
+      <enumerator name='T_CreatePublicationStmt' value='245'/>
+      <enumerator name='T_AlterPublicationStmt' value='246'/>
+      <enumerator name='T_CreateSubscriptionStmt' value='247'/>
+      <enumerator name='T_AlterSubscriptionStmt' value='248'/>
+      <enumerator name='T_DropSubscriptionStmt' value='249'/>
+      <enumerator name='T_PlannerGlobal' value='250'/>
+      <enumerator name='T_PlannerInfo' value='251'/>
+      <enumerator name='T_RelOptInfo' value='252'/>
+      <enumerator name='T_IndexOptInfo' value='253'/>
+      <enumerator name='T_ForeignKeyOptInfo' value='254'/>
+      <enumerator name='T_StatisticExtInfo' value='255'/>
+      <enumerator name='T_JoinDomain' value='256'/>
+      <enumerator name='T_EquivalenceClass' value='257'/>
+      <enumerator name='T_EquivalenceMember' value='258'/>
+      <enumerator name='T_PathKey' value='259'/>
+      <enumerator name='T_PathTarget' value='260'/>
+      <enumerator name='T_ParamPathInfo' value='261'/>
+      <enumerator name='T_Path' value='262'/>
+      <enumerator name='T_IndexPath' value='263'/>
+      <enumerator name='T_IndexClause' value='264'/>
+      <enumerator name='T_BitmapHeapPath' value='265'/>
+      <enumerator name='T_BitmapAndPath' value='266'/>
+      <enumerator name='T_BitmapOrPath' value='267'/>
+      <enumerator name='T_TidPath' value='268'/>
+      <enumerator name='T_TidRangePath' value='269'/>
+      <enumerator name='T_SubqueryScanPath' value='270'/>
+      <enumerator name='T_ForeignPath' value='271'/>
+      <enumerator name='T_CustomPath' value='272'/>
+      <enumerator name='T_AppendPath' value='273'/>
+      <enumerator name='T_MergeAppendPath' value='274'/>
+      <enumerator name='T_GroupResultPath' value='275'/>
+      <enumerator name='T_MaterialPath' value='276'/>
+      <enumerator name='T_MemoizePath' value='277'/>
+      <enumerator name='T_UniquePath' value='278'/>
+      <enumerator name='T_GatherPath' value='279'/>
+      <enumerator name='T_GatherMergePath' value='280'/>
+      <enumerator name='T_NestPath' value='281'/>
+      <enumerator name='T_MergePath' value='282'/>
+      <enumerator name='T_HashPath' value='283'/>
+      <enumerator name='T_ProjectionPath' value='284'/>
+      <enumerator name='T_ProjectSetPath' value='285'/>
+      <enumerator name='T_SortPath' value='286'/>
+      <enumerator name='T_IncrementalSortPath' value='287'/>
+      <enumerator name='T_GroupPath' value='288'/>
+      <enumerator name='T_UpperUniquePath' value='289'/>
+      <enumerator name='T_AggPath' value='290'/>
+      <enumerator name='T_GroupingSetData' value='291'/>
+      <enumerator name='T_RollupData' value='292'/>
+      <enumerator name='T_GroupingSetsPath' value='293'/>
+      <enumerator name='T_MinMaxAggPath' value='294'/>
+      <enumerator name='T_WindowAggPath' value='295'/>
+      <enumerator name='T_SetOpPath' value='296'/>
+      <enumerator name='T_RecursiveUnionPath' value='297'/>
+      <enumerator name='T_LockRowsPath' value='298'/>
+      <enumerator name='T_ModifyTablePath' value='299'/>
+      <enumerator name='T_LimitPath' value='300'/>
+      <enumerator name='T_RestrictInfo' value='301'/>
+      <enumerator name='T_PlaceHolderVar' value='302'/>
+      <enumerator name='T_SpecialJoinInfo' value='303'/>
+      <enumerator name='T_OuterJoinClauseInfo' value='304'/>
+      <enumerator name='T_AppendRelInfo' value='305'/>
+      <enumerator name='T_RowIdentityVarInfo' value='306'/>
+      <enumerator name='T_PlaceHolderInfo' value='307'/>
+      <enumerator name='T_MinMaxAggInfo' value='308'/>
+      <enumerator name='T_PlannerParamItem' value='309'/>
+      <enumerator name='T_AggInfo' value='310'/>
+      <enumerator name='T_AggTransInfo' value='311'/>
+      <enumerator name='T_UniqueRelInfo' value='312'/>
+      <enumerator name='T_PlannedStmt' value='313'/>
+      <enumerator name='T_Result' value='314'/>
+      <enumerator name='T_ProjectSet' value='315'/>
+      <enumerator name='T_ModifyTable' value='316'/>
+      <enumerator name='T_Append' value='317'/>
+      <enumerator name='T_MergeAppend' value='318'/>
+      <enumerator name='T_RecursiveUnion' value='319'/>
+      <enumerator name='T_BitmapAnd' value='320'/>
+      <enumerator name='T_BitmapOr' value='321'/>
+      <enumerator name='T_SeqScan' value='322'/>
+      <enumerator name='T_SampleScan' value='323'/>
+      <enumerator name='T_IndexScan' value='324'/>
+      <enumerator name='T_IndexOnlyScan' value='325'/>
+      <enumerator name='T_BitmapIndexScan' value='326'/>
+      <enumerator name='T_BitmapHeapScan' value='327'/>
+      <enumerator name='T_TidScan' value='328'/>
+      <enumerator name='T_TidRangeScan' value='329'/>
+      <enumerator name='T_SubqueryScan' value='330'/>
+      <enumerator name='T_FunctionScan' value='331'/>
+      <enumerator name='T_ValuesScan' value='332'/>
+      <enumerator name='T_TableFuncScan' value='333'/>
+      <enumerator name='T_CteScan' value='334'/>
+      <enumerator name='T_NamedTuplestoreScan' value='335'/>
+      <enumerator name='T_WorkTableScan' value='336'/>
+      <enumerator name='T_ForeignScan' value='337'/>
+      <enumerator name='T_CustomScan' value='338'/>
+      <enumerator name='T_NestLoop' value='339'/>
+      <enumerator name='T_NestLoopParam' value='340'/>
+      <enumerator name='T_MergeJoin' value='341'/>
+      <enumerator name='T_HashJoin' value='342'/>
+      <enumerator name='T_Material' value='343'/>
+      <enumerator name='T_Memoize' value='344'/>
+      <enumerator name='T_Sort' value='345'/>
+      <enumerator name='T_IncrementalSort' value='346'/>
+      <enumerator name='T_Group' value='347'/>
+      <enumerator name='T_Agg' value='348'/>
+      <enumerator name='T_WindowAgg' value='349'/>
+      <enumerator name='T_Unique' value='350'/>
+      <enumerator name='T_Gather' value='351'/>
+      <enumerator name='T_GatherMerge' value='352'/>
+      <enumerator name='T_Hash' value='353'/>
+      <enumerator name='T_SetOp' value='354'/>
+      <enumerator name='T_LockRows' value='355'/>
+      <enumerator name='T_Limit' value='356'/>
+      <enumerator name='T_PlanRowMark' value='357'/>
+      <enumerator name='T_PartitionPruneInfo' value='358'/>
+      <enumerator name='T_PartitionedRelPruneInfo' value='359'/>
+      <enumerator name='T_PartitionPruneStepOp' value='360'/>
+      <enumerator name='T_PartitionPruneStepCombine' value='361'/>
+      <enumerator name='T_PlanInvalItem' value='362'/>
+      <enumerator name='T_ExprState' value='363'/>
+      <enumerator name='T_IndexInfo' value='364'/>
+      <enumerator name='T_ExprContext' value='365'/>
+      <enumerator name='T_ReturnSetInfo' value='366'/>
+      <enumerator name='T_ProjectionInfo' value='367'/>
+      <enumerator name='T_JunkFilter' value='368'/>
+      <enumerator name='T_OnConflictSetState' value='369'/>
+      <enumerator name='T_MergeActionState' value='370'/>
+      <enumerator name='T_ResultRelInfo' value='371'/>
+      <enumerator name='T_EState' value='372'/>
+      <enumerator name='T_WindowFuncExprState' value='373'/>
+      <enumerator name='T_SetExprState' value='374'/>
+      <enumerator name='T_SubPlanState' value='375'/>
+      <enumerator name='T_DomainConstraintState' value='376'/>
+      <enumerator name='T_ResultState' value='377'/>
+      <enumerator name='T_ProjectSetState' value='378'/>
+      <enumerator name='T_ModifyTableState' value='379'/>
+      <enumerator name='T_AppendState' value='380'/>
+      <enumerator name='T_MergeAppendState' value='381'/>
+      <enumerator name='T_RecursiveUnionState' value='382'/>
+      <enumerator name='T_BitmapAndState' value='383'/>
+      <enumerator name='T_BitmapOrState' value='384'/>
+      <enumerator name='T_ScanState' value='385'/>
+      <enumerator name='T_SeqScanState' value='386'/>
+      <enumerator name='T_SampleScanState' value='387'/>
+      <enumerator name='T_IndexScanState' value='388'/>
+      <enumerator name='T_IndexOnlyScanState' value='389'/>
+      <enumerator name='T_BitmapIndexScanState' value='390'/>
+      <enumerator name='T_BitmapHeapScanState' value='391'/>
+      <enumerator name='T_TidScanState' value='392'/>
+      <enumerator name='T_TidRangeScanState' value='393'/>
+      <enumerator name='T_SubqueryScanState' value='394'/>
+      <enumerator name='T_FunctionScanState' value='395'/>
+      <enumerator name='T_ValuesScanState' value='396'/>
+      <enumerator name='T_TableFuncScanState' value='397'/>
+      <enumerator name='T_CteScanState' value='398'/>
+      <enumerator name='T_NamedTuplestoreScanState' value='399'/>
+      <enumerator name='T_WorkTableScanState' value='400'/>
+      <enumerator name='T_ForeignScanState' value='401'/>
+      <enumerator name='T_CustomScanState' value='402'/>
+      <enumerator name='T_JoinState' value='403'/>
+      <enumerator name='T_NestLoopState' value='404'/>
+      <enumerator name='T_MergeJoinState' value='405'/>
+      <enumerator name='T_HashJoinState' value='406'/>
+      <enumerator name='T_MaterialState' value='407'/>
+      <enumerator name='T_MemoizeState' value='408'/>
+      <enumerator name='T_SortState' value='409'/>
+      <enumerator name='T_IncrementalSortState' value='410'/>
+      <enumerator name='T_GroupState' value='411'/>
+      <enumerator name='T_AggState' value='412'/>
+      <enumerator name='T_WindowAggState' value='413'/>
+      <enumerator name='T_UniqueState' value='414'/>
+      <enumerator name='T_GatherState' value='415'/>
+      <enumerator name='T_GatherMergeState' value='416'/>
+      <enumerator name='T_HashState' value='417'/>
+      <enumerator name='T_SetOpState' value='418'/>
+      <enumerator name='T_LockRowsState' value='419'/>
+      <enumerator name='T_LimitState' value='420'/>
+      <enumerator name='T_IndexAmRoutine' value='421'/>
+      <enumerator name='T_TableAmRoutine' value='422'/>
+      <enumerator name='T_TsmRoutine' value='423'/>
+      <enumerator name='T_EventTriggerData' value='424'/>
+      <enumerator name='T_TriggerData' value='425'/>
+      <enumerator name='T_TupleTableSlot' value='426'/>
+      <enumerator name='T_FdwRoutine' value='427'/>
+      <enumerator name='T_Bitmapset' value='428'/>
+      <enumerator name='T_ExtensibleNode' value='429'/>
+      <enumerator name='T_ErrorSaveContext' value='430'/>
+      <enumerator name='T_IdentifySystemCmd' value='431'/>
+      <enumerator name='T_BaseBackupCmd' value='432'/>
+      <enumerator name='T_CreateReplicationSlotCmd' value='433'/>
+      <enumerator name='T_DropReplicationSlotCmd' value='434'/>
+      <enumerator name='T_StartReplicationCmd' value='435'/>
+      <enumerator name='T_ReadReplicationSlotCmd' value='436'/>
+      <enumerator name='T_TimeLineHistoryCmd' value='437'/>
+      <enumerator name='T_SupportRequestSimplify' value='438'/>
+      <enumerator name='T_SupportRequestSelectivity' value='439'/>
+      <enumerator name='T_SupportRequestCost' value='440'/>
+      <enumerator name='T_SupportRequestRows' value='441'/>
+      <enumerator name='T_SupportRequestIndexCondition' value='442'/>
+      <enumerator name='T_SupportRequestWFuncMonotonic' value='443'/>
+      <enumerator name='T_SupportRequestOptimizeWindowClause' value='444'/>
+      <enumerator name='T_Integer' value='445'/>
+      <enumerator name='T_Float' value='446'/>
+      <enumerator name='T_Boolean' value='447'/>
+      <enumerator name='T_String' value='448'/>
+      <enumerator name='T_BitString' value='449'/>
+      <enumerator name='T_ForeignKeyCacheInfo' value='450'/>
+      <enumerator name='T_IntList' value='451'/>
+      <enumerator name='T_OidList' value='452'/>
+      <enumerator name='T_XidList' value='453'/>
+      <enumerator name='T_AllocSetContext' value='454'/>
+      <enumerator name='T_GenerationContext' value='455'/>
+      <enumerator name='T_SlabContext' value='456'/>
+      <enumerator name='T_TIDBitmap' value='457'/>
+      <enumerator name='T_WindowObjectData' value='458'/>
+    </enum-decl>
+    <typedef-decl name='ListCell' type-id='72e21cd8' id='4f9e23e8'/>
+    <union-decl name='ListCell' size-in-bits='64' visibility='default' id='72e21cd8'>
+      <data-member access='private'>
+        <var-decl name='ptr_value' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='int_value' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='oid_value' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='xid_value' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='Oid' type-id='f0981eeb' id='63cf087c'/>
+    <typedef-decl name='TransactionId' type-id='7aa912f5' id='2d7d3949'/>
+    <typedef-decl name='uint32' type-id='f0981eeb' id='7aa912f5'/>
+    <typedef-decl name='PLwdatum' type-id='283930d1' id='23ec1bb4'/>
+    <class-decl name='PLwdatum' size-in-bits='256' is-struct='yes' visibility='default' id='283930d1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='datum' type-id='42d4c35a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ident' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='quoted' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='idents' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_datum' type-id='4ecb5a4c' id='d86ba563'/>
+    <class-decl name='PLpgSQL_datum' size-in-bits='64' is-struct='yes' visibility='default' id='4ecb5a4c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dtype' type-id='8fdeefdc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_datum_type' type-id='75857318' id='8fdeefdc'/>
+    <enum-decl name='PLpgSQL_datum_type' id='75857318'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_DTYPE_VAR' value='0'/>
+      <enumerator name='PLPGSQL_DTYPE_ROW' value='1'/>
+      <enumerator name='PLPGSQL_DTYPE_REC' value='2'/>
+      <enumerator name='PLPGSQL_DTYPE_RECFIELD' value='3'/>
+      <enumerator name='PLPGSQL_DTYPE_PROMISE' value='4'/>
+    </enum-decl>
+    <class-decl name='__anonymous_struct__' size-in-bits='128' is-struct='yes' is-anonymous='yes' visibility='default' id='eaef6c32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__1' size-in-bits='256' is-struct='yes' is-anonymous='yes' visibility='default' id='5a52a4b6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='scalar' type-id='42d4c35a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='row' type-id='42d4c35a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__2' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='c86b095c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='label' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='n_initvars' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='initvarnos' type-id='7292109c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='__anonymous_struct__3' size-in-bits='192' is-struct='yes' is-anonymous='yes' visibility='default' id='391bab54'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='stmts' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='end_label' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='end_label_location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_type' type-id='e8226b2d' id='c5027e70'/>
+    <class-decl name='PLpgSQL_type' size-in-bits='448' is-struct='yes' visibility='default' id='e8226b2d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='typname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ttype' type-id='736dc355' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='typtype' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typisarray' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='atttypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='origtypname' type-id='9ec4c26c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tcache' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tupdesc_id' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_type_type' type-id='f4a6ce49' id='736dc355'/>
+    <enum-decl name='PLpgSQL_type_type' id='f4a6ce49'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_TTYPE_SCALAR' value='0'/>
+      <enumerator name='PLPGSQL_TTYPE_REC' value='1'/>
+      <enumerator name='PLPGSQL_TTYPE_PSEUDO' value='2'/>
+    </enum-decl>
+    <typedef-decl name='int16' type-id='a2185560' id='27de9c2e'/>
+    <typedef-decl name='int32' type-id='95e97e5e' id='93e3c360'/>
+    <typedef-decl name='TypeName' type-id='e1d79126' id='d1d2d2bf'/>
+    <class-decl name='TypeName' size-in-bits='448' is-struct='yes' visibility='default' id='e1d79126'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='names' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typeOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='setof' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='pct_type' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='typemod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='arrayBounds' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TypeCacheEntry' type-id='194c78d3' id='73830846'/>
+    <class-decl name='TypeCacheEntry' size-in-bits='3904' is-struct='yes' visibility='default' id='194c78d3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type_id' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='type_id_hash' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='typlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='typbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='88'>
+        <var-decl name='typalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='typstorage' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='typtype' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='typrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='typsubscript' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='typelem' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='typcollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='btree_opf' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='btree_opintype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='hash_opf' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='hash_opintype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='eq_opr' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='lt_opr' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='gt_opr' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='cmp_proc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='hash_proc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='hash_extended_proc' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='eq_opr_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='cmp_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='hash_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='hash_extended_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='tupDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='tupDesc_identifier' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='rngelemtype' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='rng_collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rng_cmp_proc_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rng_canonical_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='rng_subdiff_finfo' type-id='a736f7b4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='rngtype' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='domainBaseType' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3616'>
+        <var-decl name='domainBaseTypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='domainData' type-id='fd550652' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='enumData' type-id='671dcf8e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='nextDomain' type-id='aa8b2ff3' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='FmgrInfo' size-in-bits='384' is-struct='yes' visibility='default' id='e46e0d79'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fn_addr' type-id='bf77460d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fn_nargs' type-id='a2185560' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='fn_strict' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='fn_retset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_stats' type-id='002ac4a6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fn_extra' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_mcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_expr' type-id='89bbd655' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PGFunction' type-id='050f9711' id='bf77460d'/>
+    <typedef-decl name='Datum' type-id='e475ab95' id='f24b0a4f'/>
+    <typedef-decl name='uintptr_t' type-id='7359adad' id='e475ab95'/>
+    <typedef-decl name='FunctionCallInfo' type-id='046659d7' id='cbf1f029'/>
+    <class-decl name='FunctionCallInfoBaseData' size-in-bits='256' is-struct='yes' visibility='default' id='23024951'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='flinfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='context' type-id='89bbd655' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resultinfo' type-id='89bbd655' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fncollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='nargs' type-id='a2185560' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='args' type-id='a03a8123' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FmgrInfo' type-id='e46e0d79' id='a736f7b4'/>
+    <typedef-decl name='fmNodePtr' type-id='86bcc405' id='89bbd655'/>
+    <class-decl name='Node' size-in-bits='32' is-struct='yes' visibility='default' id='717e4c75'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='NullableDatum' type-id='e2d57367' id='73f7fd18'/>
+    <class-decl name='NullableDatum' size-in-bits='128' is-struct='yes' visibility='default' id='e2d57367'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='MemoryContext' type-id='34bdb839' id='9968f2f6'/>
+    <typedef-decl name='TupleDesc' type-id='455f1eca' id='39243d9b'/>
+    <class-decl name='TupleDescData' size-in-bits='192' is-struct='yes' visibility='default' id='e053624c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='natts' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tdtypeid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tdtypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='tdrefcount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='constr' type-id='f0d64c54' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='attrs' type-id='3f6b39ca' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TupleConstr' type-id='89347d5e' id='50aebc99'/>
+    <class-decl name='TupleConstr' size-in-bits='256' is-struct='yes' visibility='default' id='89347d5e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='defval' type-id='32b888cf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='check' type-id='3bc26f88' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='missing' type-id='40cf5de4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='num_defval' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='num_check' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='has_not_null' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='has_generated_stored' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AttrDefault' type-id='b6490f07' id='31fbc3e8'/>
+    <class-decl name='AttrDefault' size-in-bits='128' is-struct='yes' visibility='default' id='b6490f07'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='adnum' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='adbin' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AttrNumber' type-id='27de9c2e' id='6bdc0c3e'/>
+    <typedef-decl name='ConstrCheck' type-id='aa93fa6a' id='dc8f1689'/>
+    <class-decl name='ConstrCheck' size-in-bits='192' is-struct='yes' visibility='default' id='aa93fa6a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ccname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ccbin' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ccvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='ccnoinherit' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint16' type-id='8efea9e5' id='06a3df2b'/>
+    <typedef-decl name='FormData_pg_attribute' type-id='45ef6c22' id='ddba9bc9'/>
+    <class-decl name='FormData_pg_attribute' size-in-bits='864' is-struct='yes' visibility='default' id='45ef6c22'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='attname' type-id='d4b9f8ef' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='atttypid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='attlen' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='592'>
+        <var-decl name='attnum' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='attcacheoff' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='atttypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='attndims' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='688'>
+        <var-decl name='attbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='696'>
+        <var-decl name='attalign' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='attstorage' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='712'>
+        <var-decl name='attcompression' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='720'>
+        <var-decl name='attnotnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='728'>
+        <var-decl name='atthasdef' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='atthasmissing' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='744'>
+        <var-decl name='attidentity' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='752'>
+        <var-decl name='attgenerated' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='760'>
+        <var-decl name='attisdropped' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='attislocal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='784'>
+        <var-decl name='attinhcount' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='attstattarget' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='attcollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='NameData' type-id='16fdf6ae' id='d4b9f8ef'/>
+    <class-decl name='nameData' size-in-bits='512' is-struct='yes' visibility='default' id='16fdf6ae'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='data' type-id='59daf3ef' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint64' type-id='7359adad' id='f69d0a36'/>
+    <typedef-decl name='DomainConstraintCache' type-id='ca81fa34' id='547be363'/>
+    <typedef-decl name='PLpgSQL_var' type-id='20ad321e' id='fd4c3a79'/>
+    <class-decl name='PLpgSQL_var' size-in-bits='576' is-struct='yes' visibility='default' id='20ad321e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dtype' type-id='8fdeefdc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='isconst' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='notnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_val' type-id='575e2306' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='datatype' type-id='b02e3f7d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cursor_explicit_expr' type-id='575e2306' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='cursor_explicit_argrow' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='cursor_options' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='520'>
+        <var-decl name='freeval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='promise' type-id='a54aba9a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_expr' size-in-bits='960' is-struct='yes' visibility='default' id='6d218c90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='query' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='parseMode' type-id='79179ab2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='plan' type-id='98abc875' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='paramnos' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='func' type-id='c9560f02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ns' type-id='f0068755' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='expr_simple_expr' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='expr_simple_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='expr_simple_typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='expr_simple_mutable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='target_param' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='expr_rw_param' type-id='4c6e7969' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='expr_simple_plansource' type-id='f6d6a649' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='expr_simple_plan' type-id='da707eb2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='expr_simple_plan_lxid' type-id='52debaec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='expr_simple_state' type-id='6460b71c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='expr_simple_in_use' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='expr_simple_lxid' type-id='52debaec' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RawParseMode' type-id='08f5ca17' id='79179ab2'/>
+    <enum-decl name='__anonymous_enum__' is-anonymous='yes' id='08f5ca17'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='RAW_PARSE_DEFAULT' value='0'/>
+      <enumerator name='RAW_PARSE_TYPE_NAME' value='1'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_EXPR' value='2'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_ASSIGN1' value='3'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_ASSIGN2' value='4'/>
+      <enumerator name='RAW_PARSE_PLPGSQL_ASSIGN3' value='5'/>
+    </enum-decl>
+    <typedef-decl name='SPIPlanPtr' type-id='d4c733bc' id='98abc875'/>
+    <typedef-decl name='Bitmapset' type-id='fef0ef96' id='d0a434ed'/>
+    <class-decl name='Bitmapset' size-in-bits='64' is-struct='yes' visibility='default' id='fef0ef96'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='nwords' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='words' type-id='0e160242' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bitmapword' type-id='f69d0a36' id='337bdc9b'/>
+    <class-decl name='PLpgSQL_function' size-in-bits='4416' is-struct='yes' visibility='default' id='030ac02a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='fn_signature' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fn_oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='fn_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='fn_tid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='fn_is_trigger' type-id='cf86bdd2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='fn_input_collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='fn_hashkey' type-id='4eebb19f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_cxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='fn_rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='fn_rettyplen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='fn_retbyval' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='456'>
+        <var-decl name='fn_retistuple' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='464'>
+        <var-decl name='fn_retisdomain' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='472'>
+        <var-decl name='fn_retset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='fn_readonly' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='488'>
+        <var-decl name='fn_prokind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='fn_nargs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='fn_argvarnos' type-id='9715b4e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3744'>
+        <var-decl name='out_param_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='found_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3808'>
+        <var-decl name='new_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3840'>
+        <var-decl name='old_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3872'>
+        <var-decl name='resolve_option' type-id='33f41e40' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3904'>
+        <var-decl name='print_strict_params' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3936'>
+        <var-decl name='extra_warnings' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3968'>
+        <var-decl name='extra_errors' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4000'>
+        <var-decl name='ndatums' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4032'>
+        <var-decl name='datums' type-id='a4efa950' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4096'>
+        <var-decl name='copiable_size' type-id='305ff205' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4160'>
+        <var-decl name='action' type-id='eca75285' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4224'>
+        <var-decl name='nstatements' type-id='f0981eeb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4256'>
+        <var-decl name='requires_procedure_resowner' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4288'>
+        <var-decl name='cur_estate' type-id='1b126ffb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='4352'>
+        <var-decl name='use_count' type-id='7359adad' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ItemPointerData' type-id='9dcce3ff' id='f228c910'/>
+    <class-decl name='ItemPointerData' size-in-bits='48' is-struct='yes' visibility='default' id='9dcce3ff'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ip_blkid' type-id='dbac37a8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ip_posid' type-id='12f12c16' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='BlockIdData' type-id='2869d54f' id='dbac37a8'/>
+    <class-decl name='BlockIdData' size-in-bits='32' is-struct='yes' visibility='default' id='2869d54f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='bi_hi' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='bi_lo' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='OffsetNumber' type-id='06a3df2b' id='12f12c16'/>
+    <typedef-decl name='PLpgSQL_trigtype' type-id='7a8f9736' id='cf86bdd2'/>
+    <enum-decl name='PLpgSQL_trigtype' id='7a8f9736'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_DML_TRIGGER' value='0'/>
+      <enumerator name='PLPGSQL_EVENT_TRIGGER' value='1'/>
+      <enumerator name='PLPGSQL_NOT_TRIGGER' value='2'/>
+    </enum-decl>
+    <typedef-decl name='PLpgSQL_func_hashkey' type-id='66941e67' id='c32716ea'/>
+    <class-decl name='PLpgSQL_func_hashkey' size-in-bits='3328' is-struct='yes' visibility='default' id='66941e67'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='funcOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='isTrigger' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='isEventTrigger' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trigOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='inputCollation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='argtypes' type-id='6b765c6a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_resolve_option' type-id='6587f404' id='33f41e40'/>
+    <enum-decl name='PLpgSQL_resolve_option' id='6587f404'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_RESOLVE_ERROR' value='0'/>
+      <enumerator name='PLPGSQL_RESOLVE_VARIABLE' value='1'/>
+      <enumerator name='PLPGSQL_RESOLVE_COLUMN' value='2'/>
+    </enum-decl>
+    <typedef-decl name='Size' type-id='b59d7dce' id='305ff205'/>
+    <typedef-decl name='size_t' type-id='7359adad' id='b59d7dce'/>
+    <typedef-decl name='PLpgSQL_stmt_block' type-id='b3b83075' id='f9084154'/>
+    <class-decl name='PLpgSQL_stmt_block' size-in-bits='448' is-struct='yes' visibility='default' id='b3b83075'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cmd_type' type-id='75f63103' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmtid' type-id='f0981eeb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='label' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='body' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='n_initvars' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='initvarnos' type-id='7292109c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='exceptions' type-id='15a18f82' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_stmt_type' type-id='ed55f0ff' id='75f63103'/>
+    <enum-decl name='PLpgSQL_stmt_type' id='ed55f0ff'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_STMT_BLOCK' value='0'/>
+      <enumerator name='PLPGSQL_STMT_ASSIGN' value='1'/>
+      <enumerator name='PLPGSQL_STMT_IF' value='2'/>
+      <enumerator name='PLPGSQL_STMT_CASE' value='3'/>
+      <enumerator name='PLPGSQL_STMT_LOOP' value='4'/>
+      <enumerator name='PLPGSQL_STMT_WHILE' value='5'/>
+      <enumerator name='PLPGSQL_STMT_FORI' value='6'/>
+      <enumerator name='PLPGSQL_STMT_FORS' value='7'/>
+      <enumerator name='PLPGSQL_STMT_FORC' value='8'/>
+      <enumerator name='PLPGSQL_STMT_FOREACH_A' value='9'/>
+      <enumerator name='PLPGSQL_STMT_EXIT' value='10'/>
+      <enumerator name='PLPGSQL_STMT_RETURN' value='11'/>
+      <enumerator name='PLPGSQL_STMT_RETURN_NEXT' value='12'/>
+      <enumerator name='PLPGSQL_STMT_RETURN_QUERY' value='13'/>
+      <enumerator name='PLPGSQL_STMT_RAISE' value='14'/>
+      <enumerator name='PLPGSQL_STMT_ASSERT' value='15'/>
+      <enumerator name='PLPGSQL_STMT_EXECSQL' value='16'/>
+      <enumerator name='PLPGSQL_STMT_DYNEXECUTE' value='17'/>
+      <enumerator name='PLPGSQL_STMT_DYNFORS' value='18'/>
+      <enumerator name='PLPGSQL_STMT_GETDIAG' value='19'/>
+      <enumerator name='PLPGSQL_STMT_OPEN' value='20'/>
+      <enumerator name='PLPGSQL_STMT_FETCH' value='21'/>
+      <enumerator name='PLPGSQL_STMT_CLOSE' value='22'/>
+      <enumerator name='PLPGSQL_STMT_PERFORM' value='23'/>
+      <enumerator name='PLPGSQL_STMT_CALL' value='24'/>
+      <enumerator name='PLPGSQL_STMT_COMMIT' value='25'/>
+      <enumerator name='PLPGSQL_STMT_ROLLBACK' value='26'/>
+    </enum-decl>
+    <typedef-decl name='PLpgSQL_exception_block' type-id='eb7709c4' id='0ad5e557'/>
+    <class-decl name='PLpgSQL_exception_block' size-in-bits='128' is-struct='yes' visibility='default' id='eb7709c4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sqlstate_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='sqlerrm_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='exc_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='PLpgSQL_execstate' size-in-bits='1920' is-struct='yes' visibility='default' id='dc7edfa3'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='func' type-id='c9560f02' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='trigdata' type-id='80983f94' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='evtrigdata' type-id='70e42b81' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='retval' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='retisnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='fn_rettype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='retistuple' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='retisset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='readonly_func' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='376'>
+        <var-decl name='atomic' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='exitlabel' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='cur_error' type-id='f2dff411' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tuple_store' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tuple_store_desc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='tuple_store_cxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='tuple_store_owner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rsi' type-id='966dbf3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='found_varno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='ndatums' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='datums' type-id='a4efa950' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='datum_context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='paramLI' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='simple_eval_estate' type-id='d20936ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='simple_eval_resowner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='procedure_resowner' type-id='2d5e7217' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='cast_hash' type-id='6c5dd83c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='stmt_mcontext' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='stmt_mcontext_parent' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='eval_tuptable' type-id='6f28dedb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='eval_processed' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='eval_econtext' type-id='47bae38a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='err_stmt' type-id='583566eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='err_var' type-id='e4d9ce07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='err_text' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='plugin_info' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_function' type-id='030ac02a' id='ce21d3e1'/>
+    <typedef-decl name='TriggerData' type-id='9bf0c9f4' id='adb604d9'/>
+    <class-decl name='TriggerData' size-in-bits='640' is-struct='yes' visibility='default' id='9bf0c9f4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tg_event' type-id='2b6c27d8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tg_relation' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tg_trigtuple' type-id='3de55dac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tg_newtuple' type-id='3de55dac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tg_trigger' type-id='b8734eab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tg_trigslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tg_newslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tg_oldtable' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tg_newtable' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tg_updatedcols' type-id='e873e795' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TriggerEvent' type-id='7aa912f5' id='2b6c27d8'/>
+    <class-decl name='RelationData' size-in-bits='3840' is-struct='yes' visibility='default' id='a73b6b5a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rd_locator' type-id='b67cbde5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rd_smgr' type-id='80a274b1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rd_refcnt' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='rd_backend' type-id='71ae5a39' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rd_islocaltemp' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='264'>
+        <var-decl name='rd_isnailed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='272'>
+        <var-decl name='rd_isvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='280'>
+        <var-decl name='rd_indexvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='rd_statvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rd_createSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='rd_newRelfilelocatorSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rd_firstRelfilelocatorSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='rd_droppedSubid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='rd_rel' type-id='053ec625' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rd_att' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rd_id' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='rd_lockInfo' type-id='0ec0059f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rd_rules' type-id='566804c2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='rd_rulescxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='trigdesc' type-id='457b83dc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='rd_rsdesc' type-id='db26e016' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='rd_fkeylist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rd_fkeyvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='rd_partkey' type-id='33ddacc1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='rd_partkeycxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='rd_partdesc' type-id='a63f38eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='rd_pdcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='rd_partdesc_nodetached' type-id='a63f38eb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='rd_pddcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='rd_partdesc_nodetached_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='rd_partcheck' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='rd_partcheckvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='rd_partcheckcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rd_indexlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='rd_pkindex' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1824'>
+        <var-decl name='rd_replidindex' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='rd_statlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='rd_attrsvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='rd_keyattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='rd_pkattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='rd_idattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='rd_hotblockingattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='rd_summarizedattr' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='rd_pubdesc' type-id='469dd726' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='rd_options' type-id='dd173450' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='rd_amhandler' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='rd_tableam' type-id='eca96808' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='rd_index' type-id='320f78a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='rd_indextuple' type-id='7b21fc90' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='rd_indexcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='rd_indam' type-id='6196cdc7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='rd_opfamily' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='rd_opcintype' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2944'>
+        <var-decl name='rd_support' type-id='8bf9597c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='rd_supportinfo' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3072'>
+        <var-decl name='rd_indoption' type-id='660e0121' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3136'>
+        <var-decl name='rd_indexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3200'>
+        <var-decl name='rd_indpred' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3264'>
+        <var-decl name='rd_exclops' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3328'>
+        <var-decl name='rd_exclprocs' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3392'>
+        <var-decl name='rd_exclstrats' type-id='a2b66e08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3456'>
+        <var-decl name='rd_indcollation' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3520'>
+        <var-decl name='rd_opcoptions' type-id='85879c0e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3584'>
+        <var-decl name='rd_amcache' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3648'>
+        <var-decl name='rd_fdwroutine' type-id='db4b126e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3712'>
+        <var-decl name='rd_toastoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3744'>
+        <var-decl name='pgstat_enabled' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3776'>
+        <var-decl name='pgstat_info' type-id='fe8c4a8b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RelFileLocator' type-id='99549310' id='b67cbde5'/>
+    <class-decl name='RelFileLocator' size-in-bits='96' is-struct='yes' visibility='default' id='99549310'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='spcOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dbOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='relNumber' type-id='58e4ef28' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RelFileNumber' type-id='63cf087c' id='58e4ef28'/>
+    <typedef-decl name='SMgrRelation' type-id='47c63816' id='80a274b1'/>
+    <typedef-decl name='SMgrRelationData' type-id='bcdd7f90' id='6680a121'/>
+    <class-decl name='SMgrRelationData' size-in-bits='896' is-struct='yes' visibility='default' id='bcdd7f90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='smgr_rlocator' type-id='24ad344f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='smgr_owner' type-id='390a8674' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='smgr_targblock' type-id='3db40640' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='smgr_cached_nblocks' type-id='0403c23f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='smgr_which' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='md_num_open_segs' type-id='2020bac4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='md_seg_fds' type-id='2d63c7ed' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='node' type-id='7ec7d215' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RelFileLocatorBackend' type-id='34173ff8' id='24ad344f'/>
+    <class-decl name='RelFileLocatorBackend' size-in-bits='128' is-struct='yes' visibility='default' id='34173ff8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='locator' type-id='b67cbde5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='backend' type-id='71ae5a39' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='BackendId' type-id='95e97e5e' id='71ae5a39'/>
+    <typedef-decl name='BlockNumber' type-id='7aa912f5' id='3db40640'/>
+    <class-decl name='dlist_node' size-in-bits='128' is-struct='yes' visibility='default' id='e82100c0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='prev' type-id='e594e2a6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next' type-id='e594e2a6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='dlist_node' type-id='e82100c0' id='7ec7d215'/>
+    <typedef-decl name='SubTransactionId' type-id='7aa912f5' id='5f59ae47'/>
+    <typedef-decl name='Form_pg_class' type-id='5523530c' id='053ec625'/>
+    <typedef-decl name='FormData_pg_class' type-id='2bc808b6' id='cf1c8d75'/>
+    <class-decl name='FormData_pg_class' size-in-bits='1120' is-struct='yes' visibility='default' id='2bc808b6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='oid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='relname' type-id='d4b9f8ef' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='relnamespace' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='reltype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='608'>
+        <var-decl name='reloftype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='relowner' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='672'>
+        <var-decl name='relam' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='relfilenode' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='736'>
+        <var-decl name='reltablespace' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='relpages' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='reltuples' type-id='b6d86a0e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='relallvisible' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='864'>
+        <var-decl name='reltoastrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='relhasindex' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='904'>
+        <var-decl name='relisshared' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='912'>
+        <var-decl name='relpersistence' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='920'>
+        <var-decl name='relkind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='928'>
+        <var-decl name='relnatts' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='944'>
+        <var-decl name='relchecks' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='relhasrules' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='968'>
+        <var-decl name='relhastriggers' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='976'>
+        <var-decl name='relhassubclass' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='984'>
+        <var-decl name='relrowsecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='992'>
+        <var-decl name='relforcerowsecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1000'>
+        <var-decl name='relispopulated' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1008'>
+        <var-decl name='relreplident' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1016'>
+        <var-decl name='relispartition' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='relrewrite' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='relfrozenxid' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='relminmxid' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='float4' type-id='a6c45d85' id='b6d86a0e'/>
+    <typedef-decl name='LockInfoData' type-id='746df812' id='0ec0059f'/>
+    <class-decl name='LockInfoData' size-in-bits='64' is-struct='yes' visibility='default' id='746df812'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lockRelId' type-id='499d55b7' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='LockRelId' type-id='0738d104' id='499d55b7'/>
+    <class-decl name='LockRelId' size-in-bits='64' is-struct='yes' visibility='default' id='0738d104'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='relId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dbId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RuleLock' type-id='e0e44ec4' id='fa5e6a1d'/>
+    <class-decl name='RuleLock' size-in-bits='128' is-struct='yes' visibility='default' id='e0e44ec4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='numLocks' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rules' type-id='50db0561' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RewriteRule' type-id='d39e9999' id='9fc747fa'/>
+    <class-decl name='RewriteRule' size-in-bits='256' is-struct='yes' visibility='default' id='d39e9999'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ruleId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='event' type-id='af8a0214' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='qual' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='actions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='enabled' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='isInstead' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='CmdType' type-id='a2526320' id='af8a0214'/>
+    <enum-decl name='CmdType' id='a2526320'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CMD_UNKNOWN' value='0'/>
+      <enumerator name='CMD_SELECT' value='1'/>
+      <enumerator name='CMD_UPDATE' value='2'/>
+      <enumerator name='CMD_INSERT' value='3'/>
+      <enumerator name='CMD_DELETE' value='4'/>
+      <enumerator name='CMD_MERGE' value='5'/>
+      <enumerator name='CMD_UTILITY' value='6'/>
+      <enumerator name='CMD_NOTHING' value='7'/>
+    </enum-decl>
+    <typedef-decl name='Node' type-id='717e4c75' id='988f12e8'/>
+    <typedef-decl name='TriggerDesc' type-id='e97a37c6' id='1b2f0781'/>
+    <class-decl name='TriggerDesc' size-in-bits='320' is-struct='yes' visibility='default' id='e97a37c6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='triggers' type-id='b8734eab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='numtriggers' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='trig_insert_before_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='trig_insert_after_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='trig_insert_instead_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='trig_insert_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='trig_insert_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='trig_update_before_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='trig_update_after_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='trig_update_instead_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='trig_update_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='trig_update_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='trig_delete_before_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='trig_delete_after_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='trig_delete_instead_row' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='200'>
+        <var-decl name='trig_delete_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='trig_delete_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='216'>
+        <var-decl name='trig_truncate_before_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='trig_truncate_after_statement' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='232'>
+        <var-decl name='trig_insert_new_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='240'>
+        <var-decl name='trig_update_old_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='248'>
+        <var-decl name='trig_update_new_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='trig_delete_old_table' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Trigger' type-id='ee64d34b' id='fd4d0dd0'/>
+    <class-decl name='Trigger' size-in-bits='704' is-struct='yes' visibility='default' id='ee64d34b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tgoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tgname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tgfoid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='tgtype' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='tgenabled' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='tgisinternal' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tgisclone' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='tgconstrrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tgconstrindid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='tgconstraint' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tgdeferrable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='tginitdeferred' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='tgnargs' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='tgnattr' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tgattr' type-id='660e0121' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tgargs' type-id='9b23c9ad' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='tgqual' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='tgoldtable' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='tgnewtable' type-id='26a90f95' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PartitionKey' type-id='74ab1d06' id='33ddacc1'/>
+    <typedef-decl name='PartitionDesc' type-id='658e7622' id='a63f38eb'/>
+    <typedef-decl name='PublicationDesc' type-id='aca4dc30' id='03d04117'/>
+    <class-decl name='PublicationDesc' size-in-bits='64' is-struct='yes' visibility='default' id='aca4dc30'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pubactions' type-id='ae282a3d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rf_valid_for_update' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='rf_valid_for_delete' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='cols_valid_for_update' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='cols_valid_for_delete' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PublicationActions' type-id='a62895b4' id='ae282a3d'/>
+    <class-decl name='PublicationActions' size-in-bits='32' is-struct='yes' visibility='default' id='a62895b4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='pubinsert' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='pubupdate' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='pubdelete' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='pubtruncate' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='bytea' type-id='24428564' id='0fb10f85'/>
+    <class-decl name='varlena' size-in-bits='32' is-struct='yes' visibility='default' id='24428564'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vl_len_' type-id='8e0573fd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='vl_dat' type-id='e84913bd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TableAmRoutine' size-in-bits='2944' is-struct='yes' visibility='default' id='9351f42b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='slot_callbacks' type-id='5a87d566' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='scan_begin' type-id='12479770' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='scan_end' type-id='5c77fa5d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='scan_rescan' type-id='158a83bf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='scan_getnextslot' type-id='ec4735d0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='scan_set_tidrange' type-id='6da8c08f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='scan_getnextslot_tidrange' type-id='ec4735d0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parallelscan_estimate' type-id='11c65a0b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='parallelscan_initialize' type-id='d773ab59' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='parallelscan_reinitialize' type-id='4c8fbedb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='index_fetch_begin' type-id='b2f50009' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='index_fetch_reset' type-id='85893be2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='index_fetch_end' type-id='85893be2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='index_fetch_tuple' type-id='5760624e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='tuple_fetch_row_version' type-id='8e09e859' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='tuple_tid_valid' type-id='7a5010f0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='tuple_get_latest_tid' type-id='3eaabdfa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='tuple_satisfies_snapshot' type-id='5b219226' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='index_delete_tuples' type-id='d2aca269' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='tuple_insert' type-id='5a898ed9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='tuple_insert_speculative' type-id='ef6a1459' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='tuple_complete_speculative' type-id='97ed04e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='multi_insert' type-id='c1be146e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='tuple_delete' type-id='70dac445' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='tuple_update' type-id='0cf7ee5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='tuple_lock' type-id='c734c22b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='finish_bulk_insert' type-id='1ff7fe08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='relation_set_new_filelocator' type-id='ca493d20' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='relation_nontransactional_truncate' type-id='f2b1da41' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='relation_copy_data' type-id='e01d8093' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='relation_copy_for_cluster' type-id='d6174351' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='relation_vacuum' type-id='2b3b1f1c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='scan_analyze_next_block' type-id='25d4612c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='scan_analyze_next_tuple' type-id='bee3d46f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='index_build_range_scan' type-id='8f3c25ba' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='index_validate_scan' type-id='2931a6a4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='relation_size' type-id='0feda258' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='relation_needs_toast_table' type-id='2cb8ed83' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='relation_toast_am' type-id='dca928c2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='relation_fetch_toast_slice' type-id='5eda35ee' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='relation_estimate_size' type-id='74ff6c8f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='scan_bitmap_next_block' type-id='4a75c639' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='scan_bitmap_next_tuple' type-id='0f772ba5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='scan_sample_next_block' type-id='4d721265' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2880'>
+        <var-decl name='scan_sample_next_tuple' type-id='07848f31' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='TupleTableSlotOps' size-in-bits='768' is-struct='yes' visibility='default' id='0f69d789'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='base_slot_size' type-id='b59d7dce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='init' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='release' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='clear' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='getsomeattrs' type-id='ad9add71' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='getsysattr' type-id='289e6cbb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='materialize' type-id='9a56498a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='copyslot' type-id='f5465184' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='get_heap_tuple' type-id='c80a7bab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='get_minimal_tuple' type-id='e927a3d2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='copy_heap_tuple' type-id='c80a7bab' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='copy_minimal_tuple' type-id='e927a3d2' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TupleTableSlot' type-id='05215b1f' id='1f0b318a'/>
+    <class-decl name='TupleTableSlot' size-in-bits='512' is-struct='yes' visibility='default' id='05215b1f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tts_flags' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='tts_nvalid' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='tts_ops' type-id='4c122643' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='tts_tupleDescriptor' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tts_values' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tts_isnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='tts_mcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='tts_tid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='tts_tableOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TupleTableSlotOps' type-id='0f69d789' id='4ad8af4a'/>
+    <typedef-decl name='HeapTuple' type-id='7b21fc90' id='3de55dac'/>
+    <typedef-decl name='HeapTupleData' type-id='07fb1a17' id='e5c4cc54'/>
+    <class-decl name='HeapTupleData' size-in-bits='192' is-struct='yes' visibility='default' id='07fb1a17'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_len' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='t_self' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='t_tableOid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='t_data' type-id='0dfa8919' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='HeapTupleHeader' type-id='a537715c' id='0dfa8919'/>
+    <typedef-decl name='HeapTupleHeaderData' type-id='aa8d7906' id='03f6d8e9'/>
+    <class-decl name='HeapTupleHeaderData' size-in-bits='192' is-struct='yes' visibility='default' id='aa8d7906'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_choice' type-id='94e19b80' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='t_ctid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='t_infomask2' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='t_infomask' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='t_hoff' type-id='78b39644' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='184'>
+        <var-decl name='t_bits' type-id='767ab51f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__' size-in-bits='96' is-anonymous='yes' visibility='default' id='94e19b80'>
+      <data-member access='private'>
+        <var-decl name='t_heap' type-id='14a7e5f9' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='t_datum' type-id='e661351e' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='HeapTupleFields' type-id='31512706' id='14a7e5f9'/>
+    <class-decl name='HeapTupleFields' size-in-bits='96' is-struct='yes' visibility='default' id='31512706'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='t_xmax' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='t_field3' type-id='32948e4f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <union-decl name='__anonymous_union__1' size-in-bits='32' is-anonymous='yes' visibility='default' id='32948e4f'>
+      <data-member access='private'>
+        <var-decl name='t_cid' type-id='6692fd60' visibility='default'/>
+      </data-member>
+      <data-member access='private'>
+        <var-decl name='t_xvac' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+    </union-decl>
+    <typedef-decl name='CommandId' type-id='7aa912f5' id='6692fd60'/>
+    <typedef-decl name='DatumTupleFields' type-id='61c2134f' id='e661351e'/>
+    <class-decl name='DatumTupleFields' size-in-bits='96' is-struct='yes' visibility='default' id='61c2134f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='datum_len_' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='datum_typmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='datum_typeid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='uint8' type-id='002ac4a6' id='78b39644'/>
+    <typedef-decl name='bits8' type-id='78b39644' id='164e7d5c'/>
+    <typedef-decl name='MinimalTuple' type-id='ebce69c4' id='00840737'/>
+    <typedef-decl name='MinimalTupleData' type-id='c38cbc9e' id='2f2c189f'/>
+    <class-decl name='MinimalTupleData' size-in-bits='128' is-struct='yes' visibility='default' id='c38cbc9e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='t_len' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='mt_padding' type-id='4a008bc3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='t_infomask2' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='t_infomask' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='t_hoff' type-id='78b39644' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='t_bits' type-id='767ab51f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Relation' type-id='27104062' id='c79d68a9'/>
+    <typedef-decl name='TableScanDesc' type-id='09c2469f' id='34bbc5c4'/>
+    <class-decl name='TableScanDescData' size-in-bits='448' is-struct='yes' visibility='default' id='ca3087e7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rs_rd' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='rs_snapshot' type-id='06d5c805' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rs_nkeys' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='rs_key' type-id='e9f9080f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rs_mintid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='rs_maxtid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='rs_flags' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='rs_parallel' type-id='53abd0bc' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SnapshotData' size-in-bits='960' is-struct='yes' visibility='default' id='8b267665'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='snapshot_type' type-id='92c892a0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xmax' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='xip' type-id='b1ef65cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='xcnt' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='subxip' type-id='b1ef65cc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='subxcnt' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='suboverflowed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='takenDuringRecovery' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='copied' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='curcid' type-id='6692fd60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='speculativeToken' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='vistest' type-id='8b7497cd' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='active_count' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='regd_count' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ph_node' type-id='e72a9a83' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='whenTaken' type-id='7448fdb6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='lsn' type-id='cdb01e8a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='snapXactCompletionCount' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='SnapshotType' type-id='7ecac09c' id='92c892a0'/>
+    <enum-decl name='SnapshotType' id='7ecac09c'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SNAPSHOT_MVCC' value='0'/>
+      <enumerator name='SNAPSHOT_SELF' value='1'/>
+      <enumerator name='SNAPSHOT_ANY' value='2'/>
+      <enumerator name='SNAPSHOT_TOAST' value='3'/>
+      <enumerator name='SNAPSHOT_DIRTY' value='4'/>
+      <enumerator name='SNAPSHOT_HISTORIC_MVCC' value='5'/>
+      <enumerator name='SNAPSHOT_NON_VACUUMABLE' value='6'/>
+    </enum-decl>
+    <typedef-decl name='pairingheap_node' type-id='7072f006' id='e72a9a83'/>
+    <class-decl name='pairingheap_node' size-in-bits='192' is-struct='yes' visibility='default' id='7072f006'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='first_child' type-id='a5bd00ac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='next_sibling' type-id='a5bd00ac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='prev_or_parent' type-id='a5bd00ac' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TimestampTz' type-id='27dc5d97' id='7448fdb6'/>
+    <typedef-decl name='int64' type-id='bd54fe1a' id='27dc5d97'/>
+    <typedef-decl name='XLogRecPtr' type-id='f69d0a36' id='cdb01e8a'/>
+    <class-decl name='ParallelTableScanDescData' size-in-bits='128' is-struct='yes' visibility='default' id='bba12426'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='phs_relid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='phs_syncscan' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='phs_snapshot_any' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='phs_snapshot_off' type-id='305ff205' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Snapshot' type-id='06d5c805' id='7f2324e8'/>
+    <typedef-decl name='ParallelTableScanDesc' type-id='53abd0bc' id='2d62ee11'/>
+    <typedef-decl name='ScanDirection' type-id='b25f871e' id='f403d182'/>
+    <enum-decl name='ScanDirection' id='b25f871e'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='BackwardScanDirection' value='-1'/>
+      <enumerator name='NoMovementScanDirection' value='0'/>
+      <enumerator name='ForwardScanDirection' value='1'/>
+    </enum-decl>
+    <typedef-decl name='ItemPointer' type-id='fac40d87' id='3c694a28'/>
+    <class-decl name='IndexFetchTableData' size-in-bits='64' is-struct='yes' visibility='default' id='423957df'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rel' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TM_IndexDeleteOp' type-id='cdf6ad85' id='7f7d2fc8'/>
+    <class-decl name='TM_IndexDeleteOp' size-in-bits='320' is-struct='yes' visibility='default' id='cdf6ad85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='irel' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='iblknum' type-id='3db40640' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='bottomup' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='bottomupfreespace' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='ndeltids' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='deltids' type-id='b36bb0b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='status' type-id='33ea086f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TM_IndexDelete' type-id='6c9822c2' id='cc8b58b7'/>
+    <class-decl name='TM_IndexDelete' size-in-bits='64' is-struct='yes' visibility='default' id='6c9822c2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='id' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TM_IndexStatus' type-id='9f0d6d37' id='a1f5af66'/>
+    <class-decl name='TM_IndexStatus' size-in-bits='48' is-struct='yes' visibility='default' id='9f0d6d37'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='idxoffnum' type-id='12f12c16' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='knowndeletable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='promising' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='freespace' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TM_Result' type-id='000c11ad' id='3ef4f9f9'/>
+    <enum-decl name='TM_Result' id='000c11ad'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='TM_Ok' value='0'/>
+      <enumerator name='TM_Invisible' value='1'/>
+      <enumerator name='TM_SelfModified' value='2'/>
+      <enumerator name='TM_Updated' value='3'/>
+      <enumerator name='TM_Deleted' value='4'/>
+      <enumerator name='TM_BeingModified' value='5'/>
+      <enumerator name='TM_WouldBlock' value='6'/>
+    </enum-decl>
+    <typedef-decl name='TM_FailureData' type-id='80d3aa87' id='bc0c7ce2'/>
+    <class-decl name='TM_FailureData' size-in-bits='160' is-struct='yes' visibility='default' id='80d3aa87'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ctid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='xmax' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='cmax' type-id='6692fd60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='traversed' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='LockTupleMode' type-id='0ab89398' id='7eb0c72c'/>
+    <enum-decl name='LockTupleMode' id='0ab89398'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LockTupleKeyShare' value='0'/>
+      <enumerator name='LockTupleShare' value='1'/>
+      <enumerator name='LockTupleNoKeyExclusive' value='2'/>
+      <enumerator name='LockTupleExclusive' value='3'/>
+    </enum-decl>
+    <typedef-decl name='TU_UpdateIndexes' type-id='2f0c4793' id='fc75fa87'/>
+    <enum-decl name='TU_UpdateIndexes' id='2f0c4793'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='TU_None' value='0'/>
+      <enumerator name='TU_All' value='1'/>
+      <enumerator name='TU_Summarizing' value='2'/>
+    </enum-decl>
+    <typedef-decl name='LockWaitPolicy' type-id='b8b605a0' id='5016605c'/>
+    <enum-decl name='LockWaitPolicy' id='b8b605a0'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LockWaitBlock' value='0'/>
+      <enumerator name='LockWaitSkip' value='1'/>
+      <enumerator name='LockWaitError' value='2'/>
+    </enum-decl>
+    <typedef-decl name='MultiXactId' type-id='2d7d3949' id='4638dfb4'/>
+    <typedef-decl name='BufferAccessStrategy' type-id='1f417cf6' id='20e37045'/>
+    <class-decl name='IndexInfo' size-in-bits='1536' is-struct='yes' visibility='default' id='2268c428'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ii_NumIndexAttrs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ii_NumIndexKeyAttrs' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ii_IndexAttrNumbers' type-id='1e675450' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='ii_Expressions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ii_ExpressionsState' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ii_Predicate' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='ii_PredicateState' type-id='6460b71c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ii_ExclusionOps' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ii_ExclusionProcs' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ii_ExclusionStrats' type-id='a2b66e08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ii_UniqueOps' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='ii_UniqueProcs' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='ii_UniqueStrats' type-id='a2b66e08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='ii_Unique' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1288'>
+        <var-decl name='ii_NullsNotDistinct' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1296'>
+        <var-decl name='ii_ReadyForInserts' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1304'>
+        <var-decl name='ii_CheckedUnchanged' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='ii_IndexUnchanged' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1320'>
+        <var-decl name='ii_Concurrent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1328'>
+        <var-decl name='ii_BrokenHotChain' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1336'>
+        <var-decl name='ii_Summarizing' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='ii_ParallelWorkers' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='ii_Am' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='ii_AmCache' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='ii_Context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ExprState' size-in-bits='896' is-struct='yes' visibility='default' id='96070c1c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='flags' type-id='78b39644' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='resnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='resvalue' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resultslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='steps' type-id='f5da7878' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='evalfunc' type-id='636a14ac' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='expr' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='evalfunc_private' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='steps_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='steps_alloc' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='parent' type-id='22f23588' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ext_params' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='innermost_caseval' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='innermost_casenull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='innermost_domainval' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='innermost_domainnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExprStateEvalFunc' type-id='1759c1b2' id='636a14ac'/>
+    <class-decl name='ExprContext' size-in-bits='1024' is-struct='yes' visibility='default' id='a0a26f32'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ecxt_scantuple' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ecxt_innertuple' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ecxt_outertuple' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ecxt_per_query_memory' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ecxt_per_tuple_memory' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ecxt_param_exec_vals' type-id='94926d07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ecxt_param_list_info' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ecxt_aggvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ecxt_aggnulls' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='caseValue_datum' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='caseValue_isNull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='domainValue_datum' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='domainValue_isNull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ecxt_estate' type-id='d20936ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ecxt_callbacks' type-id='4b1e905c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ParamExecData' type-id='8889a5cf' id='ec58a07c'/>
+    <class-decl name='ParamExecData' size-in-bits='192' is-struct='yes' visibility='default' id='8889a5cf'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='execPlan' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ParamListInfoData' size-in-bits='512' is-struct='yes' visibility='default' id='e1501ec6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='paramFetch' type-id='a3de2d94' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='paramFetchArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramCompile' type-id='b831bad1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='paramCompileArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='parserSetup' type-id='df87ed5b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='parserSetupArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='paramValuesStr' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='numParams' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='params' type-id='4f1256a8' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ParamFetchHook' type-id='3c1a52d5' id='a3de2d94'/>
+    <typedef-decl name='ParamExternData' type-id='6d700424' id='16406887'/>
+    <class-decl name='ParamExternData' size-in-bits='128' is-struct='yes' visibility='default' id='6d700424'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='value' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='isnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='pflags' type-id='06a3df2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='ptype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ParamListInfo' type-id='ca0e7f8c' id='4ff08111'/>
+    <typedef-decl name='ParamCompileHook' type-id='df00b2e4' id='b831bad1'/>
+    <class-decl name='Param' size-in-bits='224' is-struct='yes' visibility='default' id='24900a7a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='xpr' type-id='c0a129cb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='paramkind' type-id='7a947a9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='paramid' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='paramtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='paramtypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='paramcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Expr' type-id='46fc0fe6' id='c0a129cb'/>
+    <class-decl name='Expr' size-in-bits='32' is-struct='yes' visibility='default' id='46fc0fe6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ParamKind' type-id='410f5d6f' id='7a947a9b'/>
+    <enum-decl name='ParamKind' id='410f5d6f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PARAM_EXTERN' value='0'/>
+      <enumerator name='PARAM_EXEC' value='1'/>
+      <enumerator name='PARAM_SUBLINK' value='2'/>
+      <enumerator name='PARAM_MULTIEXPR' value='3'/>
+    </enum-decl>
+    <typedef-decl name='ParserSetupHook' type-id='cff19eca' id='df87ed5b'/>
+    <class-decl name='ParseState' size-in-bits='1792' is-struct='yes' visibility='default' id='aeb1887a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parentParseState' type-id='63c837a1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p_sourcetext' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='p_rtable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='p_rteperminfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='p_joinexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='p_nullingrels' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='p_joinlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='p_namespace' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='p_lateral_active' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='p_ctenamespace' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='p_future_ctes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='p_parent_cte' type-id='8c1a5c4f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='p_target_relation' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='p_target_nsitem' type-id='6883c46a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='p_is_insert' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='p_windowdefs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='p_expr_kind' type-id='168841d2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='p_next_resno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='p_multiassign_exprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='p_locking_clause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='p_locked_from_parent' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1224'>
+        <var-decl name='p_resolve_unknowns' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='p_queryEnv' type-id='74ab5782' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='p_hasAggs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1352'>
+        <var-decl name='p_hasWindowFuncs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1360'>
+        <var-decl name='p_hasTargetSRFs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1368'>
+        <var-decl name='p_hasSubLinks' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='p_hasModifyingCTE' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='p_last_srf' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='p_pre_columnref_hook' type-id='c6ea5968' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='p_post_columnref_hook' type-id='4afcb79b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='p_paramref_hook' type-id='2fc99baa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='p_coerce_param_hook' type-id='c4d0a731' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='p_ref_hook_state' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ParseState' type-id='aeb1887a' id='37a337dc'/>
+    <typedef-decl name='CommonTableExpr' type-id='83628fe7' id='d52d60c4'/>
+    <class-decl name='CommonTableExpr' size-in-bits='832' is-struct='yes' visibility='default' id='83628fe7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctename' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='aliascolnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ctematerialized' type-id='c0bf5007' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ctequery' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='search_clause' type-id='ff83265a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='cycle_clause' type-id='3a14ea32' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='cterecursive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cterefcount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ctecolnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='ctecoltypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ctecoltypmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ctecolcollations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='CTEMaterialize' type-id='7743f283' id='c0bf5007'/>
+    <enum-decl name='CTEMaterialize' id='7743f283'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CTEMaterializeDefault' value='0'/>
+      <enumerator name='CTEMaterializeAlways' value='1'/>
+      <enumerator name='CTEMaterializeNever' value='2'/>
+    </enum-decl>
+    <typedef-decl name='CTESearchClause' type-id='1995298c' id='a76c026f'/>
+    <class-decl name='CTESearchClause' size-in-bits='320' is-struct='yes' visibility='default' id='1995298c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='search_col_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='search_breadth_first' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='search_seq_column' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='CTECycleClause' type-id='dcdfa6a4' id='546c8069'/>
+    <class-decl name='CTECycleClause' size-in-bits='576' is-struct='yes' visibility='default' id='dcdfa6a4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='cycle_col_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='cycle_mark_column' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='cycle_mark_value' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='cycle_mark_default' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='cycle_path_column' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='cycle_mark_type' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='cycle_mark_typmod' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='480'>
+        <var-decl name='cycle_mark_collation' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cycle_mark_neop' type-id='63cf087c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ParseNamespaceItem' type-id='9a7c918c' id='2167e055'/>
+    <class-decl name='ParseNamespaceItem' size-in-bits='384' is-struct='yes' visibility='default' id='9a7c918c'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p_names' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p_rte' type-id='0e6ce0d6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='p_rtindex' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='p_perminfo' type-id='8768804d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='p_nscolumns' type-id='f18806f9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='p_rel_visible' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='328'>
+        <var-decl name='p_cols_visible' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='336'>
+        <var-decl name='p_lateral_only' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='344'>
+        <var-decl name='p_lateral_ok' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Alias' type-id='3f633f0f' id='eea2deb8'/>
+    <class-decl name='Alias' size-in-bits='192' is-struct='yes' visibility='default' id='3f633f0f'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='aliasname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='colnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RangeTblEntry' type-id='6561a890' id='08e55fdf'/>
+    <class-decl name='RangeTblEntry' size-in-bits='1728' is-struct='yes' visibility='default' id='6561a890'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='rtekind' type-id='b6aa9a4b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='relid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='relkind' type-id='a84c031d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='rellockmode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tablesample' type-id='9753639e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='perminfoindex' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='subquery' type-id='3c17af0b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='security_barrier' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='jointype' type-id='79cff1c4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='joinmergedcols' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='joinaliasvars' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='joinleftcols' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='joinrightcols' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='join_using_alias' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='functions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='funcordinality' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='tablefunc' type-id='55a3f1d5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='values_lists' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ctename' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ctelevelsup' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1120'>
+        <var-decl name='self_reference' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='coltypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='coltypmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='colcollations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='enrname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='enrtuples' type-id='2206bd64' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='alias' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='eref' type-id='c6b151e7' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='lateral' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1608'>
+        <var-decl name='inh' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1616'>
+        <var-decl name='inFromCl' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='securityQuals' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RTEKind' type-id='7b325a47' id='b6aa9a4b'/>
+    <enum-decl name='RTEKind' id='7b325a47'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='RTE_RELATION' value='0'/>
+      <enumerator name='RTE_SUBQUERY' value='1'/>
+      <enumerator name='RTE_JOIN' value='2'/>
+      <enumerator name='RTE_FUNCTION' value='3'/>
+      <enumerator name='RTE_TABLEFUNC' value='4'/>
+      <enumerator name='RTE_VALUES' value='5'/>
+      <enumerator name='RTE_CTE' value='6'/>
+      <enumerator name='RTE_NAMEDTUPLESTORE' value='7'/>
+      <enumerator name='RTE_RESULT' value='8'/>
+    </enum-decl>
+    <class-decl name='TableSampleClause' size-in-bits='192' is-struct='yes' visibility='default' id='fd2c75b8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='tsmhandler' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='repeatable' type-id='f57d71ec' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Index' type-id='f0981eeb' id='b14ca5c8'/>
+    <typedef-decl name='Query' type-id='4a49842b' id='1c323488'/>
+    <class-decl name='Query' size-in-bits='2048' is-struct='yes' visibility='default' id='4a49842b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='commandType' type-id='af8a0214' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='querySource' type-id='9ddeb77d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='queryId' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='canSetTag' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='utilityStmt' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='resultRelation' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='352'>
+        <var-decl name='hasAggs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='360'>
+        <var-decl name='hasWindowFuncs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='368'>
+        <var-decl name='hasTargetSRFs' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='376'>
+        <var-decl name='hasSubLinks' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='hasDistinctOn' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='392'>
+        <var-decl name='hasRecursive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='400'>
+        <var-decl name='hasModifyingCTE' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='408'>
+        <var-decl name='hasForUpdate' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='416'>
+        <var-decl name='hasRowSecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='424'>
+        <var-decl name='isReturn' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='cteList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='rtable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='rteperminfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='jointree' type-id='6e6c6f3c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='mergeActionList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='mergeUseOuterJoin' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='targetList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='override' type-id='bd8d4bed' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='onConflict' type-id='8b70250d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='returningList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='groupClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='groupDistinct' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='groupingSets' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='havingQual' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='windowClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='distinctClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='sortClause' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='limitOffset' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='limitCount' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='limitOption' type-id='2b03595a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='rowMarks' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='setOperations' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='constraintDeps' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='withCheckOptions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='stmt_location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2016'>
+        <var-decl name='stmt_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='QuerySource' type-id='f0abff21' id='9ddeb77d'/>
+    <enum-decl name='QuerySource' id='f0abff21'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='QSRC_ORIGINAL' value='0'/>
+      <enumerator name='QSRC_PARSER' value='1'/>
+      <enumerator name='QSRC_INSTEAD_RULE' value='2'/>
+      <enumerator name='QSRC_QUAL_INSTEAD_RULE' value='3'/>
+      <enumerator name='QSRC_NON_INSTEAD_RULE' value='4'/>
+    </enum-decl>
+    <typedef-decl name='FromExpr' type-id='4df675b6' id='fa41b943'/>
+    <class-decl name='FromExpr' size-in-bits='192' is-struct='yes' visibility='default' id='4df675b6'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fromlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='quals' type-id='86bcc405' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='OverridingKind' type-id='78d6fa01' id='bd8d4bed'/>
+    <enum-decl name='OverridingKind' id='78d6fa01'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='OVERRIDING_NOT_SET' value='0'/>
+      <enumerator name='OVERRIDING_USER_VALUE' value='1'/>
+      <enumerator name='OVERRIDING_SYSTEM_VALUE' value='2'/>
+    </enum-decl>
+    <typedef-decl name='OnConflictExpr' type-id='561c5b4d' id='7507af8c'/>
+    <class-decl name='OnConflictExpr' size-in-bits='512' is-struct='yes' visibility='default' id='561c5b4d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='action' type-id='7cfcb9e5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='arbiterElems' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='arbiterWhere' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='constraint' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='onConflictSet' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='onConflictWhere' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='exclRelIndex' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='exclRelTlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='OnConflictAction' type-id='9148e939' id='7cfcb9e5'/>
+    <enum-decl name='OnConflictAction' id='9148e939'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ONCONFLICT_NONE' value='0'/>
+      <enumerator name='ONCONFLICT_NOTHING' value='1'/>
+      <enumerator name='ONCONFLICT_UPDATE' value='2'/>
+    </enum-decl>
+    <typedef-decl name='LimitOption' type-id='03b38bbe' id='2b03595a'/>
+    <enum-decl name='LimitOption' id='03b38bbe'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LIMIT_OPTION_COUNT' value='0'/>
+      <enumerator name='LIMIT_OPTION_WITH_TIES' value='1'/>
+      <enumerator name='LIMIT_OPTION_DEFAULT' value='2'/>
+    </enum-decl>
+    <typedef-decl name='JoinType' type-id='8aee9ad8' id='79cff1c4'/>
+    <enum-decl name='JoinType' id='8aee9ad8'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='JOIN_INNER' value='0'/>
+      <enumerator name='JOIN_LEFT' value='1'/>
+      <enumerator name='JOIN_FULL' value='2'/>
+      <enumerator name='JOIN_RIGHT' value='3'/>
+      <enumerator name='JOIN_SEMI' value='4'/>
+      <enumerator name='JOIN_ANTI' value='5'/>
+      <enumerator name='JOIN_RIGHT_ANTI' value='6'/>
+      <enumerator name='JOIN_UNIQUE_OUTER' value='7'/>
+      <enumerator name='JOIN_UNIQUE_INNER' value='8'/>
+    </enum-decl>
+    <typedef-decl name='TableFunc' type-id='0d4ab955' id='c2ddc016'/>
+    <class-decl name='TableFunc' size-in-bits='832' is-struct='yes' visibility='default' id='0d4ab955'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ns_uris' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ns_names' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='docexpr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='rowexpr' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='colnames' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='coltypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='coltypmods' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='colcollations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='colexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='coldefexprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='notnulls' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ordinalitycol' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='800'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Cardinality' type-id='a0eb0f08' id='2206bd64'/>
+    <typedef-decl name='RTEPermissionInfo' type-id='e3b8eaad' id='2a1b44b2'/>
+    <class-decl name='RTEPermissionInfo' size-in-bits='448' is-struct='yes' visibility='default' id='e3b8eaad'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='relid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='inh' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='requiredPerms' type-id='5c8ae3e3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='checkAsUser' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='selectedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='insertedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='updatedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AclMode' type-id='f69d0a36' id='5c8ae3e3'/>
+    <typedef-decl name='ParseNamespaceColumn' type-id='c02293f1' id='20db3fac'/>
+    <class-decl name='ParseNamespaceColumn' size-in-bits='224' is-struct='yes' visibility='default' id='c02293f1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='p_varno' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='p_varattno' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='p_vartype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='p_vartypmod' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='p_varcollid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='p_varnosyn' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='p_varattnosyn' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='208'>
+        <var-decl name='p_dontexpand' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ParseExprKind' type-id='6578095e' id='168841d2'/>
+    <enum-decl name='ParseExprKind' id='6578095e'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='EXPR_KIND_NONE' value='0'/>
+      <enumerator name='EXPR_KIND_OTHER' value='1'/>
+      <enumerator name='EXPR_KIND_JOIN_ON' value='2'/>
+      <enumerator name='EXPR_KIND_JOIN_USING' value='3'/>
+      <enumerator name='EXPR_KIND_FROM_SUBSELECT' value='4'/>
+      <enumerator name='EXPR_KIND_FROM_FUNCTION' value='5'/>
+      <enumerator name='EXPR_KIND_WHERE' value='6'/>
+      <enumerator name='EXPR_KIND_HAVING' value='7'/>
+      <enumerator name='EXPR_KIND_FILTER' value='8'/>
+      <enumerator name='EXPR_KIND_WINDOW_PARTITION' value='9'/>
+      <enumerator name='EXPR_KIND_WINDOW_ORDER' value='10'/>
+      <enumerator name='EXPR_KIND_WINDOW_FRAME_RANGE' value='11'/>
+      <enumerator name='EXPR_KIND_WINDOW_FRAME_ROWS' value='12'/>
+      <enumerator name='EXPR_KIND_WINDOW_FRAME_GROUPS' value='13'/>
+      <enumerator name='EXPR_KIND_SELECT_TARGET' value='14'/>
+      <enumerator name='EXPR_KIND_INSERT_TARGET' value='15'/>
+      <enumerator name='EXPR_KIND_UPDATE_SOURCE' value='16'/>
+      <enumerator name='EXPR_KIND_UPDATE_TARGET' value='17'/>
+      <enumerator name='EXPR_KIND_MERGE_WHEN' value='18'/>
+      <enumerator name='EXPR_KIND_GROUP_BY' value='19'/>
+      <enumerator name='EXPR_KIND_ORDER_BY' value='20'/>
+      <enumerator name='EXPR_KIND_DISTINCT_ON' value='21'/>
+      <enumerator name='EXPR_KIND_LIMIT' value='22'/>
+      <enumerator name='EXPR_KIND_OFFSET' value='23'/>
+      <enumerator name='EXPR_KIND_RETURNING' value='24'/>
+      <enumerator name='EXPR_KIND_VALUES' value='25'/>
+      <enumerator name='EXPR_KIND_VALUES_SINGLE' value='26'/>
+      <enumerator name='EXPR_KIND_CHECK_CONSTRAINT' value='27'/>
+      <enumerator name='EXPR_KIND_DOMAIN_CHECK' value='28'/>
+      <enumerator name='EXPR_KIND_COLUMN_DEFAULT' value='29'/>
+      <enumerator name='EXPR_KIND_FUNCTION_DEFAULT' value='30'/>
+      <enumerator name='EXPR_KIND_INDEX_EXPRESSION' value='31'/>
+      <enumerator name='EXPR_KIND_INDEX_PREDICATE' value='32'/>
+      <enumerator name='EXPR_KIND_STATS_EXPRESSION' value='33'/>
+      <enumerator name='EXPR_KIND_ALTER_COL_TRANSFORM' value='34'/>
+      <enumerator name='EXPR_KIND_EXECUTE_PARAMETER' value='35'/>
+      <enumerator name='EXPR_KIND_TRIGGER_WHEN' value='36'/>
+      <enumerator name='EXPR_KIND_POLICY' value='37'/>
+      <enumerator name='EXPR_KIND_PARTITION_BOUND' value='38'/>
+      <enumerator name='EXPR_KIND_PARTITION_EXPRESSION' value='39'/>
+      <enumerator name='EXPR_KIND_CALL_ARGUMENT' value='40'/>
+      <enumerator name='EXPR_KIND_COPY_WHERE' value='41'/>
+      <enumerator name='EXPR_KIND_GENERATED_COLUMN' value='42'/>
+      <enumerator name='EXPR_KIND_CYCLE_MARK' value='43'/>
+    </enum-decl>
+    <typedef-decl name='QueryEnvironment' type-id='1e791674' id='7345a329'/>
+    <typedef-decl name='PreParseColumnRefHook' type-id='8b232c55' id='c6ea5968'/>
+    <typedef-decl name='ColumnRef' type-id='efdbde80' id='168b892f'/>
+    <class-decl name='ColumnRef' size-in-bits='192' is-struct='yes' visibility='default' id='efdbde80'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='fields' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PostParseColumnRefHook' type-id='0c5337d7' id='4afcb79b'/>
+    <typedef-decl name='ParseParamRefHook' type-id='13679b7c' id='2fc99baa'/>
+    <typedef-decl name='ParamRef' type-id='d45b9753' id='3eed97ba'/>
+    <class-decl name='ParamRef' size-in-bits='96' is-struct='yes' visibility='default' id='d45b9753'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='number' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='CoerceParamHook' type-id='915248f0' id='c4d0a731'/>
+    <typedef-decl name='Param' type-id='24900a7a' id='547991cd'/>
+    <class-decl name='EState' size-in-bits='2432' is-struct='yes' visibility='default' id='88ee323e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='es_direction' type-id='f403d182' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='es_snapshot' type-id='7f2324e8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='es_crosscheck_snapshot' type-id='7f2324e8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='es_range_table' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='es_range_table_size' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='es_relations' type-id='610afcf2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='es_rowmarks' type-id='bbc29afa' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='es_rteperminfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='es_plannedstmt' type-id='579971b3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='es_sourceText' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='es_junkFilter' type-id='763b1c4d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='es_output_cid' type-id='6692fd60' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='es_result_relations' type-id='860c2a70' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='es_opened_result_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='es_partition_directory' type-id='97164569' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='es_tuple_routing_result_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='es_trig_target_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='es_param_list_info' type-id='4ff08111' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='es_param_exec_vals' type-id='94926d07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='es_queryEnv' type-id='74ab5782' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='es_query_cxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='es_tupleTable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='es_processed' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='es_total_processed' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='es_top_eflags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='es_instrument' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='es_finished' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='es_exprcontexts' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='es_subplanstates' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='es_auxmodifytables' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='es_per_tuple_exprcontext' type-id='47bae38a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='es_epq_active' type-id='3a68d90b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='es_use_parallel_mode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='es_query_dsa' type-id='fbc5e3ad' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='es_jit_flags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='es_jit' type-id='24d6a8d3' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='es_jit_worker_instr' type-id='76399dc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='es_insert_pending_result_relations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='es_insert_pending_modifytables' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='ExecRowMark' size-in-bits='448' is-struct='yes' visibility='default' id='64bdbbb2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='relation' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='relid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='rti' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='prti' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='rowmarkId' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='markType' type-id='de7882c1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='strength' type-id='4f5c07df' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='waitPolicy' type-id='5016605c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='ermActive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='curCtid' type-id='f228c910' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ermExtra' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RowMarkType' type-id='c13ee7d5' id='de7882c1'/>
+    <enum-decl name='RowMarkType' id='c13ee7d5'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ROW_MARK_EXCLUSIVE' value='0'/>
+      <enumerator name='ROW_MARK_NOKEYEXCLUSIVE' value='1'/>
+      <enumerator name='ROW_MARK_SHARE' value='2'/>
+      <enumerator name='ROW_MARK_KEYSHARE' value='3'/>
+      <enumerator name='ROW_MARK_REFERENCE' value='4'/>
+      <enumerator name='ROW_MARK_COPY' value='5'/>
+    </enum-decl>
+    <typedef-decl name='LockClauseStrength' type-id='c58fd1e3' id='4f5c07df'/>
+    <enum-decl name='LockClauseStrength' id='c58fd1e3'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='LCS_NONE' value='0'/>
+      <enumerator name='LCS_FORKEYSHARE' value='1'/>
+      <enumerator name='LCS_FORSHARE' value='2'/>
+      <enumerator name='LCS_FORNOKEYUPDATE' value='3'/>
+      <enumerator name='LCS_FORUPDATE' value='4'/>
+    </enum-decl>
+    <typedef-decl name='PlannedStmt' type-id='cdab5403' id='a0780334'/>
+    <class-decl name='PlannedStmt' size-in-bits='1088' is-struct='yes' visibility='default' id='cdab5403'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='commandType' type-id='af8a0214' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='queryId' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='hasReturning' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='hasModifyingCTE' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='canSetTag' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='transientPlan' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='dependsOnRole' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='parallelModeNeeded' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='jitFlags' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='planTree' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='rtable' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='permInfos' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='resultRelations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='appendRelations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='subplans' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='rewindPlanIDs' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='rowMarks' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='relationOids' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='invalItems' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='paramExecTypes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='utilityStmt' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='stmt_location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='stmt_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='Plan' size-in-bits='832' is-struct='yes' visibility='default' id='58a10fda'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='startup_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='total_cost' type-id='46a85fb1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='plan_rows' type-id='2206bd64' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='plan_width' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='parallel_aware' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='296'>
+        <var-decl name='parallel_safe' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='304'>
+        <var-decl name='async_capable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='plan_node_id' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='targetlist' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='qual' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='lefttree' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='righttree' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='initPlan' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='extParam' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='allParam' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Cost' type-id='a0eb0f08' id='46a85fb1'/>
+    <typedef-decl name='JunkFilter' type-id='fa34ef4d' id='512b66a8'/>
+    <class-decl name='JunkFilter' size-in-bits='320' is-struct='yes' visibility='default' id='fa34ef4d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='jf_targetList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='jf_cleanTupType' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='jf_cleanMap' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='jf_resultSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ResultRelInfo' type-id='1c3932b8' id='a41dd399'/>
+    <class-decl name='ResultRelInfo' size-in-bits='2880' is-struct='yes' visibility='default' id='1c3932b8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ri_RangeTableIndex' type-id='b14ca5c8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ri_RelationDesc' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='ri_NumIndices' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ri_IndexRelationDescs' type-id='f3975293' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ri_IndexRelationInfo' type-id='db191730' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='ri_RowIdAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='ri_extraUpdatedCols' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='ri_projectNew' type-id='a5c2be03' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='ri_newTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='ri_oldTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='ri_projectNewInfoValid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='ri_TrigDesc' type-id='457b83dc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='ri_TrigFunctions' type-id='335fd962' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='ri_TrigWhenExprs' type-id='35406224' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ri_TrigInstrument' type-id='83bfdd55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ri_ReturningSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ri_TrigOldSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ri_TrigNewSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='ri_FdwRoutine' type-id='db4b126e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='ri_FdwState' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='ri_usesFdwDirectModify' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1312'>
+        <var-decl name='ri_NumSlots' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='ri_NumSlotsInitialized' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1376'>
+        <var-decl name='ri_BatchSize' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='ri_Slots' type-id='052cd977' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='ri_PlanSlots' type-id='052cd977' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='ri_WithCheckOptions' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='ri_WithCheckOptionExprs' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='ri_ConstraintExprs' type-id='35406224' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='ri_GeneratedExprsI' type-id='35406224' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='ri_GeneratedExprsU' type-id='35406224' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='ri_NumGeneratedNeededI' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1888'>
+        <var-decl name='ri_NumGeneratedNeededU' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='ri_returningList' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='ri_projectReturning' type-id='a5c2be03' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='ri_onConflictArbiterIndexes' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='ri_onConflict' type-id='c926e318' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='ri_matchedMergeAction' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2240'>
+        <var-decl name='ri_notMatchedMergeAction' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2304'>
+        <var-decl name='ri_PartitionCheckExpr' type-id='6460b71c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2368'>
+        <var-decl name='ri_ChildToRootMap' type-id='163db565' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2432'>
+        <var-decl name='ri_ChildToRootMapValid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2496'>
+        <var-decl name='ri_RootToChildMap' type-id='163db565' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2560'>
+        <var-decl name='ri_RootToChildMapValid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2624'>
+        <var-decl name='ri_RootResultRelInfo' type-id='3b472d20' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2688'>
+        <var-decl name='ri_PartitionTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2752'>
+        <var-decl name='ri_CopyMultiInsertBuffer' type-id='d6dea224' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2816'>
+        <var-decl name='ri_ancestorResultRels' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RelationPtr' type-id='610afcf2' id='f3975293'/>
+    <typedef-decl name='IndexInfo' type-id='2268c428' id='75254515'/>
+    <typedef-decl name='ProjectionInfo' type-id='aa2bff85' id='53ba63da'/>
+    <class-decl name='ProjectionInfo' size-in-bits='1024' is-struct='yes' visibility='default' id='aa2bff85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='pi_state' type-id='31d0348d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='pi_exprContext' type-id='47bae38a' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExprState' type-id='96070c1c' id='31d0348d'/>
+    <typedef-decl name='ExprContext' type-id='a0a26f32' id='bc564a53'/>
+    <typedef-decl name='Instrumentation' type-id='e19aae85' id='25f39bce'/>
+    <class-decl name='Instrumentation' size-in-bits='3200' is-struct='yes' visibility='default' id='e19aae85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='need_timer' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='8'>
+        <var-decl name='need_bufusage' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='16'>
+        <var-decl name='need_walusage' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='24'>
+        <var-decl name='async_mode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='running' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='starttime' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='counter' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='firsttuple' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tuplecount' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='bufusage_start' type-id='bec09531' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='walusage_start' type-id='cb65ae2b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='startup' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='total' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='ntuples' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='ntuples2' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='nloops' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='nfiltered1' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='nfiltered2' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='bufusage' type-id='bec09531' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='3008'>
+        <var-decl name='walusage' type-id='cb65ae2b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='instr_time' type-id='a25de323' id='bec842ce'/>
+    <class-decl name='instr_time' size-in-bits='64' is-struct='yes' visibility='default' id='a25de323'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ticks' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='BufferUsage' type-id='540c4462' id='bec09531'/>
+    <class-decl name='BufferUsage' size-in-bits='1024' is-struct='yes' visibility='default' id='540c4462'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='shared_blks_hit' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='shared_blks_read' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='shared_blks_dirtied' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='shared_blks_written' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='local_blks_hit' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='local_blks_read' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='local_blks_dirtied' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='local_blks_written' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='temp_blks_read' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='temp_blks_written' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='shared_blk_read_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='shared_blk_write_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='local_blk_read_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='local_blk_write_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='temp_blk_read_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='temp_blk_write_time' type-id='bec842ce' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='WalUsage' type-id='384a99c2' id='cb65ae2b'/>
+    <class-decl name='WalUsage' size-in-bits='192' is-struct='yes' visibility='default' id='384a99c2'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='wal_records' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='wal_fpi' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='wal_bytes' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='OnConflictSetState' type-id='b6b96f90' id='e594b097'/>
+    <class-decl name='OnConflictSetState' size-in-bits='320' is-struct='yes' visibility='default' id='b6b96f90'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='oc_Existing' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='oc_ProjSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='oc_ProjInfo' type-id='a5c2be03' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='oc_WhereClause' type-id='6460b71c' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='TupleConversionMap' type-id='794d0e85' id='e434b0a4'/>
+    <class-decl name='TupleConversionMap' size-in-bits='448' is-struct='yes' visibility='default' id='794d0e85'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='indesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='outdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='attrMap' type-id='042f5542' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='invalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='inisnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='outvalues' type-id='87794d52' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='outisnull' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='AttrMap' type-id='d0b8b6e4' id='dc4eb83f'/>
+    <class-decl name='AttrMap' size-in-bits='128' is-struct='yes' visibility='default' id='d0b8b6e4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='attnums' type-id='f205808f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='maplen' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PartitionDirectory' type-id='358e4672' id='97164569'/>
+    <class-decl name='EPQState' size-in-bits='832' is-struct='yes' visibility='default' id='23a7186d'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='parentestate' type-id='d20936ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='epqParam' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='resultRelations' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tuple_table' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='relsubs_slot' type-id='052cd977' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='plan' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='arowMarks' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='origslot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='recheckestate' type-id='d20936ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='relsubs_rowmark' type-id='2bf11ac8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='relsubs_done' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='relsubs_blocked' type-id='d8e6b335' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='recheckplanstate' type-id='22f23588' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='EState' type-id='88ee323e' id='bce5e02d'/>
+    <typedef-decl name='Plan' type-id='58a10fda' id='02992b1f'/>
+    <typedef-decl name='ExecAuxRowMark' type-id='55e42ca0' id='9ef9edc3'/>
+    <class-decl name='ExecAuxRowMark' size-in-bits='128' is-struct='yes' visibility='default' id='55e42ca0'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='rowmark' type-id='5cb9f8ea' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='ctidAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='toidAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='wholeAttNo' type-id='6bdc0c3e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecRowMark' type-id='64bdbbb2' id='ac55978f'/>
+    <typedef-decl name='PlanState' type-id='5501a670' id='7f232f51'/>
+    <class-decl name='PlanState' size-in-bits='1600' is-struct='yes' visibility='default' id='5501a670'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='plan' type-id='5fc51fc8' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='state' type-id='d20936ce' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='ExecProcNode' type-id='980aaae4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='ExecProcNodeReal' type-id='980aaae4' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='instrument' type-id='83bfdd55' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='worker_instrument' type-id='91a0b133' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='worker_jit_instrument' type-id='fc394b83' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='qual' type-id='6460b71c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='lefttree' type-id='22f23588' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='righttree' type-id='22f23588' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='initPlan' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='subPlan' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='chgParam' type-id='e8c55cbc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='ps_ResultTupleDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='ps_ResultTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='ps_ExprContext' type-id='47bae38a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='ps_ProjInfo' type-id='a5c2be03' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='async_capable' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='scandesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='scanops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='outerops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='innerops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='resultops' type-id='a722f4b0' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='scanopsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1544'>
+        <var-decl name='outeropsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1552'>
+        <var-decl name='inneropsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1560'>
+        <var-decl name='resultopsfixed' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1568'>
+        <var-decl name='scanopsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1576'>
+        <var-decl name='outeropsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1584'>
+        <var-decl name='inneropsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1592'>
+        <var-decl name='resultopsset' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExecProcNodeMtd' type-id='cf53b5e2' id='980aaae4'/>
+    <typedef-decl name='WorkerInstrumentation' type-id='601c3a93' id='d39d25d0'/>
+    <class-decl name='WorkerInstrumentation' size-in-bits='64' is-struct='yes' visibility='default' id='601c3a93'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='num_workers' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='instrument' type-id='b1f0fafd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExprContext_CB' type-id='7cf0472b' id='00165dba'/>
+    <class-decl name='ExprContext_CB' size-in-bits='192' is-struct='yes' visibility='default' id='7cf0472b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='4b1e905c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='function' type-id='a8df8ac9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='arg' type-id='f24b0a4f' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ExprContextCallbackFunction' type-id='49a7cf56' id='a8df8ac9'/>
+    <typedef-decl name='IndexBuildCallback' type-id='fdf0dfdb' id='973b94e3'/>
+    <typedef-decl name='ForkNumber' type-id='5d0d6abd' id='331c2969'/>
+    <enum-decl name='ForkNumber' id='5d0d6abd'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='InvalidForkNumber' value='-1'/>
+      <enumerator name='MAIN_FORKNUM' value='0'/>
+      <enumerator name='FSM_FORKNUM' value='1'/>
+      <enumerator name='VISIBILITYMAP_FORKNUM' value='2'/>
+      <enumerator name='INIT_FORKNUM' value='3'/>
+    </enum-decl>
+    <class-decl name='TBMIterateResult' size-in-bits='96' is-struct='yes' visibility='default' id='83ac0015'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='blockno' type-id='3db40640' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ntuples' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='recheck' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='offsets' type-id='f75dfdbb' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SampleScanState' size-in-bits='2240' is-struct='yes' visibility='default' id='c23e864b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ss' type-id='1b63dd2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1792'>
+        <var-decl name='args' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1856'>
+        <var-decl name='repeatable' type-id='6460b71c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1920'>
+        <var-decl name='tsmroutine' type-id='8dd3335d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1984'>
+        <var-decl name='tsm_state' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2048'>
+        <var-decl name='use_bulkread' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2056'>
+        <var-decl name='use_pagemode' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2064'>
+        <var-decl name='begun' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2080'>
+        <var-decl name='seed' type-id='7aa912f5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2112'>
+        <var-decl name='donetuples' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2176'>
+        <var-decl name='haveblock' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='2184'>
+        <var-decl name='done' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ScanState' type-id='b33c12d5' id='1b63dd2e'/>
+    <class-decl name='ScanState' size-in-bits='1792' is-struct='yes' visibility='default' id='b33c12d5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='ps' type-id='7f232f51' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1600'>
+        <var-decl name='ss_currentRelation' type-id='c79d68a9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1664'>
+        <var-decl name='ss_currentScanDesc' type-id='09c2469f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1728'>
+        <var-decl name='ss_ScanTupleSlot' type-id='336f4727' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='Form_pg_index' type-id='7a0bd728' id='320f78a9'/>
+    <typedef-decl name='FormData_pg_index' type-id='9c8bb25a' id='4d9fe359'/>
+    <class-decl name='FormData_pg_index' size-in-bits='384' is-struct='yes' visibility='default' id='9c8bb25a'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='indexrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='indrelid' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='indnatts' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='80'>
+        <var-decl name='indnkeyatts' type-id='27de9c2e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='indisunique' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='104'>
+        <var-decl name='indnullsnotdistinct' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='112'>
+        <var-decl name='indisprimary' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='120'>
+        <var-decl name='indisexclusion' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='indimmediate' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='indisclustered' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='indisvalid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='152'>
+        <var-decl name='indcheckxmin' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='indisready' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='indislive' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='176'>
+        <var-decl name='indisreplident' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='indkey' type-id='41ad24e2' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='int2vector' type-id='8c09b324' id='41ad24e2'/>
+    <class-decl name='__anonymous_struct__4' size-in-bits='192' is-struct='yes' is-anonymous='yes' naming-typedef-id='41ad24e2' visibility='default' id='8c09b324'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='vl_len_' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='ndim' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='dataoffset' type-id='93e3c360' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='96'>
+        <var-decl name='elemtype' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='dim1' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='lbound1' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='values' type-id='26f3f8d9' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='RegProcedure' type-id='de491152' id='e59e47cf'/>
+    <typedef-decl name='regproc' type-id='63cf087c' id='de491152'/>
+    <typedef-decl name='Tuplestorestate' type-id='ffe56677' id='8b7bc69c'/>
+    <typedef-decl name='EventTriggerData' type-id='06d66699' id='c23f55f0'/>
+    <class-decl name='EventTriggerData' size-in-bits='256' is-struct='yes' visibility='default' id='06d66699'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='event' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='parsetree' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='tag' type-id='a18bc913' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='CommandTag' type-id='dbec090f' id='a18bc913'/>
+    <enum-decl name='CommandTag' id='dbec090f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='CMDTAG_UNKNOWN' value='0'/>
+      <enumerator name='CMDTAG_ALTER_ACCESS_METHOD' value='1'/>
+      <enumerator name='CMDTAG_ALTER_AGGREGATE' value='2'/>
+      <enumerator name='CMDTAG_ALTER_CAST' value='3'/>
+      <enumerator name='CMDTAG_ALTER_COLLATION' value='4'/>
+      <enumerator name='CMDTAG_ALTER_CONSTRAINT' value='5'/>
+      <enumerator name='CMDTAG_ALTER_CONVERSION' value='6'/>
+      <enumerator name='CMDTAG_ALTER_DATABASE' value='7'/>
+      <enumerator name='CMDTAG_ALTER_DEFAULT_PRIVILEGES' value='8'/>
+      <enumerator name='CMDTAG_ALTER_DOMAIN' value='9'/>
+      <enumerator name='CMDTAG_ALTER_EVENT_TRIGGER' value='10'/>
+      <enumerator name='CMDTAG_ALTER_EXTENSION' value='11'/>
+      <enumerator name='CMDTAG_ALTER_FOREIGN_DATA_WRAPPER' value='12'/>
+      <enumerator name='CMDTAG_ALTER_FOREIGN_TABLE' value='13'/>
+      <enumerator name='CMDTAG_ALTER_FUNCTION' value='14'/>
+      <enumerator name='CMDTAG_ALTER_INDEX' value='15'/>
+      <enumerator name='CMDTAG_ALTER_LANGUAGE' value='16'/>
+      <enumerator name='CMDTAG_ALTER_LARGE_OBJECT' value='17'/>
+      <enumerator name='CMDTAG_ALTER_MATERIALIZED_VIEW' value='18'/>
+      <enumerator name='CMDTAG_ALTER_OPERATOR' value='19'/>
+      <enumerator name='CMDTAG_ALTER_OPERATOR_CLASS' value='20'/>
+      <enumerator name='CMDTAG_ALTER_OPERATOR_FAMILY' value='21'/>
+      <enumerator name='CMDTAG_ALTER_POLICY' value='22'/>
+      <enumerator name='CMDTAG_ALTER_PROCEDURE' value='23'/>
+      <enumerator name='CMDTAG_ALTER_PUBLICATION' value='24'/>
+      <enumerator name='CMDTAG_ALTER_ROLE' value='25'/>
+      <enumerator name='CMDTAG_ALTER_ROUTINE' value='26'/>
+      <enumerator name='CMDTAG_ALTER_RULE' value='27'/>
+      <enumerator name='CMDTAG_ALTER_SCHEMA' value='28'/>
+      <enumerator name='CMDTAG_ALTER_SEQUENCE' value='29'/>
+      <enumerator name='CMDTAG_ALTER_SERVER' value='30'/>
+      <enumerator name='CMDTAG_ALTER_STATISTICS' value='31'/>
+      <enumerator name='CMDTAG_ALTER_SUBSCRIPTION' value='32'/>
+      <enumerator name='CMDTAG_ALTER_SYSTEM' value='33'/>
+      <enumerator name='CMDTAG_ALTER_TABLE' value='34'/>
+      <enumerator name='CMDTAG_ALTER_TABLESPACE' value='35'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_CONFIGURATION' value='36'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_DICTIONARY' value='37'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_PARSER' value='38'/>
+      <enumerator name='CMDTAG_ALTER_TEXT_SEARCH_TEMPLATE' value='39'/>
+      <enumerator name='CMDTAG_ALTER_TRANSFORM' value='40'/>
+      <enumerator name='CMDTAG_ALTER_TRIGGER' value='41'/>
+      <enumerator name='CMDTAG_ALTER_TYPE' value='42'/>
+      <enumerator name='CMDTAG_ALTER_USER_MAPPING' value='43'/>
+      <enumerator name='CMDTAG_ALTER_VIEW' value='44'/>
+      <enumerator name='CMDTAG_ANALYZE' value='45'/>
+      <enumerator name='CMDTAG_BEGIN' value='46'/>
+      <enumerator name='CMDTAG_CALL' value='47'/>
+      <enumerator name='CMDTAG_CHECKPOINT' value='48'/>
+      <enumerator name='CMDTAG_CLOSE' value='49'/>
+      <enumerator name='CMDTAG_CLOSE_CURSOR' value='50'/>
+      <enumerator name='CMDTAG_CLOSE_CURSOR_ALL' value='51'/>
+      <enumerator name='CMDTAG_CLUSTER' value='52'/>
+      <enumerator name='CMDTAG_COMMENT' value='53'/>
+      <enumerator name='CMDTAG_COMMIT' value='54'/>
+      <enumerator name='CMDTAG_COMMIT_PREPARED' value='55'/>
+      <enumerator name='CMDTAG_COPY' value='56'/>
+      <enumerator name='CMDTAG_COPY_FROM' value='57'/>
+      <enumerator name='CMDTAG_CREATE_ACCESS_METHOD' value='58'/>
+      <enumerator name='CMDTAG_CREATE_AGGREGATE' value='59'/>
+      <enumerator name='CMDTAG_CREATE_CAST' value='60'/>
+      <enumerator name='CMDTAG_CREATE_COLLATION' value='61'/>
+      <enumerator name='CMDTAG_CREATE_CONSTRAINT' value='62'/>
+      <enumerator name='CMDTAG_CREATE_CONVERSION' value='63'/>
+      <enumerator name='CMDTAG_CREATE_DATABASE' value='64'/>
+      <enumerator name='CMDTAG_CREATE_DOMAIN' value='65'/>
+      <enumerator name='CMDTAG_CREATE_EVENT_TRIGGER' value='66'/>
+      <enumerator name='CMDTAG_CREATE_EXTENSION' value='67'/>
+      <enumerator name='CMDTAG_CREATE_FOREIGN_DATA_WRAPPER' value='68'/>
+      <enumerator name='CMDTAG_CREATE_FOREIGN_TABLE' value='69'/>
+      <enumerator name='CMDTAG_CREATE_FUNCTION' value='70'/>
+      <enumerator name='CMDTAG_CREATE_INDEX' value='71'/>
+      <enumerator name='CMDTAG_CREATE_LANGUAGE' value='72'/>
+      <enumerator name='CMDTAG_CREATE_MATERIALIZED_VIEW' value='73'/>
+      <enumerator name='CMDTAG_CREATE_OPERATOR' value='74'/>
+      <enumerator name='CMDTAG_CREATE_OPERATOR_CLASS' value='75'/>
+      <enumerator name='CMDTAG_CREATE_OPERATOR_FAMILY' value='76'/>
+      <enumerator name='CMDTAG_CREATE_POLICY' value='77'/>
+      <enumerator name='CMDTAG_CREATE_PROCEDURE' value='78'/>
+      <enumerator name='CMDTAG_CREATE_PUBLICATION' value='79'/>
+      <enumerator name='CMDTAG_CREATE_ROLE' value='80'/>
+      <enumerator name='CMDTAG_CREATE_ROUTINE' value='81'/>
+      <enumerator name='CMDTAG_CREATE_RULE' value='82'/>
+      <enumerator name='CMDTAG_CREATE_SCHEMA' value='83'/>
+      <enumerator name='CMDTAG_CREATE_SEQUENCE' value='84'/>
+      <enumerator name='CMDTAG_CREATE_SERVER' value='85'/>
+      <enumerator name='CMDTAG_CREATE_STATISTICS' value='86'/>
+      <enumerator name='CMDTAG_CREATE_SUBSCRIPTION' value='87'/>
+      <enumerator name='CMDTAG_CREATE_TABLE' value='88'/>
+      <enumerator name='CMDTAG_CREATE_TABLE_AS' value='89'/>
+      <enumerator name='CMDTAG_CREATE_TABLESPACE' value='90'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_CONFIGURATION' value='91'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_DICTIONARY' value='92'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_PARSER' value='93'/>
+      <enumerator name='CMDTAG_CREATE_TEXT_SEARCH_TEMPLATE' value='94'/>
+      <enumerator name='CMDTAG_CREATE_TRANSFORM' value='95'/>
+      <enumerator name='CMDTAG_CREATE_TRIGGER' value='96'/>
+      <enumerator name='CMDTAG_CREATE_TYPE' value='97'/>
+      <enumerator name='CMDTAG_CREATE_USER_MAPPING' value='98'/>
+      <enumerator name='CMDTAG_CREATE_VIEW' value='99'/>
+      <enumerator name='CMDTAG_DEALLOCATE' value='100'/>
+      <enumerator name='CMDTAG_DEALLOCATE_ALL' value='101'/>
+      <enumerator name='CMDTAG_DECLARE_CURSOR' value='102'/>
+      <enumerator name='CMDTAG_DELETE' value='103'/>
+      <enumerator name='CMDTAG_DISCARD' value='104'/>
+      <enumerator name='CMDTAG_DISCARD_ALL' value='105'/>
+      <enumerator name='CMDTAG_DISCARD_PLANS' value='106'/>
+      <enumerator name='CMDTAG_DISCARD_SEQUENCES' value='107'/>
+      <enumerator name='CMDTAG_DISCARD_TEMP' value='108'/>
+      <enumerator name='CMDTAG_DO' value='109'/>
+      <enumerator name='CMDTAG_DROP_ACCESS_METHOD' value='110'/>
+      <enumerator name='CMDTAG_DROP_AGGREGATE' value='111'/>
+      <enumerator name='CMDTAG_DROP_CAST' value='112'/>
+      <enumerator name='CMDTAG_DROP_COLLATION' value='113'/>
+      <enumerator name='CMDTAG_DROP_CONSTRAINT' value='114'/>
+      <enumerator name='CMDTAG_DROP_CONVERSION' value='115'/>
+      <enumerator name='CMDTAG_DROP_DATABASE' value='116'/>
+      <enumerator name='CMDTAG_DROP_DOMAIN' value='117'/>
+      <enumerator name='CMDTAG_DROP_EVENT_TRIGGER' value='118'/>
+      <enumerator name='CMDTAG_DROP_EXTENSION' value='119'/>
+      <enumerator name='CMDTAG_DROP_FOREIGN_DATA_WRAPPER' value='120'/>
+      <enumerator name='CMDTAG_DROP_FOREIGN_TABLE' value='121'/>
+      <enumerator name='CMDTAG_DROP_FUNCTION' value='122'/>
+      <enumerator name='CMDTAG_DROP_INDEX' value='123'/>
+      <enumerator name='CMDTAG_DROP_LANGUAGE' value='124'/>
+      <enumerator name='CMDTAG_DROP_MATERIALIZED_VIEW' value='125'/>
+      <enumerator name='CMDTAG_DROP_OPERATOR' value='126'/>
+      <enumerator name='CMDTAG_DROP_OPERATOR_CLASS' value='127'/>
+      <enumerator name='CMDTAG_DROP_OPERATOR_FAMILY' value='128'/>
+      <enumerator name='CMDTAG_DROP_OWNED' value='129'/>
+      <enumerator name='CMDTAG_DROP_POLICY' value='130'/>
+      <enumerator name='CMDTAG_DROP_PROCEDURE' value='131'/>
+      <enumerator name='CMDTAG_DROP_PUBLICATION' value='132'/>
+      <enumerator name='CMDTAG_DROP_ROLE' value='133'/>
+      <enumerator name='CMDTAG_DROP_ROUTINE' value='134'/>
+      <enumerator name='CMDTAG_DROP_RULE' value='135'/>
+      <enumerator name='CMDTAG_DROP_SCHEMA' value='136'/>
+      <enumerator name='CMDTAG_DROP_SEQUENCE' value='137'/>
+      <enumerator name='CMDTAG_DROP_SERVER' value='138'/>
+      <enumerator name='CMDTAG_DROP_STATISTICS' value='139'/>
+      <enumerator name='CMDTAG_DROP_SUBSCRIPTION' value='140'/>
+      <enumerator name='CMDTAG_DROP_TABLE' value='141'/>
+      <enumerator name='CMDTAG_DROP_TABLESPACE' value='142'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_CONFIGURATION' value='143'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_DICTIONARY' value='144'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_PARSER' value='145'/>
+      <enumerator name='CMDTAG_DROP_TEXT_SEARCH_TEMPLATE' value='146'/>
+      <enumerator name='CMDTAG_DROP_TRANSFORM' value='147'/>
+      <enumerator name='CMDTAG_DROP_TRIGGER' value='148'/>
+      <enumerator name='CMDTAG_DROP_TYPE' value='149'/>
+      <enumerator name='CMDTAG_DROP_USER_MAPPING' value='150'/>
+      <enumerator name='CMDTAG_DROP_VIEW' value='151'/>
+      <enumerator name='CMDTAG_EXECUTE' value='152'/>
+      <enumerator name='CMDTAG_EXPLAIN' value='153'/>
+      <enumerator name='CMDTAG_FETCH' value='154'/>
+      <enumerator name='CMDTAG_GRANT' value='155'/>
+      <enumerator name='CMDTAG_GRANT_ROLE' value='156'/>
+      <enumerator name='CMDTAG_IMPORT_FOREIGN_SCHEMA' value='157'/>
+      <enumerator name='CMDTAG_INSERT' value='158'/>
+      <enumerator name='CMDTAG_LISTEN' value='159'/>
+      <enumerator name='CMDTAG_LOAD' value='160'/>
+      <enumerator name='CMDTAG_LOCK_TABLE' value='161'/>
+      <enumerator name='CMDTAG_LOGIN' value='162'/>
+      <enumerator name='CMDTAG_MERGE' value='163'/>
+      <enumerator name='CMDTAG_MOVE' value='164'/>
+      <enumerator name='CMDTAG_NOTIFY' value='165'/>
+      <enumerator name='CMDTAG_PREPARE' value='166'/>
+      <enumerator name='CMDTAG_PREPARE_TRANSACTION' value='167'/>
+      <enumerator name='CMDTAG_REASSIGN_OWNED' value='168'/>
+      <enumerator name='CMDTAG_REFRESH_MATERIALIZED_VIEW' value='169'/>
+      <enumerator name='CMDTAG_REINDEX' value='170'/>
+      <enumerator name='CMDTAG_RELEASE' value='171'/>
+      <enumerator name='CMDTAG_RESET' value='172'/>
+      <enumerator name='CMDTAG_REVOKE' value='173'/>
+      <enumerator name='CMDTAG_REVOKE_ROLE' value='174'/>
+      <enumerator name='CMDTAG_ROLLBACK' value='175'/>
+      <enumerator name='CMDTAG_ROLLBACK_PREPARED' value='176'/>
+      <enumerator name='CMDTAG_SAVEPOINT' value='177'/>
+      <enumerator name='CMDTAG_SECURITY_LABEL' value='178'/>
+      <enumerator name='CMDTAG_SELECT' value='179'/>
+      <enumerator name='CMDTAG_SELECT_FOR_KEY_SHARE' value='180'/>
+      <enumerator name='CMDTAG_SELECT_FOR_NO_KEY_UPDATE' value='181'/>
+      <enumerator name='CMDTAG_SELECT_FOR_SHARE' value='182'/>
+      <enumerator name='CMDTAG_SELECT_FOR_UPDATE' value='183'/>
+      <enumerator name='CMDTAG_SELECT_INTO' value='184'/>
+      <enumerator name='CMDTAG_SET' value='185'/>
+      <enumerator name='CMDTAG_SET_CONSTRAINTS' value='186'/>
+      <enumerator name='CMDTAG_SHOW' value='187'/>
+      <enumerator name='CMDTAG_START_TRANSACTION' value='188'/>
+      <enumerator name='CMDTAG_TRUNCATE_TABLE' value='189'/>
+      <enumerator name='CMDTAG_UNLISTEN' value='190'/>
+      <enumerator name='CMDTAG_UPDATE' value='191'/>
+      <enumerator name='CMDTAG_VACUUM' value='192'/>
+      <enumerator name='COMMAND_TAG_NEXTTAG' value='193'/>
+    </enum-decl>
+    <typedef-decl name='ErrorData' type-id='2530e949' id='a0fdc2ea'/>
+    <class-decl name='ErrorData' size-in-bits='1472' is-struct='yes' visibility='default' id='2530e949'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='elevel' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='output_to_server' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='40'>
+        <var-decl name='output_to_client' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='48'>
+        <var-decl name='hide_stmt' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='56'>
+        <var-decl name='hide_ctx' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='filename' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='funcname' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='domain' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='context_domain' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='sqlerrcode' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='message' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='detail' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='detail_log' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='hint' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='context' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='backtrace' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='message_id' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='schema_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='table_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='column_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='datatype_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='constraint_name' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='cursorpos' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1248'>
+        <var-decl name='internalpos' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1280'>
+        <var-decl name='internalquery' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='saved_errno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='assoc_context' type-id='34bdb839' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='ResourceOwner' type-id='c6fe2952' id='2d5e7217'/>
+    <typedef-decl name='ReturnSetInfo' type-id='5c2924de' id='785ba03b'/>
+    <class-decl name='ReturnSetInfo' size-in-bits='448' is-struct='yes' visibility='default' id='5c2924de'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='econtext' type-id='47bae38a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='expectedDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='allowedModes' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='returnMode' type-id='3c64eef9' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='isDone' type-id='a15d5633' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='setResult' type-id='e43b772f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='setDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='SetFunctionReturnMode' type-id='40ed39d2' id='3c64eef9'/>
+    <enum-decl name='__anonymous_enum__1' is-anonymous='yes' id='40ed39d2'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='SFRM_ValuePerCall' value='1'/>
+      <enumerator name='SFRM_Materialize' value='2'/>
+      <enumerator name='SFRM_Materialize_Random' value='4'/>
+      <enumerator name='SFRM_Materialize_Preferred' value='8'/>
+    </enum-decl>
+    <typedef-decl name='ExprDoneCond' type-id='3fed383f' id='a15d5633'/>
+    <enum-decl name='__anonymous_enum__2' is-anonymous='yes' id='3fed383f'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='ExprSingleResult' value='0'/>
+      <enumerator name='ExprMultipleResult' value='1'/>
+      <enumerator name='ExprEndResult' value='2'/>
+    </enum-decl>
+    <typedef-decl name='HTAB' type-id='d3f73eb6' id='09c852cb'/>
+    <typedef-decl name='SPITupleTable' type-id='2c07bdfb' id='b46b9160'/>
+    <class-decl name='SPITupleTable' size-in-bits='448' is-struct='yes' visibility='default' id='2c07bdfb'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='tupdesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='vals' type-id='4fc4ab07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='numvals' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='alloced' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='tuptabcxt' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='next' type-id='f13aab3e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='subid' type-id='5f59ae47' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='slist_node' size-in-bits='64' is-struct='yes' visibility='default' id='7aa1cb7b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='next' type-id='2ff33dcb' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='slist_node' type-id='7aa1cb7b' id='f13aab3e'/>
+    <typedef-decl name='PLpgSQL_stmt' type-id='839ee38b' id='79e2ce06'/>
+    <class-decl name='PLpgSQL_stmt' size-in-bits='96' is-struct='yes' visibility='default' id='839ee38b'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cmd_type' type-id='75f63103' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmtid' type-id='f0981eeb' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_variable' type-id='3bb420e7' id='a7723a3a'/>
+    <class-decl name='PLpgSQL_variable' size-in-bits='256' is-struct='yes' visibility='default' id='3bb420e7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='dtype' type-id='8fdeefdc' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='dno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='refname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='isconst' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='168'>
+        <var-decl name='notnull' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='default_val' type-id='575e2306' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_expr' type-id='6d218c90' id='395172b1'/>
+    <class-decl name='PLpgSQL_nsitem' size-in-bits='128' is-struct='yes' visibility='default' id='a47fdee5'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='itemtype' type-id='179a0329' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='itemno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='prev' type-id='f0068755' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='name' type-id='e84913bd' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_nsitem_type' type-id='7a61f31d' id='179a0329'/>
+    <enum-decl name='PLpgSQL_nsitem_type' id='7a61f31d'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_NSTYPE_LABEL' value='0'/>
+      <enumerator name='PLPGSQL_NSTYPE_VAR' value='1'/>
+      <enumerator name='PLPGSQL_NSTYPE_REC' value='2'/>
+    </enum-decl>
+    <typedef-decl name='CachedPlanSource' type-id='376258c1' id='86833f90'/>
+    <class-decl name='CachedPlanSource' size-in-bits='1600' is-struct='yes' visibility='default' id='376258c1'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='magic' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='raw_parse_tree' type-id='563110bf' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='query_string' type-id='80f4b756' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='commandTag' type-id='a18bc913' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='param_types' type-id='42f3594b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='num_params' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='parserSetup' type-id='df87ed5b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='448'>
+        <var-decl name='parserSetupArg' type-id='eaa32e2f' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='512'>
+        <var-decl name='cursor_options' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='544'>
+        <var-decl name='fixed_result' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='576'>
+        <var-decl name='resultDesc' type-id='39243d9b' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='640'>
+        <var-decl name='context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='704'>
+        <var-decl name='query_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='768'>
+        <var-decl name='relationOids' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='832'>
+        <var-decl name='invalItems' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='896'>
+        <var-decl name='search_path' type-id='2f13296e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='960'>
+        <var-decl name='query_context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1024'>
+        <var-decl name='rewriteRoleId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1056'>
+        <var-decl name='rewriteRowSecurity' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1064'>
+        <var-decl name='dependsOnRLS' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1088'>
+        <var-decl name='gplan' type-id='da707eb2' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1152'>
+        <var-decl name='is_oneshot' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1160'>
+        <var-decl name='is_complete' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1168'>
+        <var-decl name='is_saved' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1176'>
+        <var-decl name='is_valid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1184'>
+        <var-decl name='generation' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1216'>
+        <var-decl name='node' type-id='7ec7d215' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1344'>
+        <var-decl name='generic_cost' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1408'>
+        <var-decl name='total_custom_cost' type-id='a0eb0f08' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1472'>
+        <var-decl name='num_custom_plans' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='1536'>
+        <var-decl name='num_generic_plans' type-id='27dc5d97' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='RawStmt' size-in-bits='192' is-struct='yes' visibility='default' id='858759f7'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='type' type-id='57011038' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmt' type-id='86bcc405' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='stmt_location' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='stmt_len' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='SearchPathMatcher' size-in-bits='192' is-struct='yes' visibility='default' id='2b16adc8'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='schemas' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='addCatalog' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='72'>
+        <var-decl name='addTemp' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='generation' type-id='f69d0a36' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <class-decl name='CachedPlan' size-in-bits='384' is-struct='yes' visibility='default' id='421dd424'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='magic' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmt_list' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='is_oneshot' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='136'>
+        <var-decl name='is_saved' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='144'>
+        <var-decl name='is_valid' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='160'>
+        <var-decl name='planRoleId' type-id='63cf087c' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='dependsOnRole' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='saved_xmin' type-id='2d7d3949' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='generation' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='288'>
+        <var-decl name='refcount' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='context' type-id='9968f2f6' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='CachedPlan' type-id='421dd424' id='179a98ad'/>
+    <typedef-decl name='LocalTransactionId' type-id='7aa912f5' id='52debaec'/>
+    <typedef-decl name='PLpgSQL_promise_type' type-id='2988209e' id='a54aba9a'/>
+    <enum-decl name='PLpgSQL_promise_type' id='2988209e'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_PROMISE_NONE' value='0'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_NAME' value='1'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_WHEN' value='2'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_LEVEL' value='3'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_OP' value='4'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_RELID' value='5'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_TABLE_NAME' value='6'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_TABLE_SCHEMA' value='7'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_NARGS' value='8'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_ARGV' value='9'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_EVENT' value='10'/>
+      <enumerator name='PLPGSQL_PROMISE_TG_TAG' value='11'/>
+    </enum-decl>
+    <typedef-decl name='PLpgSQL_condition' type-id='fee8311e' id='56b6447d'/>
+    <class-decl name='PLpgSQL_condition' size-in-bits='192' is-struct='yes' visibility='default' id='fee8311e'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='sqlerrstate' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='condname' type-id='26a90f95' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='next' type-id='8c079e74' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_exception' type-id='8e413516' id='990a9ab9'/>
+    <class-decl name='PLpgSQL_exception' size-in-bits='192' is-struct='yes' visibility='default' id='8e413516'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='conditions' type-id='8c079e74' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='action' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_nsitem' type-id='a47fdee5' id='1ca8d864'/>
+    <typedef-decl name='PLpgSQL_diag_item' type-id='e0bddf44' id='c6d80e1f'/>
+    <class-decl name='PLpgSQL_diag_item' size-in-bits='64' is-struct='yes' visibility='default' id='e0bddf44'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='kind' type-id='868ee24e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='target' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='PLpgSQL_getdiag_kind' type-id='621a68f2' id='868ee24e'/>
+    <enum-decl name='PLpgSQL_getdiag_kind' id='621a68f2'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='PLPGSQL_GETDIAG_ROW_COUNT' value='0'/>
+      <enumerator name='PLPGSQL_GETDIAG_ROUTINE_OID' value='1'/>
+      <enumerator name='PLPGSQL_GETDIAG_CONTEXT' value='2'/>
+      <enumerator name='PLPGSQL_GETDIAG_ERROR_CONTEXT' value='3'/>
+      <enumerator name='PLPGSQL_GETDIAG_ERROR_DETAIL' value='4'/>
+      <enumerator name='PLPGSQL_GETDIAG_ERROR_HINT' value='5'/>
+      <enumerator name='PLPGSQL_GETDIAG_RETURNED_SQLSTATE' value='6'/>
+      <enumerator name='PLPGSQL_GETDIAG_COLUMN_NAME' value='7'/>
+      <enumerator name='PLPGSQL_GETDIAG_CONSTRAINT_NAME' value='8'/>
+      <enumerator name='PLPGSQL_GETDIAG_DATATYPE_NAME' value='9'/>
+      <enumerator name='PLPGSQL_GETDIAG_MESSAGE_TEXT' value='10'/>
+      <enumerator name='PLPGSQL_GETDIAG_TABLE_NAME' value='11'/>
+      <enumerator name='PLPGSQL_GETDIAG_SCHEMA_NAME' value='12'/>
+    </enum-decl>
+    <typedef-decl name='PLpgSQL_stmt_fetch' type-id='5e1cd4b4' id='7247bb25'/>
+    <class-decl name='PLpgSQL_stmt_fetch' size-in-bits='448' is-struct='yes' visibility='default' id='5e1cd4b4'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='cmd_type' type-id='75f63103' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='32'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='stmtid' type-id='f0981eeb' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='target' type-id='e4d9ce07' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='192'>
+        <var-decl name='curvar' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='224'>
+        <var-decl name='direction' type-id='c1adeee5' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='256'>
+        <var-decl name='how_many' type-id='bd54fe1a' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='320'>
+        <var-decl name='expr' type-id='575e2306' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='384'>
+        <var-decl name='is_move' type-id='c894953d' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='392'>
+        <var-decl name='returns_multiple_rows' type-id='c894953d' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <typedef-decl name='FetchDirection' type-id='abd51b79' id='c1adeee5'/>
+    <enum-decl name='FetchDirection' id='abd51b79'>
+      <underlying-type type-id='9cac1fee'/>
+      <enumerator name='FETCH_FORWARD' value='0'/>
+      <enumerator name='FETCH_BACKWARD' value='1'/>
+      <enumerator name='FETCH_ABSOLUTE' value='2'/>
+      <enumerator name='FETCH_RELATIVE' value='3'/>
+    </enum-decl>
+    <typedef-decl name='PLpgSQL_case_when' type-id='ccdb7492' id='1219783d'/>
+    <class-decl name='PLpgSQL_case_when' size-in-bits='192' is-struct='yes' visibility='default' id='ccdb7492'>
+      <data-member access='public' layout-offset-in-bits='0'>
+        <var-decl name='lineno' type-id='95e97e5e' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='64'>
+        <var-decl name='expr' type-id='575e2306' visibility='default'/>
+      </data-member>
+      <data-member access='public' layout-offset-in-bits='128'>
+        <var-decl name='stmts' type-id='c2e26fd1' visibility='default'/>
+      </data-member>
+    </class-decl>
+    <pointer-type-def type-id='eea2deb8' size-in-bits='64' id='c6b151e7'/>
+    <pointer-type-def type-id='31fbc3e8' size-in-bits='64' id='32b888cf'/>
+    <pointer-type-def type-id='dc4eb83f' size-in-bits='64' id='042f5542'/>
+    <pointer-type-def type-id='1d76607e' size-in-bits='64' id='40cf5de4'/>
+    <pointer-type-def type-id='6bdc0c3e' size-in-bits='64' id='f205808f'/>
+    <pointer-type-def type-id='d0a434ed' size-in-bits='64' id='e8c55cbc'/>
+    <pointer-type-def type-id='3db40640' size-in-bits='64' id='8b65c1df'/>
+    <pointer-type-def type-id='e3152710' size-in-bits='64' id='1f417cf6'/>
+    <pointer-type-def type-id='7c3a169d' size-in-bits='64' id='ccc7d81d'/>
+    <pointer-type-def type-id='546c8069' size-in-bits='64' id='3a14ea32'/>
+    <pointer-type-def type-id='a76c026f' size-in-bits='64' id='ff83265a'/>
+    <pointer-type-def type-id='421dd424' size-in-bits='64' id='da707eb2'/>
+    <pointer-type-def type-id='86833f90' size-in-bits='64' id='f6d6a649'/>
+    <pointer-type-def type-id='168b892f' size-in-bits='64' id='356e4aa6'/>
+    <pointer-type-def type-id='d52d60c4' size-in-bits='64' id='8c1a5c4f'/>
+    <pointer-type-def type-id='dc8f1689' size-in-bits='64' id='3bc26f88'/>
+    <pointer-type-def type-id='daee8f6e' size-in-bits='64' id='d6dea224'/>
+    <pointer-type-def type-id='f24b0a4f' size-in-bits='64' id='87794d52'/>
+    <pointer-type-def type-id='547be363' size-in-bits='64' id='fd550652'/>
+    <pointer-type-def type-id='23a7186d' size-in-bits='64' id='3a68d90b'/>
+    <pointer-type-def type-id='bce5e02d' size-in-bits='64' id='d20936ce'/>
+    <pointer-type-def type-id='a0fdc2ea' size-in-bits='64' id='f2dff411'/>
+    <pointer-type-def type-id='c23f55f0' size-in-bits='64' id='70e42b81'/>
+    <pointer-type-def type-id='9ef9edc3' size-in-bits='64' id='2a5c1258'/>
+    <pointer-type-def type-id='2a5c1258' size-in-bits='64' id='2bf11ac8'/>
+    <pointer-type-def type-id='64bdbbb2' size-in-bits='64' id='5cb9f8ea'/>
+    <pointer-type-def type-id='5cb9f8ea' size-in-bits='64' id='bbc29afa'/>
+    <pointer-type-def type-id='c0a129cb' size-in-bits='64' id='f57d71ec'/>
+    <pointer-type-def type-id='bc564a53' size-in-bits='64' id='47bae38a'/>
+    <pointer-type-def type-id='7cf0472b' size-in-bits='64' id='4b1e905c'/>
+    <pointer-type-def type-id='d3b295aa' size-in-bits='64' id='f5da7878'/>
+    <pointer-type-def type-id='96070c1c' size-in-bits='64' id='6460b71c'/>
+    <pointer-type-def type-id='6460b71c' size-in-bits='64' id='35406224'/>
+    <pointer-type-def type-id='870496e8' size-in-bits='64' id='db4b126e'/>
+    <pointer-type-def type-id='a736f7b4' size-in-bits='64' id='335fd962'/>
+    <pointer-type-def type-id='cf1c8d75' size-in-bits='64' id='5523530c'/>
+    <pointer-type-def type-id='4d9fe359' size-in-bits='64' id='7a0bd728'/>
+    <pointer-type-def type-id='fa41b943' size-in-bits='64' id='6e6c6f3c'/>
+    <pointer-type-def type-id='23024951' size-in-bits='64' id='046659d7'/>
+    <pointer-type-def type-id='16f01b5d' size-in-bits='64' id='8b7497cd'/>
+    <pointer-type-def type-id='09c852cb' size-in-bits='64' id='6c5dd83c'/>
+    <pointer-type-def type-id='3de55dac' size-in-bits='64' id='4fc4ab07'/>
+    <pointer-type-def type-id='e5c4cc54' size-in-bits='64' id='7b21fc90'/>
+    <pointer-type-def type-id='03f6d8e9' size-in-bits='64' id='a537715c'/>
+    <pointer-type-def type-id='0fa0ca0f' size-in-bits='64' id='6196cdc7'/>
+    <pointer-type-def type-id='423957df' size-in-bits='64' id='b90db447'/>
+    <pointer-type-def type-id='4a2f935d' size-in-bits='64' id='b2f50009'/>
+    <pointer-type-def type-id='75254515' size-in-bits='64' id='2dfd8560'/>
+    <pointer-type-def type-id='2dfd8560' size-in-bits='64' id='db191730'/>
+    <pointer-type-def type-id='25f39bce' size-in-bits='64' id='83bfdd55'/>
+    <pointer-type-def type-id='f228c910' size-in-bits='64' id='fac40d87'/>
+    <pointer-type-def type-id='67f61e43' size-in-bits='64' id='24d6a8d3'/>
+    <pointer-type-def type-id='adb8d8aa' size-in-bits='64' id='76399dc8'/>
+    <pointer-type-def type-id='512b66a8' size-in-bits='64' id='763b1c4d'/>
+    <pointer-type-def type-id='db0045d4' size-in-bits='64' id='c2e26fd1'/>
+    <pointer-type-def type-id='4f9e23e8' size-in-bits='64' id='ac606329'/>
+    <pointer-type-def type-id='7eb0c72c' size-in-bits='64' id='1e307457'/>
+    <pointer-type-def type-id='60ea65f1' size-in-bits='64' id='34bdb839'/>
+    <pointer-type-def type-id='2f2c189f' size-in-bits='64' id='ebce69c4'/>
+    <pointer-type-def type-id='4638dfb4' size-in-bits='64' id='deec36c7'/>
+    <pointer-type-def type-id='717e4c75' size-in-bits='64' id='86bcc405'/>
+    <pointer-type-def type-id='2b45aa39' size-in-bits='64' id='8b232c55'/>
+    <pointer-type-def type-id='852ff403' size-in-bits='64' id='0c5337d7'/>
+    <pointer-type-def type-id='9d26c5b6' size-in-bits='64' id='915248f0'/>
+    <pointer-type-def type-id='2520a912' size-in-bits='64' id='13679b7c'/>
+    <pointer-type-def type-id='63cf087c' size-in-bits='64' id='42f3594b'/>
+    <pointer-type-def type-id='7507af8c' size-in-bits='64' id='8b70250d'/>
+    <pointer-type-def type-id='e594b097' size-in-bits='64' id='c926e318'/>
+    <pointer-type-def type-id='1219783d' size-in-bits='64' id='69e43ed0'/>
+    <pointer-type-def type-id='fee8311e' size-in-bits='64' id='8c079e74'/>
+    <pointer-type-def type-id='d86ba563' size-in-bits='64' id='42d4c35a'/>
+    <pointer-type-def type-id='42d4c35a' size-in-bits='64' id='a4efa950'/>
+    <pointer-type-def type-id='c6d80e1f' size-in-bits='64' id='4d924482'/>
+    <pointer-type-def type-id='990a9ab9' size-in-bits='64' id='781f2a4c'/>
+    <pointer-type-def type-id='0ad5e557' size-in-bits='64' id='15a18f82'/>
+    <pointer-type-def type-id='dc7edfa3' size-in-bits='64' id='1b126ffb'/>
+    <pointer-type-def type-id='395172b1' size-in-bits='64' id='575e2306'/>
+    <pointer-type-def type-id='c32716ea' size-in-bits='64' id='4eebb19f'/>
+    <pointer-type-def type-id='ce21d3e1' size-in-bits='64' id='c9560f02'/>
+    <pointer-type-def type-id='a47fdee5' size-in-bits='64' id='f0068755'/>
+    <pointer-type-def type-id='79e2ce06' size-in-bits='64' id='583566eb'/>
+    <pointer-type-def type-id='f9084154' size-in-bits='64' id='eca75285'/>
+    <pointer-type-def type-id='7247bb25' size-in-bits='64' id='a8e1fd92'/>
+    <pointer-type-def type-id='c5027e70' size-in-bits='64' id='b02e3f7d'/>
+    <pointer-type-def type-id='fd4c3a79' size-in-bits='64' id='8bc35814'/>
+    <pointer-type-def type-id='a7723a3a' size-in-bits='64' id='e4d9ce07'/>
+    <pointer-type-def type-id='bba12426' size-in-bits='64' id='53abd0bc'/>
+    <pointer-type-def type-id='24900a7a' size-in-bits='64' id='4c6e7969'/>
+    <pointer-type-def type-id='ec58a07c' size-in-bits='64' id='94926d07'/>
+    <pointer-type-def type-id='16406887' size-in-bits='64' id='847f61e2'/>
+    <pointer-type-def type-id='37c441c1' size-in-bits='64' id='3c1a52d5'/>
+    <pointer-type-def type-id='e1501ec6' size-in-bits='64' id='ca0e7f8c'/>
+    <pointer-type-def type-id='3eed97ba' size-in-bits='64' id='13fbd2e3'/>
+    <pointer-type-def type-id='20db3fac' size-in-bits='64' id='f18806f9'/>
+    <pointer-type-def type-id='2167e055' size-in-bits='64' id='6883c46a'/>
+    <pointer-type-def type-id='37a337dc' size-in-bits='64' id='63c837a1'/>
+    <pointer-type-def type-id='6678ac94' size-in-bits='64' id='658e7622'/>
+    <pointer-type-def type-id='9cf45a44' size-in-bits='64' id='358e4672'/>
+    <pointer-type-def type-id='d3523890' size-in-bits='64' id='74ab1d06'/>
+    <pointer-type-def type-id='7e3f796b' size-in-bits='64' id='fe8c4a8b'/>
+    <pointer-type-def type-id='58a10fda' size-in-bits='64' id='5fc51fc8'/>
+    <pointer-type-def type-id='5501a670' size-in-bits='64' id='22f23588'/>
+    <pointer-type-def type-id='a0780334' size-in-bits='64' id='579971b3'/>
+    <pointer-type-def type-id='53ba63da' size-in-bits='64' id='a5c2be03'/>
+    <pointer-type-def type-id='03d04117' size-in-bits='64' id='469dd726'/>
+    <pointer-type-def type-id='1c323488' size-in-bits='64' id='3c17af0b'/>
+    <pointer-type-def type-id='7345a329' size-in-bits='64' id='74ab5782'/>
+    <pointer-type-def type-id='2a1b44b2' size-in-bits='64' id='8768804d'/>
+    <pointer-type-def type-id='08e55fdf' size-in-bits='64' id='0e6ce0d6'/>
+    <pointer-type-def type-id='858759f7' size-in-bits='64' id='563110bf'/>
+    <pointer-type-def type-id='e59e47cf' size-in-bits='64' id='8bf9597c'/>
+    <pointer-type-def type-id='c79d68a9' size-in-bits='64' id='610afcf2'/>
+    <pointer-type-def type-id='a73b6b5a' size-in-bits='64' id='27104062'/>
+    <pointer-type-def type-id='d301d814' size-in-bits='64' id='c6fe2952'/>
+    <pointer-type-def type-id='1c3932b8' size-in-bits='64' id='3b472d20'/>
+    <pointer-type-def type-id='3b472d20' size-in-bits='64' id='860c2a70'/>
+    <pointer-type-def type-id='785ba03b' size-in-bits='64' id='966dbf3e'/>
+    <pointer-type-def type-id='9fc747fa' size-in-bits='64' id='7e260591'/>
+    <pointer-type-def type-id='7e260591' size-in-bits='64' id='50db0561'/>
+    <pointer-type-def type-id='09e09440' size-in-bits='64' id='db26e016'/>
+    <pointer-type-def type-id='fa5e6a1d' size-in-bits='64' id='566804c2'/>
+    <pointer-type-def type-id='bcdd7f90' size-in-bits='64' id='47c63816'/>
+    <pointer-type-def type-id='47c63816' size-in-bits='64' id='390a8674'/>
+    <pointer-type-def type-id='b46b9160' size-in-bits='64' id='6f28dedb'/>
+    <pointer-type-def type-id='c23e864b' size-in-bits='64' id='a4105d4b'/>
+    <pointer-type-def type-id='c48e0f27' size-in-bits='64' id='e9f9080f'/>
+    <pointer-type-def type-id='2b16adc8' size-in-bits='64' id='2f13296e'/>
+    <pointer-type-def type-id='94925cc3' size-in-bits='64' id='fc394b83'/>
+    <pointer-type-def type-id='8b267665' size-in-bits='64' id='06d5c805'/>
+    <pointer-type-def type-id='83ac0015' size-in-bits='64' id='6d41c595'/>
+    <pointer-type-def type-id='bc0c7ce2' size-in-bits='64' id='d3a4420f'/>
+    <pointer-type-def type-id='cc8b58b7' size-in-bits='64' id='b36bb0b0'/>
+    <pointer-type-def type-id='7f7d2fc8' size-in-bits='64' id='763b3165'/>
+    <pointer-type-def type-id='a1f5af66' size-in-bits='64' id='33ea086f'/>
+    <pointer-type-def type-id='fc75fa87' size-in-bits='64' id='9a7dc610'/>
+    <pointer-type-def type-id='c2ddc016' size-in-bits='64' id='55a3f1d5'/>
+    <pointer-type-def type-id='fd2c75b8' size-in-bits='64' id='9753639e'/>
+    <pointer-type-def type-id='ca3087e7' size-in-bits='64' id='09c2469f'/>
+    <pointer-type-def type-id='2d7d3949' size-in-bits='64' id='b1ef65cc'/>
+    <pointer-type-def type-id='fd4d0dd0' size-in-bits='64' id='b8734eab'/>
+    <pointer-type-def type-id='adb604d9' size-in-bits='64' id='80983f94'/>
+    <pointer-type-def type-id='1b2f0781' size-in-bits='64' id='457b83dc'/>
+    <pointer-type-def type-id='6eb3206d' size-in-bits='64' id='8dd3335d'/>
+    <pointer-type-def type-id='50aebc99' size-in-bits='64' id='f0d64c54'/>
+    <pointer-type-def type-id='e434b0a4' size-in-bits='64' id='163db565'/>
+    <pointer-type-def type-id='e053624c' size-in-bits='64' id='455f1eca'/>
+    <pointer-type-def type-id='1f0b318a' size-in-bits='64' id='336f4727'/>
+    <pointer-type-def type-id='9ea39988' size-in-bits='64' id='cf53b5e2'/>
+    <pointer-type-def type-id='336f4727' size-in-bits='64' id='052cd977'/>
+    <pointer-type-def type-id='8b7bc69c' size-in-bits='64' id='e43b772f'/>
+    <pointer-type-def type-id='194c78d3' size-in-bits='64' id='aa8b2ff3'/>
+    <pointer-type-def type-id='a9e05f68' size-in-bits='64' id='671dcf8e'/>
+    <pointer-type-def type-id='d1d2d2bf' size-in-bits='64' id='9ec4c26c'/>
+    <pointer-type-def type-id='0fc947f8' size-in-bits='64' id='5dc41fce'/>
+    <pointer-type-def type-id='b450a3ea' size-in-bits='64' id='3b651b28'/>
+    <pointer-type-def type-id='d39d25d0' size-in-bits='64' id='91a0b133'/>
+    <pointer-type-def type-id='20ae5afd' size-in-bits='64' id='d1885e4d'/>
+    <pointer-type-def type-id='a8e0f606' size-in-bits='64' id='d4c733bc'/>
+    <pointer-type-def type-id='cfb3e584' size-in-bits='64' id='5760624e'/>
+    <pointer-type-def type-id='cfc385bf' size-in-bits='64' id='2cb8ed83'/>
+    <pointer-type-def type-id='6ef34894' size-in-bits='64' id='5b219226'/>
+    <pointer-type-def type-id='07b64d75' size-in-bits='64' id='8e09e859'/>
+    <pointer-type-def type-id='502ed071' size-in-bits='64' id='4d721265'/>
+    <pointer-type-def type-id='91fdba25' size-in-bits='64' id='07848f31'/>
+    <pointer-type-def type-id='2661e72d' size-in-bits='64' id='4a75c639'/>
+    <pointer-type-def type-id='64879be1' size-in-bits='64' id='0f772ba5'/>
+    <pointer-type-def type-id='892b2802' size-in-bits='64' id='25d4612c'/>
+    <pointer-type-def type-id='3d329d3e' size-in-bits='64' id='7a5010f0'/>
+    <pointer-type-def type-id='d84a5746' size-in-bits='64' id='ec4735d0'/>
+    <pointer-type-def type-id='bce04fab' size-in-bits='64' id='bee3d46f'/>
+    <pointer-type-def type-id='c894953d' size-in-bits='64' id='d8e6b335'/>
+    <pointer-type-def type-id='0fb10f85' size-in-bits='64' id='dd173450'/>
+    <pointer-type-def type-id='dd173450' size-in-bits='64' id='85879c0e'/>
+    <pointer-type-def type-id='a84c031d' size-in-bits='64' id='26a90f95'/>
+    <pointer-type-def type-id='26a90f95' size-in-bits='64' id='9b23c9ad'/>
+    <qualified-type-def type-id='d0a434ed' const='yes' id='7f7ccb1d'/>
+    <pointer-type-def type-id='7f7ccb1d' size-in-bits='64' id='e873e795'/>
+    <qualified-type-def type-id='b67cbde5' const='yes' id='23db7c95'/>
+    <pointer-type-def type-id='23db7c95' size-in-bits='64' id='318560ad'/>
+    <qualified-type-def type-id='9351f42b' const='yes' id='57141cf2'/>
+    <pointer-type-def type-id='57141cf2' size-in-bits='64' id='eca96808'/>
+    <qualified-type-def type-id='4ad8af4a' const='yes' id='0668e6ba'/>
+    <pointer-type-def type-id='0668e6ba' size-in-bits='64' id='a722f4b0'/>
+    <pointer-type-def type-id='27643d14' size-in-bits='64' id='5a87d566'/>
+    <qualified-type-def type-id='a722f4b0' const='yes' id='4c122643'/>
+    <qualified-type-def type-id='a84c031d' const='yes' id='9b45d938'/>
+    <pointer-type-def type-id='9b45d938' size-in-bits='64' id='80f4b756'/>
+    <pointer-type-def type-id='7ec7d215' size-in-bits='64' id='e594e2a6'/>
+    <pointer-type-def type-id='77af88f8' size-in-bits='64' id='8f3c25ba'/>
+    <pointer-type-def type-id='a0eb0f08' size-in-bits='64' id='7408d286'/>
+    <pointer-type-def type-id='255914cd' size-in-bits='64' id='fbc5e3ad'/>
+    <pointer-type-def type-id='95e97e5e' size-in-bits='64' id='7292109c'/>
+    <pointer-type-def type-id='27de9c2e' size-in-bits='64' id='660e0121'/>
+    <pointer-type-def type-id='93e3c360' size-in-bits='64' id='14deb08f'/>
+    <pointer-type-def type-id='7072f006' size-in-bits='64' id='a5bd00ac'/>
+    <pointer-type-def type-id='f13aab3e' size-in-bits='64' id='2ff33dcb'/>
+    <pointer-type-def type-id='73f0e738' size-in-bits='64' id='1759c1b2'/>
+    <pointer-type-def type-id='914a3f7f' size-in-bits='64' id='289e6cbb'/>
+    <pointer-type-def type-id='59c8bafd' size-in-bits='64' id='050f9711'/>
+    <pointer-type-def type-id='75774dbf' size-in-bits='64' id='c80a7bab'/>
+    <pointer-type-def type-id='3b810138' size-in-bits='64' id='e927a3d2'/>
+    <pointer-type-def type-id='2096ae18' size-in-bits='64' id='dca928c2'/>
+    <pointer-type-def type-id='91e8065f' size-in-bits='64' id='11c65a0b'/>
+    <pointer-type-def type-id='fdc3960d' size-in-bits='64' id='d773ab59'/>
+    <pointer-type-def type-id='07cee8d4' size-in-bits='64' id='0cf7ee5e'/>
+    <pointer-type-def type-id='aa2df4d1' size-in-bits='64' id='70dac445'/>
+    <pointer-type-def type-id='a5b5e4e7' size-in-bits='64' id='c734c22b'/>
+    <pointer-type-def type-id='baed5ec6' size-in-bits='64' id='12479770'/>
+    <pointer-type-def type-id='a212ab3d' size-in-bits='64' id='d2aca269'/>
+    <pointer-type-def type-id='12b5cdae' size-in-bits='64' id='0feda258'/>
+    <pointer-type-def type-id='06a3df2b' size-in-bits='64' id='a2b66e08'/>
+    <pointer-type-def type-id='24428564' size-in-bits='64' id='513e8d52'/>
+    <pointer-type-def type-id='d06a4608' size-in-bits='64' id='85893be2'/>
+    <pointer-type-def type-id='35215438' size-in-bits='64' id='cff19eca'/>
+    <pointer-type-def type-id='dd5ffb40' size-in-bits='64' id='9a56498a'/>
+    <pointer-type-def type-id='1c8a7d92' size-in-bits='64' id='f5465184'/>
+    <pointer-type-def type-id='ae6a234d' size-in-bits='64' id='ad9add71'/>
+    <pointer-type-def type-id='5edfc9dc' size-in-bits='64' id='49a7cf56'/>
+    <pointer-type-def type-id='b9532072' size-in-bits='64' id='df00b2e4'/>
+    <pointer-type-def type-id='c090d1d5' size-in-bits='64' id='f2b1da41'/>
+    <pointer-type-def type-id='45f1172c' size-in-bits='64' id='c1be146e'/>
+    <pointer-type-def type-id='44c39c1d' size-in-bits='64' id='5a898ed9'/>
+    <pointer-type-def type-id='167f30d5' size-in-bits='64' id='ef6a1459'/>
+    <pointer-type-def type-id='290bdbc9' size-in-bits='64' id='97ed04e5'/>
+    <pointer-type-def type-id='77c641b2' size-in-bits='64' id='2b3b1f1c'/>
+    <pointer-type-def type-id='910c447f' size-in-bits='64' id='e01d8093'/>
+    <pointer-type-def type-id='f5fdfd36' size-in-bits='64' id='ca493d20'/>
+    <pointer-type-def type-id='2a093c36' size-in-bits='64' id='1ff7fe08'/>
+    <pointer-type-def type-id='52c43603' size-in-bits='64' id='74ff6c8f'/>
+    <pointer-type-def type-id='7e603dff' size-in-bits='64' id='fdf0dfdb'/>
+    <pointer-type-def type-id='0ea78b5c' size-in-bits='64' id='5eda35ee'/>
+    <pointer-type-def type-id='2ad725bf' size-in-bits='64' id='4c8fbedb'/>
+    <pointer-type-def type-id='a1036fba' size-in-bits='64' id='2931a6a4'/>
+    <pointer-type-def type-id='5ed911e5' size-in-bits='64' id='d6174351'/>
+    <pointer-type-def type-id='94c2a909' size-in-bits='64' id='5c77fa5d'/>
+    <pointer-type-def type-id='b345e47b' size-in-bits='64' id='158a83bf'/>
+    <pointer-type-def type-id='7f60fd78' size-in-bits='64' id='3eaabdfa'/>
+    <pointer-type-def type-id='284ffa43' size-in-bits='64' id='6da8c08f'/>
+    <pointer-type-def type-id='48b5725f' size-in-bits='64' id='eaa32e2f'/>
+    <var-decl name='plpgsql_yylval' type-id='a0a25e5b' visibility='default'/>
+    <var-decl name='plpgsql_yylloc' type-id='95e97e5e' visibility='default'/>
+    <function-type size-in-bits='64' id='4a2f935d'>
+      <parameter type-id='c79d68a9'/>
+      <return type-id='b90db447'/>
+    </function-type>
+    <function-type size-in-bits='64' id='2b45aa39'>
+      <parameter type-id='63c837a1'/>
+      <parameter type-id='356e4aa6'/>
+      <return type-id='86bcc405'/>
+    </function-type>
+    <function-type size-in-bits='64' id='852ff403'>
+      <parameter type-id='63c837a1'/>
+      <parameter type-id='356e4aa6'/>
+      <parameter type-id='86bcc405'/>
+      <return type-id='86bcc405'/>
+    </function-type>
+    <function-type size-in-bits='64' id='9d26c5b6'>
+      <parameter type-id='63c837a1'/>
+      <parameter type-id='4c6e7969'/>
+      <parameter type-id='63cf087c'/>
+      <parameter type-id='93e3c360'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='86bcc405'/>
+    </function-type>
+    <function-type size-in-bits='64' id='2520a912'>
+      <parameter type-id='63c837a1'/>
+      <parameter type-id='13fbd2e3'/>
+      <return type-id='86bcc405'/>
+    </function-type>
+    <function-type size-in-bits='64' id='37c441c1'>
+      <parameter type-id='4ff08111'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='847f61e2'/>
+      <return type-id='847f61e2'/>
+    </function-type>
+    <function-type size-in-bits='64' id='9ea39988'>
+      <parameter type-id='22f23588'/>
+      <return type-id='336f4727'/>
+    </function-type>
+    <function-type size-in-bits='64' id='cfb3e584'>
+      <parameter type-id='b90db447'/>
+      <parameter type-id='3c694a28'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='d8e6b335'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='cfc385bf'>
+      <parameter type-id='c79d68a9'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='6ef34894'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='7f2324e8'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='07b64d75'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='3c694a28'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='336f4727'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='502ed071'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='a4105d4b'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='91fdba25'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='a4105d4b'/>
+      <parameter type-id='336f4727'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='2661e72d'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='6d41c595'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='64879be1'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='6d41c595'/>
+      <parameter type-id='336f4727'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='892b2802'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='3db40640'/>
+      <parameter type-id='20e37045'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='3d329d3e'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='3c694a28'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='d84a5746'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='f403d182'/>
+      <parameter type-id='336f4727'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='bce04fab'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='2d7d3949'/>
+      <parameter type-id='7408d286'/>
+      <parameter type-id='7408d286'/>
+      <parameter type-id='336f4727'/>
+      <return type-id='c894953d'/>
+    </function-type>
+    <function-type size-in-bits='64' id='27643d14'>
+      <parameter type-id='c79d68a9'/>
+      <return type-id='a722f4b0'/>
+    </function-type>
+    <function-type size-in-bits='64' id='77af88f8'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='2dfd8560'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='3db40640'/>
+      <parameter type-id='3db40640'/>
+      <parameter type-id='973b94e3'/>
+      <parameter type-id='eaa32e2f'/>
+      <parameter type-id='34bbc5c4'/>
+      <return type-id='a0eb0f08'/>
+    </function-type>
+    <function-type size-in-bits='64' id='73f0e738'>
+      <parameter type-id='6460b71c'/>
+      <parameter type-id='47bae38a'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='f24b0a4f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='914a3f7f'>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='f24b0a4f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='59c8bafd'>
+      <parameter type-id='cbf1f029'/>
+      <return type-id='f24b0a4f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='75774dbf'>
+      <parameter type-id='336f4727'/>
+      <return type-id='3de55dac'/>
+    </function-type>
+    <function-type size-in-bits='64' id='3b810138'>
+      <parameter type-id='336f4727'/>
+      <return type-id='00840737'/>
+    </function-type>
+    <function-type size-in-bits='64' id='2096ae18'>
+      <parameter type-id='c79d68a9'/>
+      <return type-id='63cf087c'/>
+    </function-type>
+    <function-type size-in-bits='64' id='91e8065f'>
+      <parameter type-id='c79d68a9'/>
+      <return type-id='305ff205'/>
+    </function-type>
+    <function-type size-in-bits='64' id='fdc3960d'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='2d62ee11'/>
+      <return type-id='305ff205'/>
+    </function-type>
+    <function-type size-in-bits='64' id='07cee8d4'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='3c694a28'/>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='6692fd60'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='d3a4420f'/>
+      <parameter type-id='1e307457'/>
+      <parameter type-id='9a7dc610'/>
+      <return type-id='3ef4f9f9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='aa2df4d1'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='3c694a28'/>
+      <parameter type-id='6692fd60'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='d3a4420f'/>
+      <parameter type-id='c894953d'/>
+      <return type-id='3ef4f9f9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='a5b5e4e7'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='3c694a28'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='6692fd60'/>
+      <parameter type-id='7eb0c72c'/>
+      <parameter type-id='5016605c'/>
+      <parameter type-id='78b39644'/>
+      <parameter type-id='d3a4420f'/>
+      <return type-id='3ef4f9f9'/>
+    </function-type>
+    <function-type size-in-bits='64' id='baed5ec6'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='e9f9080f'/>
+      <parameter type-id='2d62ee11'/>
+      <parameter type-id='7aa912f5'/>
+      <return type-id='34bbc5c4'/>
+    </function-type>
+    <function-type size-in-bits='64' id='a212ab3d'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='763b3165'/>
+      <return type-id='2d7d3949'/>
+    </function-type>
+    <function-type size-in-bits='64' id='12b5cdae'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='331c2969'/>
+      <return type-id='f69d0a36'/>
+    </function-type>
+    <function-type size-in-bits='64' id='d06a4608'>
+      <parameter type-id='b90db447'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='35215438'>
+      <parameter type-id='63c837a1'/>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='dd5ffb40'>
+      <parameter type-id='336f4727'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='1c8a7d92'>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='336f4727'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='ae6a234d'>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='5edfc9dc'>
+      <parameter type-id='f24b0a4f'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='b9532072'>
+      <parameter type-id='4ff08111'/>
+      <parameter type-id='4c6e7969'/>
+      <parameter type-id='6460b71c'/>
+      <parameter type-id='87794d52'/>
+      <parameter type-id='d8e6b335'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='c090d1d5'>
+      <parameter type-id='c79d68a9'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='45f1172c'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='052cd977'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='6692fd60'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='ccc7d81d'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='44c39c1d'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='6692fd60'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='ccc7d81d'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='167f30d5'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='6692fd60'/>
+      <parameter type-id='95e97e5e'/>
+      <parameter type-id='ccc7d81d'/>
+      <parameter type-id='7aa912f5'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='290bdbc9'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='336f4727'/>
+      <parameter type-id='7aa912f5'/>
+      <parameter type-id='c894953d'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='77c641b2'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='5dc41fce'/>
+      <parameter type-id='20e37045'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='910c447f'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='318560ad'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='f5fdfd36'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='318560ad'/>
+      <parameter type-id='a84c031d'/>
+      <parameter type-id='b1ef65cc'/>
+      <parameter type-id='deec36c7'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='2a093c36'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='95e97e5e'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='52c43603'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='14deb08f'/>
+      <parameter type-id='8b65c1df'/>
+      <parameter type-id='7408d286'/>
+      <parameter type-id='7408d286'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='7e603dff'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='3c694a28'/>
+      <parameter type-id='87794d52'/>
+      <parameter type-id='d8e6b335'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='eaa32e2f'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='0ea78b5c'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='63cf087c'/>
+      <parameter type-id='93e3c360'/>
+      <parameter type-id='93e3c360'/>
+      <parameter type-id='93e3c360'/>
+      <parameter type-id='513e8d52'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='2ad725bf'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='2d62ee11'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='a1036fba'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='2dfd8560'/>
+      <parameter type-id='7f2324e8'/>
+      <parameter type-id='3b651b28'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='5ed911e5'>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='c79d68a9'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='2d7d3949'/>
+      <parameter type-id='b1ef65cc'/>
+      <parameter type-id='deec36c7'/>
+      <parameter type-id='7408d286'/>
+      <parameter type-id='7408d286'/>
+      <parameter type-id='7408d286'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='94c2a909'>
+      <parameter type-id='34bbc5c4'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='b345e47b'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='e9f9080f'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='c894953d'/>
+      <parameter type-id='c894953d'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='7f60fd78'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='3c694a28'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+    <function-type size-in-bits='64' id='284ffa43'>
+      <parameter type-id='34bbc5c4'/>
+      <parameter type-id='3c694a28'/>
+      <parameter type-id='3c694a28'/>
+      <return type-id='48b5725f'/>
+    </function-type>
+  </abi-instr>
+</abi-corpus>
-- 
2.42.0

#19vignesh C
vignesh21@gmail.com
In reply to: Peter Eisentraut (#18)
Re: abi-compliance-checker

On Wed, 1 Nov 2023 at 16:43, Peter Eisentraut <peter@eisentraut.org> wrote:

Here is an updated version of this patch. It doesn't have any new
functionality, just a rebase and some minor adjustments.

I have split up the one patch into several ones, which could be
considered incrementally, namely:

v3-0001-abidw-option.patch

This adds the abidw meson option, which produces the xml files with the
ABI description. With that, you can then implement a variety of
workflows, such as the abidiff proposed in the later patches, or
something rigged up via CI, or you can just build various versions
locally and compare them. With this patch, you get the files to compare
built automatically and don't have to remember to cover all the
libraries or which options to use.

I think this patch is mostly pretty straightforward and agreeable,
subject to technical review in detail.

TODO: documentation
TODO: Do we want a configure/make variant of this?

v3-0002-Enable-abidw-option-on-Cirrus-CI.patch

This adds the abidw option to some CI tasks. This was mostly used by me
during development to get feedback from other machines and to produce
base files for the subsequent abidiff patch. I'm not sure whether we
need it in isolation (other than for general testing that the option
works at all).

v3-0003-abidiff-option.patch

This adds the abidiff test suite that compares base files previously
produced with the abidw option to the currently built libraries. There
is clearly some uncertainty here whether the produced files are stable
enough, whether we want this particular workflow, what additional
burdens this would create, etc., so I'm not hung up on this right now,
it's mostly a demonstration.

v3-0004-abidiff-support-files.patch

This contains the support files for patch 0003, just split out because
they are bulky and boring.

One of the test has failed in cfbot at [1]https://cirrus-ci.com/task/5961614579466240 with:
abi-compliance-checker
[12:04:10.537] The output from the failed tests:
[12:04:10.537]
[12:04:10.537] 129/282 postgresql:abidiff / plpgsql.abidiff FAIL 1.25s
(exit status 4)
[12:04:10.537]
[12:04:10.537] --- command ---
[12:04:10.537] 12:03:00 /usr/bin/abidiff
/tmp/cirrus-ci-build/build/../src/pl/plpgsql/src/plpgsql.x86_64-linux.abi.xml
src/pl/plpgsql/src/plpgsql.so
[12:04:10.537] --- Listing only the last 100 lines from a long log. ---
[12:04:10.537] 'NodeTag::T_RoleSpec' from value '66' to '67' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_FuncCall' from value '67' to '68' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_Star' from value '68' to '69' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_Indices' from value '69' to '70' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_Indirection' from value '70' to '71' at
nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_ArrayExpr' from value '71' to '72' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_ResTarget' from value '72' to '73' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_MultiAssignRef' from value '73' to '74' at
nodes.h:26:1
[12:04:10.537] 'NodeTag::T_SortBy' from value '74' to '75' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_WindowDef' from value '75' to '76' at nodes.h:26:1
....
[12:04:10.592] -------
[12:04:10.592]
[12:04:10.592]
[12:04:10.592] Summary of Failures:
[12:04:10.592]
[12:04:10.592] 129/282 postgresql:abidiff / plpgsql.abidiff FAIL 1.25s
(exit status 4)

[1]: https://cirrus-ci.com/task/5961614579466240

Regards,
Vignesh

#20Peter Eisentraut
peter@eisentraut.org
In reply to: vignesh C (#19)
Re: abi-compliance-checker

On 06.01.24 18:25, vignesh C wrote:

One of the test has failed in cfbot at [1] with:
abi-compliance-checker
[12:04:10.537] The output from the failed tests:
[12:04:10.537]
[12:04:10.537] 129/282 postgresql:abidiff / plpgsql.abidiff FAIL 1.25s
(exit status 4)
[12:04:10.537]
[12:04:10.537] --- command ---
[12:04:10.537] 12:03:00 /usr/bin/abidiff
/tmp/cirrus-ci-build/build/../src/pl/plpgsql/src/plpgsql.x86_64-linux.abi.xml
src/pl/plpgsql/src/plpgsql.so
[12:04:10.537] --- Listing only the last 100 lines from a long log. ---
[12:04:10.537] 'NodeTag::T_RoleSpec' from value '66' to '67' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_FuncCall' from value '67' to '68' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_Star' from value '68' to '69' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_Indices' from value '69' to '70' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_Indirection' from value '70' to '71' at
nodes.h:26:1
[12:04:10.537] 'NodeTag::T_A_ArrayExpr' from value '71' to '72' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_ResTarget' from value '72' to '73' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_MultiAssignRef' from value '73' to '74' at
nodes.h:26:1
[12:04:10.537] 'NodeTag::T_SortBy' from value '74' to '75' at nodes.h:26:1
[12:04:10.537] 'NodeTag::T_WindowDef' from value '75' to '76' at nodes.h:26:1
....
[12:04:10.592] -------
[12:04:10.592]
[12:04:10.592]
[12:04:10.592] Summary of Failures:
[12:04:10.592]
[12:04:10.592] 129/282 postgresql:abidiff / plpgsql.abidiff FAIL 1.25s
(exit status 4)

[1] - https://cirrus-ci.com/task/5961614579466240

This is kind of intentional, as it shows the the test catches ABI changes.

If the patches were to be committed, then the base ABI file would be
updated.

#21Alvaro Herrera
alvherre@alvh.no-ip.org
In reply to: Peter Eisentraut (#18)
Re: abi-compliance-checker

On 2023-Nov-01, Peter Eisentraut wrote:

v3-0001-abidw-option.patch

This adds the abidw meson option, which produces the xml files with the ABI
description. With that, you can then implement a variety of workflows, such
as the abidiff proposed in the later patches, or something rigged up via CI,
or you can just build various versions locally and compare them. With this
patch, you get the files to compare built automatically and don't have to
remember to cover all the libraries or which options to use.

I think this patch is mostly pretty straightforward and agreeable, subject
to technical review in detail.

I like this idea and I think we should integrate it with the objective
of it becoming the workhorse of ABI-stability testing. However, I do
not think that the subsequent patches should be part of the tree at all;
certainly not the produced .xml files in your 0004, as that would be far
too unstable and would cause a lot of pointless churn.

TODO: documentation

Yes, please.

TODO: Do we want a configure/make variant of this?

Not needed IMO.

The way I see this working, is that we set up a buildfarm animal [per
architecture] that runs the new rules produced by the abidw option and
stores the result locally, so that for stable branches it can turn red
when an ABI-breaking change with the previous minor release of the same
branch is introduced. There's no point on it ever turning red in the
master branch, since we're obviously not concerned with ABI changes there.

(Perhaps we do need 0003 as an easy mechanism to run the comparison, but
I'm not sure to what extent that would be actually helpful.)

--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/

In reply to: Alvaro Herrera (#21)
Re: abi-compliance-checker

On Tue, Feb 27, 2024 at 8:25 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:

The way I see this working, is that we set up a buildfarm animal [per
architecture] that runs the new rules produced by the abidw option and
stores the result locally, so that for stable branches it can turn red
when an ABI-breaking change with the previous minor release of the same
branch is introduced. There's no point on it ever turning red in the
master branch, since we're obviously not concerned with ABI changes there.

ABI stability doesn't seem like something that you can alert on. There
are quite a few individual cases where the ABI was technically broken,
in a way that these tools will complain about. And yet it was
generally understood that these changes did not really break ABI
stability, for various high-context reasons that no tool can possibly
be expected to understand. This will at least be true under our
existing practices, or anything like them.

For example, if you look at the "Problems with Symbols, High Severity"
from the report I posted comparing REL_11_0 to REL_11_20, you'll see
that I removed _bt_pagedel() when backpatching a fix. That was
justified by the fact that any extension that was calling that
function was already hopelessly broken (I pointed this out at the
time).

Having some tooling in this area would be extremely useful. The
absolute number of false positives seems quite manageable, but the
fact is that most individual complaints that the tooling makes are
false positives. At least in some deeper sense.

--
Peter Geoghegan

#23Alvaro Herrera
alvherre@alvh.no-ip.org
In reply to: Peter Geoghegan (#22)
Re: abi-compliance-checker

On 2024-Feb-27, Peter Geoghegan wrote:

On Tue, Feb 27, 2024 at 8:25 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:

The way I see this working, is that we set up a buildfarm animal [per
architecture] that runs the new rules produced by the abidw option and
stores the result locally, so that for stable branches it can turn red
when an ABI-breaking change with the previous minor release of the same
branch is introduced. There's no point on it ever turning red in the
master branch, since we're obviously not concerned with ABI changes there.

ABI stability doesn't seem like something that you can alert on.

Eh, I disagree. Since you can add suppression rules to the tree, I'd
say it definitely is.

If you commit something and it breaks ABI, we want to know as soon as
possible -- for example suppose the ABI break occurs during a security
patch at release time; if we get an alert about it immediately, we still
have time to fix it before the mess is released.

Now, if you have an intentional ABI break, then you can let the testing
system know about it so that it won't complain. We could for example
have src/abi/suppressions/REL_11_8.ini and
src/abi/suppressions/REL_12_3.ini files (in the respective branches)
with the _bt_pagedel() change. You can add this file together with the
commit that introduces the change, if you know about it ahead of time,
or as a separate commit after the buildfarm animal turns red. Or you
can fix your ABI break, if -- as is most likely -- it was unintentional.

Again -- this only matters for stable branches. We don't need to do
anything for the master branch, as it would be far too noisy if we did
that.

Now, maybe a buildfarm animal is not the right tool, and instead we need
a separate system that tests for it and emails pg-hackers when it breaks
or whatever. That's fine with me, but it seems a pretty minor
implementation detail.

--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/

In reply to: Alvaro Herrera (#23)
Re: abi-compliance-checker

On Tue, Feb 27, 2024 at 9:03 AM Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:

Now, maybe a buildfarm animal is not the right tool, and instead we need
a separate system that tests for it and emails pg-hackers when it breaks
or whatever. That's fine with me, but it seems a pretty minor
implementation detail.

Anything that alerts on breakage is pretty much equivalent to having a
buildfarm animal.

I have a feeling that there are going to be real problems with
alerting, at least if it's introduced right away. I'd feel much better
about it if there was an existing body of suppressions, that more or
less worked as a reference of agreed upon best practices. Can we do
that part first, rather than starting out with a blanket assumption
that everything that happened before now must have been perfect?

--
Peter Geoghegan

#25Alvaro Herrera
alvherre@alvh.no-ip.org
In reply to: Peter Geoghegan (#24)
Re: abi-compliance-checker

On 2024-Feb-27, Peter Geoghegan wrote:

I have a feeling that there are going to be real problems with
alerting, at least if it's introduced right away. I'd feel much better
about it if there was an existing body of suppressions, that more or
less worked as a reference of agreed upon best practices. Can we do
that part first, rather than starting out with a blanket assumption
that everything that happened before now must have been perfect?

Well, I was describing a possible plan, not saying that we have to
assume we've been perfect all along. I think the first step should be
to add the tooling now (Meson rules as in Peter E's 0001 patch
upthread, or something equivalent), then figure out what suppressions we
need in the supported back branches. This would let us build the corpus
of best practices you want, I think.

Once we have clean runs with those, we can add BF animals or whatever.
The alerts don't have to be the first step. In fact, we can wait even
longer for the alerts.

--
Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/

#26Peter Eisentraut
peter@eisentraut.org
In reply to: Alvaro Herrera (#21)
Re: abi-compliance-checker

On 27.02.24 14:25, Alvaro Herrera wrote:

I like this idea and I think we should integrate it with the objective
of it becoming the workhorse of ABI-stability testing. However, I do
not think that the subsequent patches should be part of the tree at all;
certainly not the produced .xml files in your 0004, as that would be far
too unstable and would cause a lot of pointless churn.

Looking at this again, if we don't want the .xml files in the tree, then
we don't really need this patch series. Most of the delicate work in
the 0001 patch was to find the right abidw options combinations to
reduce the variability in the .xml output files (--no-show-locs is an
obvious example). If we don't want to record the .xml files in the
tree, then we don't need all these complications.

For example, if we want to check the postgres backend ABI across minor
versions, we could just compile it multiple times and compare the
binaries directly:

git checkout REL_16_0
meson setup build-0
meson compile -C build-0

git checkout REL_16_STABLE
meson setup build-1
meson compile -C build-1

abidiff --no-added-syms build-0/src/backend/postgres
build-1/src/backend/postgres

The way I see this working, is that we set up a buildfarm animal [per
architecture] that runs the new rules produced by the abidw option and
stores the result locally, so that for stable branches it can turn red
when an ABI-breaking change with the previous minor release of the same
branch is introduced. There's no point on it ever turning red in the
master branch, since we're obviously not concerned with ABI changes there.

Maybe the way forward here is to write a buildfarm module for this, and
then see from there what further needs there are.

#27Robert Haas
robertmhaas@gmail.com
In reply to: Peter Eisentraut (#26)
Re: abi-compliance-checker

On Mon, Mar 4, 2024 at 7:50 AM Peter Eisentraut <peter@eisentraut.org> wrote:

Looking at this again, if we don't want the .xml files in the tree, then
we don't really need this patch series.

Based on this, I've updated the status of this patch in the CommitFest
application to Withdrawn. If that's not correct, please feel free to
adjust.

--
Robert Haas
EDB: http://www.enterprisedb.com

#28David E. Wheeler
david@justatheory.com
In reply to: Peter Eisentraut (#26)
Re: abi-compliance-checker

Greetings old thread.

On Mar 4, 2024, at 07:50, Peter Eisentraut <peter@eisentraut.org> wrote:

Maybe the way forward here is to write a buildfarm module for this, and then see from there what further needs there are.

Given the PostgreSQL 17.1 kerfuffle and the addition of API and API guidance to the docs (discussion thread[1]/messages/by-id/5DA9F9D2-B8B2-43DE-BD4D-53A4160F6E8D@justatheory.com), I’ve started a Google Summer of Code proposal[2]https://wiki.postgresql.org/wiki/GSoC_2025#ABI_Compliance_Checker to take the example Peter G posted here and work up a solution that publishes a report and sends notifications for each push to a back branch. I put myself down as a mentor, but perhaps one of you who has thought about this problem and experimented with solutions might be a better choice, or at least co-mentor. If so, please add your name to the proposal. Oh, and of course, please make any corrections you deem fit.

Best,

David

[1]: /messages/by-id/5DA9F9D2-B8B2-43DE-BD4D-53A4160F6E8D@justatheory.com
[2]: https://wiki.postgresql.org/wiki/GSoC_2025#ABI_Compliance_Checker