You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@age.apache.org by jo...@apache.org on 2023/01/27 02:29:31 UTC

[age] branch GDBMS_vle updated: Gdbms vle (#566)

This is an automated email from the ASF dual-hosted git repository.

joshinnis pushed a commit to branch GDBMS_vle
in repository https://gitbox.apache.org/repos/asf/age.git


The following commit(s) were added to refs/heads/GDBMS_vle by this push:
     new 48ae396  Gdbms vle (#566)
48ae396 is described below

commit 48ae3967a46b58c63e98e2e6cd1a95821222543f
Author: Umar Hayat <um...@bitnine.net>
AuthorDate: Fri Jan 27 11:29:24 2023 +0900

    Gdbms vle (#566)
    
    GDBMS_vle initial commit
---
 COPYRIGHT                                          |    23 +
 GNUmakefile.in                                     |   143 +
 HISTORY                                            |     5 +
 Makefile                                           |    44 +-
 README                                             |    27 +
 README.git                                         |    14 +
 README.md                                          |    77 +
 aclocal.m4                                         |    14 +
 agensgraph--0.0.0.sql                              |     7 -
 agensgraph.c                                       |    20 -
 agensgraph.control                                 |     4 -
 config/Makefile                                    |    17 +
 config/ac_func_accept_argtypes.m4                  |    78 +
 config/ax_pthread.m4                               |   485 +
 config/c-compiler.m4                               |   678 +
 config/c-library.m4                                |   212 +
 config/check_decls.m4                              |   116 +
 config/check_modules.pl                            |    23 +
 config/config.guess                                |  1700 +
 config/config.sub                                  |  1860 +
 config/general.m4                                  |   149 +
 config/install-sh                                  |   527 +
 config/libtool.m4                                  |   119 +
 config/llvm.m4                                     |   121 +
 config/missing                                     |    54 +
 config/perl.m4                                     |   114 +
 config/pkg.m4                                      |   275 +
 config/prep_buildtree                              |    45 +
 config/programs.m4                                 |   350 +
 config/python.m4                                   |   177 +
 config/tcl.m4                                      |   105 +
 configure                                          | 21330 ++++++++
 configure.ac                                       |  2532 +
 contrib/Makefile                                   |    95 +
 contrib/README                                     |    28 +
 contrib/adminpack/.gitignore                       |     4 +
 contrib/adminpack/Makefile                         |    24 +
 contrib/adminpack/adminpack--1.0--1.1.sql          |     6 +
 contrib/adminpack/adminpack--1.0.sql               |    53 +
 contrib/adminpack/adminpack--1.1--2.0.sql          |    51 +
 contrib/adminpack/adminpack--2.0--2.1.sql          |    17 +
 contrib/adminpack/adminpack.c                      |   595 +
 contrib/adminpack/adminpack.control                |     6 +
 contrib/adminpack/expected/adminpack.out           |   172 +
 contrib/adminpack/sql/adminpack.sql                |    76 +
 contrib/amcheck/.gitignore                         |     4 +
 contrib/amcheck/Makefile                           |    26 +
 contrib/amcheck/amcheck--1.0--1.1.sql              |    29 +
 contrib/amcheck/amcheck--1.0.sql                   |    24 +
 contrib/amcheck/amcheck--1.1--1.2.sql              |    19 +
 contrib/amcheck/amcheck--1.2--1.3.sql              |    30 +
 contrib/amcheck/amcheck.control                    |     5 +
 contrib/amcheck/expected/check.out                 |     1 +
 contrib/amcheck/expected/check_btree.out           |   210 +
 contrib/amcheck/expected/check_heap.out            |   194 +
 contrib/amcheck/sql/check.sql                      |     1 +
 contrib/amcheck/sql/check_btree.sql                |   146 +
 contrib/amcheck/sql/check_heap.sql                 |   116 +
 contrib/amcheck/t/001_verify_heapam.pl             |   218 +
 contrib/amcheck/t/002_cic.pl                       |    65 +
 contrib/amcheck/t/003_cic_2pc.pl                   |   188 +
 contrib/amcheck/verify_heapam.c                    |  1752 +
 contrib/amcheck/verify_nbtree.c                    |  3260 ++
 contrib/auth_delay/Makefile                        |    15 +
 contrib/auth_delay/auth_delay.c                    |    73 +
 contrib/auto_explain/.gitignore                    |     4 +
 contrib/auto_explain/Makefile                      |    20 +
 contrib/auto_explain/auto_explain.c                |   443 +
 contrib/auto_explain/t/001_auto_explain.pl         |    55 +
 contrib/bloom/.gitignore                           |     4 +
 contrib/bloom/Makefile                             |    30 +
 contrib/bloom/blcost.c                             |    44 +
 contrib/bloom/blinsert.c                           |   366 +
 contrib/bloom/bloom--1.0.sql                       |    25 +
 contrib/bloom/bloom.control                        |     5 +
 contrib/bloom/bloom.h                              |   216 +
 contrib/bloom/blscan.c                             |   172 +
 contrib/bloom/blutils.c                            |   497 +
 contrib/bloom/blvacuum.c                           |   217 +
 contrib/bloom/blvalidate.c                         |   225 +
 contrib/bloom/expected/bloom.out                   |   230 +
 contrib/bloom/sql/bloom.sql                        |    95 +
 contrib/bloom/t/001_wal.pl                         |    93 +
 contrib/bool_plperl/.gitignore                     |     4 +
 contrib/bool_plperl/Makefile                       |    39 +
 contrib/bool_plperl/bool_plperl--1.0.sql           |    19 +
 contrib/bool_plperl/bool_plperl.c                  |    30 +
 contrib/bool_plperl/bool_plperl.control            |     7 +
 contrib/bool_plperl/bool_plperlu--1.0.sql          |    19 +
 contrib/bool_plperl/bool_plperlu.control           |     6 +
 contrib/bool_plperl/expected/bool_plperl.out       |   112 +
 contrib/bool_plperl/expected/bool_plperlu.out      |   112 +
 contrib/bool_plperl/sql/bool_plperl.sql            |    70 +
 contrib/bool_plperl/sql/bool_plperlu.sql           |    70 +
 contrib/btree_gin/.gitignore                       |     4 +
 contrib/btree_gin/Makefile                         |    27 +
 contrib/btree_gin/btree_gin--1.0--1.1.sql          |    35 +
 contrib/btree_gin/btree_gin--1.0.sql               |   689 +
 contrib/btree_gin/btree_gin--1.1--1.2.sql          |    47 +
 contrib/btree_gin/btree_gin--1.2--1.3.sql          |   128 +
 contrib/btree_gin/btree_gin.c                      |   513 +
 contrib/btree_gin/btree_gin.control                |     6 +
 contrib/btree_gin/expected/bit.out                 |    44 +
 contrib/btree_gin/expected/bool.out                |   119 +
 contrib/btree_gin/expected/bpchar.out              |   109 +
 contrib/btree_gin/expected/bytea.out               |    46 +
 contrib/btree_gin/expected/char.out                |    44 +
 contrib/btree_gin/expected/cidr.out                |    51 +
 contrib/btree_gin/expected/date.out                |    51 +
 contrib/btree_gin/expected/enum.out                |    63 +
 contrib/btree_gin/expected/float4.out              |    44 +
 contrib/btree_gin/expected/float8.out              |    44 +
 contrib/btree_gin/expected/inet.out                |    51 +
 contrib/btree_gin/expected/install_btree_gin.out   |     9 +
 contrib/btree_gin/expected/int2.out                |    44 +
 contrib/btree_gin/expected/int4.out                |    44 +
 contrib/btree_gin/expected/int8.out                |    44 +
 contrib/btree_gin/expected/interval.out            |    51 +
 contrib/btree_gin/expected/macaddr.out             |    51 +
 contrib/btree_gin/expected/macaddr8.out            |    51 +
 contrib/btree_gin/expected/money.out               |    44 +
 contrib/btree_gin/expected/name.out                |    97 +
 contrib/btree_gin/expected/numeric.out             |    44 +
 contrib/btree_gin/expected/oid.out                 |    44 +
 contrib/btree_gin/expected/text.out                |    44 +
 contrib/btree_gin/expected/time.out                |    51 +
 contrib/btree_gin/expected/timestamp.out           |    51 +
 contrib/btree_gin/expected/timestamptz.out         |    51 +
 contrib/btree_gin/expected/timetz.out              |    51 +
 contrib/btree_gin/expected/uuid.out                |   104 +
 contrib/btree_gin/expected/varbit.out              |    44 +
 contrib/btree_gin/expected/varchar.out             |    44 +
 contrib/btree_gin/sql/bit.sql                      |    15 +
 contrib/btree_gin/sql/bool.sql                     |    27 +
 contrib/btree_gin/sql/bpchar.sql                   |    22 +
 contrib/btree_gin/sql/bytea.sql                    |    17 +
 contrib/btree_gin/sql/char.sql                     |    15 +
 contrib/btree_gin/sql/cidr.sql                     |    22 +
 contrib/btree_gin/sql/date.sql                     |    22 +
 contrib/btree_gin/sql/enum.sql                     |    26 +
 contrib/btree_gin/sql/float4.sql                   |    15 +
 contrib/btree_gin/sql/float8.sql                   |    15 +
 contrib/btree_gin/sql/inet.sql                     |    22 +
 contrib/btree_gin/sql/install_btree_gin.sql        |     6 +
 contrib/btree_gin/sql/int2.sql                     |    15 +
 contrib/btree_gin/sql/int4.sql                     |    15 +
 contrib/btree_gin/sql/int8.sql                     |    15 +
 contrib/btree_gin/sql/interval.sql                 |    22 +
 contrib/btree_gin/sql/macaddr.sql                  |    22 +
 contrib/btree_gin/sql/macaddr8.sql                 |    22 +
 contrib/btree_gin/sql/money.sql                    |    15 +
 contrib/btree_gin/sql/name.sql                     |    21 +
 contrib/btree_gin/sql/numeric.sql                  |    15 +
 contrib/btree_gin/sql/oid.sql                      |    15 +
 contrib/btree_gin/sql/text.sql                     |    15 +
 contrib/btree_gin/sql/time.sql                     |    22 +
 contrib/btree_gin/sql/timestamp.sql                |    22 +
 contrib/btree_gin/sql/timestamptz.sql              |    22 +
 contrib/btree_gin/sql/timetz.sql                   |    22 +
 contrib/btree_gin/sql/uuid.sql                     |    28 +
 contrib/btree_gin/sql/varbit.sql                   |    15 +
 contrib/btree_gin/sql/varchar.sql                  |    15 +
 contrib/btree_gist/.gitignore                      |     4 +
 contrib/btree_gist/Makefile                        |    53 +
 contrib/btree_gist/btree_bit.c                     |   211 +
 contrib/btree_gist/btree_bytea.c                   |   170 +
 contrib/btree_gist/btree_cash.c                    |   218 +
 contrib/btree_gist/btree_date.c                    |   259 +
 contrib/btree_gist/btree_enum.c                    |   185 +
 contrib/btree_gist/btree_float4.c                  |   211 +
 contrib/btree_gist/btree_float8.c                  |   218 +
 contrib/btree_gist/btree_gist--1.0--1.1.sql        |   127 +
 contrib/btree_gist/btree_gist--1.1--1.2.sql        |    79 +
 contrib/btree_gist/btree_gist--1.2--1.3.sql        |    65 +
 contrib/btree_gist/btree_gist--1.2.sql             |  1570 +
 contrib/btree_gist/btree_gist--1.3--1.4.sql        |    64 +
 contrib/btree_gist/btree_gist--1.4--1.5.sql        |    69 +
 contrib/btree_gist/btree_gist--1.5--1.6.sql        |   191 +
 contrib/btree_gist/btree_gist.c                    |    49 +
 contrib/btree_gist/btree_gist.control              |     6 +
 contrib/btree_gist/btree_gist.h                    |    40 +
 contrib/btree_gist/btree_inet.c                    |   188 +
 contrib/btree_gist/btree_int2.c                    |   216 +
 contrib/btree_gist/btree_int4.c                    |   217 +
 contrib/btree_gist/btree_int8.c                    |   217 +
 contrib/btree_gist/btree_interval.c                |   299 +
 contrib/btree_gist/btree_macaddr.c                 |   197 +
 contrib/btree_gist/btree_macaddr8.c                |   197 +
 contrib/btree_gist/btree_numeric.c                 |   229 +
 contrib/btree_gist/btree_oid.c                     |   217 +
 contrib/btree_gist/btree_text.c                    |   289 +
 contrib/btree_gist/btree_time.c                    |   334 +
 contrib/btree_gist/btree_ts.c                      |   401 +
 contrib/btree_gist/btree_utils_num.c               |   376 +
 contrib/btree_gist/btree_utils_num.h               |   135 +
 contrib/btree_gist/btree_utils_var.c               |   612 +
 contrib/btree_gist/btree_utils_var.h               |    72 +
 contrib/btree_gist/btree_uuid.c                    |   235 +
 contrib/btree_gist/data/bit.data                   |   612 +
 contrib/btree_gist/data/cash.data                  |   600 +
 contrib/btree_gist/data/char.data                  |  1000 +
 contrib/btree_gist/data/date.data                  |   600 +
 contrib/btree_gist/data/enum.data                  |   595 +
 contrib/btree_gist/data/float4.data                |   600 +
 contrib/btree_gist/data/float8.data                |   600 +
 contrib/btree_gist/data/inet.data                  |   675 +
 contrib/btree_gist/data/int2.data                  |   600 +
 contrib/btree_gist/data/int4.data                  |   600 +
 contrib/btree_gist/data/int8.data                  |   600 +
 contrib/btree_gist/data/interval.data              |   612 +
 contrib/btree_gist/data/macaddr.data               |   644 +
 contrib/btree_gist/data/numeric.data               |    11 +
 contrib/btree_gist/data/text.data                  |     1 +
 contrib/btree_gist/data/time.data                  |   599 +
 contrib/btree_gist/data/timestamp.data             |   624 +
 contrib/btree_gist/data/timestamptz.data           |   618 +
 contrib/btree_gist/data/timetz.data                |   599 +
 contrib/btree_gist/data/uuid.data                  |   703 +
 contrib/btree_gist/data/varbit.data                |   621 +
 contrib/btree_gist/expected/bit.out                |    76 +
 contrib/btree_gist/expected/bytea.out              |    90 +
 contrib/btree_gist/expected/cash.out               |    91 +
 contrib/btree_gist/expected/char.out               |    82 +
 contrib/btree_gist/expected/char_1.out             |    82 +
 contrib/btree_gist/expected/cidr.out               |    66 +
 contrib/btree_gist/expected/date.out               |    91 +
 contrib/btree_gist/expected/enum.out               |    91 +
 contrib/btree_gist/expected/float4.out             |    91 +
 contrib/btree_gist/expected/float8.out             |    91 +
 contrib/btree_gist/expected/inet.out               |   101 +
 contrib/btree_gist/expected/init.out               |     9 +
 contrib/btree_gist/expected/int2.out               |    91 +
 contrib/btree_gist/expected/int4.out               |    91 +
 contrib/btree_gist/expected/int8.out               |    91 +
 contrib/btree_gist/expected/interval.out           |   109 +
 contrib/btree_gist/expected/macaddr.out            |    89 +
 contrib/btree_gist/expected/macaddr8.out           |    89 +
 contrib/btree_gist/expected/not_equal.out          |    41 +
 contrib/btree_gist/expected/numeric.out            |   207 +
 contrib/btree_gist/expected/oid.out                |    66 +
 contrib/btree_gist/expected/text.out               |    89 +
 contrib/btree_gist/expected/text_1.out             |    89 +
 contrib/btree_gist/expected/time.out               |    91 +
 contrib/btree_gist/expected/timestamp.out          |    91 +
 contrib/btree_gist/expected/timestamptz.out        |   211 +
 contrib/btree_gist/expected/timetz.out             |    43 +
 contrib/btree_gist/expected/uuid.out               |    66 +
 contrib/btree_gist/expected/varbit.out             |    76 +
 contrib/btree_gist/expected/varchar.out            |    66 +
 contrib/btree_gist/expected/varchar_1.out          |    66 +
 contrib/btree_gist/sql/bit.sql                     |    36 +
 contrib/btree_gist/sql/bytea.sql                   |    40 +
 contrib/btree_gist/sql/cash.sql                    |    37 +
 contrib/btree_gist/sql/char.sql                    |    37 +
 contrib/btree_gist/sql/cidr.sql                    |    30 +
 contrib/btree_gist/sql/date.sql                    |    37 +
 contrib/btree_gist/sql/enum.sql                    |    38 +
 contrib/btree_gist/sql/float4.sql                  |    37 +
 contrib/btree_gist/sql/float8.sql                  |    37 +
 contrib/btree_gist/sql/inet.sql                    |    49 +
 contrib/btree_gist/sql/init.sql                    |     6 +
 contrib/btree_gist/sql/int2.sql                    |    37 +
 contrib/btree_gist/sql/int4.sql                    |    37 +
 contrib/btree_gist/sql/int8.sql                    |    37 +
 contrib/btree_gist/sql/interval.sql                |    43 +
 contrib/btree_gist/sql/macaddr.sql                 |    37 +
 contrib/btree_gist/sql/macaddr8.sql                |    37 +
 contrib/btree_gist/sql/not_equal.sql               |    36 +
 contrib/btree_gist/sql/numeric.sql                 |    83 +
 contrib/btree_gist/sql/oid.sql                     |    30 +
 contrib/btree_gist/sql/text.sql                    |    40 +
 contrib/btree_gist/sql/time.sql                    |    37 +
 contrib/btree_gist/sql/timestamp.sql               |    37 +
 contrib/btree_gist/sql/timestamptz.sql             |    80 +
 contrib/btree_gist/sql/timetz.sql                  |    82 +
 contrib/btree_gist/sql/uuid.sql                    |    31 +
 contrib/btree_gist/sql/varbit.sql                  |    36 +
 contrib/btree_gist/sql/varchar.sql                 |    31 +
 contrib/citext/.gitignore                          |     4 +
 contrib/citext/Makefile                            |    25 +
 contrib/citext/citext--1.0--1.1.sql                |    21 +
 contrib/citext/citext--1.1--1.2.sql                |    68 +
 contrib/citext/citext--1.2--1.3.sql                |    21 +
 contrib/citext/citext--1.3--1.4.sql                |    12 +
 contrib/citext/citext--1.4--1.5.sql                |    88 +
 contrib/citext/citext--1.4.sql                     |   501 +
 contrib/citext/citext--1.5--1.6.sql                |    12 +
 contrib/citext/citext.c                            |   408 +
 contrib/citext/citext.control                      |     6 +
 contrib/citext/expected/citext.out                 |  2717 ++
 contrib/citext/expected/citext_1.out               |  2717 ++
 contrib/citext/expected/create_index_acl.out       |    78 +
 contrib/citext/sql/citext.sql                      |   844 +
 contrib/citext/sql/create_index_acl.sql            |    79 +
 contrib/contrib-global.mk                          |     4 +
 contrib/cube/.gitignore                            |     6 +
 contrib/cube/CHANGES                               |   130 +
 contrib/cube/Makefile                              |    40 +
 contrib/cube/cube--1.0--1.1.sql                    |    59 +
 contrib/cube/cube--1.1--1.2.sql                    |    75 +
 contrib/cube/cube--1.2--1.3.sql                    |    12 +
 contrib/cube/cube--1.2.sql                         |   378 +
 contrib/cube/cube--1.3--1.4.sql                    |    58 +
 contrib/cube/cube--1.4--1.5.sql                    |    21 +
 contrib/cube/cube.c                                |  1908 +
 contrib/cube/cube.control                          |     6 +
 contrib/cube/cubedata.h                            |    69 +
 contrib/cube/cubeparse.y                           |   269 +
 contrib/cube/cubescan.l                            |   121 +
 contrib/cube/data/test_cube.data                   |  3100 ++
 contrib/cube/expected/cube.out                     |  1950 +
 contrib/cube/expected/cube_sci.out                 |   106 +
 contrib/cube/sql/cube.sql                          |   432 +
 contrib/cube/sql/cube_sci.sql                      |    22 +
 contrib/dblink/.gitignore                          |     4 +
 contrib/dblink/Makefile                            |    28 +
 contrib/dblink/dblink--1.0--1.1.sql                |    14 +
 contrib/dblink/dblink--1.1--1.2.sql                |    46 +
 contrib/dblink/dblink--1.2.sql                     |   235 +
 contrib/dblink/dblink.c                            |  3121 ++
 contrib/dblink/dblink.control                      |     5 +
 contrib/dblink/expected/.gitignore                 |     1 +
 contrib/dblink/expected/dblink.out                 |  1181 +
 contrib/dblink/input/paths.source                  |    14 +
 contrib/dblink/output/paths.source                 |    11 +
 contrib/dblink/pg_service.conf                     |     7 +
 contrib/dblink/sql/.gitignore                      |     1 +
 contrib/dblink/sql/dblink.sql                      |   603 +
 contrib/dict_int/.gitignore                        |     4 +
 contrib/dict_int/Makefile                          |    23 +
 contrib/dict_int/dict_int--1.0.sql                 |    25 +
 contrib/dict_int/dict_int.c                        |   116 +
 contrib/dict_int/dict_int.control                  |     6 +
 contrib/dict_int/expected/dict_int.out             |   356 +
 contrib/dict_int/sql/dict_int.sql                  |    69 +
 contrib/dict_xsyn/.gitignore                       |     4 +
 contrib/dict_xsyn/Makefile                         |    24 +
 contrib/dict_xsyn/dict_xsyn--1.0.sql               |    25 +
 contrib/dict_xsyn/dict_xsyn.c                      |   259 +
 contrib/dict_xsyn/dict_xsyn.control                |     5 +
 contrib/dict_xsyn/expected/dict_xsyn.out           |   142 +
 contrib/dict_xsyn/sql/dict_xsyn.sql                |    45 +
 contrib/dict_xsyn/xsyn_sample.rules                |     6 +
 contrib/earthdistance/.gitignore                   |     4 +
 contrib/earthdistance/Makefile                     |    23 +
 contrib/earthdistance/earthdistance--1.0--1.1.sql  |    14 +
 contrib/earthdistance/earthdistance--1.1.sql       |    98 +
 contrib/earthdistance/earthdistance.c              |   104 +
 contrib/earthdistance/earthdistance.control        |     6 +
 contrib/earthdistance/expected/earthdistance.out   |  1098 +
 contrib/earthdistance/sql/earthdistance.sql        |   359 +
 contrib/file_fdw/.gitignore                        |     4 +
 contrib/file_fdw/Makefile                          |    22 +
 contrib/file_fdw/data/agg.bad                      |     4 +
 contrib/file_fdw/data/agg.csv                      |     4 +
 contrib/file_fdw/data/agg.data                     |     4 +
 contrib/file_fdw/data/list1.csv                    |     2 +
 contrib/file_fdw/data/list2.bad                    |     2 +
 contrib/file_fdw/data/list2.csv                    |     2 +
 contrib/file_fdw/data/text.csv                     |     5 +
 contrib/file_fdw/expected/.gitignore               |     1 +
 contrib/file_fdw/file_fdw--1.0.sql                 |    18 +
 contrib/file_fdw/file_fdw.c                        |  1225 +
 contrib/file_fdw/file_fdw.control                  |     5 +
 contrib/file_fdw/input/file_fdw.source             |   224 +
 contrib/file_fdw/output/file_fdw.source            |   452 +
 contrib/file_fdw/sql/.gitignore                    |     1 +
 contrib/fuzzystrmatch/.gitignore                   |     4 +
 contrib/fuzzystrmatch/Makefile                     |    24 +
 contrib/fuzzystrmatch/dmetaphone.c                 |  1438 +
 contrib/fuzzystrmatch/expected/fuzzystrmatch.out   |    67 +
 contrib/fuzzystrmatch/fuzzystrmatch--1.0--1.1.sql  |    15 +
 contrib/fuzzystrmatch/fuzzystrmatch--1.1.sql       |    44 +
 contrib/fuzzystrmatch/fuzzystrmatch.c              |   792 +
 contrib/fuzzystrmatch/fuzzystrmatch.control        |     6 +
 contrib/fuzzystrmatch/sql/fuzzystrmatch.sql        |    21 +
 contrib/hstore/.gitignore                          |     4 +
 contrib/hstore/Makefile                            |    36 +
 contrib/hstore/data/hstore.data                    |  1001 +
 contrib/hstore/expected/hstore.out                 |  1601 +
 contrib/hstore/hstore--1.1--1.2.sql                |    53 +
 contrib/hstore/hstore--1.2--1.3.sql                |    17 +
 contrib/hstore/hstore--1.3--1.4.sql                |    99 +
 contrib/hstore/hstore--1.4--1.5.sql                |    14 +
 contrib/hstore/hstore--1.4.sql                     |   550 +
 contrib/hstore/hstore--1.5--1.6.sql                |    12 +
 contrib/hstore/hstore--1.6--1.7.sql                |    27 +
 contrib/hstore/hstore--1.7--1.8.sql                |    17 +
 contrib/hstore/hstore.control                      |     6 +
 contrib/hstore/hstore.h                            |   205 +
 contrib/hstore/hstore_compat.c                     |   359 +
 contrib/hstore/hstore_gin.c                        |   212 +
 contrib/hstore/hstore_gist.c                       |   621 +
 contrib/hstore/hstore_io.c                         |  1499 +
 contrib/hstore/hstore_op.c                         |  1278 +
 contrib/hstore/hstore_subs.c                       |   297 +
 contrib/hstore/sql/hstore.sql                      |   386 +
 contrib/hstore_plperl/.gitignore                   |     4 +
 contrib/hstore_plperl/Makefile                     |    41 +
 .../hstore_plperl/expected/create_transform.out    |    75 +
 contrib/hstore_plperl/expected/hstore_plperl.out   |    67 +
 contrib/hstore_plperl/expected/hstore_plperlu.out  |   151 +
 contrib/hstore_plperl/hstore_plperl--1.0.sql       |    17 +
 contrib/hstore_plperl/hstore_plperl.c              |   155 +
 contrib/hstore_plperl/hstore_plperl.control        |     6 +
 contrib/hstore_plperl/hstore_plperlu--1.0.sql      |    17 +
 contrib/hstore_plperl/hstore_plperlu.control       |     6 +
 contrib/hstore_plperl/sql/create_transform.sql     |    49 +
 contrib/hstore_plperl/sql/hstore_plperl.sql        |    60 +
 contrib/hstore_plperl/sql/hstore_plperlu.sql       |   125 +
 contrib/hstore_plpython/.gitignore                 |     6 +
 contrib/hstore_plpython/Makefile                   |    45 +
 .../hstore_plpython/expected/hstore_plpython.out   |   150 +
 contrib/hstore_plpython/hstore_plpython.c          |   190 +
 contrib/hstore_plpython/hstore_plpython2u--1.0.sql |    19 +
 contrib/hstore_plpython/hstore_plpython2u.control  |     6 +
 contrib/hstore_plpython/hstore_plpython3u--1.0.sql |    19 +
 contrib/hstore_plpython/hstore_plpython3u.control  |     6 +
 contrib/hstore_plpython/hstore_plpythonu--1.0.sql  |    19 +
 contrib/hstore_plpython/hstore_plpythonu.control   |     6 +
 contrib/hstore_plpython/sql/hstore_plpython.sql    |   119 +
 contrib/intagg/Makefile                            |    15 +
 contrib/intagg/intagg--1.0--1.1.sql                |    23 +
 contrib/intagg/intagg--1.1.sql                     |    37 +
 contrib/intagg/intagg.control                      |     4 +
 contrib/intarray/.gitignore                        |     4 +
 contrib/intarray/Makefile                          |    31 +
 contrib/intarray/_int.h                            |   191 +
 contrib/intarray/_int_bool.c                       |   668 +
 contrib/intarray/_int_gin.c                        |   180 +
 contrib/intarray/_int_gist.c                       |   630 +
 contrib/intarray/_int_op.c                         |   432 +
 contrib/intarray/_int_selfuncs.c                   |   333 +
 contrib/intarray/_int_tool.c                       |   410 +
 contrib/intarray/_intbig_gist.c                    |   595 +
 contrib/intarray/bench/bench.pl                    |   140 +
 contrib/intarray/bench/create_test.pl              |    91 +
 contrib/intarray/data/test__int.data               |  7000 +++
 contrib/intarray/expected/_int.out                 |   858 +
 contrib/intarray/intarray--1.0--1.1.sql            |    49 +
 contrib/intarray/intarray--1.1--1.2.sql            |    94 +
 contrib/intarray/intarray--1.2--1.3.sql            |    20 +
 contrib/intarray/intarray--1.2.sql                 |   520 +
 contrib/intarray/intarray--1.3--1.4.sql            |    21 +
 contrib/intarray/intarray--1.4--1.5.sql            |     8 +
 contrib/intarray/intarray.control                  |     6 +
 contrib/intarray/sql/_int.sql                      |   181 +
 contrib/isn/.gitignore                             |     4 +
 contrib/isn/EAN13.h                                |   148 +
 contrib/isn/ISBN.h                                 |   990 +
 contrib/isn/ISMN.h                                 |    52 +
 contrib/isn/ISSN.h                                 |    49 +
 contrib/isn/Makefile                               |    24 +
 contrib/isn/UPC.h                                  |    28 +
 contrib/isn/expected/isn.out                       |   266 +
 contrib/isn/isn--1.0--1.1.sql                      |   250 +
 contrib/isn/isn--1.1--1.2.sql                      |   228 +
 contrib/isn/isn--1.1.sql                           |  3434 ++
 contrib/isn/isn.c                                  |  1139 +
 contrib/isn/isn.control                            |     6 +
 contrib/isn/isn.h                                  |    35 +
 contrib/isn/sql/isn.sql                            |   113 +
 contrib/jsonb_plperl/.gitignore                    |     4 +
 contrib/jsonb_plperl/Makefile                      |    41 +
 contrib/jsonb_plperl/expected/jsonb_plperl.out     |   253 +
 contrib/jsonb_plperl/expected/jsonb_plperlu.out    |   280 +
 contrib/jsonb_plperl/jsonb_plperl--1.0.sql         |    19 +
 contrib/jsonb_plperl/jsonb_plperl.c                |   296 +
 contrib/jsonb_plperl/jsonb_plperl.control          |     7 +
 contrib/jsonb_plperl/jsonb_plperlu--1.0.sql        |    19 +
 contrib/jsonb_plperl/jsonb_plperlu.control         |     6 +
 contrib/jsonb_plperl/sql/jsonb_plperl.sql          |   117 +
 contrib/jsonb_plperl/sql/jsonb_plperlu.sql         |   121 +
 contrib/jsonb_plpython/.gitignore                  |     6 +
 contrib/jsonb_plpython/Makefile                    |    41 +
 contrib/jsonb_plpython/expected/jsonb_plpython.out |   306 +
 contrib/jsonb_plpython/jsonb_plpython.c            |   509 +
 contrib/jsonb_plpython/jsonb_plpython2u--1.0.sql   |    19 +
 contrib/jsonb_plpython/jsonb_plpython2u.control    |     6 +
 contrib/jsonb_plpython/jsonb_plpython3u--1.0.sql   |    19 +
 contrib/jsonb_plpython/jsonb_plpython3u.control    |     6 +
 contrib/jsonb_plpython/jsonb_plpythonu--1.0.sql    |    19 +
 contrib/jsonb_plpython/jsonb_plpythonu.control     |     6 +
 contrib/jsonb_plpython/sql/jsonb_plpython.sql      |   183 +
 contrib/lo/.gitignore                              |     4 +
 contrib/lo/Makefile                                |    20 +
 contrib/lo/expected/lo.out                         |    50 +
 contrib/lo/lo--1.0--1.1.sql                        |     6 +
 contrib/lo/lo--1.1.sql                             |    25 +
 contrib/lo/lo.c                                    |   111 +
 contrib/lo/lo.control                              |     6 +
 contrib/lo/lo_test.sql                             |    79 +
 contrib/lo/sql/lo.sql                              |    30 +
 contrib/ltree/.gitignore                           |     4 +
 contrib/ltree/Makefile                             |    34 +
 contrib/ltree/_ltree_gist.c                        |   555 +
 contrib/ltree/_ltree_op.c                          |   325 +
 contrib/ltree/crc32.c                              |    39 +
 contrib/ltree/crc32.h                              |    12 +
 contrib/ltree/data/_ltree.data                     |  1000 +
 contrib/ltree/data/ltree.data                      |  1006 +
 contrib/ltree/expected/ltree.out                   |  8086 ++++
 contrib/ltree/lquery_op.c                          |   281 +
 contrib/ltree/ltree--1.0--1.1.sql                  |   115 +
 contrib/ltree/ltree--1.1--1.2.sql                  |   139 +
 contrib/ltree/ltree--1.1.sql                       |   872 +
 contrib/ltree/ltree.control                        |     6 +
 contrib/ltree/ltree.h                              |   303 +
 contrib/ltree/ltree_gist.c                         |   731 +
 contrib/ltree/ltree_io.c                           |   797 +
 contrib/ltree/ltree_op.c                           |   590 +
 contrib/ltree/ltreetest.sql                        |    21 +
 contrib/ltree/ltxtquery_io.c                       |   600 +
 contrib/ltree/ltxtquery_op.c                       |   111 +
 contrib/ltree/sql/ltree.sql                        |   384 +
 contrib/ltree_plpython/.gitignore                  |     6 +
 contrib/ltree_plpython/Makefile                    |    45 +
 contrib/ltree_plpython/expected/ltree_plpython.out |    43 +
 contrib/ltree_plpython/ltree_plpython.c            |    64 +
 contrib/ltree_plpython/ltree_plpython2u--1.0.sql   |    12 +
 contrib/ltree_plpython/ltree_plpython2u.control    |     6 +
 contrib/ltree_plpython/ltree_plpython3u--1.0.sql   |    12 +
 contrib/ltree_plpython/ltree_plpython3u.control    |     6 +
 contrib/ltree_plpython/ltree_plpythonu--1.0.sql    |    12 +
 contrib/ltree_plpython/ltree_plpythonu.control     |     6 +
 contrib/ltree_plpython/sql/ltree_plpython.sql      |    36 +
 contrib/oid2name/.gitignore                        |     3 +
 contrib/oid2name/Makefile                          |    25 +
 contrib/oid2name/oid2name.c                        |   651 +
 contrib/oid2name/t/001_basic.pl                    |    15 +
 contrib/old_snapshot/Makefile                      |    21 +
 contrib/old_snapshot/old_snapshot--1.0.sql         |    14 +
 contrib/old_snapshot/old_snapshot.control          |     5 +
 contrib/old_snapshot/time_mapping.c                |   160 +
 contrib/pageinspect/.gitignore                     |     4 +
 contrib/pageinspect/Makefile                       |    35 +
 contrib/pageinspect/brinfuncs.c                    |   451 +
 contrib/pageinspect/btreefuncs.c                   |   793 +
 contrib/pageinspect/expected/brin.out              |    90 +
 contrib/pageinspect/expected/btree.out             |   108 +
 contrib/pageinspect/expected/checksum.out          |    40 +
 contrib/pageinspect/expected/checksum_1.out        |    40 +
 contrib/pageinspect/expected/gin.out               |    71 +
 contrib/pageinspect/expected/gist.out              |   110 +
 contrib/pageinspect/expected/hash.out              |   205 +
 contrib/pageinspect/expected/oldextversions.out    |    40 +
 contrib/pageinspect/expected/page.out              |   238 +
 contrib/pageinspect/fsmfuncs.c                     |    65 +
 contrib/pageinspect/ginfuncs.c                     |   293 +
 contrib/pageinspect/gistfuncs.c                    |   337 +
 contrib/pageinspect/hashfuncs.c                    |   586 +
 contrib/pageinspect/heapfuncs.c                    |   622 +
 contrib/pageinspect/pageinspect--1.0--1.1.sql      |    18 +
 contrib/pageinspect/pageinspect--1.1--1.2.sql      |    18 +
 contrib/pageinspect/pageinspect--1.2--1.3.sql      |    82 +
 contrib/pageinspect/pageinspect--1.3--1.4.sql      |   118 +
 contrib/pageinspect/pageinspect--1.4--1.5.sql      |    24 +
 contrib/pageinspect/pageinspect--1.5--1.6.sql      |    99 +
 contrib/pageinspect/pageinspect--1.5.sql           |   279 +
 contrib/pageinspect/pageinspect--1.6--1.7.sql      |    26 +
 contrib/pageinspect/pageinspect--1.7--1.8.sql      |    69 +
 contrib/pageinspect/pageinspect--1.8--1.9.sql      |   137 +
 contrib/pageinspect/pageinspect.control            |     5 +
 contrib/pageinspect/pageinspect.h                  |    30 +
 contrib/pageinspect/rawpage.c                      |   371 +
 contrib/pageinspect/sql/brin.sql                   |    37 +
 contrib/pageinspect/sql/btree.sql                  |    51 +
 contrib/pageinspect/sql/checksum.sql               |    31 +
 contrib/pageinspect/sql/gin.sql                    |    41 +
 contrib/pageinspect/sql/gist.sql                   |    53 +
 contrib/pageinspect/sql/hash.sql                   |   108 +
 contrib/pageinspect/sql/oldextversions.sql         |    20 +
 contrib/pageinspect/sql/page.sql                   |    99 +
 contrib/passwordcheck/.gitignore                   |     4 +
 contrib/passwordcheck/Makefile                     |    24 +
 contrib/passwordcheck/expected/passwordcheck.out   |    19 +
 contrib/passwordcheck/passwordcheck.c              |   161 +
 contrib/passwordcheck/sql/passwordcheck.sql        |    23 +
 contrib/pg_buffercache/Makefile                    |    22 +
 .../pg_buffercache/pg_buffercache--1.0--1.1.sql    |    11 +
 .../pg_buffercache/pg_buffercache--1.1--1.2.sql    |     6 +
 .../pg_buffercache/pg_buffercache--1.2--1.3.sql    |     7 +
 contrib/pg_buffercache/pg_buffercache--1.2.sql     |    21 +
 contrib/pg_buffercache/pg_buffercache.control      |     5 +
 contrib/pg_buffercache/pg_buffercache_pages.c      |   239 +
 contrib/pg_freespacemap/Makefile                   |    22 +
 .../pg_freespacemap/pg_freespacemap--1.0--1.1.sql  |     7 +
 .../pg_freespacemap/pg_freespacemap--1.1--1.2.sql  |     7 +
 contrib/pg_freespacemap/pg_freespacemap--1.1.sql   |    25 +
 contrib/pg_freespacemap/pg_freespacemap.c          |    42 +
 contrib/pg_freespacemap/pg_freespacemap.control    |     5 +
 contrib/pg_prewarm/Makefile                        |    22 +
 contrib/pg_prewarm/autoprewarm.c                   |   905 +
 contrib/pg_prewarm/pg_prewarm--1.0--1.1.sql        |     6 +
 contrib/pg_prewarm/pg_prewarm--1.1--1.2.sql        |    14 +
 contrib/pg_prewarm/pg_prewarm--1.1.sql             |    14 +
 contrib/pg_prewarm/pg_prewarm.c                    |   205 +
 contrib/pg_prewarm/pg_prewarm.control              |     5 +
 contrib/pg_stat_statements/.gitignore              |     4 +
 contrib/pg_stat_statements/Makefile                |    33 +
 .../expected/pg_stat_statements.out                |  1080 +
 .../pg_stat_statements--1.0--1.1.sql               |    42 +
 .../pg_stat_statements--1.1--1.2.sql               |    43 +
 .../pg_stat_statements--1.2--1.3.sql               |    47 +
 .../pg_stat_statements--1.3--1.4.sql               |     7 +
 .../pg_stat_statements--1.4--1.5.sql               |     6 +
 .../pg_stat_statements/pg_stat_statements--1.4.sql |    48 +
 .../pg_stat_statements--1.5--1.6.sql               |     7 +
 .../pg_stat_statements--1.6--1.7.sql               |    22 +
 .../pg_stat_statements--1.7--1.8.sql               |    56 +
 .../pg_stat_statements--1.8--1.9.sql               |    71 +
 contrib/pg_stat_statements/pg_stat_statements.c    |  2849 ++
 contrib/pg_stat_statements/pg_stat_statements.conf |     1 +
 .../pg_stat_statements/pg_stat_statements.control  |     5 +
 .../pg_stat_statements/sql/pg_stat_statements.sql  |   445 +
 contrib/pg_surgery/.gitignore                      |     4 +
 contrib/pg_surgery/Makefile                        |    23 +
 contrib/pg_surgery/expected/heap_surgery.out       |   178 +
 contrib/pg_surgery/heap_surgery.c                  |   428 +
 contrib/pg_surgery/pg_surgery--1.0.sql             |    18 +
 contrib/pg_surgery/pg_surgery.control              |     5 +
 contrib/pg_surgery/sql/heap_surgery.sql            |    88 +
 contrib/pg_trgm/.gitignore                         |     4 +
 contrib/pg_trgm/Makefile                           |    28 +
 contrib/pg_trgm/data/trgm.data                     |  1000 +
 contrib/pg_trgm/data/trgm2.data                    |   696 +
 contrib/pg_trgm/expected/pg_strict_word_trgm.out   |  1027 +
 contrib/pg_trgm/expected/pg_trgm.out               |  5404 +++
 contrib/pg_trgm/expected/pg_word_trgm.out          |  1046 +
 contrib/pg_trgm/pg_trgm--1.0--1.1.sql              |    12 +
 contrib/pg_trgm/pg_trgm--1.1--1.2.sql              |    74 +
 contrib/pg_trgm/pg_trgm--1.2--1.3.sql              |    65 +
 contrib/pg_trgm/pg_trgm--1.3--1.4.sql              |    68 +
 contrib/pg_trgm/pg_trgm--1.3.sql                   |   254 +
 contrib/pg_trgm/pg_trgm--1.4--1.5.sql              |    23 +
 contrib/pg_trgm/pg_trgm--1.5--1.6.sql              |    10 +
 contrib/pg_trgm/pg_trgm.control                    |     6 +
 contrib/pg_trgm/sql/pg_strict_word_trgm.sql        |    45 +
 contrib/pg_trgm/sql/pg_trgm.sql                    |   238 +
 contrib/pg_trgm/sql/pg_word_trgm.sql               |    45 +
 contrib/pg_trgm/trgm.h                             |   140 +
 contrib/pg_trgm/trgm_gin.c                         |   359 +
 contrib/pg_trgm/trgm_gist.c                        |   964 +
 contrib/pg_trgm/trgm_op.c                          |  1321 +
 contrib/pg_trgm/trgm_regexp.c                      |  2362 +
 contrib/pg_visibility/.gitignore                   |     4 +
 contrib/pg_visibility/Makefile                     |    24 +
 contrib/pg_visibility/expected/pg_visibility.out   |   254 +
 contrib/pg_visibility/pg_visibility--1.0--1.1.sql  |    24 +
 contrib/pg_visibility/pg_visibility--1.1--1.2.sql  |    13 +
 contrib/pg_visibility/pg_visibility--1.1.sql       |    75 +
 contrib/pg_visibility/pg_visibility.c              |   786 +
 contrib/pg_visibility/pg_visibility.control        |     5 +
 contrib/pg_visibility/sql/pg_visibility.sql        |   182 +
 contrib/pgcrypto/.gitignore                        |     4 +
 contrib/pgcrypto/Makefile                          |    88 +
 contrib/pgcrypto/blf.c                             |   499 +
 contrib/pgcrypto/blf.h                             |    46 +
 contrib/pgcrypto/crypt-blowfish.c                  |   756 +
 contrib/pgcrypto/crypt-des.c                       |   791 +
 contrib/pgcrypto/crypt-gensalt.c                   |   187 +
 contrib/pgcrypto/crypt-md5.c                       |   169 +
 contrib/pgcrypto/expected/3des.out                 |    71 +
 contrib/pgcrypto/expected/blowfish.out             |   175 +
 contrib/pgcrypto/expected/blowfish_1.out           |    95 +
 contrib/pgcrypto/expected/cast5.out                |    88 +
 contrib/pgcrypto/expected/cast5_1.out              |    48 +
 contrib/pgcrypto/expected/crypt-blowfish.out       |    36 +
 contrib/pgcrypto/expected/crypt-des.out            |    31 +
 contrib/pgcrypto/expected/crypt-md5.out            |    27 +
 contrib/pgcrypto/expected/crypt-xdes.out           |    51 +
 contrib/pgcrypto/expected/des.out                  |    63 +
 contrib/pgcrypto/expected/des_1.out                |    31 +
 contrib/pgcrypto/expected/hmac-md5.out             |    72 +
 contrib/pgcrypto/expected/hmac-sha1.out            |    72 +
 contrib/pgcrypto/expected/init.out                 |    28 +
 contrib/pgcrypto/expected/md5.out                  |    45 +
 contrib/pgcrypto/expected/pgp-armor.out            |   372 +
 contrib/pgcrypto/expected/pgp-compression.out      |    80 +
 contrib/pgcrypto/expected/pgp-decrypt.out          |   425 +
 contrib/pgcrypto/expected/pgp-decrypt_1.out        |   421 +
 contrib/pgcrypto/expected/pgp-encrypt.out          |   210 +
 contrib/pgcrypto/expected/pgp-info.out             |    79 +
 contrib/pgcrypto/expected/pgp-pubkey-decrypt.out   |   656 +
 contrib/pgcrypto/expected/pgp-pubkey-decrypt_1.out |   652 +
 contrib/pgcrypto/expected/pgp-pubkey-encrypt.out   |    70 +
 contrib/pgcrypto/expected/pgp-zlib-DISABLED.out    |     1 +
 contrib/pgcrypto/expected/rijndael.out             |   126 +
 contrib/pgcrypto/expected/sha1.out                 |    45 +
 contrib/pgcrypto/expected/sha2.out                 |   139 +
 contrib/pgcrypto/imath.c                           |  3588 ++
 contrib/pgcrypto/imath.h                           |   445 +
 contrib/pgcrypto/internal-sha2.c                   |   206 +
 contrib/pgcrypto/internal.c                        |   585 +
 contrib/pgcrypto/mbuf.c                            |   560 +
 contrib/pgcrypto/mbuf.h                            |   124 +
 contrib/pgcrypto/openssl.c                         |   821 +
 contrib/pgcrypto/pgcrypto--1.0--1.1.sql            |     9 +
 contrib/pgcrypto/pgcrypto--1.1--1.2.sql            |    14 +
 contrib/pgcrypto/pgcrypto--1.2--1.3.sql            |    41 +
 contrib/pgcrypto/pgcrypto--1.3.sql                 |   217 +
 contrib/pgcrypto/pgcrypto.c                        |   475 +
 contrib/pgcrypto/pgcrypto.control                  |     6 +
 contrib/pgcrypto/pgcrypto.h                        |    37 +
 contrib/pgcrypto/pgp-armor.c                       |   488 +
 contrib/pgcrypto/pgp-cfb.c                         |   263 +
 contrib/pgcrypto/pgp-compress.c                    |   346 +
 contrib/pgcrypto/pgp-decrypt.c                     |  1212 +
 contrib/pgcrypto/pgp-encrypt.c                     |   704 +
 contrib/pgcrypto/pgp-info.c                        |   235 +
 contrib/pgcrypto/pgp-mpi-internal.c                |   304 +
 contrib/pgcrypto/pgp-mpi-openssl.c                 |   284 +
 contrib/pgcrypto/pgp-mpi.c                         |   142 +
 contrib/pgcrypto/pgp-pgsql.c                       |  1006 +
 contrib/pgcrypto/pgp-pubdec.c                      |   235 +
 contrib/pgcrypto/pgp-pubenc.c                      |   244 +
 contrib/pgcrypto/pgp-pubkey.c                      |   583 +
 contrib/pgcrypto/pgp-s2k.c                         |   308 +
 contrib/pgcrypto/pgp.c                             |   370 +
 contrib/pgcrypto/pgp.h                             |   327 +
 contrib/pgcrypto/px-crypt.c                        |   164 +
 contrib/pgcrypto/px-crypt.h                        |    82 +
 contrib/pgcrypto/px-hmac.c                         |   176 +
 contrib/pgcrypto/px.c                              |   460 +
 contrib/pgcrypto/px.h                              |   227 +
 contrib/pgcrypto/rijndael.c                        |   677 +
 contrib/pgcrypto/rijndael.h                        |    59 +
 contrib/pgcrypto/rijndael.tbl                      |  1138 +
 contrib/pgcrypto/sql/3des.sql                      |    31 +
 contrib/pgcrypto/sql/blowfish.sql                  |    92 +
 contrib/pgcrypto/sql/cast5.sql                     |    47 +
 contrib/pgcrypto/sql/crypt-blowfish.sql            |    26 +
 contrib/pgcrypto/sql/crypt-des.sql                 |    21 +
 contrib/pgcrypto/sql/crypt-md5.sql                 |    17 +
 contrib/pgcrypto/sql/crypt-xdes.sql                |    33 +
 contrib/pgcrypto/sql/des.sql                       |    29 +
 contrib/pgcrypto/sql/hmac-md5.sql                  |    44 +
 contrib/pgcrypto/sql/hmac-sha1.sql                 |    44 +
 contrib/pgcrypto/sql/init.sql                      |    18 +
 contrib/pgcrypto/sql/md5.sql                       |    11 +
 contrib/pgcrypto/sql/pgp-armor.sql                 |   216 +
 contrib/pgcrypto/sql/pgp-compression.sql           |    51 +
 contrib/pgcrypto/sql/pgp-decrypt.sql               |   315 +
 contrib/pgcrypto/sql/pgp-encrypt.sql               |   106 +
 contrib/pgcrypto/sql/pgp-info.sql                  |    22 +
 contrib/pgcrypto/sql/pgp-pubkey-decrypt.sql        |   647 +
 contrib/pgcrypto/sql/pgp-pubkey-encrypt.sql        |    50 +
 contrib/pgcrypto/sql/pgp-zlib-DISABLED.sql         |     1 +
 contrib/pgcrypto/sql/rijndael.sql                  |    63 +
 contrib/pgcrypto/sql/sha1.sql                      |    11 +
 contrib/pgcrypto/sql/sha2.sql                      |    33 +
 contrib/pgrowlocks/Makefile                        |    21 +
 contrib/pgrowlocks/pgrowlocks--1.0--1.1.sql        |    17 +
 contrib/pgrowlocks/pgrowlocks--1.1--1.2.sql        |     6 +
 contrib/pgrowlocks/pgrowlocks--1.2.sql             |    15 +
 contrib/pgrowlocks/pgrowlocks.c                    |   302 +
 contrib/pgrowlocks/pgrowlocks.control              |     5 +
 contrib/pgstattuple/.gitignore                     |     4 +
 contrib/pgstattuple/Makefile                       |    27 +
 contrib/pgstattuple/expected/pgstattuple.out       |   267 +
 contrib/pgstattuple/pgstatapprox.c                 |   318 +
 contrib/pgstattuple/pgstatindex.c                  |   774 +
 contrib/pgstattuple/pgstattuple--1.0--1.1.sql      |    11 +
 contrib/pgstattuple/pgstattuple--1.1--1.2.sql      |    39 +
 contrib/pgstattuple/pgstattuple--1.2--1.3.sql      |    18 +
 contrib/pgstattuple/pgstattuple--1.3--1.4.sql      |    13 +
 contrib/pgstattuple/pgstattuple--1.4--1.5.sql      |   136 +
 contrib/pgstattuple/pgstattuple--1.4.sql           |    95 +
 contrib/pgstattuple/pgstattuple.c                  |   590 +
 contrib/pgstattuple/pgstattuple.control            |     5 +
 contrib/pgstattuple/sql/pgstattuple.sql            |   124 +
 contrib/postgres_fdw/.gitignore                    |     4 +
 contrib/postgres_fdw/Makefile                      |    31 +
 contrib/postgres_fdw/connection.c                  |  1673 +
 contrib/postgres_fdw/deparse.c                     |  3613 ++
 contrib/postgres_fdw/expected/postgres_fdw.out     | 10937 +++++
 contrib/postgres_fdw/option.c                      |   437 +
 contrib/postgres_fdw/postgres_fdw--1.0--1.1.sql    |    20 +
 contrib/postgres_fdw/postgres_fdw--1.0.sql         |    18 +
 contrib/postgres_fdw/postgres_fdw.c                |  7607 +++
 contrib/postgres_fdw/postgres_fdw.control          |     5 +
 contrib/postgres_fdw/postgres_fdw.h                |   238 +
 contrib/postgres_fdw/shippable.c                   |   211 +
 contrib/postgres_fdw/sql/postgres_fdw.sql          |  3479 ++
 contrib/seg/.gitignore                             |     6 +
 contrib/seg/Makefile                               |    38 +
 contrib/seg/data/test_seg.data                     |  2578 +
 contrib/seg/expected/seg.out                       |  1268 +
 contrib/seg/seg--1.0--1.1.sql                      |    63 +
 contrib/seg/seg--1.1--1.2.sql                      |    14 +
 contrib/seg/seg--1.1.sql                           |   395 +
 contrib/seg/seg--1.2--1.3.sql                      |    58 +
 contrib/seg/seg--1.3--1.4.sql                      |     8 +
 contrib/seg/seg-validate.pl                        |    56 +
 contrib/seg/seg.c                                  |  1090 +
 contrib/seg/seg.control                            |     6 +
 contrib/seg/segdata.h                              |    24 +
 contrib/seg/segparse.y                             |   163 +
 contrib/seg/segscan.l                              |   115 +
 contrib/seg/sort-segments.pl                       |    30 +
 contrib/seg/sql/seg.sql                            |   237 +
 contrib/sepgsql/.gitignore                         |     7 +
 contrib/sepgsql/Makefile                           |    33 +
 contrib/sepgsql/database.c                         |   216 +
 contrib/sepgsql/dml.c                              |   362 +
 contrib/sepgsql/expected/alter.out                 |   316 +
 contrib/sepgsql/expected/ddl.out                   |   537 +
 contrib/sepgsql/expected/dml.out                   |   399 +
 contrib/sepgsql/expected/label.out                 |   611 +
 contrib/sepgsql/expected/misc.out                  |   231 +
 contrib/sepgsql/expected/truncate.out              |    46 +
 contrib/sepgsql/hooks.c                            |   482 +
 contrib/sepgsql/label.c                            |   937 +
 contrib/sepgsql/launcher                           |    52 +
 contrib/sepgsql/proc.c                             |   333 +
 contrib/sepgsql/relation.c                         |   773 +
 contrib/sepgsql/schema.c                           |   235 +
 contrib/sepgsql/selinux.c                          |   945 +
 contrib/sepgsql/sepgsql-regtest.te                 |   261 +
 contrib/sepgsql/sepgsql.h                          |   329 +
 contrib/sepgsql/sepgsql.sql.in                     |    37 +
 contrib/sepgsql/sql/alter.sql                      |   197 +
 contrib/sepgsql/sql/ddl.sql                        |   125 +
 contrib/sepgsql/sql/dml.sql                        |   257 +
 contrib/sepgsql/sql/label.sql                      |   294 +
 contrib/sepgsql/sql/misc.sql                       |    45 +
 contrib/sepgsql/sql/truncate.sql                   |    24 +
 contrib/sepgsql/test_sepgsql                       |   306 +
 contrib/sepgsql/uavc.c                             |   520 +
 contrib/spi/Makefile                               |    28 +
 contrib/spi/autoinc--1.0.sql                       |     9 +
 contrib/spi/autoinc.c                              |   127 +
 contrib/spi/autoinc.control                        |     5 +
 contrib/spi/autoinc.example                        |    35 +
 contrib/spi/insert_username--1.0.sql               |     9 +
 contrib/spi/insert_username.c                      |    92 +
 contrib/spi/insert_username.control                |     5 +
 contrib/spi/insert_username.example                |    20 +
 contrib/spi/moddatetime--1.0.sql                   |     9 +
 contrib/spi/moddatetime.c                          |   130 +
 contrib/spi/moddatetime.control                    |     5 +
 contrib/spi/moddatetime.example                    |    27 +
 contrib/spi/refint--1.0.sql                        |    14 +
 contrib/spi/refint.c                               |   656 +
 contrib/spi/refint.control                         |     5 +
 contrib/spi/refint.example                         |    82 +
 contrib/sslinfo/Makefile                           |    23 +
 contrib/sslinfo/sslinfo--1.0--1.1.sql              |    12 +
 contrib/sslinfo/sslinfo--1.1--1.2.sql              |    15 +
 contrib/sslinfo/sslinfo--1.2.sql                   |    48 +
 contrib/sslinfo/sslinfo.c                          |   473 +
 contrib/sslinfo/sslinfo.control                    |     5 +
 contrib/start-scripts/freebsd                      |    66 +
 contrib/start-scripts/linux                        |   124 +
 contrib/start-scripts/macos/README                 |    24 +
 .../macos/org.postgresql.postgres.plist            |    17 +
 contrib/start-scripts/macos/postgres-wrapper.sh    |    25 +
 contrib/tablefunc/.gitignore                       |     4 +
 contrib/tablefunc/Makefile                         |    22 +
 contrib/tablefunc/data/connectby_int.data          |     9 +
 contrib/tablefunc/data/connectby_text.data         |     9 +
 contrib/tablefunc/data/ct.data                     |    18 +
 contrib/tablefunc/expected/tablefunc.out           |   430 +
 contrib/tablefunc/sql/tablefunc.sql                |   208 +
 contrib/tablefunc/tablefunc--1.0.sql               |    88 +
 contrib/tablefunc/tablefunc.c                      |  1592 +
 contrib/tablefunc/tablefunc.control                |     6 +
 contrib/tablefunc/tablefunc.h                      |    39 +
 contrib/tcn/Makefile                               |    18 +
 contrib/tcn/tcn--1.0.sql                           |     9 +
 contrib/tcn/tcn.c                                  |   180 +
 contrib/tcn/tcn.control                            |     6 +
 contrib/test_decoding/.gitignore                   |     6 +
 contrib/test_decoding/Makefile                     |    37 +
 contrib/test_decoding/expected/binary.out          |    35 +
 .../expected/catalog_change_snapshot.out           |   134 +
 .../test_decoding/expected/concurrent_ddl_dml.out  |   799 +
 .../test_decoding/expected/concurrent_stream.out   |    24 +
 contrib/test_decoding/expected/ddl.out             |   799 +
 .../test_decoding/expected/decoding_in_xact.out    |    87 +
 .../test_decoding/expected/decoding_into_rel.out   |   111 +
 contrib/test_decoding/expected/delayed_startup.out |    50 +
 contrib/test_decoding/expected/messages.out        |    99 +
 contrib/test_decoding/expected/mxact.out           |    90 +
 contrib/test_decoding/expected/oldest_xmin.out     |    40 +
 contrib/test_decoding/expected/ondisk_startup.out  |    66 +
 contrib/test_decoding/expected/permissions.out     |   130 +
 contrib/test_decoding/expected/prepared.out        |    74 +
 contrib/test_decoding/expected/replorigin.out      |   259 +
 contrib/test_decoding/expected/rewrite.out         |   164 +
 contrib/test_decoding/expected/slot.out            |   387 +
 .../test_decoding/expected/snapshot_transfer.out   |    61 +
 contrib/test_decoding/expected/spill.out           |   256 +
 contrib/test_decoding/expected/stats.out           |   143 +
 contrib/test_decoding/expected/stream.out          |   115 +
 .../test_decoding/expected/subxact_without_top.out |    49 +
 contrib/test_decoding/expected/time.out            |    40 +
 contrib/test_decoding/expected/toast.out           |   390 +
 contrib/test_decoding/expected/truncate.out        |    33 +
 contrib/test_decoding/expected/twophase.out        |   220 +
 .../test_decoding/expected/twophase_snapshot.out   |    53 +
 contrib/test_decoding/expected/twophase_stream.out |   125 +
 contrib/test_decoding/expected/xact.out            |    64 +
 contrib/test_decoding/logical.conf                 |     4 +
 .../specs/catalog_change_snapshot.spec             |    62 +
 .../test_decoding/specs/concurrent_ddl_dml.spec    |    88 +
 contrib/test_decoding/specs/concurrent_stream.spec |    43 +
 contrib/test_decoding/specs/delayed_startup.spec   |    24 +
 contrib/test_decoding/specs/mxact.spec             |    38 +
 contrib/test_decoding/specs/oldest_xmin.spec       |    42 +
 contrib/test_decoding/specs/ondisk_startup.spec    |    45 +
 contrib/test_decoding/specs/snapshot_transfer.spec |    43 +
 .../test_decoding/specs/subxact_without_top.spec   |    63 +
 contrib/test_decoding/specs/twophase_snapshot.spec |    53 +
 contrib/test_decoding/sql/binary.sql               |    14 +
 contrib/test_decoding/sql/ddl.sql                  |   423 +
 contrib/test_decoding/sql/decoding_in_xact.sql     |    41 +
 contrib/test_decoding/sql/decoding_into_rel.sql    |    42 +
 contrib/test_decoding/sql/messages.sql             |    34 +
 contrib/test_decoding/sql/permissions.sql          |    69 +
 contrib/test_decoding/sql/prepared.sql             |    50 +
 contrib/test_decoding/sql/replorigin.sql           |   121 +
 contrib/test_decoding/sql/rewrite.sql              |   107 +
 contrib/test_decoding/sql/slot.sql                 |   172 +
 contrib/test_decoding/sql/spill.sql                |   179 +
 contrib/test_decoding/sql/stats.sql                |    87 +
 contrib/test_decoding/sql/stream.sql               |    48 +
 contrib/test_decoding/sql/time.sql                 |    22 +
 contrib/test_decoding/sql/toast.sql                |   327 +
 contrib/test_decoding/sql/truncate.sql             |    14 +
 contrib/test_decoding/sql/twophase.sql             |   111 +
 contrib/test_decoding/sql/twophase_stream.sql      |    45 +
 contrib/test_decoding/sql/xact.sql                 |    33 +
 contrib/test_decoding/t/001_repl_stats.pl          |   120 +
 contrib/test_decoding/test_decoding.c              |   970 +
 contrib/tsm_system_rows/.gitignore                 |     4 +
 contrib/tsm_system_rows/Makefile                   |    23 +
 .../tsm_system_rows/expected/tsm_system_rows.out   |    83 +
 contrib/tsm_system_rows/sql/tsm_system_rows.sql    |    39 +
 contrib/tsm_system_rows/tsm_system_rows--1.0.sql   |     9 +
 contrib/tsm_system_rows/tsm_system_rows.c          |   340 +
 contrib/tsm_system_rows/tsm_system_rows.control    |     6 +
 contrib/tsm_system_time/.gitignore                 |     4 +
 contrib/tsm_system_time/Makefile                   |    25 +
 .../tsm_system_time/expected/tsm_system_time.out   |   100 +
 contrib/tsm_system_time/sql/tsm_system_time.sql    |    51 +
 contrib/tsm_system_time/tsm_system_time--1.0.sql   |     9 +
 contrib/tsm_system_time/tsm_system_time.c          |   353 +
 contrib/tsm_system_time/tsm_system_time.control    |     6 +
 contrib/unaccent/.gitignore                        |     7 +
 contrib/unaccent/Makefile                          |    47 +
 contrib/unaccent/expected/unaccent.out             |    99 +
 contrib/unaccent/generate_unaccent_rules.py        |   291 +
 contrib/unaccent/sql/unaccent.sql                  |    24 +
 contrib/unaccent/unaccent--1.0--1.1.sql            |     9 +
 contrib/unaccent/unaccent--1.1.sql                 |    34 +
 contrib/unaccent/unaccent.c                        |   434 +
 contrib/unaccent/unaccent.control                  |     6 +
 contrib/unaccent/unaccent.rules                    |  1613 +
 contrib/uuid-ossp/.gitignore                       |     4 +
 contrib/uuid-ossp/Makefile                         |    30 +
 contrib/uuid-ossp/expected/uuid_ossp.out           |   139 +
 contrib/uuid-ossp/sql/uuid_ossp.sql                |    75 +
 contrib/uuid-ossp/uuid-ossp--1.0--1.1.sql          |    15 +
 contrib/uuid-ossp/uuid-ossp--1.1.sql               |    54 +
 contrib/uuid-ossp/uuid-ossp.c                      |   547 +
 contrib/uuid-ossp/uuid-ossp.control                |     6 +
 contrib/vacuumlo/.gitignore                        |     3 +
 contrib/vacuumlo/Makefile                          |    25 +
 contrib/vacuumlo/t/001_basic.pl                    |    12 +
 contrib/vacuumlo/vacuumlo.c                        |   555 +
 contrib/xml2/.gitignore                            |     4 +
 contrib/xml2/Makefile                              |    26 +
 contrib/xml2/expected/xml2.out                     |   224 +
 contrib/xml2/expected/xml2_1.out                   |   168 +
 contrib/xml2/sql/xml2.sql                          |   139 +
 contrib/xml2/xml2--1.0--1.1.sql                    |    18 +
 contrib/xml2/xml2--1.1.sql                         |    73 +
 contrib/xml2/xml2.control                          |     6 +
 contrib/xml2/xpath.c                               |   845 +
 contrib/xml2/xslt_proc.c                           |   256 +
 doc/KNOWN_BUGS                                     |     3 +
 doc/MISSING_FEATURES                               |     3 +
 doc/Makefile                                       |    16 +
 doc/TODO                                           |     3 +
 doc/src/Makefile                                   |     8 +
 doc/src/sgml/.gitignore                            |    25 +
 doc/src/sgml/Makefile                              |   313 +
 doc/src/sgml/README.links                          |    54 +
 doc/src/sgml/acronyms.sgml                         |   818 +
 doc/src/sgml/adminpack.sgml                        |   158 +
 doc/src/sgml/advanced.sgml                         |   720 +
 doc/src/sgml/amcheck.sgml                          |   558 +
 doc/src/sgml/appendix-obsolete-default-roles.sgml  |    22 +
 doc/src/sgml/appendix-obsolete-pgreceivexlog.sgml  |    24 +
 doc/src/sgml/appendix-obsolete-pgresetxlog.sgml    |    24 +
 doc/src/sgml/appendix-obsolete-pgxlogdump.sgml     |    24 +
 .../sgml/appendix-obsolete-recovery-config.sgml    |    58 +
 doc/src/sgml/appendix-obsolete.sgml                |    42 +
 doc/src/sgml/arch-dev.sgml                         |   567 +
 doc/src/sgml/array.sgml                            |   797 +
 doc/src/sgml/auth-delay.sgml                       |    65 +
 doc/src/sgml/auto-explain.sgml                     |   340 +
 doc/src/sgml/backup-manifest.sgml                  |   216 +
 doc/src/sgml/backup.sgml                           |  1666 +
 doc/src/sgml/bgworker.sgml                         |   306 +
 doc/src/sgml/biblio.sgml                           |   550 +
 doc/src/sgml/bki.sgml                              |  1063 +
 doc/src/sgml/bloom.sgml                            |   290 +
 doc/src/sgml/brin.sgml                             |  1334 +
 doc/src/sgml/btree-gin.sgml                        |    66 +
 doc/src/sgml/btree-gist.sgml                       |   118 +
 doc/src/sgml/btree.sgml                            |   914 +
 doc/src/sgml/catalogs.sgml                         | 13890 ++++++
 doc/src/sgml/charset.sgml                          |  2638 +
 doc/src/sgml/citext.sgml                           |   293 +
 doc/src/sgml/client-auth.sgml                      |  2234 +
 doc/src/sgml/color.sgml                            |   101 +
 doc/src/sgml/config.sgml                           | 11142 +++++
 doc/src/sgml/contrib-spi.sgml                      |   139 +
 doc/src/sgml/contrib.sgml                          |   203 +
 doc/src/sgml/cube.sgml                             |   639 +
 doc/src/sgml/custom-scan.sgml                      |   383 +
 doc/src/sgml/datatype.sgml                         |  5306 ++
 doc/src/sgml/datetime.sgml                         |   930 +
 doc/src/sgml/dblink.sgml                           |  2136 +
 doc/src/sgml/ddl.sgml                              |  5105 ++
 doc/src/sgml/dfunc.sgml                            |   252 +
 doc/src/sgml/dict-int.sgml                         |   100 +
 doc/src/sgml/dict-xsyn.sgml                        |   149 +
 doc/src/sgml/diskusage.sgml                        |   144 +
 doc/src/sgml/dml.sgml                              |   350 +
 doc/src/sgml/docguide.sgml                         |   653 +
 doc/src/sgml/earthdistance.sgml                    |   264 +
 doc/src/sgml/ecpg.sgml                             | 10066 ++++
 doc/src/sgml/errcodes.sgml                         |    89 +
 doc/src/sgml/event-trigger.sgml                    |  1302 +
 doc/src/sgml/extend.sgml                           |  1862 +
 doc/src/sgml/external-projects.sgml                |   251 +
 doc/src/sgml/fdwhandler.sgml                       |  2139 +
 doc/src/sgml/features.sgml                         |   494 +
 doc/src/sgml/file-fdw.sgml                         |   282 +
 doc/src/sgml/filelist.sgml                         |   195 +
 doc/src/sgml/func.sgml                             | 27887 +++++++++++
 doc/src/sgml/fuzzystrmatch.sgml                    |   244 +
 doc/src/sgml/generate-errcodes-table.pl            |    59 +
 doc/src/sgml/generate-keywords-table.pl            |   139 +
 doc/src/sgml/generic-wal.sgml                      |   160 +
 doc/src/sgml/geqo.sgml                             |   303 +
 doc/src/sgml/gin.sgml                              |   717 +
 doc/src/sgml/gist.sgml                             |  1312 +
 doc/src/sgml/glossary.sgml                         |  1962 +
 doc/src/sgml/hash.sgml                             |   162 +
 doc/src/sgml/high-availability.sgml                |  2342 +
 doc/src/sgml/history.sgml                          |   222 +
 doc/src/sgml/hstore.sgml                           |   981 +
 doc/src/sgml/images/Makefile                       |    27 +
 doc/src/sgml/images/README                         |    65 +
 doc/src/sgml/images/fixup-svg.xsl                  |    44 +
 doc/src/sgml/images/genetic-algorithm.gv           |    48 +
 doc/src/sgml/images/genetic-algorithm.svg          |   140 +
 doc/src/sgml/images/gin.gv                         |    93 +
 doc/src/sgml/images/gin.svg                        |   317 +
 doc/src/sgml/images/pagelayout.svg                 |    35 +
 doc/src/sgml/images/pagelayout.txt                 |    11 +
 doc/src/sgml/indexam.sgml                          |  1486 +
 doc/src/sgml/indices.sgml                          |  1603 +
 doc/src/sgml/info.sgml                             |    69 +
 doc/src/sgml/information_schema.sgml               |  8667 ++++
 doc/src/sgml/install-binaries.sgml                 |    24 +
 doc/src/sgml/install-windows.sgml                  |   557 +
 doc/src/sgml/installation.sgml                     |  2628 +
 doc/src/sgml/intagg.sgml                           |   131 +
 doc/src/sgml/intarray.sgml                         |   503 +
 doc/src/sgml/intro.sgml                            |   161 +
 doc/src/sgml/isn.sgml                              |   424 +
 doc/src/sgml/jit.sgml                              |   285 +
 doc/src/sgml/json.sgml                             |  1016 +
 doc/src/sgml/keywords.sgml                         |    90 +
 doc/src/sgml/keywords/sql1992-nonreserved.txt      |    50 +
 doc/src/sgml/keywords/sql1992-reserved.txt         |   227 +
 doc/src/sgml/keywords/sql2011-02-nonreserved.txt   |   219 +
 doc/src/sgml/keywords/sql2011-02-reserved.txt      |   324 +
 doc/src/sgml/keywords/sql2011-09-nonreserved.txt   |    23 +
 doc/src/sgml/keywords/sql2011-09-reserved.txt      |    13 +
 doc/src/sgml/keywords/sql2011-14-nonreserved.txt   |    29 +
 doc/src/sgml/keywords/sql2011-14-reserved.txt      |    20 +
 doc/src/sgml/keywords/sql2016-02-nonreserved.txt   |   248 +
 doc/src/sgml/keywords/sql2016-02-reserved.txt      |   367 +
 doc/src/sgml/keywords/sql2016-09-nonreserved.txt   |    23 +
 doc/src/sgml/keywords/sql2016-09-reserved.txt      |    13 +
 doc/src/sgml/keywords/sql2016-14-nonreserved.txt   |    27 +
 doc/src/sgml/keywords/sql2016-14-reserved.txt      |    20 +
 doc/src/sgml/legal.sgml                            |    48 +
 doc/src/sgml/libpq.sgml                            |  9532 ++++
 doc/src/sgml/limits.sgml                           |   126 +
 doc/src/sgml/lo.sgml                               |   135 +
 doc/src/sgml/lobj.sgml                             |   994 +
 doc/src/sgml/logical-replication.sgml              |   660 +
 doc/src/sgml/logicaldecoding.sgml                  |  1327 +
 doc/src/sgml/ltree.sgml                            |   861 +
 doc/src/sgml/maintenance.sgml                      |  1097 +
 doc/src/sgml/manage-ag.sgml                        |   546 +
 doc/src/sgml/mk_feature_tables.pl                  |    77 +
 doc/src/sgml/monitoring.sgml                       |  7486 +++
 doc/src/sgml/mvcc.sgml                             |  1839 +
 doc/src/sgml/nls.sgml                              |   532 +
 doc/src/sgml/notation.sgml                         |    31 +
 doc/src/sgml/oid2name.sgml                         |   376 +
 doc/src/sgml/oldsnapshot.sgml                      |    33 +
 doc/src/sgml/pageinspect.sgml                      |   913 +
 doc/src/sgml/parallel.sgml                         |   598 +
 doc/src/sgml/passwordcheck.sgml                    |    62 +
 doc/src/sgml/perform.sgml                          |  1959 +
 doc/src/sgml/pgbuffercache.sgml                    |   213 +
 doc/src/sgml/pgcrypto.sgml                         |  1435 +
 doc/src/sgml/pgfreespacemap.sgml                   |   120 +
 doc/src/sgml/pgprewarm.sgml                        |   148 +
 doc/src/sgml/pgrowlocks.sgml                       |   150 +
 doc/src/sgml/pgstatstatements.sgml                 |   864 +
 doc/src/sgml/pgstattuple.sgml                      |   629 +
 doc/src/sgml/pgsurgery.sgml                        |   107 +
 doc/src/sgml/pgtrgm.sgml                           |   642 +
 doc/src/sgml/pgvisibility.sgml                     |   158 +
 doc/src/sgml/planstats.sgml                        |   762 +
 doc/src/sgml/plhandler.sgml                        |   192 +
 doc/src/sgml/plperl.sgml                           |  1584 +
 doc/src/sgml/plpgsql.sgml                          |  6080 +++
 doc/src/sgml/plpython.sgml                         |  1563 +
 doc/src/sgml/pltcl.sgml                            |  1133 +
 doc/src/sgml/postgres-fdw.sgml                     |   991 +
 doc/src/sgml/postgres.sgml                         |   300 +
 doc/src/sgml/problems.sgml                         |   362 +
 doc/src/sgml/protocol.sgml                         |  7693 +++
 doc/src/sgml/queries.sgml                          |  2738 ++
 doc/src/sgml/query.sgml                            |   877 +
 doc/src/sgml/rangetypes.sgml                       |   592 +
 doc/src/sgml/ref/abort.sgml                        |   112 +
 doc/src/sgml/ref/allfiles.sgml                     |   224 +
 doc/src/sgml/ref/alter_aggregate.sgml              |   202 +
 doc/src/sgml/ref/alter_collation.sgml              |   203 +
 doc/src/sgml/ref/alter_conversion.sgml             |   127 +
 doc/src/sgml/ref/alter_database.sgml               |   243 +
 doc/src/sgml/ref/alter_default_privileges.sgml     |   255 +
 doc/src/sgml/ref/alter_domain.sgml                 |   365 +
 doc/src/sgml/ref/alter_event_trigger.sgml          |   105 +
 doc/src/sgml/ref/alter_extension.sgml              |   334 +
 doc/src/sgml/ref/alter_foreign_data_wrapper.sgml   |   188 +
 doc/src/sgml/ref/alter_foreign_table.sgml          |   556 +
 doc/src/sgml/ref/alter_function.sgml               |   392 +
 doc/src/sgml/ref/alter_group.sgml                  |   135 +
 doc/src/sgml/ref/alter_index.sgml                  |   323 +
 doc/src/sgml/ref/alter_language.sgml               |    91 +
 doc/src/sgml/ref/alter_large_object.sgml           |    86 +
 doc/src/sgml/ref/alter_materialized_view.sgml      |   185 +
 doc/src/sgml/ref/alter_opclass.sgml                |   124 +
 doc/src/sgml/ref/alter_operator.sgml               |   160 +
 doc/src/sgml/ref/alter_opfamily.sgml               |   360 +
 doc/src/sgml/ref/alter_policy.sgml                 |   143 +
 doc/src/sgml/ref/alter_procedure.sgml              |   289 +
 doc/src/sgml/ref/alter_publication.sgml            |   166 +
 doc/src/sgml/ref/alter_role.sgml                   |   354 +
 doc/src/sgml/ref/alter_routine.sgml                |   103 +
 doc/src/sgml/ref/alter_rule.sgml                   |   105 +
 doc/src/sgml/ref/alter_schema.sgml                 |   100 +
 doc/src/sgml/ref/alter_sequence.sgml               |   351 +
 doc/src/sgml/ref/alter_server.sgml                 |   144 +
 doc/src/sgml/ref/alter_statistics.sgml             |   135 +
 doc/src/sgml/ref/alter_subscription.sgml           |   259 +
 doc/src/sgml/ref/alter_system.sgml                 |   143 +
 doc/src/sgml/ref/alter_table.sgml                  |  1735 +
 doc/src/sgml/ref/alter_tablespace.sgml             |   140 +
 doc/src/sgml/ref/alter_trigger.sgml                |   135 +
 doc/src/sgml/ref/alter_tsconfig.sgml               |   189 +
 doc/src/sgml/ref/alter_tsdictionary.sgml           |   170 +
 doc/src/sgml/ref/alter_tsparser.sgml               |    93 +
 doc/src/sgml/ref/alter_tstemplate.sgml             |    93 +
 doc/src/sgml/ref/alter_type.sgml                   |   494 +
 doc/src/sgml/ref/alter_user.sgml                   |    81 +
 doc/src/sgml/ref/alter_user_mapping.sgml           |   124 +
 doc/src/sgml/ref/alter_view.sgml                   |   219 +
 doc/src/sgml/ref/analyze.sgml                      |   321 +
 doc/src/sgml/ref/begin.sgml                        |   161 +
 doc/src/sgml/ref/call.sgml                         |   133 +
 doc/src/sgml/ref/checkpoint.sgml                   |    67 +
 doc/src/sgml/ref/close.sgml                        |   132 +
 doc/src/sgml/ref/cluster.sgml                      |   252 +
 doc/src/sgml/ref/clusterdb.sgml                    |   352 +
 doc/src/sgml/ref/comment.sgml                      |   366 +
 doc/src/sgml/ref/commit.sgml                       |   112 +
 doc/src/sgml/ref/commit_prepared.sgml              |   107 +
 doc/src/sgml/ref/copy.sgml                         |  1075 +
 doc/src/sgml/ref/create_access_method.sgml         |   122 +
 doc/src/sgml/ref/create_aggregate.sgml             |   805 +
 doc/src/sgml/ref/create_cast.sgml                  |   424 +
 doc/src/sgml/ref/create_collation.sgml             |   263 +
 doc/src/sgml/ref/create_conversion.sgml            |   189 +
 doc/src/sgml/ref/create_database.sgml              |   359 +
 doc/src/sgml/ref/create_domain.sgml                |   288 +
 doc/src/sgml/ref/create_event_trigger.sgml         |   170 +
 doc/src/sgml/ref/create_extension.sgml             |   247 +
 doc/src/sgml/ref/create_foreign_data_wrapper.sgml  |   183 +
 doc/src/sgml/ref/create_foreign_table.sgml         |   455 +
 doc/src/sgml/ref/create_function.sgml              |   935 +
 doc/src/sgml/ref/create_group.sgml                 |    72 +
 doc/src/sgml/ref/create_index.sgml                 |   983 +
 doc/src/sgml/ref/create_language.sgml              |   250 +
 doc/src/sgml/ref/create_materialized_view.sgml     |   185 +
 doc/src/sgml/ref/create_opclass.sgml               |   330 +
 doc/src/sgml/ref/create_operator.sgml              |   299 +
 doc/src/sgml/ref/create_opfamily.sgml              |   118 +
 doc/src/sgml/ref/create_policy.sgml                |   640 +
 doc/src/sgml/ref/create_procedure.sgml             |   411 +
 doc/src/sgml/ref/create_publication.sgml           |   254 +
 doc/src/sgml/ref/create_role.sgml                  |   504 +
 doc/src/sgml/ref/create_rule.sgml                  |   305 +
 doc/src/sgml/ref/create_schema.sgml                |   228 +
 doc/src/sgml/ref/create_sequence.sgml              |   391 +
 doc/src/sgml/ref/create_server.sgml                |   167 +
 doc/src/sgml/ref/create_statistics.sgml            |   325 +
 doc/src/sgml/ref/create_subscription.sgml          |   322 +
 doc/src/sgml/ref/create_table.sgml                 |  2386 +
 doc/src/sgml/ref/create_table_as.sgml              |   362 +
 doc/src/sgml/ref/create_tablespace.sgml            |   187 +
 doc/src/sgml/ref/create_transform.sgml             |   214 +
 doc/src/sgml/ref/create_trigger.sgml               |   779 +
 doc/src/sgml/ref/create_tsconfig.sgml              |   126 +
 doc/src/sgml/ref/create_tsdictionary.sgml          |   141 +
 doc/src/sgml/ref/create_tsparser.sgml              |   153 +
 doc/src/sgml/ref/create_tstemplate.sgml            |   126 +
 doc/src/sgml/ref/create_type.sgml                  |  1029 +
 doc/src/sgml/ref/create_user.sgml                  |    78 +
 doc/src/sgml/ref/create_user_mapping.sgml          |   132 +
 doc/src/sgml/ref/create_view.sgml                  |   502 +
 doc/src/sgml/ref/createdb.sgml                     |   396 +
 doc/src/sgml/ref/createuser.sgml                   |   498 +
 doc/src/sgml/ref/deallocate.sgml                   |    98 +
 doc/src/sgml/ref/declare.sgml                      |   361 +
 doc/src/sgml/ref/delete.sgml                       |   289 +
 doc/src/sgml/ref/discard.sgml                      |   118 +
 doc/src/sgml/ref/do.sgml                           |   135 +
 doc/src/sgml/ref/drop_access_method.sgml           |   111 +
 doc/src/sgml/ref/drop_aggregate.sgml               |   184 +
 doc/src/sgml/ref/drop_cast.sgml                    |   117 +
 doc/src/sgml/ref/drop_collation.sgml               |   114 +
 doc/src/sgml/ref/drop_conversion.sgml              |   107 +
 doc/src/sgml/ref/drop_database.sgml                |   126 +
 doc/src/sgml/ref/drop_domain.sgml                  |   114 +
 doc/src/sgml/ref/drop_event_trigger.sgml           |   115 +
 doc/src/sgml/ref/drop_extension.sgml               |   126 +
 doc/src/sgml/ref/drop_foreign_data_wrapper.sgml    |   114 +
 doc/src/sgml/ref/drop_foreign_table.sgml           |   115 +
 doc/src/sgml/ref/drop_function.sgml                |   192 +
 doc/src/sgml/ref/drop_group.sgml                   |    53 +
 doc/src/sgml/ref/drop_index.sgml                   |   143 +
 doc/src/sgml/ref/drop_language.sgml                |   125 +
 doc/src/sgml/ref/drop_materialized_view.sgml       |   116 +
 doc/src/sgml/ref/drop_opclass.sgml                 |   149 +
 doc/src/sgml/ref/drop_operator.sgml                |   146 +
 doc/src/sgml/ref/drop_opfamily.sgml                |   138 +
 doc/src/sgml/ref/drop_owned.sgml                   |   126 +
 doc/src/sgml/ref/drop_policy.sgml                  |   119 +
 doc/src/sgml/ref/drop_procedure.sgml               |   232 +
 doc/src/sgml/ref/drop_publication.sgml             |   105 +
 doc/src/sgml/ref/drop_role.sgml                    |   124 +
 doc/src/sgml/ref/drop_routine.sgml                 |   123 +
 doc/src/sgml/ref/drop_rule.sgml                    |   123 +
 doc/src/sgml/ref/drop_schema.sgml                  |   131 +
 doc/src/sgml/ref/drop_sequence.sgml                |   115 +
 doc/src/sgml/ref/drop_server.sgml                  |   114 +
 doc/src/sgml/ref/drop_statistics.sgml              |   108 +
 doc/src/sgml/ref/drop_subscription.sgml            |   132 +
 doc/src/sgml/ref/drop_table.sgml                   |   129 +
 doc/src/sgml/ref/drop_tablespace.sgml              |   110 +
 doc/src/sgml/ref/drop_transform.sgml               |   128 +
 doc/src/sgml/ref/drop_trigger.sgml                 |   127 +
 doc/src/sgml/ref/drop_tsconfig.sgml                |   121 +
 doc/src/sgml/ref/drop_tsdictionary.sgml            |   120 +
 doc/src/sgml/ref/drop_tsparser.sgml                |   118 +
 doc/src/sgml/ref/drop_tstemplate.sgml              |   119 +
 doc/src/sgml/ref/drop_type.sgml                    |   116 +
 doc/src/sgml/ref/drop_user.sgml                    |    55 +
 doc/src/sgml/ref/drop_user_mapping.sgml            |   110 +
 doc/src/sgml/ref/drop_view.sgml                    |   114 +
 doc/src/sgml/ref/dropdb.sgml                       |   317 +
 doc/src/sgml/ref/dropuser.sgml                     |   294 +
 doc/src/sgml/ref/ecpg-ref.sgml                     |   278 +
 doc/src/sgml/ref/end.sgml                          |   112 +
 doc/src/sgml/ref/execute.sgml                      |   121 +
 doc/src/sgml/ref/explain.sgml                      |   484 +
 doc/src/sgml/ref/fetch.sgml                        |   419 +
 doc/src/sgml/ref/grant.sgml                        |   471 +
 doc/src/sgml/ref/import_foreign_schema.sgml        |   166 +
 doc/src/sgml/ref/initdb.sgml                       |   539 +
 doc/src/sgml/ref/insert.sgml                       |   783 +
 doc/src/sgml/ref/listen.sgml                       |   153 +
 doc/src/sgml/ref/load.sgml                         |    81 +
 doc/src/sgml/ref/lock.sgml                         |   261 +
 doc/src/sgml/ref/move.sgml                         |   125 +
 doc/src/sgml/ref/notify.sgml                       |   233 +
 doc/src/sgml/ref/pg_amcheck.sgml                   |   649 +
 doc/src/sgml/ref/pg_basebackup.sgml                |   926 +
 doc/src/sgml/ref/pg_checksums.sgml                 |   228 +
 doc/src/sgml/ref/pg_config-ref.sgml                |   332 +
 doc/src/sgml/ref/pg_controldata.sgml               |    84 +
 doc/src/sgml/ref/pg_ctl-ref.sgml                   |   713 +
 doc/src/sgml/ref/pg_dump.sgml                      |  1543 +
 doc/src/sgml/ref/pg_dumpall.sgml                   |   813 +
 doc/src/sgml/ref/pg_isready.sgml                   |   217 +
 doc/src/sgml/ref/pg_receivewal.sgml                |   494 +
 doc/src/sgml/ref/pg_recvlogical.sgml               |   437 +
 doc/src/sgml/ref/pg_resetwal.sgml                  |   386 +
 doc/src/sgml/ref/pg_restore.sgml                   |  1033 +
 doc/src/sgml/ref/pg_rewind.sgml                    |   403 +
 doc/src/sgml/ref/pg_verifybackup.sgml              |   289 +
 doc/src/sgml/ref/pg_waldump.sgml                   |   273 +
 doc/src/sgml/ref/pgarchivecleanup.sgml             |   208 +
 doc/src/sgml/ref/pgbench.sgml                      |  2436 +
 doc/src/sgml/ref/pgtestfsync.sgml                  |   127 +
 doc/src/sgml/ref/pgtesttiming.sgml                 |   303 +
 doc/src/sgml/ref/pgupgrade.sgml                    |   849 +
 doc/src/sgml/ref/postgres-ref.sgml                 |   837 +
 doc/src/sgml/ref/postmaster.sgml                   |    44 +
 doc/src/sgml/ref/prepare.sgml                      |   257 +
 doc/src/sgml/ref/prepare_transaction.sgml          |   181 +
 doc/src/sgml/ref/psql-ref.sgml                     |  5063 ++
 doc/src/sgml/ref/reassign_owned.sgml               |   123 +
 doc/src/sgml/ref/refresh_materialized_view.sgml    |   143 +
 doc/src/sgml/ref/reindex.sgml                      |   555 +
 doc/src/sgml/ref/reindexdb.sgml                    |   476 +
 doc/src/sgml/ref/release_savepoint.sgml            |   131 +
 doc/src/sgml/ref/reset.sgml                        |   113 +
 doc/src/sgml/ref/revoke.sgml                       |   325 +
 doc/src/sgml/ref/rollback.sgml                     |   112 +
 doc/src/sgml/ref/rollback_prepared.sgml            |   107 +
 doc/src/sgml/ref/rollback_to.sgml                  |   158 +
 doc/src/sgml/ref/savepoint.sgml                    |   165 +
 doc/src/sgml/ref/security_label.sgml               |   218 +
 doc/src/sgml/ref/select.sgml                       |  2197 +
 doc/src/sgml/ref/select_into.sgml                  |   156 +
 doc/src/sgml/ref/set.sgml                          |   330 +
 doc/src/sgml/ref/set_constraints.sgml              |   125 +
 doc/src/sgml/ref/set_role.sgml                     |   155 +
 doc/src/sgml/ref/set_session_auth.sgml             |   130 +
 doc/src/sgml/ref/set_transaction.sgml              |   287 +
 doc/src/sgml/ref/show.sgml                         |   200 +
 doc/src/sgml/ref/start_transaction.sgml            |    97 +
 doc/src/sgml/ref/truncate.sgml                     |   233 +
 doc/src/sgml/ref/unlisten.sgml                     |   133 +
 doc/src/sgml/ref/update.sgml                       |   468 +
 doc/src/sgml/ref/vacuum.sgml                       |   463 +
 doc/src/sgml/ref/vacuumdb.sgml                     |   628 +
 doc/src/sgml/ref/values.sgml                       |   251 +
 doc/src/sgml/reference.sgml                        |   295 +
 doc/src/sgml/regress.sgml                          |   886 +
 doc/src/sgml/release-14.sgml                       | 10510 ++++
 doc/src/sgml/release.sgml                          |    95 +
 doc/src/sgml/replication-origins.sgml              |    96 +
 doc/src/sgml/rowtypes.sgml                         |   539 +
 doc/src/sgml/rules.sgml                            |  2431 +
 doc/src/sgml/runtime.sgml                          |  2769 ++
 doc/src/sgml/seg.sgml                              |   415 +
 doc/src/sgml/sepgsql.sgml                          |   828 +
 doc/src/sgml/sourcerepo.sgml                       |    94 +
 doc/src/sgml/sources.sgml                          |  1029 +
 doc/src/sgml/spgist.sgml                           |  1076 +
 doc/src/sgml/spi.sgml                              |  5373 +++
 doc/src/sgml/sslinfo.sgml                          |   263 +
 doc/src/sgml/standalone-install.xml                |   171 +
 doc/src/sgml/standalone-profile.xsl                |    85 +
 doc/src/sgml/start.sgml                            |   409 +
 doc/src/sgml/storage.sgml                          |  1147 +
 doc/src/sgml/stylesheet-common.xsl                 |   104 +
 doc/src/sgml/stylesheet-fo.xsl                     |   135 +
 doc/src/sgml/stylesheet-hh.xsl                     |    49 +
 doc/src/sgml/stylesheet-html-common.xsl            |   300 +
 doc/src/sgml/stylesheet-html-nochunk.xsl           |    23 +
 doc/src/sgml/stylesheet-man.xsl                    |   226 +
 doc/src/sgml/stylesheet-speedup-common.xsl         |   100 +
 doc/src/sgml/stylesheet-speedup-xhtml.xsl          |   345 +
 doc/src/sgml/stylesheet-text.xsl                   |    98 +
 doc/src/sgml/stylesheet.css                        |   165 +
 doc/src/sgml/stylesheet.xsl                        |   331 +
 doc/src/sgml/syntax.sgml                           |  2737 ++
 doc/src/sgml/tableam.sgml                          |   111 +
 doc/src/sgml/tablefunc.sgml                        |   865 +
 doc/src/sgml/tablesample-method.sgml               |   300 +
 doc/src/sgml/tcn.sgml                              |    77 +
 doc/src/sgml/test-decoding.sgml                    |    64 +
 doc/src/sgml/textsearch.sgml                       |  4009 ++
 doc/src/sgml/trigger.sgml                          |  1010 +
 doc/src/sgml/tsm-system-rows.sgml                  |    69 +
 doc/src/sgml/tsm-system-time.sgml                  |    71 +
 doc/src/sgml/typeconv.sgml                         |  1262 +
 doc/src/sgml/unaccent.sgml                         |   202 +
 doc/src/sgml/user-manag.sgml                       |   706 +
 doc/src/sgml/uuid-ossp.sgml                        |   242 +
 doc/src/sgml/vacuumlo.sgml                         |   231 +
 doc/src/sgml/wal.sgml                              |   898 +
 doc/src/sgml/xaggr.sgml                            |   670 +
 doc/src/sgml/xfunc.sgml                            |  3642 ++
 doc/src/sgml/xindex.sgml                           |  1452 +
 doc/src/sgml/xml2.sgml                             |   443 +
 doc/src/sgml/xoper.sgml                            |   486 +
 doc/src/sgml/xplang.sgml                           |   230 +
 doc/src/sgml/xtypes.sgml                           |   376 +
 expected/cypher.out                                |     8 -
 sql/cypher.sql                                     |     6 -
 src/.gitignore                                     |     3 +
 src/DEVELOPERS                                     |     3 +
 src/Makefile                                       |    77 +
 src/Makefile.global.in                             |  1105 +
 src/Makefile.shlib                                 |   494 +
 src/backend/.gitignore                             |     3 +
 src/backend/Makefile                               |   325 +
 src/backend/access/Makefile                        |    14 +
 src/backend/access/brin/Makefile                   |    27 +
 src/backend/access/brin/README                     |   189 +
 src/backend/access/brin/brin.c                     |  1800 +
 src/backend/access/brin/brin_bloom.c               |   809 +
 src/backend/access/brin/brin_inclusion.c           |   657 +
 src/backend/access/brin/brin_minmax.c              |   317 +
 src/backend/access/brin/brin_minmax_multi.c        |  3167 ++
 src/backend/access/brin/brin_pageops.c             |   920 +
 src/backend/access/brin/brin_revmap.c              |   664 +
 src/backend/access/brin/brin_tuple.c               |   708 +
 src/backend/access/brin/brin_validate.c            |   281 +
 src/backend/access/brin/brin_xlog.c                |   367 +
 src/backend/access/common/Makefile                 |    33 +
 src/backend/access/common/attmap.c                 |   324 +
 src/backend/access/common/bufmask.c                |   130 +
 src/backend/access/common/detoast.c                |   646 +
 src/backend/access/common/heaptuple.c              |  1501 +
 src/backend/access/common/indextuple.c             |   589 +
 src/backend/access/common/printsimple.c            |   132 +
 src/backend/access/common/printtup.c               |   485 +
 src/backend/access/common/relation.c               |   217 +
 src/backend/access/common/reloptions.c             |  2131 +
 src/backend/access/common/scankey.c                |   117 +
 src/backend/access/common/session.c                |   208 +
 src/backend/access/common/syncscan.c               |   322 +
 src/backend/access/common/toast_compression.c      |   318 +
 src/backend/access/common/toast_internals.c        |   664 +
 src/backend/access/common/tupconvert.c             |   293 +
 src/backend/access/common/tupdesc.c                |   912 +
 src/backend/access/gin/Makefile                    |    32 +
 src/backend/access/gin/README                      |   562 +
 src/backend/access/gin/ginarrayproc.c              |   305 +
 src/backend/access/gin/ginbtree.c                  |   795 +
 src/backend/access/gin/ginbulk.c                   |   293 +
 src/backend/access/gin/gindatapage.c               |  1942 +
 src/backend/access/gin/ginentrypage.c              |   772 +
 src/backend/access/gin/ginfast.c                   |  1071 +
 src/backend/access/gin/ginget.c                    |  1970 +
 src/backend/access/gin/gininsert.c                 |   541 +
 src/backend/access/gin/ginlogic.c                  |   246 +
 src/backend/access/gin/ginpostinglist.c            |   434 +
 src/backend/access/gin/ginscan.c                   |   468 +
 src/backend/access/gin/ginutil.c                   |   707 +
 src/backend/access/gin/ginvacuum.c                 |   822 +
 src/backend/access/gin/ginvalidate.c               |   338 +
 src/backend/access/gin/ginxlog.c                   |   813 +
 src/backend/access/gist/Makefile                   |    28 +
 src/backend/access/gist/README                     |   467 +
 src/backend/access/gist/gist.c                     |  1713 +
 src/backend/access/gist/gistbuild.c                |  1566 +
 src/backend/access/gist/gistbuildbuffers.c         |   775 +
 src/backend/access/gist/gistget.c                  |   803 +
 src/backend/access/gist/gistproc.c                 |  1777 +
 src/backend/access/gist/gistscan.c                 |   358 +
 src/backend/access/gist/gistsplit.c                |   779 +
 src/backend/access/gist/gistutil.c                 |  1066 +
 src/backend/access/gist/gistvacuum.c               |   668 +
 src/backend/access/gist/gistvalidate.c             |   355 +
 src/backend/access/gist/gistxlog.c                 |   696 +
 src/backend/access/hash/Makefile                   |    27 +
 src/backend/access/hash/README                     |   651 +
 src/backend/access/hash/hash.c                     |   918 +
 src/backend/access/hash/hash_xlog.c                |  1145 +
 src/backend/access/hash/hashfunc.c                 |   411 +
 src/backend/access/hash/hashinsert.c               |   432 +
 src/backend/access/hash/hashovfl.c                 |  1083 +
 src/backend/access/hash/hashpage.c                 |  1612 +
 src/backend/access/hash/hashsearch.c               |   721 +
 src/backend/access/hash/hashsort.c                 |   152 +
 src/backend/access/hash/hashutil.c                 |   622 +
 src/backend/access/hash/hashvalidate.c             |   439 +
 src/backend/access/heap/Makefile                   |    26 +
 src/backend/access/heap/README.HOT                 |   499 +
 src/backend/access/heap/README.tuplock             |   155 +
 src/backend/access/heap/heapam.c                   |  9963 ++++
 src/backend/access/heap/heapam_handler.c           |  2608 +
 src/backend/access/heap/heapam_visibility.c        |  1794 +
 src/backend/access/heap/heaptoast.c                |   793 +
 src/backend/access/heap/hio.c                      |   726 +
 src/backend/access/heap/pruneheap.c                |  1052 +
 src/backend/access/heap/rewriteheap.c              |  1295 +
 src/backend/access/heap/vacuumlazy.c               |  4353 ++
 src/backend/access/heap/visibilitymap.c            |   672 +
 src/backend/access/index/Makefile                  |    21 +
 src/backend/access/index/amapi.c                   |   143 +
 src/backend/access/index/amvalidate.c              |   276 +
 src/backend/access/index/genam.c                   |   745 +
 src/backend/access/index/indexam.c                 |   984 +
 src/backend/access/nbtree/Makefile                 |    28 +
 src/backend/access/nbtree/README                   |  1056 +
 src/backend/access/nbtree/nbtcompare.c             |   335 +
 src/backend/access/nbtree/nbtdedup.c               |  1098 +
 src/backend/access/nbtree/nbtinsert.c              |  3009 ++
 src/backend/access/nbtree/nbtpage.c                |  3073 ++
 src/backend/access/nbtree/nbtree.c                 |  1446 +
 src/backend/access/nbtree/nbtsearch.c              |  2501 +
 src/backend/access/nbtree/nbtsort.c                |  2016 +
 src/backend/access/nbtree/nbtsplitloc.c            |  1190 +
 src/backend/access/nbtree/nbtutils.c               |  2751 ++
 src/backend/access/nbtree/nbtvalidate.c            |   380 +
 src/backend/access/nbtree/nbtxlog.c                |  1126 +
 src/backend/access/rmgrdesc/Makefile               |    34 +
 src/backend/access/rmgrdesc/brindesc.c             |   107 +
 src/backend/access/rmgrdesc/clogdesc.c             |    59 +
 src/backend/access/rmgrdesc/committsdesc.c         |    55 +
 src/backend/access/rmgrdesc/dbasedesc.c            |    63 +
 src/backend/access/rmgrdesc/genericdesc.c          |    56 +
 src/backend/access/rmgrdesc/gindesc.c              |   218 +
 src/backend/access/rmgrdesc/gistdesc.c             |   117 +
 src/backend/access/rmgrdesc/hashdesc.c             |   172 +
 src/backend/access/rmgrdesc/heapdesc.c             |   265 +
 src/backend/access/rmgrdesc/logicalmsgdesc.c       |    52 +
 src/backend/access/rmgrdesc/mxactdesc.c            |   105 +
 src/backend/access/rmgrdesc/nbtdesc.c              |   178 +
 src/backend/access/rmgrdesc/relmapdesc.c           |    47 +
 src/backend/access/rmgrdesc/replorigindesc.c       |    62 +
 src/backend/access/rmgrdesc/seqdesc.c              |    46 +
 src/backend/access/rmgrdesc/smgrdesc.c             |    61 +
 src/backend/access/rmgrdesc/spgdesc.c              |   164 +
 src/backend/access/rmgrdesc/standbydesc.c          |   135 +
 src/backend/access/rmgrdesc/tblspcdesc.c           |    56 +
 src/backend/access/rmgrdesc/xactdesc.c             |   438 +
 src/backend/access/rmgrdesc/xlogdesc.c             |   202 +
 src/backend/access/spgist/Makefile                 |    28 +
 src/backend/access/spgist/README                   |   389 +
 src/backend/access/spgist/spgdoinsert.c            |  2354 +
 src/backend/access/spgist/spginsert.c              |   243 +
 src/backend/access/spgist/spgkdtreeproc.c          |   349 +
 src/backend/access/spgist/spgproc.c                |    88 +
 src/backend/access/spgist/spgquadtreeproc.c        |   471 +
 src/backend/access/spgist/spgscan.c                |  1097 +
 src/backend/access/spgist/spgtextproc.c            |   699 +
 src/backend/access/spgist/spgutils.c               |  1350 +
 src/backend/access/spgist/spgvacuum.c              |   975 +
 src/backend/access/spgist/spgvalidate.c            |   392 +
 src/backend/access/spgist/spgxlog.c                |  1013 +
 src/backend/access/table/Makefile                  |    21 +
 src/backend/access/table/table.c                   |   170 +
 src/backend/access/table/tableam.c                 |   765 +
 src/backend/access/table/tableamapi.c              |   158 +
 src/backend/access/table/toast_helper.c            |   337 +
 src/backend/access/tablesample/Makefile            |    20 +
 src/backend/access/tablesample/bernoulli.c         |   229 +
 src/backend/access/tablesample/system.c            |   257 +
 src/backend/access/tablesample/tablesample.c       |    40 +
 src/backend/access/transam/Makefile                |    40 +
 src/backend/access/transam/README                  |   896 +
 src/backend/access/transam/README.parallel         |   237 +
 src/backend/access/transam/clog.c                  |  1030 +
 src/backend/access/transam/commit_ts.c             |  1032 +
 src/backend/access/transam/generic_xlog.c          |   544 +
 src/backend/access/transam/multixact.c             |  3427 ++
 src/backend/access/transam/parallel.c              |  1585 +
 src/backend/access/transam/rmgr.c                  |    38 +
 src/backend/access/transam/slru.c                  |  1611 +
 src/backend/access/transam/subtrans.c              |   374 +
 src/backend/access/transam/timeline.c              |   600 +
 src/backend/access/transam/transam.c               |   430 +
 src/backend/access/transam/twophase.c              |  2527 +
 src/backend/access/transam/twophase_rmgr.c         |    58 +
 src/backend/access/transam/varsup.c                |   637 +
 src/backend/access/transam/xact.c                  |  6181 +++
 src/backend/access/transam/xlog.c                  | 13223 +++++
 src/backend/access/transam/xlogarchive.c           |   732 +
 src/backend/access/transam/xlogfuncs.c             |   830 +
 src/backend/access/transam/xloginsert.c            |  1229 +
 src/backend/access/transam/xlogreader.c            |  1660 +
 src/backend/access/transam/xlogutils.c             |   978 +
 src/backend/bootstrap/.gitignore                   |     2 +
 src/backend/bootstrap/Makefile                     |    25 +
 src/backend/bootstrap/bootparse.y                  |   490 +
 src/backend/bootstrap/bootscanner.l                |   127 +
 src/backend/bootstrap/bootstrap.c                  |  1155 +
 src/backend/catalog/.gitignore                     |     7 +
 src/backend/catalog/Catalog.pm                     |   568 +
 src/backend/catalog/Makefile                       |   146 +
 src/backend/catalog/aclchk.c                       |  6210 +++
 src/backend/catalog/ag_graph.c                     |   206 +
 src/backend/catalog/ag_label.c                     |   226 +
 src/backend/catalog/catalog.c                      |   584 +
 src/backend/catalog/dependency.c                   |  2952 ++
 src/backend/catalog/genbki.pl                      |  1114 +
 src/backend/catalog/heap.c                         |  3868 ++
 src/backend/catalog/index.c                        |  4275 ++
 src/backend/catalog/indexing.c                     |   353 +
 src/backend/catalog/information_schema.sql         |  3034 ++
 src/backend/catalog/namespace.c                    |  4662 ++
 src/backend/catalog/objectaccess.c                 |   145 +
 src/backend/catalog/objectaddress.c                |  6236 +++
 src/backend/catalog/partition.c                    |   390 +
 src/backend/catalog/pg_aggregate.c                 |   914 +
 src/backend/catalog/pg_cast.c                      |   121 +
 src/backend/catalog/pg_collation.c                 |   226 +
 src/backend/catalog/pg_constraint.c                |  1329 +
 src/backend/catalog/pg_conversion.c                |   180 +
 src/backend/catalog/pg_db_role_setting.c           |   261 +
 src/backend/catalog/pg_depend.c                    |  1105 +
 src/backend/catalog/pg_enum.c                      |   761 +
 src/backend/catalog/pg_inherits.c                  |   771 +
 src/backend/catalog/pg_largeobject.c               |   187 +
 src/backend/catalog/pg_namespace.c                 |   120 +
 src/backend/catalog/pg_operator.c                  |   870 +
 src/backend/catalog/pg_proc.c                      |  1208 +
 src/backend/catalog/pg_publication.c               |   633 +
 src/backend/catalog/pg_range.c                     |   138 +
 src/backend/catalog/pg_shdepend.c                  |  1685 +
 src/backend/catalog/pg_subscription.c              |   564 +
 src/backend/catalog/pg_type.c                      |   981 +
 src/backend/catalog/sql_feature_packages.txt       |    37 +
 src/backend/catalog/sql_features.txt               |   713 +
 src/backend/catalog/storage.c                      |  1037 +
 src/backend/catalog/system_functions.sql           |   720 +
 src/backend/catalog/system_views.sql               |  1285 +
 src/backend/catalog/toasting.c                     |   414 +
 src/backend/commands/Makefile                      |    66 +
 src/backend/commands/aggregatecmds.c               |   496 +
 src/backend/commands/alter.c                       |  1107 +
 src/backend/commands/amcmds.c                      |   269 +
 src/backend/commands/analyze.c                     |  3075 ++
 src/backend/commands/async.c                       |  2460 +
 src/backend/commands/cluster.c                     |  1607 +
 src/backend/commands/collationcmds.c               |   757 +
 src/backend/commands/comment.c                     |   458 +
 src/backend/commands/constraint.c                  |   205 +
 src/backend/commands/conversioncmds.c              |   139 +
 src/backend/commands/copy.c                        |   760 +
 src/backend/commands/copyfrom.c                    |  1619 +
 src/backend/commands/copyfromparse.c               |  1872 +
 src/backend/commands/copyto.c                      |  1308 +
 src/backend/commands/createas.c                    |   637 +
 src/backend/commands/dbcommands.c                  |  2349 +
 src/backend/commands/define.c                      |   349 +
 src/backend/commands/discard.c                     |    78 +
 src/backend/commands/dropcmds.c                    |   557 +
 src/backend/commands/event_trigger.c               |  2258 +
 src/backend/commands/explain.c                     |  5109 ++
 src/backend/commands/extension.c                   |  3480 ++
 src/backend/commands/foreigncmds.c                 |  1621 +
 src/backend/commands/functioncmds.c                |  2395 +
 src/backend/commands/graphcmds.c                   |   749 +
 src/backend/commands/indexcmds.c                   |  4386 ++
 src/backend/commands/lockcmds.c                    |   294 +
 src/backend/commands/matview.c                     |   935 +
 src/backend/commands/opclasscmds.c                 |  1745 +
 src/backend/commands/operatorcmds.c                |   552 +
 src/backend/commands/policy.c                      |  1285 +
 src/backend/commands/portalcmds.c                  |   496 +
 src/backend/commands/prepare.c                     |   813 +
 src/backend/commands/proclang.c                    |   239 +
 src/backend/commands/publicationcmds.c             |   825 +
 src/backend/commands/schemacmds.c                  |   423 +
 src/backend/commands/seclabel.c                    |   586 +
 src/backend/commands/sequence.c                    |  1963 +
 src/backend/commands/statscmds.c                   |   900 +
 src/backend/commands/subscriptioncmds.c            |  1683 +
 src/backend/commands/tablecmds.c                   | 18876 ++++++++
 src/backend/commands/tablespace.c                  |  1572 +
 src/backend/commands/trigger.c                     |  5958 +++
 src/backend/commands/tsearchcmds.c                 |  1750 +
 src/backend/commands/typecmds.c                    |  4508 ++
 src/backend/commands/user.c                        |  1737 +
 src/backend/commands/vacuum.c                      |  2260 +
 src/backend/commands/variable.c                    |   935 +
 src/backend/commands/view.c                        |   588 +
 src/backend/common.mk                              |    47 +
 src/backend/executor/Makefile                      |    91 +
 src/backend/executor/README                        |   405 +
 src/backend/executor/execAmi.c                     |   682 +
 src/backend/executor/execAsync.c                   |   154 +
 src/backend/executor/execCurrent.c                 |   426 +
 src/backend/executor/execCypherCreate.c            |   342 +
 src/backend/executor/execCypherDelete.c            |   414 +
 src/backend/executor/execCypherMerge.c             |   362 +
 src/backend/executor/execCypherSet.c               |   695 +
 src/backend/executor/execExpr.c                    |  4398 ++
 src/backend/executor/execExprInterp.c              |  5381 +++
 src/backend/executor/execGraphVle.c                |   722 +
 src/backend/executor/execGrouping.c                |   560 +
 src/backend/executor/execIndexing.c                |   921 +
 src/backend/executor/execJunk.c                    |   304 +
 src/backend/executor/execMain.c                    |  2905 ++
 src/backend/executor/execParallel.c                |  1498 +
 src/backend/executor/execPartition.c               |  2107 +
 src/backend/executor/execProcnode.c                |  1042 +
 src/backend/executor/execReplication.c             |   636 +
 src/backend/executor/execSRF.c                     |   980 +
 src/backend/executor/execScan.c                    |   342 +
 src/backend/executor/execTuples.c                  |  2339 +
 src/backend/executor/execUtils.c                   |  1353 +
 src/backend/executor/functions.c                   |  2119 +
 src/backend/executor/instrument.c                  |   279 +
 src/backend/executor/nodeAgg.c                     |  4829 ++
 src/backend/executor/nodeAppend.c                  |  1186 +
 src/backend/executor/nodeBitmapAnd.c               |   223 +
 src/backend/executor/nodeBitmapHeapscan.c          |   954 +
 src/backend/executor/nodeBitmapIndexscan.c         |   330 +
 src/backend/executor/nodeBitmapOr.c                |   241 +
 src/backend/executor/nodeCtescan.c                 |   351 +
 src/backend/executor/nodeCustom.c                  |   228 +
 src/backend/executor/nodeDijkstra.c                |   651 +
 src/backend/executor/nodeForeignscan.c             |   504 +
 src/backend/executor/nodeFunctionscan.c            |   620 +
 src/backend/executor/nodeGather.c                  |   477 +
 src/backend/executor/nodeGatherMerge.c             |   789 +
 src/backend/executor/nodeGroup.c                   |   255 +
 src/backend/executor/nodeHash.c                    |  3437 ++
 src/backend/executor/nodeHash2Side.c               |  1441 +
 src/backend/executor/nodeHashjoin.c                |  1551 +
 src/backend/executor/nodeIncrementalSort.c         |  1257 +
 src/backend/executor/nodeIndexonlyscan.c           |   735 +
 src/backend/executor/nodeIndexscan.c               |  1747 +
 src/backend/executor/nodeLimit.c                   |   558 +
 src/backend/executor/nodeLockRows.c                |   403 +
 src/backend/executor/nodeMaterial.c                |   368 +
 src/backend/executor/nodeMemoize.c                 |  1225 +
 src/backend/executor/nodeMergeAppend.c             |   389 +
 src/backend/executor/nodeMergejoin.c               |  1678 +
 src/backend/executor/nodeModifyGraph.c             |   880 +
 src/backend/executor/nodeModifyTable.c             |  3242 ++
 src/backend/executor/nodeNamedtuplestorescan.c     |   201 +
 src/backend/executor/nodeNestloop.c                |   415 +
 src/backend/executor/nodeProjectSet.c              |   351 +
 src/backend/executor/nodeRecursiveunion.c          |   331 +
 src/backend/executor/nodeResult.c                  |   272 +
 src/backend/executor/nodeSamplescan.c              |   378 +
 src/backend/executor/nodeSeqscan.c                 |   314 +
 src/backend/executor/nodeSetOp.c                   |   651 +
 src/backend/executor/nodeShortestpath.c            |  1680 +
 src/backend/executor/nodeSort.c                    |   430 +
 src/backend/executor/nodeSubplan.c                 |  1313 +
 src/backend/executor/nodeSubqueryscan.c            |   213 +
 src/backend/executor/nodeTableFuncscan.c           |   523 +
 src/backend/executor/nodeTidrangescan.c            |   413 +
 src/backend/executor/nodeTidscan.c                 |   558 +
 src/backend/executor/nodeUnique.c                  |   192 +
 src/backend/executor/nodeValuesscan.c              |   361 +
 src/backend/executor/nodeWindowAgg.c               |  3463 ++
 src/backend/executor/nodeWorktablescan.c           |   223 +
 src/backend/executor/spi.c                         |  3388 ++
 src/backend/executor/tqueue.c                      |   210 +
 src/backend/executor/tstoreReceiver.c              |   283 +
 src/backend/foreign/Makefile                       |    18 +
 src/backend/foreign/foreign.c                      |   836 +
 src/backend/jit/Makefile                           |    23 +
 src/backend/jit/README                             |   295 +
 src/backend/jit/jit.c                              |   208 +
 src/backend/jit/llvm/Makefile                      |    76 +
 src/backend/jit/llvm/llvmjit.c                     |  1268 +
 src/backend/jit/llvm/llvmjit_deform.c              |   756 +
 src/backend/jit/llvm/llvmjit_error.cpp             |   176 +
 src/backend/jit/llvm/llvmjit_expr.c                |  2583 +
 src/backend/jit/llvm/llvmjit_inline.cpp            |   900 +
 src/backend/jit/llvm/llvmjit_types.c               |   139 +
 src/backend/jit/llvm/llvmjit_wrap.cpp              |    78 +
 src/backend/lib/Makefile                           |    27 +
 src/backend/lib/README                             |    35 +
 src/backend/lib/binaryheap.c                       |   307 +
 src/backend/lib/bipartite_match.c                  |   180 +
 src/backend/lib/bloomfilter.c                      |   295 +
 src/backend/lib/dshash.c                           |   882 +
 src/backend/lib/hyperloglog.c                      |   255 +
 src/backend/lib/ilist.c                            |   111 +
 src/backend/lib/integerset.c                       |  1045 +
 src/backend/lib/knapsack.c                         |   111 +
 src/backend/lib/pairingheap.c                      |   333 +
 src/backend/lib/rbtree.c                           |   770 +
 src/backend/libpq/Makefile                         |    39 +
 src/backend/libpq/README.SSL                       |    82 +
 src/backend/libpq/auth-scram.c                     |  1445 +
 src/backend/libpq/auth.c                           |  3492 ++
 src/backend/libpq/be-fsstubs.c                     |   860 +
 src/backend/libpq/be-gssapi-common.c               |    94 +
 src/backend/libpq/be-secure-common.c               |   195 +
 src/backend/libpq/be-secure-gssapi.c               |   733 +
 src/backend/libpq/be-secure-openssl.c              |  1526 +
 src/backend/libpq/be-secure.c                      |   345 +
 src/backend/libpq/crypt.c                          |   290 +
 src/backend/libpq/hba.c                            |  3166 ++
 src/backend/libpq/ifaddr.c                         |   594 +
 src/backend/libpq/pg_hba.conf.sample               |    94 +
 src/backend/libpq/pg_ident.conf.sample             |    42 +
 src/backend/libpq/pqcomm.c                         |  1976 +
 src/backend/libpq/pqformat.c                       |   643 +
 src/backend/libpq/pqmq.c                           |   313 +
 src/backend/libpq/pqsignal.c                       |   148 +
 src/backend/main/Makefile                          |    18 +
 src/backend/main/main.c                            |   404 +
 src/backend/nls.mk                                 |    28 +
 src/backend/nodes/Makefile                         |    32 +
 src/backend/nodes/README                           |    80 +
 src/backend/nodes/bitmapset.c                      |  1194 +
 src/backend/nodes/copyfuncs.c                      |  6597 +++
 src/backend/nodes/equalfuncs.c                     |  4410 ++
 src/backend/nodes/extensible.c                     |   143 +
 src/backend/nodes/list.c                           |  1605 +
 src/backend/nodes/makefuncs.c                      |   817 +
 src/backend/nodes/nodeFuncs.c                      |  5080 ++
 src/backend/nodes/nodes.c                          |    31 +
 src/backend/nodes/outfuncs.c                       |  5194 ++
 src/backend/nodes/params.c                         |   422 +
 src/backend/nodes/print.c                          |   506 +
 src/backend/nodes/read.c                           |   462 +
 src/backend/nodes/readfuncs.c                      |  3432 ++
 src/backend/nodes/tidbitmap.c                      |  1561 +
 src/backend/nodes/value.c                          |    75 +
 src/backend/optimizer/Makefile                     |    13 +
 src/backend/optimizer/README                       |  1159 +
 src/backend/optimizer/geqo/Makefile                |    33 +
 src/backend/optimizer/geqo/geqo_copy.c             |    54 +
 src/backend/optimizer/geqo/geqo_cx.c               |   124 +
 src/backend/optimizer/geqo/geqo_erx.c              |   471 +
 src/backend/optimizer/geqo/geqo_eval.c             |   338 +
 src/backend/optimizer/geqo/geqo_main.c             |   353 +
 src/backend/optimizer/geqo/geqo_misc.c             |   132 +
 src/backend/optimizer/geqo/geqo_mutation.c         |    66 +
 src/backend/optimizer/geqo/geqo_ox1.c              |    95 +
 src/backend/optimizer/geqo/geqo_ox2.c              |   112 +
 src/backend/optimizer/geqo/geqo_pmx.c              |   224 +
 src/backend/optimizer/geqo/geqo_pool.c             |   265 +
 src/backend/optimizer/geqo/geqo_px.c               |   110 +
 src/backend/optimizer/geqo/geqo_random.c           |    40 +
 src/backend/optimizer/geqo/geqo_recombination.c    |    92 +
 src/backend/optimizer/geqo/geqo_selection.c        |   115 +
 src/backend/optimizer/path/Makefile                |    26 +
 src/backend/optimizer/path/allpaths.c              |  4227 ++
 src/backend/optimizer/path/clausesel.c             |  1000 +
 src/backend/optimizer/path/costsize.c              |  6195 +++
 src/backend/optimizer/path/equivclass.c            |  3255 ++
 src/backend/optimizer/path/indxpath.c              |  3853 ++
 src/backend/optimizer/path/joinpath.c              |  2504 +
 src/backend/optimizer/path/joinrels.c              |  1838 +
 src/backend/optimizer/path/pathkeys.c              |  1917 +
 src/backend/optimizer/path/tidpath.c               |   528 +
 src/backend/optimizer/plan/Makefile                |    25 +
 src/backend/optimizer/plan/README                  |   158 +
 src/backend/optimizer/plan/analyzejoins.c          |  1120 +
 src/backend/optimizer/plan/createplan.c            |  7603 +++
 src/backend/optimizer/plan/initsplan.c             |  2779 ++
 src/backend/optimizer/plan/planagg.c               |   513 +
 src/backend/optimizer/plan/planmain.c              |   284 +
 src/backend/optimizer/plan/planner.c               |  7532 +++
 src/backend/optimizer/plan/setrefs.c               |  3244 ++
 src/backend/optimizer/plan/subselect.c             |  3063 ++
 src/backend/optimizer/prep/Makefile                |    22 +
 src/backend/optimizer/prep/prepagg.c               |   674 +
 src/backend/optimizer/prep/prepjointree.c          |  3682 ++
 src/backend/optimizer/prep/prepqual.c              |   676 +
 src/backend/optimizer/prep/preptlist.c             |   437 +
 src/backend/optimizer/prep/prepunion.c             |  1420 +
 src/backend/optimizer/util/Makefile                |    31 +
 src/backend/optimizer/util/appendinfo.c            |  1002 +
 src/backend/optimizer/util/clauses.c               |  5357 +++
 src/backend/optimizer/util/inherit.c               |   868 +
 src/backend/optimizer/util/joininfo.c              |   140 +
 src/backend/optimizer/util/orclauses.c             |   360 +
 src/backend/optimizer/util/paramassign.c           |   591 +
 src/backend/optimizer/util/pathnode.c              |  4465 ++
 src/backend/optimizer/util/placeholder.c           |   477 +
 src/backend/optimizer/util/plancat.c               |  2426 +
 src/backend/optimizer/util/predtest.c              |  2224 +
 src/backend/optimizer/util/relnode.c               |  2044 +
 src/backend/optimizer/util/restrictinfo.c          |   624 +
 src/backend/optimizer/util/tlist.c                 |  1258 +
 src/backend/optimizer/util/var.c                   |   895 +
 src/backend/parser/.gitignore                      |     3 +
 src/backend/parser/Makefile                        |    74 +
 src/backend/parser/README                          |    32 +
 src/backend/parser/analyze.c                       |  3576 ++
 src/backend/parser/check_keywords.pl               |   281 +
 src/backend/parser/gram.y                          | 20100 ++++++++
 src/backend/parser/parse_agg.c                     |  2149 +
 src/backend/parser/parse_clause.c                  |  3906 ++
 src/backend/parser/parse_coerce.c                  |  3346 ++
 src/backend/parser/parse_collate.c                 |  1057 +
 src/backend/parser/parse_cte.c                     |  1168 +
 src/backend/parser/parse_cypher_expr.c             |  2685 ++
 src/backend/parser/parse_cypher_utils.c            |   512 +
 src/backend/parser/parse_enr.c                     |    29 +
 src/backend/parser/parse_expr.c                    |  3121 ++
 src/backend/parser/parse_func.c                    |  2679 ++
 src/backend/parser/parse_graph.c                   |  6139 +++
 src/backend/parser/parse_node.c                    |   469 +
 src/backend/parser/parse_oper.c                    |  1066 +
 src/backend/parser/parse_param.c                   |   363 +
 src/backend/parser/parse_relation.c                |  3706 ++
 src/backend/parser/parse_shortestpath.c            |  1531 +
 src/backend/parser/parse_target.c                  |  1965 +
 src/backend/parser/parse_type.c                    |   809 +
 src/backend/parser/parse_utilcmd.c                 |  5439 +++
 src/backend/parser/parser.c                        |   501 +
 src/backend/parser/scan.l                          |  1472 +
 src/backend/parser/scansup.c                       |   127 +
 src/backend/partitioning/Makefile                  |    20 +
 src/backend/partitioning/partbounds.c              |  4888 ++
 src/backend/partitioning/partdesc.c                |   462 +
 src/backend/partitioning/partprune.c               |  3690 ++
 src/backend/po/de.po                               | 28410 +++++++++++
 src/backend/po/es.po                               | 28471 +++++++++++
 src/backend/po/fr.po                               | 31980 ++++++++++++
 src/backend/po/it.po                               | 26151 ++++++++++
 src/backend/po/ja.po                               | 27575 +++++++++++
 src/backend/po/ko.po                               | 29454 +++++++++++
 src/backend/po/ru.po                               | 35267 ++++++++++++++
 src/backend/po/sv.po                               | 28407 +++++++++++
 src/backend/po/uk.po                               | 28415 +++++++++++
 src/backend/po/zh_CN.po                            | 26962 +++++++++++
 src/backend/port/.gitignore                        |     3 +
 src/backend/port/Makefile                          |    48 +
 src/backend/port/aix/mkldexport.sh                 |    61 +
 src/backend/port/atomics.c                         |   239 +
 src/backend/port/hpux/tas.c.template               |    40 +
 src/backend/port/posix_sema.c                      |   388 +
 src/backend/port/sysv_sema.c                       |   517 +
 src/backend/port/sysv_shmem.c                      |   946 +
 src/backend/port/tas/dummy.s                       |     0
 src/backend/port/tas/hpux_hppa.s                   |    28 +
 src/backend/port/tas/sunstudio_sparc.s             |    53 +
 src/backend/port/tas/sunstudio_x86.s               |    43 +
 src/backend/port/win32/Makefile                    |    23 +
 src/backend/port/win32/crashdump.c                 |   183 +
 src/backend/port/win32/signal.c                    |   344 +
 src/backend/port/win32/socket.c                    |   700 +
 src/backend/port/win32/timer.c                     |   121 +
 src/backend/port/win32_sema.c                      |   235 +
 src/backend/port/win32_shmem.c                     |   607 +
 src/backend/postmaster/Makefile                    |    29 +
 src/backend/postmaster/autovacuum.c                |  3508 ++
 src/backend/postmaster/bgworker.c                  |  1325 +
 src/backend/postmaster/bgwriter.c                  |   351 +
 src/backend/postmaster/checkpointer.c              |  1354 +
 src/backend/postmaster/fork_process.c              |   115 +
 src/backend/postmaster/interrupt.c                 |   112 +
 src/backend/postmaster/pgarch.c                    |   718 +
 src/backend/postmaster/pgstat.c                    |  6255 +++
 src/backend/postmaster/postmaster.c                |  6647 +++
 src/backend/postmaster/startup.c                   |   283 +
 src/backend/postmaster/syslogger.c                 |  1566 +
 src/backend/postmaster/walwriter.c                 |   309 +
 src/backend/regex/COPYRIGHT                        |    84 +
 src/backend/regex/Makefile                         |    29 +
 src/backend/regex/README                           |   440 +
 src/backend/regex/regc_color.c                     |  1186 +
 src/backend/regex/regc_cvec.c                      |   138 +
 src/backend/regex/regc_lex.c                       |  1040 +
 src/backend/regex/regc_locale.c                    |   771 +
 src/backend/regex/regc_nfa.c                       |  3824 ++
 src/backend/regex/regc_pg_locale.c                 |   944 +
 src/backend/regex/regcomp.c                        |  2582 +
 src/backend/regex/rege_dfa.c                       |  1106 +
 src/backend/regex/regerror.c                       |   120 +
 src/backend/regex/regexec.c                        |  1494 +
 src/backend/regex/regexport.c                      |   293 +
 src/backend/regex/regfree.c                        |    54 +
 src/backend/regex/regprefix.c                      |   268 +
 src/backend/replication/.gitignore                 |     4 +
 src/backend/replication/Makefile                   |    41 +
 src/backend/replication/README                     |    76 +
 src/backend/replication/backup_manifest.c          |   408 +
 src/backend/replication/basebackup.c               |  2034 +
 src/backend/replication/libpqwalreceiver/Makefile  |    37 +
 .../libpqwalreceiver/libpqwalreceiver.c            |  1112 +
 src/backend/replication/logical/Makefile           |    31 +
 src/backend/replication/logical/decode.c           |  1331 +
 src/backend/replication/logical/launcher.c         |  1024 +
 src/backend/replication/logical/logical.c          |  1840 +
 src/backend/replication/logical/logicalfuncs.c     |   417 +
 src/backend/replication/logical/message.c          |    88 +
 src/backend/replication/logical/origin.c           |  1574 +
 src/backend/replication/logical/proto.c            |   900 +
 src/backend/replication/logical/relation.c         |   705 +
 src/backend/replication/logical/reorderbuffer.c    |  5174 ++
 src/backend/replication/logical/snapbuild.c        |  2118 +
 src/backend/replication/logical/tablesync.c        |  1160 +
 src/backend/replication/logical/worker.c           |  3268 ++
 src/backend/replication/pgoutput/Makefile          |    32 +
 src/backend/replication/pgoutput/pgoutput.c        |  1346 +
 src/backend/replication/repl_gram.y                |   414 +
 src/backend/replication/repl_scanner.l             |   310 +
 src/backend/replication/slot.c                     |  1861 +
 src/backend/replication/slotfuncs.c                |   950 +
 src/backend/replication/syncrep.c                  |  1103 +
 src/backend/replication/syncrep_gram.y             |   116 +
 src/backend/replication/syncrep_scanner.l          |   163 +
 src/backend/replication/walreceiver.c              |  1460 +
 src/backend/replication/walreceiverfuncs.c         |   407 +
 src/backend/replication/walsender.c                |  3729 ++
 src/backend/rewrite/Makefile                       |    24 +
 src/backend/rewrite/rewriteDefine.c                |  1048 +
 src/backend/rewrite/rewriteHandler.c               |  4200 ++
 src/backend/rewrite/rewriteManip.c                 |  1533 +
 src/backend/rewrite/rewriteRemove.c                |   100 +
 src/backend/rewrite/rewriteSearchCycle.c           |   681 +
 src/backend/rewrite/rewriteSupport.c               |   117 +
 src/backend/rewrite/rowsecurity.c                  |   792 +
 src/backend/snowball/.gitignore                    |     1 +
 src/backend/snowball/Makefile                      |   174 +
 src/backend/snowball/README                        |    68 +
 src/backend/snowball/dict_snowball.c               |   347 +
 src/backend/snowball/libstemmer/api.c              |    56 +
 .../snowball/libstemmer/stem_ISO_8859_1_basque.c   |  1182 +
 .../snowball/libstemmer/stem_ISO_8859_1_catalan.c  |  1446 +
 .../snowball/libstemmer/stem_ISO_8859_1_danish.c   |   314 +
 .../snowball/libstemmer/stem_ISO_8859_1_dutch.c    |   603 +
 .../snowball/libstemmer/stem_ISO_8859_1_english.c  |  1062 +
 .../snowball/libstemmer/stem_ISO_8859_1_finnish.c  |   718 +
 .../snowball/libstemmer/stem_ISO_8859_1_french.c   |  1252 +
 .../snowball/libstemmer/stem_ISO_8859_1_german.c   |   490 +
 .../libstemmer/stem_ISO_8859_1_indonesian.c        |   407 +
 .../snowball/libstemmer/stem_ISO_8859_1_irish.c    |   479 +
 .../snowball/libstemmer/stem_ISO_8859_1_italian.c  |  1022 +
 .../libstemmer/stem_ISO_8859_1_norwegian.c         |   272 +
 .../snowball/libstemmer/stem_ISO_8859_1_porter.c   |   717 +
 .../libstemmer/stem_ISO_8859_1_portuguese.c        |   961 +
 .../snowball/libstemmer/stem_ISO_8859_1_spanish.c  |  1041 +
 .../snowball/libstemmer/stem_ISO_8859_1_swedish.c  |   288 +
 .../libstemmer/stem_ISO_8859_2_hungarian.c         |   862 +
 .../snowball/libstemmer/stem_ISO_8859_2_romanian.c |   965 +
 .../snowball/libstemmer/stem_KOI8_R_russian.c      |   682 +
 .../snowball/libstemmer/stem_UTF_8_arabic.c        |  1676 +
 .../snowball/libstemmer/stem_UTF_8_armenian.c      |   559 +
 .../snowball/libstemmer/stem_UTF_8_basque.c        |  1184 +
 .../snowball/libstemmer/stem_UTF_8_catalan.c       |  1449 +
 .../snowball/libstemmer/stem_UTF_8_danish.c        |   318 +
 src/backend/snowball/libstemmer/stem_UTF_8_dutch.c |   613 +
 .../snowball/libstemmer/stem_UTF_8_english.c       |  1074 +
 .../snowball/libstemmer/stem_UTF_8_finnish.c       |   722 +
 .../snowball/libstemmer/stem_UTF_8_french.c        |  1262 +
 .../snowball/libstemmer/stem_UTF_8_german.c        |   500 +
 src/backend/snowball/libstemmer/stem_UTF_8_greek.c |  3718 ++
 src/backend/snowball/libstemmer/stem_UTF_8_hindi.c |   332 +
 .../snowball/libstemmer/stem_UTF_8_hungarian.c     |   868 +
 .../snowball/libstemmer/stem_UTF_8_indonesian.c    |   407 +
 src/backend/snowball/libstemmer/stem_UTF_8_irish.c |   479 +
 .../snowball/libstemmer/stem_UTF_8_italian.c       |  1030 +
 .../snowball/libstemmer/stem_UTF_8_lithuanian.c    |   837 +
 .../snowball/libstemmer/stem_UTF_8_nepali.c        |   421 +
 .../snowball/libstemmer/stem_UTF_8_norwegian.c     |   276 +
 .../snowball/libstemmer/stem_UTF_8_porter.c        |   723 +
 .../snowball/libstemmer/stem_UTF_8_portuguese.c    |   967 +
 .../snowball/libstemmer/stem_UTF_8_romanian.c      |   971 +
 .../snowball/libstemmer/stem_UTF_8_russian.c       |   678 +
 .../snowball/libstemmer/stem_UTF_8_serbian.c       |  6543 +++
 .../snowball/libstemmer/stem_UTF_8_spanish.c       |  1045 +
 .../snowball/libstemmer/stem_UTF_8_swedish.c       |   292 +
 src/backend/snowball/libstemmer/stem_UTF_8_tamil.c |  1878 +
 .../snowball/libstemmer/stem_UTF_8_turkish.c       |  2096 +
 .../snowball/libstemmer/stem_UTF_8_yiddish.c       |  1368 +
 src/backend/snowball/libstemmer/utilities.c        |   508 +
 src/backend/snowball/snowball.sql.in               |    42 +
 src/backend/snowball/snowball_func.sql.in          |    34 +
 src/backend/snowball/stopwords/danish.stop         |    94 +
 src/backend/snowball/stopwords/dutch.stop          |   101 +
 src/backend/snowball/stopwords/english.stop        |   127 +
 src/backend/snowball/stopwords/finnish.stop        |   235 +
 src/backend/snowball/stopwords/french.stop         |   155 +
 src/backend/snowball/stopwords/german.stop         |   231 +
 src/backend/snowball/stopwords/hungarian.stop      |   199 +
 src/backend/snowball/stopwords/italian.stop        |   279 +
 src/backend/snowball/stopwords/nepali.stop         |   304 +
 src/backend/snowball/stopwords/norwegian.stop      |   176 +
 src/backend/snowball/stopwords/portuguese.stop     |   203 +
 src/backend/snowball/stopwords/russian.stop        |   151 +
 src/backend/snowball/stopwords/spanish.stop        |   313 +
 src/backend/snowball/stopwords/swedish.stop        |   114 +
 src/backend/snowball/stopwords/turkish.stop        |    53 +
 src/backend/statistics/Makefile                    |    21 +
 src/backend/statistics/README                      |   101 +
 src/backend/statistics/README.dependencies         |   116 +
 src/backend/statistics/README.mcv                  |   103 +
 src/backend/statistics/dependencies.c              |  1860 +
 src/backend/statistics/extended_stats.c            |  2675 +
 src/backend/statistics/mcv.c                       |  2180 +
 src/backend/statistics/mvdistinct.c                |   699 +
 src/backend/storage/Makefile                       |    13 +
 src/backend/storage/buffer/Makefile                |    22 +
 src/backend/storage/buffer/README                  |   276 +
 src/backend/storage/buffer/buf_init.c              |   181 +
 src/backend/storage/buffer/buf_table.c             |   162 +
 src/backend/storage/buffer/bufmgr.c                |  4892 ++
 src/backend/storage/buffer/freelist.c              |   704 +
 src/backend/storage/buffer/localbuf.c              |   596 +
 src/backend/storage/file/Makefile                  |    22 +
 src/backend/storage/file/buffile.c                 |   949 +
 src/backend/storage/file/copydir.c                 |   226 +
 src/backend/storage/file/fd.c                      |  3789 ++
 src/backend/storage/file/reinit.c                  |   410 +
 src/backend/storage/file/sharedfileset.c           |   354 +
 src/backend/storage/freespace/Makefile             |    20 +
 src/backend/storage/freespace/README               |   196 +
 src/backend/storage/freespace/freespace.c          |   893 +
 src/backend/storage/freespace/fsmpage.c            |   374 +
 src/backend/storage/freespace/indexfsm.c           |    74 +
 src/backend/storage/ipc/Makefile                   |    30 +
 src/backend/storage/ipc/barrier.c                  |   333 +
 src/backend/storage/ipc/dsm.c                      |  1248 +
 src/backend/storage/ipc/dsm_impl.c                 |  1058 +
 src/backend/storage/ipc/ipc.c                      |   435 +
 src/backend/storage/ipc/ipci.c                     |   291 +
 src/backend/storage/ipc/latch.c                    |  2158 +
 src/backend/storage/ipc/pmsignal.c                 |   462 +
 src/backend/storage/ipc/procarray.c                |  5220 ++
 src/backend/storage/ipc/procsignal.c               |   685 +
 src/backend/storage/ipc/shm_mq.c                   |  1288 +
 src/backend/storage/ipc/shm_toc.c                  |   272 +
 src/backend/storage/ipc/shmem.c                    |   611 +
 src/backend/storage/ipc/shmqueue.c                 |   190 +
 src/backend/storage/ipc/signalfuncs.c              |   300 +
 src/backend/storage/ipc/sinval.c                   |   205 +
 src/backend/storage/ipc/sinvaladt.c                |   777 +
 src/backend/storage/ipc/standby.c                  |  1450 +
 src/backend/storage/large_object/Makefile          |    18 +
 src/backend/storage/large_object/inv_api.c         |   955 +
 src/backend/storage/lmgr/.gitignore                |     2 +
 src/backend/storage/lmgr/Makefile                  |    51 +
 src/backend/storage/lmgr/README                    |   739 +
 src/backend/storage/lmgr/README-SSI                |   646 +
 src/backend/storage/lmgr/README.barrier            |   197 +
 src/backend/storage/lmgr/condition_variable.c      |   364 +
 src/backend/storage/lmgr/deadlock.c                |  1177 +
 src/backend/storage/lmgr/generate-lwlocknames.pl   |    71 +
 src/backend/storage/lmgr/lmgr.c                    |  1196 +
 src/backend/storage/lmgr/lock.c                    |  4738 ++
 src/backend/storage/lmgr/lwlock.c                  |  1977 +
 src/backend/storage/lmgr/lwlocknames.txt           |    55 +
 src/backend/storage/lmgr/predicate.c               |  5203 ++
 src/backend/storage/lmgr/proc.c                    |  2012 +
 src/backend/storage/lmgr/s_lock.c                  |   377 +
 src/backend/storage/lmgr/spin.c                    |   180 +
 src/backend/storage/page/Makefile                  |    23 +
 src/backend/storage/page/README                    |    64 +
 src/backend/storage/page/bufpage.c                 |  1539 +
 src/backend/storage/page/checksum.c                |    22 +
 src/backend/storage/page/itemptr.c                 |   132 +
 src/backend/storage/smgr/Makefile                  |    19 +
 src/backend/storage/smgr/README                    |    52 +
 src/backend/storage/smgr/md.c                      |  1409 +
 src/backend/storage/smgr/smgr.c                    |   695 +
 src/backend/storage/sync/Makefile                  |    18 +
 src/backend/storage/sync/sync.c                    |   651 +
 src/backend/tcop/Makefile                          |    23 +
 src/backend/tcop/cmdtag.c                          |    98 +
 src/backend/tcop/dest.c                            |   300 +
 src/backend/tcop/fastpath.c                        |   458 +
 src/backend/tcop/postgres.c                        |  4972 ++
 src/backend/tcop/pquery.c                          |  1839 +
 src/backend/tcop/utility.c                         |  3986 ++
 src/backend/tsearch/Makefile                       |    54 +
 src/backend/tsearch/dict.c                         |    89 +
 src/backend/tsearch/dict_ispell.c                  |   148 +
 src/backend/tsearch/dict_simple.c                  |   105 +
 src/backend/tsearch/dict_synonym.c                 |   241 +
 src/backend/tsearch/dict_thesaurus.c               |   877 +
 src/backend/tsearch/dicts/hunspell_sample.affix    |    23 +
 .../tsearch/dicts/hunspell_sample_long.affix       |    53 +
 .../tsearch/dicts/hunspell_sample_long.dict        |    11 +
 .../tsearch/dicts/hunspell_sample_num.affix        |    33 +
 src/backend/tsearch/dicts/hunspell_sample_num.dict |     9 +
 src/backend/tsearch/dicts/ispell_sample.affix      |    26 +
 src/backend/tsearch/dicts/ispell_sample.dict       |     8 +
 src/backend/tsearch/dicts/synonym_sample.syn       |     5 +
 src/backend/tsearch/dicts/thesaurus_sample.ths     |    17 +
 src/backend/tsearch/regis.c                        |   257 +
 src/backend/tsearch/spell.c                        |  2621 +
 src/backend/tsearch/to_tsany.c                     |   724 +
 src/backend/tsearch/ts_locale.c                    |   325 +
 src/backend/tsearch/ts_parse.c                     |   667 +
 src/backend/tsearch/ts_selfuncs.c                  |   453 +
 src/backend/tsearch/ts_typanalyze.c                |   536 +
 src/backend/tsearch/ts_utils.c                     |   146 +
 src/backend/tsearch/wparser.c                      |   549 +
 src/backend/tsearch/wparser_def.c                  |  2634 +
 src/backend/utils/.gitignore                       |     6 +
 src/backend/utils/Gen_dummy_probes.pl              |   259 +
 src/backend/utils/Gen_dummy_probes.pl.prolog       |    19 +
 src/backend/utils/Gen_dummy_probes.sed             |    24 +
 src/backend/utils/Gen_fmgrtab.pl                   |   296 +
 src/backend/utils/Makefile                         |   119 +
 src/backend/utils/README.Gen_dummy_probes          |    27 +
 src/backend/utils/activity/Makefile                |    21 +
 src/backend/utils/activity/backend_progress.c      |   112 +
 src/backend/utils/activity/backend_status.c        |  1150 +
 src/backend/utils/activity/wait_event.c            |   740 +
 src/backend/utils/adt/.gitignore                   |     2 +
 src/backend/utils/adt/Makefile                     |   145 +
 src/backend/utils/adt/acl.c                        |  5257 ++
 src/backend/utils/adt/amutils.c                    |   470 +
 src/backend/utils/adt/array_expanded.c             |   453 +
 src/backend/utils/adt/array_selfuncs.c             |  1193 +
 src/backend/utils/adt/array_typanalyze.c           |   791 +
 src/backend/utils/adt/array_userfuncs.c            |   904 +
 src/backend/utils/adt/arrayfuncs.c                 |  6722 +++
 src/backend/utils/adt/arraysubs.c                  |   577 +
 src/backend/utils/adt/arrayutils.c                 |   265 +
 src/backend/utils/adt/ascii.c                      |   198 +
 src/backend/utils/adt/bool.c                       |   404 +
 src/backend/utils/adt/cash.c                       |  1176 +
 src/backend/utils/adt/char.c                       |   213 +
 src/backend/utils/adt/cryptohashfuncs.c            |   161 +
 src/backend/utils/adt/cypher_empty_funcs.c         |    61 +
 src/backend/utils/adt/cypher_funcs.c               |  1409 +
 src/backend/utils/adt/cypher_ops.c                 |   325 +
 src/backend/utils/adt/date.c                       |  3146 ++
 src/backend/utils/adt/datetime.c                   |  4877 ++
 src/backend/utils/adt/datum.c                      |   556 +
 src/backend/utils/adt/dbsize.c                     |  1005 +
 src/backend/utils/adt/domains.c                    |   390 +
 src/backend/utils/adt/encode.c                     |   602 +
 src/backend/utils/adt/enum.c                       |   610 +
 src/backend/utils/adt/expandeddatum.c              |   145 +
 src/backend/utils/adt/expandedrecord.c             |  1633 +
 src/backend/utils/adt/float.c                      |  4080 ++
 src/backend/utils/adt/format_type.c                |   480 +
 src/backend/utils/adt/formatting.c                 |  6675 +++
 src/backend/utils/adt/genfile.c                    |   722 +
 src/backend/utils/adt/geo_ops.c                    |  5572 +++
 src/backend/utils/adt/geo_selfuncs.c               |    96 +
 src/backend/utils/adt/geo_spgist.c                 |   885 +
 src/backend/utils/adt/graph.c                      |  1552 +
 src/backend/utils/adt/graphmeta.c                  |   209 +
 src/backend/utils/adt/inet_cidr_ntop.c             |   294 +
 src/backend/utils/adt/inet_net_pton.c              |   564 +
 src/backend/utils/adt/int.c                        |  1628 +
 src/backend/utils/adt/int8.c                       |  1566 +
 src/backend/utils/adt/json.c                       |  1376 +
 src/backend/utils/adt/jsonb.c                      |  2087 +
 src/backend/utils/adt/jsonb_gin.c                  |  1410 +
 src/backend/utils/adt/jsonb_op.c                   |   336 +
 src/backend/utils/adt/jsonb_util.c                 |  1967 +
 src/backend/utils/adt/jsonbsubs.c                  |   416 +
 src/backend/utils/adt/jsonfuncs.c                  |  5640 +++
 src/backend/utils/adt/jsonpath.c                   |  1075 +
 src/backend/utils/adt/jsonpath_exec.c              |  2799 ++
 src/backend/utils/adt/jsonpath_gram.y              |   597 +
 src/backend/utils/adt/jsonpath_scan.l              |   623 +
 src/backend/utils/adt/levenshtein.c                |   401 +
 src/backend/utils/adt/like.c                       |   456 +
 src/backend/utils/adt/like_match.c                 |   360 +
 src/backend/utils/adt/like_support.c               |  1774 +
 src/backend/utils/adt/lockfuncs.c                  |  1069 +
 src/backend/utils/adt/mac.c                        |   548 +
 src/backend/utils/adt/mac8.c                       |   577 +
 src/backend/utils/adt/mcxtfuncs.c                  |   217 +
 src/backend/utils/adt/misc.c                       |   975 +
 src/backend/utils/adt/multirangetypes.c            |  2863 ++
 src/backend/utils/adt/multirangetypes_selfuncs.c   |  1337 +
 src/backend/utils/adt/name.c                       |   359 +
 src/backend/utils/adt/network.c                    |  2129 +
 src/backend/utils/adt/network_gist.c               |   809 +
 src/backend/utils/adt/network_selfuncs.c           |   974 +
 src/backend/utils/adt/network_spgist.c             |   711 +
 src/backend/utils/adt/numeric.c                    | 11279 +++++
 src/backend/utils/adt/numutils.c                   |   630 +
 src/backend/utils/adt/oid.c                        |   471 +
 src/backend/utils/adt/oracle_compat.c              |  1143 +
 src/backend/utils/adt/orderedsetaggs.c             |  1425 +
 src/backend/utils/adt/partitionfuncs.c             |   252 +
 src/backend/utils/adt/pg_locale.c                  |  2118 +
 src/backend/utils/adt/pg_lsn.c                     |   313 +
 src/backend/utils/adt/pg_upgrade_support.c         |   241 +
 src/backend/utils/adt/pgstatfuncs.c                |  2392 +
 src/backend/utils/adt/pseudotypes.c                |   391 +
 src/backend/utils/adt/quote.c                      |   131 +
 src/backend/utils/adt/rangetypes.c                 |  2621 +
 src/backend/utils/adt/rangetypes_gist.c            |  1798 +
 src/backend/utils/adt/rangetypes_selfuncs.c        |  1223 +
 src/backend/utils/adt/rangetypes_spgist.c          |  1000 +
 src/backend/utils/adt/rangetypes_typanalyze.c      |   427 +
 src/backend/utils/adt/regexp.c                     |  1556 +
 src/backend/utils/adt/regproc.c                    |  2062 +
 src/backend/utils/adt/ri_triggers.c                |  2952 ++
 src/backend/utils/adt/rowtypes.c                   |  2017 +
 src/backend/utils/adt/ruleutils.c                  | 13032 +++++
 src/backend/utils/adt/selfuncs.c                   |  7949 +++
 src/backend/utils/adt/shortestpathfuncs.c          |    53 +
 src/backend/utils/adt/tid.c                        |   415 +
 src/backend/utils/adt/timestamp.c                  |  5899 +++
 src/backend/utils/adt/trigfuncs.c                  |    85 +
 src/backend/utils/adt/tsginidx.c                   |   356 +
 src/backend/utils/adt/tsgistidx.c                  |   816 +
 src/backend/utils/adt/tsquery.c                    |  1349 +
 src/backend/utils/adt/tsquery_cleanup.c            |   444 +
 src/backend/utils/adt/tsquery_gist.c               |   277 +
 src/backend/utils/adt/tsquery_op.c                 |   358 +
 src/backend/utils/adt/tsquery_rewrite.c            |   462 +
 src/backend/utils/adt/tsquery_util.c               |   447 +
 src/backend/utils/adt/tsrank.c                     |  1012 +
 src/backend/utils/adt/tsvector.c                   |   551 +
 src/backend/utils/adt/tsvector_op.c                |  2718 ++
 src/backend/utils/adt/tsvector_parser.c            |   367 +
 src/backend/utils/adt/uuid.c                       |   438 +
 src/backend/utils/adt/varbit.c                     |  1894 +
 src/backend/utils/adt/varchar.c                    |  1224 +
 src/backend/utils/adt/varlena.c                    |  6582 +++
 src/backend/utils/adt/version.c                    |    30 +
 src/backend/utils/adt/windowfuncs.c                |   474 +
 src/backend/utils/adt/xid.c                        |   349 +
 src/backend/utils/adt/xid8funcs.c                  |   709 +
 src/backend/utils/adt/xml.c                        |  4766 ++
 src/backend/utils/cache/Makefile                   |    31 +
 src/backend/utils/cache/attoptcache.c              |   177 +
 src/backend/utils/cache/catcache.c                 |  2095 +
 src/backend/utils/cache/evtcache.c                 |   270 +
 src/backend/utils/cache/inval.c                    |  1578 +
 src/backend/utils/cache/lsyscache.c                |  3780 ++
 src/backend/utils/cache/partcache.c                |   430 +
 src/backend/utils/cache/plancache.c                |  2207 +
 src/backend/utils/cache/relcache.c                 |  6651 +++
 src/backend/utils/cache/relfilenodemap.c           |   244 +
 src/backend/utils/cache/relmapper.c                |  1045 +
 src/backend/utils/cache/spccache.c                 |   236 +
 src/backend/utils/cache/syscache.c                 |  1645 +
 src/backend/utils/cache/ts_cache.c                 |   652 +
 src/backend/utils/cache/typcache.c                 |  2883 ++
 src/backend/utils/errcodes.txt                     |   496 +
 src/backend/utils/error/Makefile                   |    19 +
 src/backend/utils/error/assert.c                   |    70 +
 src/backend/utils/error/elog.c                     |  3616 ++
 src/backend/utils/fmgr/Makefile                    |    22 +
 src/backend/utils/fmgr/README                      |   331 +
 src/backend/utils/fmgr/dfmgr.c                     |   755 +
 src/backend/utils/fmgr/fmgr.c                      |  2090 +
 src/backend/utils/fmgr/funcapi.c                   |  2037 +
 src/backend/utils/generate-errcodes.pl             |    46 +
 src/backend/utils/hash/Makefile                    |    19 +
 src/backend/utils/hash/dynahash.c                  |  1930 +
 src/backend/utils/hash/pg_crc.c                    |    97 +
 src/backend/utils/init/Makefile                    |    20 +
 src/backend/utils/init/globals.c                   |   154 +
 src/backend/utils/init/miscinit.c                  |  1753 +
 src/backend/utils/init/postinit.c                  |  1278 +
 src/backend/utils/mb/Makefile                      |    25 +
 src/backend/utils/mb/README                        |    23 +
 src/backend/utils/mb/Unicode/Makefile              |   146 +
 src/backend/utils/mb/Unicode/UCS_to_BIG5.pl        |    79 +
 src/backend/utils/mb/Unicode/UCS_to_EUC_CN.pl      |    85 +
 .../utils/mb/Unicode/UCS_to_EUC_JIS_2004.pl        |    72 +
 src/backend/utils/mb/Unicode/UCS_to_EUC_JP.pl      |   678 +
 src/backend/utils/mb/Unicode/UCS_to_EUC_KR.pl      |    62 +
 src/backend/utils/mb/Unicode/UCS_to_EUC_TW.pl      |    71 +
 src/backend/utils/mb/Unicode/UCS_to_GB18030.pl     |    52 +
 src/backend/utils/mb/Unicode/UCS_to_JOHAB.pl       |    56 +
 .../utils/mb/Unicode/UCS_to_SHIFT_JIS_2004.pl      |    88 +
 src/backend/utils/mb/Unicode/UCS_to_SJIS.pl        |   106 +
 src/backend/utils/mb/Unicode/UCS_to_UHC.pl         |    66 +
 src/backend/utils/mb/Unicode/UCS_to_most.pl        |    62 +
 src/backend/utils/mb/Unicode/big5_to_utf8.map      |  4606 ++
 src/backend/utils/mb/Unicode/convutils.pm          |   838 +
 src/backend/utils/mb/Unicode/euc-jis-2004-std.txt  | 11549 +++++
 src/backend/utils/mb/Unicode/euc_cn_to_utf8.map    |  2280 +
 .../utils/mb/Unicode/euc_jis_2004_to_utf8.map      |  3443 ++
 src/backend/utils/mb/Unicode/euc_jp_to_utf8.map    |  4142 ++
 src/backend/utils/mb/Unicode/euc_kr_to_utf8.map    |  2498 +
 src/backend/utils/mb/Unicode/euc_tw_to_utf8.map    |  7834 +++
 src/backend/utils/mb/Unicode/gb-18030-2000.xml     | 30916 ++++++++++++
 src/backend/utils/mb/Unicode/gb18030_to_utf8.map   | 11151 +++++
 src/backend/utils/mb/Unicode/gbk_to_utf8.map       |  6554 +++
 .../utils/mb/Unicode/iso8859_10_to_utf8.map        |   111 +
 .../utils/mb/Unicode/iso8859_13_to_utf8.map        |   111 +
 .../utils/mb/Unicode/iso8859_14_to_utf8.map        |   111 +
 .../utils/mb/Unicode/iso8859_15_to_utf8.map        |   111 +
 .../utils/mb/Unicode/iso8859_16_to_utf8.map        |   111 +
 src/backend/utils/mb/Unicode/iso8859_2_to_utf8.map |    79 +
 src/backend/utils/mb/Unicode/iso8859_3_to_utf8.map |    79 +
 src/backend/utils/mb/Unicode/iso8859_4_to_utf8.map |    79 +
 src/backend/utils/mb/Unicode/iso8859_5_to_utf8.map |   111 +
 src/backend/utils/mb/Unicode/iso8859_6_to_utf8.map |    77 +
 src/backend/utils/mb/Unicode/iso8859_7_to_utf8.map |   111 +
 src/backend/utils/mb/Unicode/iso8859_8_to_utf8.map |   111 +
 src/backend/utils/mb/Unicode/iso8859_9_to_utf8.map |    79 +
 src/backend/utils/mb/Unicode/johab_to_utf8.map     |  6280 +++
 src/backend/utils/mb/Unicode/koi8r_to_utf8.map     |   111 +
 src/backend/utils/mb/Unicode/koi8u_to_utf8.map     |   111 +
 .../utils/mb/Unicode/shift_jis_2004_to_utf8.map    |  3234 ++
 .../utils/mb/Unicode/sjis-0213-2004-std.txt        | 11549 +++++
 src/backend/utils/mb/Unicode/sjis_to_utf8.map      |  2417 +
 src/backend/utils/mb/Unicode/uhc_to_utf8.map       |  6553 +++
 src/backend/utils/mb/Unicode/utf8_to_big5.map      |  4100 ++
 src/backend/utils/mb/Unicode/utf8_to_euc_cn.map    |  4044 ++
 .../utils/mb/Unicode/utf8_to_euc_jis_2004.map      | 12567 +++++
 src/backend/utils/mb/Unicode/utf8_to_euc_jp.map    |  7141 +++
 src/backend/utils/mb/Unicode/utf8_to_euc_kr.map    |  6392 +++
 src/backend/utils/mb/Unicode/utf8_to_euc_tw.map    |  6865 +++
 src/backend/utils/mb/Unicode/utf8_to_gb18030.map   |  9561 ++++
 src/backend/utils/mb/Unicode/utf8_to_gbk.map       |  4271 ++
 .../utils/mb/Unicode/utf8_to_iso8859_10.map        |   114 +
 .../utils/mb/Unicode/utf8_to_iso8859_13.map        |   113 +
 .../utils/mb/Unicode/utf8_to_iso8859_14.map        |   146 +
 .../utils/mb/Unicode/utf8_to_iso8859_15.map        |   101 +
 .../utils/mb/Unicode/utf8_to_iso8859_16.map        |   131 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_2.map |   114 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_3.map |   113 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_4.map |   114 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_5.map |   103 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_6.map |    90 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_7.map |   125 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_8.map |   104 +
 src/backend/utils/mb/Unicode/utf8_to_iso8859_9.map |   100 +
 src/backend/utils/mb/Unicode/utf8_to_johab.map     |  6333 +++
 src/backend/utils/mb/Unicode/utf8_to_koi8r.map     |   175 +
 src/backend/utils/mb/Unicode/utf8_to_koi8u.map     |   186 +
 .../utils/mb/Unicode/utf8_to_shift_jis_2004.map    |  7685 +++
 src/backend/utils/mb/Unicode/utf8_to_sjis.map      |  4253 ++
 src/backend/utils/mb/Unicode/utf8_to_uhc.map       |  6377 +++
 src/backend/utils/mb/Unicode/utf8_to_win1250.map   |   145 +
 src/backend/utils/mb/Unicode/utf8_to_win1251.map   |   134 +
 src/backend/utils/mb/Unicode/utf8_to_win1252.map   |   146 +
 src/backend/utils/mb/Unicode/utf8_to_win1253.map   |   135 +
 src/backend/utils/mb/Unicode/utf8_to_win1254.map   |   157 +
 src/backend/utils/mb/Unicode/utf8_to_win1255.map   |   157 +
 src/backend/utils/mb/Unicode/utf8_to_win1256.map   |   194 +
 src/backend/utils/mb/Unicode/utf8_to_win1257.map   |   145 +
 src/backend/utils/mb/Unicode/utf8_to_win1258.map   |   167 +
 src/backend/utils/mb/Unicode/utf8_to_win866.map    |   154 +
 src/backend/utils/mb/Unicode/utf8_to_win874.map    |   130 +
 src/backend/utils/mb/Unicode/win1250_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1251_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1252_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1253_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1254_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1255_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1256_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1257_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win1258_to_utf8.map   |   111 +
 src/backend/utils/mb/Unicode/win866_to_utf8.map    |   111 +
 src/backend/utils/mb/Unicode/win874_to_utf8.map    |   109 +
 src/backend/utils/mb/conv.c                        |   838 +
 src/backend/utils/mb/conversion_procs/Makefile     |    25 +
 .../utils/mb/conversion_procs/README.euc_jp        |    83 +
 .../mb/conversion_procs/cyrillic_and_mic/Makefile  |    13 +
 .../cyrillic_and_mic/cyrillic_and_mic.c            |   624 +
 .../mb/conversion_procs/euc2004_sjis2004/Makefile  |    13 +
 .../euc2004_sjis2004/euc2004_sjis2004.c            |   401 +
 .../mb/conversion_procs/euc_cn_and_mic/Makefile    |    13 +
 .../euc_cn_and_mic/euc_cn_and_mic.c                |   166 +
 .../mb/conversion_procs/euc_jp_and_sjis/Makefile   |    13 +
 .../euc_jp_and_sjis/euc_jp_and_sjis.c              |   772 +
 .../mb/conversion_procs/euc_jp_and_sjis/sjis.map   |   396 +
 .../mb/conversion_procs/euc_kr_and_mic/Makefile    |    13 +
 .../euc_kr_and_mic/euc_kr_and_mic.c                |   174 +
 .../mb/conversion_procs/euc_tw_and_big5/Makefile   |    16 +
 .../mb/conversion_procs/euc_tw_and_big5/big5.c     |   377 +
 .../euc_tw_and_big5/euc_tw_and_big5.c              |   582 +
 .../conversion_procs/latin2_and_win1250/Makefile   |    13 +
 .../latin2_and_win1250/latin2_and_win1250.c        |   180 +
 .../mb/conversion_procs/latin_and_mic/Makefile     |    13 +
 .../conversion_procs/latin_and_mic/latin_and_mic.c |   136 +
 src/backend/utils/mb/conversion_procs/proc.mk      |    17 +
 .../mb/conversion_procs/utf8_and_big5/Makefile     |    13 +
 .../conversion_procs/utf8_and_big5/utf8_and_big5.c |    78 +
 .../mb/conversion_procs/utf8_and_cyrillic/Makefile |    13 +
 .../utf8_and_cyrillic/utf8_and_cyrillic.c          |   126 +
 .../mb/conversion_procs/utf8_and_euc2004/Makefile  |    13 +
 .../utf8_and_euc2004/utf8_and_euc2004.c            |    78 +
 .../mb/conversion_procs/utf8_and_euc_cn/Makefile   |    13 +
 .../utf8_and_euc_cn/utf8_and_euc_cn.c              |    78 +
 .../mb/conversion_procs/utf8_and_euc_jp/Makefile   |    13 +
 .../utf8_and_euc_jp/utf8_and_euc_jp.c              |    78 +
 .../mb/conversion_procs/utf8_and_euc_kr/Makefile   |    13 +
 .../utf8_and_euc_kr/utf8_and_euc_kr.c              |    78 +
 .../mb/conversion_procs/utf8_and_euc_tw/Makefile   |    13 +
 .../utf8_and_euc_tw/utf8_and_euc_tw.c              |    78 +
 .../mb/conversion_procs/utf8_and_gb18030/Makefile  |    13 +
 .../utf8_and_gb18030/utf8_and_gb18030.c            |   233 +
 .../mb/conversion_procs/utf8_and_gbk/Makefile      |    13 +
 .../conversion_procs/utf8_and_gbk/utf8_and_gbk.c   |    78 +
 .../mb/conversion_procs/utf8_and_iso8859/Makefile  |    13 +
 .../utf8_and_iso8859/utf8_and_iso8859.c            |   169 +
 .../conversion_procs/utf8_and_iso8859_1/Makefile   |    13 +
 .../utf8_and_iso8859_1/utf8_and_iso8859_1.c        |   139 +
 .../mb/conversion_procs/utf8_and_johab/Makefile    |    13 +
 .../utf8_and_johab/utf8_and_johab.c                |    78 +
 .../mb/conversion_procs/utf8_and_sjis/Makefile     |    13 +
 .../conversion_procs/utf8_and_sjis/utf8_and_sjis.c |    78 +
 .../mb/conversion_procs/utf8_and_sjis2004/Makefile |    13 +
 .../utf8_and_sjis2004/utf8_and_sjis2004.c          |    78 +
 .../mb/conversion_procs/utf8_and_uhc/Makefile      |    13 +
 .../conversion_procs/utf8_and_uhc/utf8_and_uhc.c   |    78 +
 .../mb/conversion_procs/utf8_and_win/Makefile      |    13 +
 .../conversion_procs/utf8_and_win/utf8_and_win.c   |   150 +
 src/backend/utils/mb/iso.c                         |    74 +
 src/backend/utils/mb/mbutils.c                     |  1778 +
 src/backend/utils/mb/stringinfo_mb.c               |    86 +
 src/backend/utils/mb/win1251.c                     |    74 +
 src/backend/utils/mb/win866.c                      |    74 +
 src/backend/utils/mb/wstrcmp.c                     |    47 +
 src/backend/utils/mb/wstrncmp.c                    |    77 +
 src/backend/utils/misc/.gitignore                  |     1 +
 src/backend/utils/misc/Makefile                    |    46 +
 src/backend/utils/misc/README                      |   295 +
 src/backend/utils/misc/check_guc                   |    78 +
 src/backend/utils/misc/guc-file.l                  |  1228 +
 src/backend/utils/misc/guc.c                       | 12633 +++++
 src/backend/utils/misc/help_config.c               |   137 +
 src/backend/utils/misc/pg_config.c                 |   102 +
 src/backend/utils/misc/pg_controldata.c            |   344 +
 src/backend/utils/misc/pg_rusage.c                 |    73 +
 src/backend/utils/misc/postgresql.conf.sample      |   798 +
 src/backend/utils/misc/ps_status.c                 |   449 +
 src/backend/utils/misc/queryenvironment.c          |   144 +
 src/backend/utils/misc/queryjumble.c               |   858 +
 src/backend/utils/misc/rls.c                       |   167 +
 src/backend/utils/misc/sampling.c                  |   296 +
 src/backend/utils/misc/superuser.c                 |   107 +
 src/backend/utils/misc/timeout.c                   |   779 +
 src/backend/utils/misc/tzparser.c                  |   484 +
 src/backend/utils/mmgr/Makefile                    |    25 +
 src/backend/utils/mmgr/README                      |   487 +
 src/backend/utils/mmgr/aset.c                      |  1520 +
 src/backend/utils/mmgr/dsa.c                       |  2287 +
 src/backend/utils/mmgr/freepage.c                  |  1886 +
 src/backend/utils/mmgr/generation.c                |   832 +
 src/backend/utils/mmgr/mcxt.c                      |  1341 +
 src/backend/utils/mmgr/memdebug.c                  |    93 +
 src/backend/utils/mmgr/portalmem.c                 |  1340 +
 src/backend/utils/mmgr/slab.c                      |   796 +
 src/backend/utils/probes.d                         |    94 +
 src/backend/utils/resowner/Makefile                |    18 +
 src/backend/utils/resowner/README                  |    82 +
 src/backend/utils/resowner/resowner.c              |  1491 +
 src/backend/utils/sort/Makefile                    |    25 +
 src/backend/utils/sort/logtape.c                   |  1283 +
 src/backend/utils/sort/qsort_interruptible.c       |    16 +
 src/backend/utils/sort/sharedtuplestore.c          |   628 +
 src/backend/utils/sort/sortsupport.c               |   211 +
 src/backend/utils/sort/tuplesort.c                 |  4784 ++
 src/backend/utils/sort/tuplestore.c                |  1552 +
 src/backend/utils/time/Makefile                    |    19 +
 src/backend/utils/time/combocid.c                  |   364 +
 src/backend/utils/time/snapmgr.c                   |  2368 +
 src/bin/Makefile                                   |    44 +
 src/bin/initdb/.gitignore                          |     5 +
 src/bin/initdb/Makefile                            |    69 +
 src/bin/initdb/findtimezone.c                      |  1777 +
 src/bin/initdb/initdb.c                            |  3310 ++
 src/bin/initdb/nls.mk                              |     6 +
 src/bin/initdb/po/cs.po                            |  1162 +
 src/bin/initdb/po/de.po                            |  1029 +
 src/bin/initdb/po/el.po                            |  1025 +
 src/bin/initdb/po/es.po                            |  1038 +
 src/bin/initdb/po/fr.po                            |  1261 +
 src/bin/initdb/po/ja.po                            |  1016 +
 src/bin/initdb/po/ko.po                            |  1028 +
 src/bin/initdb/po/ru.po                            |  1180 +
 src/bin/initdb/po/sv.po                            |  1022 +
 src/bin/initdb/po/tr.po                            |  1159 +
 src/bin/initdb/po/uk.po                            |   950 +
 src/bin/initdb/po/zh_CN.po                         |  1004 +
 src/bin/initdb/t/001_initdb.pl                     |    94 +
 src/bin/pg_amcheck/.gitignore                      |     3 +
 src/bin/pg_amcheck/Makefile                        |    51 +
 src/bin/pg_amcheck/README                          |    19 +
 src/bin/pg_amcheck/nls.mk                          |    12 +
 src/bin/pg_amcheck/pg_amcheck.c                    |  2216 +
 src/bin/pg_amcheck/po/de.po                        |   523 +
 src/bin/pg_amcheck/po/el.po                        |   516 +
 src/bin/pg_amcheck/po/es.po                        |   523 +
 src/bin/pg_amcheck/po/fr.po                        |   575 +
 src/bin/pg_amcheck/po/ja.po                        |   527 +
 src/bin/pg_amcheck/po/ru.po                        |   591 +
 src/bin/pg_amcheck/po/sv.po                        |   520 +
 src/bin/pg_amcheck/po/uk.po                        |   506 +
 src/bin/pg_amcheck/po/zh_CN.po                     |   500 +
 src/bin/pg_amcheck/t/001_basic.pl                  |    12 +
 src/bin/pg_amcheck/t/002_nonesuch.pl               |   359 +
 src/bin/pg_amcheck/t/003_check.pl                  |   518 +
 src/bin/pg_amcheck/t/004_verify_heapam.pl          |   529 +
 src/bin/pg_amcheck/t/005_opclass_damage.pl         |    59 +
 src/bin/pg_archivecleanup/.gitignore               |     3 +
 src/bin/pg_archivecleanup/Makefile                 |    36 +
 src/bin/pg_archivecleanup/nls.mk                   |     6 +
 src/bin/pg_archivecleanup/pg_archivecleanup.c      |   378 +
 src/bin/pg_archivecleanup/po/cs.po                 |   198 +
 src/bin/pg_archivecleanup/po/de.po                 |   178 +
 src/bin/pg_archivecleanup/po/el.po                 |   181 +
 src/bin/pg_archivecleanup/po/es.po                 |   180 +
 src/bin/pg_archivecleanup/po/fr.po                 |   201 +
 src/bin/pg_archivecleanup/po/ja.po                 |   178 +
 src/bin/pg_archivecleanup/po/ko.po                 |   184 +
 src/bin/pg_archivecleanup/po/ru.po                 |   204 +
 src/bin/pg_archivecleanup/po/sv.po                 |   179 +
 src/bin/pg_archivecleanup/po/tr.po                 |   185 +
 src/bin/pg_archivecleanup/po/uk.po                 |   168 +
 src/bin/pg_archivecleanup/po/zh_CN.po              |   179 +
 .../pg_archivecleanup/t/010_pg_archivecleanup.pl   |   103 +
 src/bin/pg_basebackup/.gitignore                   |     5 +
 src/bin/pg_basebackup/Makefile                     |    67 +
 src/bin/pg_basebackup/nls.mk                       |     6 +
 src/bin/pg_basebackup/pg_basebackup.c              |  2668 +
 src/bin/pg_basebackup/pg_receivewal.c              |   782 +
 src/bin/pg_basebackup/pg_recvlogical.c             |  1055 +
 src/bin/pg_basebackup/po/cs.po                     |  1647 +
 src/bin/pg_basebackup/po/de.po                     |  1484 +
 src/bin/pg_basebackup/po/el.po                     |  1476 +
 src/bin/pg_basebackup/po/es.po                     |  1487 +
 src/bin/pg_basebackup/po/fr.po                     |  1790 +
 src/bin/pg_basebackup/po/ja.po                     |  1487 +
 src/bin/pg_basebackup/po/ko.po                     |  1588 +
 src/bin/pg_basebackup/po/ru.po                     |  1776 +
 src/bin/pg_basebackup/po/sv.po                     |  1497 +
 src/bin/pg_basebackup/po/tr.po                     |  1535 +
 src/bin/pg_basebackup/po/uk.po                     |  1439 +
 src/bin/pg_basebackup/po/zh_CN.po                  |  1463 +
 src/bin/pg_basebackup/receivelog.c                 |  1276 +
 src/bin/pg_basebackup/receivelog.h                 |    57 +
 src/bin/pg_basebackup/streamutil.c                 |   680 +
 src/bin/pg_basebackup/streamutil.h                 |    53 +
 src/bin/pg_basebackup/t/010_pg_basebackup.pl       |   612 +
 src/bin/pg_basebackup/t/020_pg_receivewal.pl       |    77 +
 src/bin/pg_basebackup/t/030_pg_recvlogical.pl      |    65 +
 src/bin/pg_basebackup/walmethods.c                 |  1163 +
 src/bin/pg_basebackup/walmethods.h                 |   103 +
 src/bin/pg_checksums/.gitignore                    |     3 +
 src/bin/pg_checksums/Makefile                      |    44 +
 src/bin/pg_checksums/nls.mk                        |     6 +
 src/bin/pg_checksums/pg_checksums.c                |   680 +
 src/bin/pg_checksums/po/cs.po                      |   312 +
 src/bin/pg_checksums/po/de.po                      |   310 +
 src/bin/pg_checksums/po/el.po                      |   311 +
 src/bin/pg_checksums/po/es.po                      |   312 +
 src/bin/pg_checksums/po/fr.po                      |   338 +
 src/bin/pg_checksums/po/ja.po                      |   307 +
 src/bin/pg_checksums/po/ko.po                      |   323 +
 src/bin/pg_checksums/po/ru.po                      |   326 +
 src/bin/pg_checksums/po/sv.po                      |   309 +
 src/bin/pg_checksums/po/tr.po                      |   304 +
 src/bin/pg_checksums/po/uk.po                      |   299 +
 src/bin/pg_checksums/po/zh_CN.po                   |   307 +
 src/bin/pg_checksums/t/001_basic.pl                |    11 +
 src/bin/pg_checksums/t/002_actions.pl              |   235 +
 src/bin/pg_config/.gitignore                       |     2 +
 src/bin/pg_config/Makefile                         |    44 +
 src/bin/pg_config/nls.mk                           |     4 +
 src/bin/pg_config/pg_config.c                      |   189 +
 src/bin/pg_config/po/cs.po                         |   280 +
 src/bin/pg_config/po/de.po                         |   265 +
 src/bin/pg_config/po/el.po                         |   261 +
 src/bin/pg_config/po/es.po                         |   289 +
 src/bin/pg_config/po/fr.po                         |   321 +
 src/bin/pg_config/po/he.po                         |   316 +
 src/bin/pg_config/po/it.po                         |   280 +
 src/bin/pg_config/po/ja.po                         |   257 +
 src/bin/pg_config/po/ko.po                         |   275 +
 src/bin/pg_config/po/pl.po                         |   273 +
 src/bin/pg_config/po/pt_BR.po                      |   249 +
 src/bin/pg_config/po/ru.po                         |   320 +
 src/bin/pg_config/po/sv.po                         |   257 +
 src/bin/pg_config/po/tr.po                         |   281 +
 src/bin/pg_config/po/uk.po                         |   241 +
 src/bin/pg_config/po/vi.po                         |   300 +
 src/bin/pg_config/po/zh_CN.po                      |   255 +
 src/bin/pg_config/t/001_pg_config.pl               |    19 +
 src/bin/pg_controldata/.gitignore                  |     2 +
 src/bin/pg_controldata/Makefile                    |    44 +
 src/bin/pg_controldata/nls.mk                      |     6 +
 src/bin/pg_controldata/pg_controldata.c            |   332 +
 src/bin/pg_controldata/po/cs.po                    |   561 +
 src/bin/pg_controldata/po/de.po                    |   512 +
 src/bin/pg_controldata/po/el.po                    |   514 +
 src/bin/pg_controldata/po/es.po                    |   515 +
 src/bin/pg_controldata/po/fr.po                    |   562 +
 src/bin/pg_controldata/po/it.po                    |   499 +
 src/bin/pg_controldata/po/ja.po                    |   505 +
 src/bin/pg_controldata/po/ko.po                    |   504 +
 src/bin/pg_controldata/po/ru.po                    |   585 +
 src/bin/pg_controldata/po/sv.po                    |   518 +
 src/bin/pg_controldata/po/tr.po                    |   555 +
 src/bin/pg_controldata/po/uk.po                    |   480 +
 src/bin/pg_controldata/po/zh_CN.po                 |   505 +
 src/bin/pg_controldata/t/001_pg_controldata.pl     |    44 +
 src/bin/pg_ctl/.gitignore                          |     5 +
 src/bin/pg_ctl/Makefile                            |    62 +
 src/bin/pg_ctl/nls.mk                              |     4 +
 src/bin/pg_ctl/pg_ctl.c                            |  2650 +
 src/bin/pg_ctl/po/cs.po                            |   945 +
 src/bin/pg_ctl/po/de.po                            |   885 +
 src/bin/pg_ctl/po/el.po                            |   884 +
 src/bin/pg_ctl/po/es.po                            |   904 +
 src/bin/pg_ctl/po/fr.po                            |  1010 +
 src/bin/pg_ctl/po/it.po                            |   841 +
 src/bin/pg_ctl/po/ja.po                            |   878 +
 src/bin/pg_ctl/po/ko.po                            |   894 +
 src/bin/pg_ctl/po/ru.po                            |  1032 +
 src/bin/pg_ctl/po/sv.po                            |   880 +
 src/bin/pg_ctl/po/tr.po                            |   869 +
 src/bin/pg_ctl/po/uk.po                            |   830 +
 src/bin/pg_ctl/po/zh_CN.po                         |   874 +
 src/bin/pg_ctl/t/001_start_stop.pl                 |   103 +
 src/bin/pg_ctl/t/002_status.pl                     |    28 +
 src/bin/pg_ctl/t/003_promote.pl                    |    64 +
 src/bin/pg_ctl/t/004_logrotate.pl                  |   111 +
 src/bin/pg_dump/.gitignore                         |     5 +
 src/bin/pg_dump/Makefile                           |    65 +
 src/bin/pg_dump/common.c                           |  1187 +
 src/bin/pg_dump/compress_io.c                      |   717 +
 src/bin/pg_dump/compress_io.h                      |    70 +
 src/bin/pg_dump/dumputils.c                        |  1047 +
 src/bin/pg_dump/dumputils.h                        |    69 +
 src/bin/pg_dump/nls.mk                             |    18 +
 src/bin/pg_dump/parallel.c                         |  1806 +
 src/bin/pg_dump/parallel.h                         |    70 +
 src/bin/pg_dump/pg_backup.h                        |   308 +
 src/bin/pg_dump/pg_backup_archiver.c               |  4847 ++
 src/bin/pg_dump/pg_backup_archiver.h               |   487 +
 src/bin/pg_dump/pg_backup_custom.c                 |  1022 +
 src/bin/pg_dump/pg_backup_db.c                     |   579 +
 src/bin/pg_dump/pg_backup_db.h                     |    26 +
 src/bin/pg_dump/pg_backup_directory.c              |   851 +
 src/bin/pg_dump/pg_backup_null.c                   |   228 +
 src/bin/pg_dump/pg_backup_tar.c                    |  1306 +
 src/bin/pg_dump/pg_backup_tar.h                    |    37 +
 src/bin/pg_dump/pg_backup_utils.c                  |   108 +
 src/bin/pg_dump/pg_backup_utils.h                  |    36 +
 src/bin/pg_dump/pg_dump.c                          | 19583 ++++++++
 src/bin/pg_dump/pg_dump.h                          |   745 +
 src/bin/pg_dump/pg_dump_sort.c                     |  1510 +
 src/bin/pg_dump/pg_dumpall.c                       |  1944 +
 src/bin/pg_dump/pg_restore.c                       |   524 +
 src/bin/pg_dump/po/cs.po                           |  2965 ++
 src/bin/pg_dump/po/de.po                           |  2751 ++
 src/bin/pg_dump/po/el.po                           |  2713 ++
 src/bin/pg_dump/po/es.po                           |  2757 ++
 src/bin/pg_dump/po/fr.po                           |  3345 ++
 src/bin/pg_dump/po/ja.po                           |  2744 ++
 src/bin/pg_dump/po/ko.po                           |  2821 ++
 src/bin/pg_dump/po/ru.po                           |  3435 ++
 src/bin/pg_dump/po/sv.po                           |  2718 ++
 src/bin/pg_dump/po/tr.po                           |  3070 ++
 src/bin/pg_dump/po/uk.po                           |  2665 +
 src/bin/pg_dump/po/zh_CN.po                        |  2643 +
 src/bin/pg_dump/t/001_basic.pl                     |   190 +
 src/bin/pg_dump/t/002_pg_dump.pl                   |  3940 ++
 src/bin/pg_dump/t/003_pg_dump_with_server.pl       |    39 +
 src/bin/pg_dump/t/010_dump_connstr.pl              |   231 +
 src/bin/pg_resetwal/.gitignore                     |     2 +
 src/bin/pg_resetwal/Makefile                       |    44 +
 src/bin/pg_resetwal/nls.mk                         |     6 +
 src/bin/pg_resetwal/pg_resetwal.c                  |  1238 +
 src/bin/pg_resetwal/po/cs.po                       |   721 +
 src/bin/pg_resetwal/po/de.po                       |   662 +
 src/bin/pg_resetwal/po/el.po                       |   671 +
 src/bin/pg_resetwal/po/es.po                       |   676 +
 src/bin/pg_resetwal/po/fr.po                       |   823 +
 src/bin/pg_resetwal/po/ja.po                       |   662 +
 src/bin/pg_resetwal/po/ko.po                       |   662 +
 src/bin/pg_resetwal/po/ru.po                       |   780 +
 src/bin/pg_resetwal/po/sv.po                       |   665 +
 src/bin/pg_resetwal/po/tr.po                       |   751 +
 src/bin/pg_resetwal/po/uk.po                       |   629 +
 src/bin/pg_resetwal/po/zh_CN.po                    |   638 +
 src/bin/pg_resetwal/t/001_basic.pl                 |    30 +
 src/bin/pg_resetwal/t/002_corrupted.pl             |    56 +
 src/bin/pg_rewind/.gitignore                       |     6 +
 src/bin/pg_rewind/Makefile                         |    60 +
 src/bin/pg_rewind/datapagemap.c                    |   127 +
 src/bin/pg_rewind/datapagemap.h                    |    29 +
 src/bin/pg_rewind/file_ops.c                       |   477 +
 src/bin/pg_rewind/file_ops.h                       |    29 +
 src/bin/pg_rewind/filemap.c                        |   832 +
 src/bin/pg_rewind/filemap.h                        |   113 +
 src/bin/pg_rewind/libpq_source.c                   |   643 +
 src/bin/pg_rewind/local_source.c                   |   131 +
 src/bin/pg_rewind/nls.mk                           |     8 +
 src/bin/pg_rewind/parsexlog.c                      |   452 +
 src/bin/pg_rewind/pg_rewind.c                      |  1142 +
 src/bin/pg_rewind/pg_rewind.h                      |    59 +
 src/bin/pg_rewind/po/cs.po                         |  1019 +
 src/bin/pg_rewind/po/de.po                         |   964 +
 src/bin/pg_rewind/po/el.po                         |   959 +
 src/bin/pg_rewind/po/es.po                         |   967 +
 src/bin/pg_rewind/po/fr.po                         |  1222 +
 src/bin/pg_rewind/po/ja.po                         |   964 +
 src/bin/pg_rewind/po/ru.po                         |  1146 +
 src/bin/pg_rewind/po/sv.po                         |   964 +
 src/bin/pg_rewind/po/uk.po                         |   943 +
 src/bin/pg_rewind/po/zh_CN.po                      |   959 +
 src/bin/pg_rewind/rewind_source.h                  |    73 +
 src/bin/pg_rewind/t/001_basic.pl                   |   194 +
 src/bin/pg_rewind/t/002_databases.pl               |    77 +
 src/bin/pg_rewind/t/003_extrafiles.pl              |   106 +
 src/bin/pg_rewind/t/004_pg_xlog_symlink.pl         |    79 +
 src/bin/pg_rewind/t/005_same_timeline.pl           |    23 +
 src/bin/pg_rewind/t/006_options.pl                 |    43 +
 src/bin/pg_rewind/t/007_standby_source.pl          |   181 +
 src/bin/pg_rewind/t/008_min_recovery_point.pl      |   177 +
 src/bin/pg_rewind/t/RewindTest.pm                  |   396 +
 src/bin/pg_rewind/timeline.c                       |   130 +
 src/bin/pg_test_fsync/.gitignore                   |     3 +
 src/bin/pg_test_fsync/Makefile                     |    36 +
 src/bin/pg_test_fsync/nls.mk                       |     5 +
 src/bin/pg_test_fsync/pg_test_fsync.c              |   630 +
 src/bin/pg_test_fsync/po/cs.po                     |   210 +
 src/bin/pg_test_fsync/po/de.po                     |   174 +
 src/bin/pg_test_fsync/po/el.po                     |   178 +
 src/bin/pg_test_fsync/po/es.po                     |   178 +
 src/bin/pg_test_fsync/po/fr.po                     |   188 +
 src/bin/pg_test_fsync/po/ja.po                     |   177 +
 src/bin/pg_test_fsync/po/ko.po                     |   191 +
 src/bin/pg_test_fsync/po/pl.po                     |   189 +
 src/bin/pg_test_fsync/po/ru.po                     |   196 +
 src/bin/pg_test_fsync/po/sv.po                     |   175 +
 src/bin/pg_test_fsync/po/tr.po                     |   194 +
 src/bin/pg_test_fsync/po/uk.po                     |   161 +
 src/bin/pg_test_fsync/po/vi.po                     |   195 +
 src/bin/pg_test_fsync/po/zh_CN.po                  |   171 +
 src/bin/pg_test_fsync/t/001_basic.pl               |    28 +
 src/bin/pg_test_timing/.gitignore                  |     3 +
 src/bin/pg_test_timing/Makefile                    |    36 +
 src/bin/pg_test_timing/nls.mk                      |     4 +
 src/bin/pg_test_timing/pg_test_timing.c            |   208 +
 src/bin/pg_test_timing/po/de.po                    |    84 +
 src/bin/pg_test_timing/po/el.po                    |    86 +
 src/bin/pg_test_timing/po/es.po                    |    86 +
 src/bin/pg_test_timing/po/fr.po                    |    87 +
 src/bin/pg_test_timing/po/ja.po                    |    83 +
 src/bin/pg_test_timing/po/ru.po                    |    88 +
 src/bin/pg_test_timing/po/sv.po                    |    83 +
 src/bin/pg_test_timing/po/uk.po                    |    86 +
 src/bin/pg_test_timing/po/zh_CN.po                 |    83 +
 src/bin/pg_test_timing/t/001_basic.pl              |    28 +
 src/bin/pg_upgrade/.gitignore                      |     9 +
 src/bin/pg_upgrade/IMPLEMENTATION                  |    98 +
 src/bin/pg_upgrade/Makefile                        |    65 +
 src/bin/pg_upgrade/TESTING                         |    89 +
 src/bin/pg_upgrade/check.c                         |  1486 +
 src/bin/pg_upgrade/controldata.c                   |   723 +
 src/bin/pg_upgrade/dump.c                          |    69 +
 src/bin/pg_upgrade/exec.c                          |   452 +
 src/bin/pg_upgrade/file.c                          |   376 +
 src/bin/pg_upgrade/function.c                      |   271 +
 src/bin/pg_upgrade/info.c                          |   649 +
 src/bin/pg_upgrade/nls.mk                          |    12 +
 src/bin/pg_upgrade/option.c                        |   536 +
 src/bin/pg_upgrade/parallel.c                      |   347 +
 src/bin/pg_upgrade/pg_upgrade.c                    |   712 +
 src/bin/pg_upgrade/pg_upgrade.h                    |   465 +
 src/bin/pg_upgrade/po/cs.po                        |  1804 +
 src/bin/pg_upgrade/po/de.po                        |  1927 +
 src/bin/pg_upgrade/po/es.po                        |  1934 +
 src/bin/pg_upgrade/po/fr.po                        |  2029 +
 src/bin/pg_upgrade/po/ja.po                        |  1923 +
 src/bin/pg_upgrade/po/ko.po                        |  1889 +
 src/bin/pg_upgrade/po/ru.po                        |  2198 +
 src/bin/pg_upgrade/po/sv.po                        |  1925 +
 src/bin/pg_upgrade/po/tr.po                        |  1666 +
 src/bin/pg_upgrade/po/uk.po                        |  1744 +
 src/bin/pg_upgrade/po/zh_CN.po                     |  1850 +
 src/bin/pg_upgrade/relfilenode.c                   |   271 +
 src/bin/pg_upgrade/server.c                        |   387 +
 src/bin/pg_upgrade/tablespace.c                    |   119 +
 src/bin/pg_upgrade/test.sh                         |   296 +
 src/bin/pg_upgrade/upgrade_adapt.sql               |    91 +
 src/bin/pg_upgrade/util.c                          |   243 +
 src/bin/pg_upgrade/version.c                       |   548 +
 src/bin/pg_verifybackup/.gitignore                 |     2 +
 src/bin/pg_verifybackup/Makefile                   |    40 +
 src/bin/pg_verifybackup/nls.mk                     |    17 +
 src/bin/pg_verifybackup/parse_manifest.c           |   748 +
 src/bin/pg_verifybackup/parse_manifest.h           |    46 +
 src/bin/pg_verifybackup/pg_verifybackup.c          |   924 +
 src/bin/pg_verifybackup/po/de.po                   |   501 +
 src/bin/pg_verifybackup/po/el.po                   |   505 +
 src/bin/pg_verifybackup/po/es.po                   |   505 +
 src/bin/pg_verifybackup/po/fr.po                   |   508 +
 src/bin/pg_verifybackup/po/ja.po                   |   503 +
 src/bin/pg_verifybackup/po/ko.po                   |   467 +
 src/bin/pg_verifybackup/po/ru.po                   |   514 +
 src/bin/pg_verifybackup/po/sv.po                   |   503 +
 src/bin/pg_verifybackup/po/uk.po                   |   488 +
 src/bin/pg_verifybackup/po/zh_CN.po                |   494 +
 src/bin/pg_verifybackup/t/001_basic.pl             |    36 +
 src/bin/pg_verifybackup/t/002_algorithm.pl         |    61 +
 src/bin/pg_verifybackup/t/003_corruption.pl        |   292 +
 src/bin/pg_verifybackup/t/004_options.pl           |   107 +
 src/bin/pg_verifybackup/t/005_bad_manifest.pl      |   211 +
 src/bin/pg_verifybackup/t/006_encoding.pl          |    34 +
 src/bin/pg_verifybackup/t/007_wal.pl               |    78 +
 src/bin/pg_waldump/.gitignore                      |    28 +
 src/bin/pg_waldump/Makefile                        |    52 +
 src/bin/pg_waldump/compat.c                        |    64 +
 src/bin/pg_waldump/nls.mk                          |     7 +
 src/bin/pg_waldump/pg_waldump.c                    |  1126 +
 src/bin/pg_waldump/po/cs.po                        |   338 +
 src/bin/pg_waldump/po/de.po                        |   442 +
 src/bin/pg_waldump/po/el.po                        |   310 +
 src/bin/pg_waldump/po/es.po                        |   446 +
 src/bin/pg_waldump/po/fr.po                        |   499 +
 src/bin/pg_waldump/po/ja.po                        |   308 +
 src/bin/pg_waldump/po/ko.po                        |   313 +
 src/bin/pg_waldump/po/ru.po                        |   529 +
 src/bin/pg_waldump/po/sv.po                        |   441 +
 src/bin/pg_waldump/po/tr.po                        |   306 +
 src/bin/pg_waldump/po/uk.po                        |   293 +
 src/bin/pg_waldump/po/zh_CN.po                     |   307 +
 src/bin/pg_waldump/rmgrdesc.c                      |    40 +
 src/bin/pg_waldump/rmgrdesc.h                      |    23 +
 src/bin/pg_waldump/t/001_basic.pl                  |    11 +
 src/bin/pgbench/.gitignore                         |     4 +
 src/bin/pgbench/Makefile                           |    54 +
 src/bin/pgbench/exprparse.y                        |   546 +
 src/bin/pgbench/exprscan.l                         |   463 +
 src/bin/pgbench/pgbench.c                          |  7118 +++
 src/bin/pgbench/pgbench.h                          |   167 +
 src/bin/pgbench/t/001_pgbench_with_server.pl       |  1195 +
 src/bin/pgbench/t/002_pgbench_no_server.pl         |   365 +
 src/bin/pgevent/MSG00001.bin                       |   Bin 0 -> 28 bytes
 src/bin/pgevent/Makefile                           |    38 +
 src/bin/pgevent/README                             |    20 +
 src/bin/pgevent/exports.txt                        |     3 +
 src/bin/pgevent/pgevent.c                          |   160 +
 src/bin/pgevent/pgevent.def                        |     5 +
 src/bin/pgevent/pgmsgevent.h                       |    46 +
 src/bin/pgevent/pgmsgevent.mc                      |     5 +
 src/bin/pgevent/pgmsgevent.rc                      |     4 +
 src/bin/psql/.gitignore                            |     6 +
 src/bin/psql/Makefile                              |    93 +
 src/bin/psql/command.c                             |  5450 +++
 src/bin/psql/command.h                             |    49 +
 src/bin/psql/common.c                              |  2317 +
 src/bin/psql/common.h                              |    46 +
 src/bin/psql/copy.c                                |   714 +
 src/bin/psql/copy.h                                |    24 +
 src/bin/psql/create_help.pl                        |   219 +
 src/bin/psql/crosstabview.c                        |   713 +
 src/bin/psql/crosstabview.h                        |    29 +
 src/bin/psql/cypher_describe.c                     |   103 +
 src/bin/psql/cypher_describe.h                     |    30 +
 src/bin/psql/describe.c                            |  7515 +++
 src/bin/psql/describe.h                            |   155 +
 src/bin/psql/help.c                                |   716 +
 src/bin/psql/help.h                                |    21 +
 src/bin/psql/input.c                               |   545 +
 src/bin/psql/input.h                               |    51 +
 src/bin/psql/large_obj.c                           |   316 +
 src/bin/psql/large_obj.h                           |    16 +
 src/bin/psql/mainloop.c                            |   657 +
 src/bin/psql/mainloop.h                            |    17 +
 src/bin/psql/nls.mk                                |    15 +
 src/bin/psql/po/cs.po                              |  6603 +++
 src/bin/psql/po/de.po                              |  6563 +++
 src/bin/psql/po/el.po                              |  6524 +++
 src/bin/psql/po/es.po                              |  6478 +++
 src/bin/psql/po/fr.po                              |  6992 +++
 src/bin/psql/po/it.po                              |  6135 +++
 src/bin/psql/po/ja.po                              |  6552 +++
 src/bin/psql/po/ko.po                              |  6545 +++
 src/bin/psql/po/ru.po                              |  7081 +++
 src/bin/psql/po/sv.po                              |  6524 +++
 src/bin/psql/po/tr.po                              |  8604 ++++
 src/bin/psql/po/uk.po                              |  6285 +++
 src/bin/psql/po/zh_CN.po                           |  6476 +++
 src/bin/psql/prompt.c                              |   383 +
 src/bin/psql/prompt.h                              |    17 +
 src/bin/psql/psqlrc.sample                         |     8 +
 src/bin/psql/psqlscanslash.h                       |    40 +
 src/bin/psql/psqlscanslash.l                       |   829 +
 src/bin/psql/settings.h                            |   169 +
 src/bin/psql/startup.c                             |  1250 +
 src/bin/psql/stringutils.c                         |   342 +
 src/bin/psql/stringutils.h                         |    28 +
 src/bin/psql/t/010_tab_completion.pl               |   245 +
 src/bin/psql/tab-complete.c                        |  5222 ++
 src/bin/psql/tab-complete.h                        |    17 +
 src/bin/psql/variables.c                           |   422 +
 src/bin/psql/variables.h                           |    97 +
 src/bin/scripts/.gitignore                         |    10 +
 src/bin/scripts/Makefile                           |    60 +
 src/bin/scripts/clusterdb.c                        |   289 +
 src/bin/scripts/common.c                           |   167 +
 src/bin/scripts/common.h                           |    26 +
 src/bin/scripts/createdb.c                         |   290 +
 src/bin/scripts/createuser.c                       |   383 +
 src/bin/scripts/dropdb.c                           |   189 +
 src/bin/scripts/dropuser.c                         |   186 +
 src/bin/scripts/nls.mk                             |    15 +
 src/bin/scripts/pg_isready.c                       |   241 +
 src/bin/scripts/po/cs.po                           |  1267 +
 src/bin/scripts/po/de.po                           |  1201 +
 src/bin/scripts/po/el.po                           |  1173 +
 src/bin/scripts/po/es.po                           |  1189 +
 src/bin/scripts/po/fr.po                           |  1396 +
 src/bin/scripts/po/ja.po                           |  1185 +
 src/bin/scripts/po/ko.po                           |  1199 +
 src/bin/scripts/po/ru.po                           |  1431 +
 src/bin/scripts/po/sv.po                           |  1170 +
 src/bin/scripts/po/tr.po                           |  1223 +
 src/bin/scripts/po/uk.po                           |  1117 +
 src/bin/scripts/po/zh_CN.po                        |  1147 +
 src/bin/scripts/reindexdb.c                        |   819 +
 src/bin/scripts/t/010_clusterdb.pl                 |    36 +
 src/bin/scripts/t/011_clusterdb_all.pl             |    22 +
 src/bin/scripts/t/020_createdb.pl                  |    53 +
 src/bin/scripts/t/040_createuser.pl                |    37 +
 src/bin/scripts/t/050_dropdb.pl                    |    32 +
 src/bin/scripts/t/070_dropuser.pl                  |    26 +
 src/bin/scripts/t/080_pg_isready.pl                |    23 +
 src/bin/scripts/t/090_reindexdb.pl                 |   200 +
 src/bin/scripts/t/091_reindexdb_all.pl             |    19 +
 src/bin/scripts/t/100_vacuumdb.pl                  |   148 +
 src/bin/scripts/t/101_vacuumdb_all.pl              |    17 +
 src/bin/scripts/t/102_vacuumdb_stages.pl           |    38 +
 src/bin/scripts/t/200_connstr.pl                   |    42 +
 src/bin/scripts/vacuumdb.c                         |  1062 +
 src/common/.gitignore                              |     1 +
 src/common/Makefile                                |   194 +
 src/common/archive.c                               |   121 +
 src/common/base64.c                                |   242 +
 src/common/checksum_helper.c                       |   232 +
 src/common/config_info.c                           |   201 +
 src/common/controldata_utils.c                     |   263 +
 src/common/cryptohash.c                            |   223 +
 src/common/cryptohash_openssl.c                    |   250 +
 src/common/d2s.c                                   |  1076 +
 src/common/d2s_full_table.h                        |   358 +
 src/common/d2s_intrinsics.h                        |   202 +
 src/common/digit_table.h                           |    21 +
 src/common/encnames.c                              |   598 +
 src/common/exec.c                                  |   696 +
 src/common/f2s.c                                   |   803 +
 src/common/fe_memutils.c                           |   176 +
 src/common/file_perm.c                             |    91 +
 src/common/file_utils.c                            |   485 +
 src/common/hashfn.c                                |   692 +
 src/common/hmac.c                                  |   266 +
 src/common/hmac_openssl.c                          |   254 +
 src/common/ip.c                                    |   281 +
 src/common/jsonapi.c                               |  1134 +
 src/common/keywords.c                              |    48 +
 src/common/kwlookup.c                              |    85 +
 src/common/link-canary.c                           |    36 +
 src/common/logging.c                               |   308 +
 src/common/md5.c                                   |   439 +
 src/common/md5_common.c                            |   149 +
 src/common/md5_int.h                               |    85 +
 src/common/pg_get_line.c                           |   140 +
 src/common/pg_lzcompress.c                         |   872 +
 src/common/pgfnames.c                              |    94 +
 src/common/protocol_openssl.c                      |   117 +
 src/common/psprintf.c                              |   151 +
 src/common/relpath.c                               |   210 +
 src/common/restricted_token.c                      |   202 +
 src/common/rmtree.c                                |   122 +
 src/common/ryu_common.h                            |   133 +
 src/common/saslprep.c                              |  1245 +
 src/common/scram-common.c                          |   274 +
 src/common/sha1.c                                  |   369 +
 src/common/sha1_int.h                              |    81 +
 src/common/sha2.c                                  |  1017 +
 src/common/sha2_int.h                              |    91 +
 src/common/sprompt.c                               |   159 +
 src/common/string.c                                |   130 +
 src/common/stringinfo.c                            |   343 +
 src/common/unicode/.gitignore                      |     8 +
 src/common/unicode/Makefile                        |    69 +
 src/common/unicode/README                          |    28 +
 src/common/unicode/generate-norm_test_table.pl     |   106 +
 .../unicode/generate-unicode_combining_table.pl    |    53 +
 src/common/unicode/generate-unicode_norm_table.pl  |   406 +
 .../unicode/generate-unicode_normprops_table.pl    |   125 +
 src/common/unicode/norm_test.c                     |    86 +
 src/common/unicode_norm.c                          |   634 +
 src/common/username.c                              |    87 +
 src/common/wait_error.c                            |   119 +
 src/common/wchar.c                                 |  1984 +
 src/fe_utils/.gitignore                            |     1 +
 src/fe_utils/Makefile                              |    65 +
 src/fe_utils/archive.c                             |   124 +
 src/fe_utils/cancel.c                              |   246 +
 src/fe_utils/conditional.c                         |   177 +
 src/fe_utils/connect_utils.c                       |   181 +
 src/fe_utils/mbprint.c                             |   405 +
 src/fe_utils/option_utils.c                        |    38 +
 src/fe_utils/parallel_slot.c                       |   533 +
 src/fe_utils/print.c                               |  3648 ++
 src/fe_utils/psqlscan.l                            |  1537 +
 src/fe_utils/query_utils.c                         |    92 +
 src/fe_utils/recovery_gen.c                        |   175 +
 src/fe_utils/simple_list.c                         |   175 +
 src/fe_utils/string_utils.c                        |  1163 +
 src/include/.gitignore                             |     5 +
 src/include/Makefile                               |    86 +
 src/include/access/amapi.h                         |   290 +
 src/include/access/amvalidate.h                    |    40 +
 src/include/access/attmap.h                        |    52 +
 src/include/access/attnum.h                        |    64 +
 src/include/access/brin.h                          |    55 +
 src/include/access/brin_internal.h                 |   115 +
 src/include/access/brin_page.h                     |    96 +
 src/include/access/brin_pageops.h                  |    38 +
 src/include/access/brin_revmap.h                   |    41 +
 src/include/access/brin_tuple.h                    |   110 +
 src/include/access/brin_xlog.h                     |   151 +
 src/include/access/bufmask.h                       |    32 +
 src/include/access/clog.h                          |    63 +
 src/include/access/commit_ts.h                     |    78 +
 src/include/access/detoast.h                       |    82 +
 src/include/access/genam.h                         |   231 +
 src/include/access/generic_xlog.h                  |    45 +
 src/include/access/gin.h                           |    78 +
 src/include/access/gin_private.h                   |   500 +
 src/include/access/ginblock.h                      |   346 +
 src/include/access/ginxlog.h                       |   216 +
 src/include/access/gist.h                          |   248 +
 src/include/access/gist_private.h                  |   571 +
 src/include/access/gistscan.h                      |    24 +
 src/include/access/gistxlog.h                      |   114 +
 src/include/access/hash.h                          |   483 +
 src/include/access/hash_xlog.h                     |   267 +
 src/include/access/heapam.h                        |   235 +
 src/include/access/heapam_xlog.h                   |   419 +
 src/include/access/heaptoast.h                     |   149 +
 src/include/access/hio.h                           |    43 +
 src/include/access/htup.h                          |    89 +
 src/include/access/htup_details.h                  |   818 +
 src/include/access/itup.h                          |   164 +
 src/include/access/multixact.h                     |   164 +
 src/include/access/nbtree.h                        |  1286 +
 src/include/access/nbtxlog.h                       |   351 +
 src/include/access/parallel.h                      |    82 +
 src/include/access/printsimple.h                   |    23 +
 src/include/access/printtup.h                      |    35 +
 src/include/access/relation.h                      |    28 +
 src/include/access/reloptions.h                    |   247 +
 src/include/access/relscan.h                       |   191 +
 src/include/access/rewriteheap.h                   |    57 +
 src/include/access/rmgr.h                          |    35 +
 src/include/access/rmgrlist.h                      |    49 +
 src/include/access/sdir.h                          |    58 +
 src/include/access/session.h                       |    44 +
 src/include/access/skey.h                          |   151 +
 src/include/access/slru.h                          |   174 +
 src/include/access/spgist.h                        |   229 +
 src/include/access/spgist_private.h                |   548 +
 src/include/access/spgxlog.h                       |   257 +
 src/include/access/stratnum.h                      |    85 +
 src/include/access/subtrans.h                      |    29 +
 src/include/access/syncscan.h                      |    25 +
 src/include/access/sysattr.h                       |    29 +
 src/include/access/table.h                         |    28 +
 src/include/access/tableam.h                       |  2075 +
 src/include/access/timeline.h                      |    44 +
 src/include/access/toast_compression.h             |    73 +
 src/include/access/toast_helper.h                  |   116 +
 src/include/access/toast_internals.h               |    63 +
 src/include/access/transam.h                       |   370 +
 src/include/access/tsmapi.h                        |    82 +
 src/include/access/tupconvert.h                    |    51 +
 src/include/access/tupdesc.h                       |   154 +
 src/include/access/tupdesc_details.h               |    28 +
 src/include/access/tupmacs.h                       |   247 +
 src/include/access/twophase.h                      |    63 +
 src/include/access/twophase_rmgr.h                 |    40 +
 src/include/access/valid.h                         |    69 +
 src/include/access/visibilitymap.h                 |    42 +
 src/include/access/visibilitymapdefs.h             |    25 +
 src/include/access/xact.h                          |   476 +
 src/include/access/xlog.h                          |   406 +
 src/include/access/xlog_internal.h                 |   336 +
 src/include/access/xlogarchive.h                   |    35 +
 src/include/access/xlogdefs.h                      |   116 +
 src/include/access/xloginsert.h                    |    66 +
 src/include/access/xlogreader.h                    |   340 +
 src/include/access/xlogrecord.h                    |   229 +
 src/include/access/xlogutils.h                     |    63 +
 src/include/ag_const.h                             |    43 +
 src/include/bootstrap/bootstrap.h                  |    62 +
 src/include/c.h                                    |  1364 +
 src/include/catalog/.gitignore                     |     5 +
 src/include/catalog/Makefile                       |    28 +
 src/include/catalog/ag_edge.h                      |    59 +
 src/include/catalog/ag_graph.h                     |    57 +
 src/include/catalog/ag_graph_fn.h                  |    40 +
 src/include/catalog/ag_graphmeta.h                 |    83 +
 src/include/catalog/ag_graphpath.h                 |    56 +
 src/include/catalog/ag_label.h                     |    72 +
 src/include/catalog/ag_label_fn.h                  |    36 +
 src/include/catalog/ag_vertex.h                    |    57 +
 src/include/catalog/binary_upgrade.h               |    34 +
 src/include/catalog/catalog.h                      |    42 +
 src/include/catalog/catversion.h                   |    58 +
 src/include/catalog/dependency.h                   |   277 +
 src/include/catalog/duplicate_oids                 |    49 +
 src/include/catalog/genbki.h                       |   130 +
 src/include/catalog/heap.h                         |   164 +
 src/include/catalog/index.h                        |   217 +
 src/include/catalog/indexing.h                     |    54 +
 src/include/catalog/namespace.h                    |   190 +
 src/include/catalog/objectaccess.h                 |   197 +
 src/include/catalog/objectaddress.h                |    89 +
 src/include/catalog/partition.h                    |    34 +
 src/include/catalog/pg_aggregate.dat               |   618 +
 src/include/catalog/pg_aggregate.h                 |   181 +
 src/include/catalog/pg_am.dat                      |    37 +
 src/include/catalog/pg_am.h                        |    65 +
 src/include/catalog/pg_amop.dat                    |  3313 ++
 src/include/catalog/pg_amop.h                      |   105 +
 src/include/catalog/pg_amproc.dat                  |  2031 +
 src/include/catalog/pg_amproc.h                    |    75 +
 src/include/catalog/pg_attrdef.h                   |    59 +
 src/include/catalog/pg_attribute.h                 |   223 +
 src/include/catalog/pg_auth_members.h              |    50 +
 src/include/catalog/pg_authid.dat                  |    83 +
 src/include/catalog/pg_authid.h                    |    67 +
 src/include/catalog/pg_cast.dat                    |   564 +
 src/include/catalog/pg_cast.h                      |   104 +
 src/include/catalog/pg_class.dat                   |    36 +
 src/include/catalog/pg_class.h                     |   207 +
 src/include/catalog/pg_collation.dat               |    28 +
 src/include/catalog/pg_collation.h                 |    84 +
 src/include/catalog/pg_constraint.h                |   269 +
 src/include/catalog/pg_control.h                   |   252 +
 src/include/catalog/pg_conversion.dat              |   405 +
 src/include/catalog/pg_conversion.h                |    78 +
 src/include/catalog/pg_database.dat                |    22 +
 src/include/catalog/pg_database.h                  |    92 +
 src/include/catalog/pg_db_role_setting.h           |    64 +
 src/include/catalog/pg_default_acl.h               |    74 +
 src/include/catalog/pg_depend.h                    |    80 +
 src/include/catalog/pg_description.h               |    74 +
 src/include/catalog/pg_enum.h                      |    69 +
 src/include/catalog/pg_event_trigger.h             |    59 +
 src/include/catalog/pg_extension.h                 |    61 +
 src/include/catalog/pg_foreign_data_wrapper.h      |    60 +
 src/include/catalog/pg_foreign_server.h            |    57 +
 src/include/catalog/pg_foreign_table.h             |    50 +
 src/include/catalog/pg_index.h                     |    91 +
 src/include/catalog/pg_inherits.h                  |    70 +
 src/include/catalog/pg_init_privs.h                |    84 +
 src/include/catalog/pg_language.dat                |    25 +
 src/include/catalog/pg_language.h                  |    74 +
 src/include/catalog/pg_largeobject.h               |    54 +
 src/include/catalog/pg_largeobject_metadata.h      |    52 +
 src/include/catalog/pg_namespace.dat               |    25 +
 src/include/catalog/pg_namespace.h                 |    66 +
 src/include/catalog/pg_opclass.dat                 |   504 +
 src/include/catalog/pg_opclass.h                   |    90 +
 src/include/catalog/pg_operator.dat                |  3621 ++
 src/include/catalog/pg_operator.h                  |   109 +
 src/include/catalog/pg_opfamily.dat                |   322 +
 src/include/catalog/pg_opfamily.h                  |    65 +
 src/include/catalog/pg_partitioned_table.h         |    75 +
 src/include/catalog/pg_policy.h                    |    60 +
 src/include/catalog/pg_proc.dat                    | 12044 +++++
 src/include/catalog/pg_proc.h                      |   222 +
 src/include/catalog/pg_publication.h               |   123 +
 src/include/catalog/pg_publication_rel.h           |    48 +
 src/include/catalog/pg_range.dat                   |    34 +
 src/include/catalog/pg_range.h                     |    76 +
 src/include/catalog/pg_replication_origin.h        |    66 +
 src/include/catalog/pg_rewrite.h                   |    61 +
 src/include/catalog/pg_seclabel.h                  |    46 +
 src/include/catalog/pg_sequence.h                  |    45 +
 src/include/catalog/pg_shdepend.h                  |    80 +
 src/include/catalog/pg_shdescription.h             |    68 +
 src/include/catalog/pg_shseclabel.h                |    49 +
 src/include/catalog/pg_statistic.h                 |   283 +
 src/include/catalog/pg_statistic_ext.h             |    91 +
 src/include/catalog/pg_statistic_ext_data.h        |    59 +
 src/include/catalog/pg_subscription.h              |   110 +
 src/include/catalog/pg_subscription_rel.h          |    94 +
 src/include/catalog/pg_tablespace.dat              |    20 +
 src/include/catalog/pg_tablespace.h                |    59 +
 src/include/catalog/pg_transform.h                 |    50 +
 src/include/catalog/pg_trigger.h                   |   156 +
 src/include/catalog/pg_ts_config.dat               |    18 +
 src/include/catalog/pg_ts_config.h                 |    55 +
 src/include/catalog/pg_ts_config_map.dat           |    54 +
 src/include/catalog/pg_ts_config_map.h             |    50 +
 src/include/catalog/pg_ts_dict.dat                 |    19 +
 src/include/catalog/pg_ts_dict.h                   |    61 +
 src/include/catalog/pg_ts_parser.dat               |    20 +
 src/include/catalog/pg_ts_parser.h                 |    62 +
 src/include/catalog/pg_ts_template.dat             |    30 +
 src/include/catalog/pg_ts_template.h               |    53 +
 src/include/catalog/pg_type.dat                    |   750 +
 src/include/catalog/pg_type.h                      |   405 +
 src/include/catalog/pg_user_mapping.h              |    57 +
 src/include/catalog/reformat_dat_file.pl           |   312 +
 src/include/catalog/renumber_oids.pl               |   278 +
 src/include/catalog/storage.h                      |    48 +
 src/include/catalog/storage_xlog.h                 |    59 +
 src/include/catalog/toasting.h                     |    30 +
 src/include/catalog/unused_oids                    |    78 +
 src/include/commands/alter.h                       |    35 +
 src/include/commands/async.h                       |    54 +
 src/include/commands/cluster.h                     |    49 +
 src/include/commands/collationcmds.h               |    25 +
 src/include/commands/comment.h                     |    45 +
 src/include/commands/conversioncmds.h              |    23 +
 src/include/commands/copy.h                        |    89 +
 src/include/commands/copyfrom_internal.h           |   172 +
 src/include/commands/createas.h                    |    34 +
 src/include/commands/dbcommands.h                  |    35 +
 src/include/commands/dbcommands_xlog.h             |    45 +
 src/include/commands/defrem.h                      |   157 +
 src/include/commands/discard.h                     |    20 +
 src/include/commands/event_trigger.h               |    87 +
 src/include/commands/explain.h                     |   127 +
 src/include/commands/extension.h                   |    55 +
 src/include/commands/graphcmds.h                   |    57 +
 src/include/commands/lockcmds.h                    |    24 +
 src/include/commands/matview.h                     |    33 +
 src/include/commands/policy.h                      |    38 +
 src/include/commands/portalcmds.h                  |    34 +
 src/include/commands/prepare.h                     |    61 +
 src/include/commands/proclang.h                    |    23 +
 src/include/commands/progress.h                    |   154 +
 src/include/commands/publicationcmds.h             |    34 +
 src/include/commands/schemacmds.h                  |    29 +
 src/include/commands/seclabel.h                    |    34 +
 src/include/commands/sequence.h                    |    69 +
 src/include/commands/subscriptioncmds.h            |    29 +
 src/include/commands/tablecmds.h                   |   106 +
 src/include/commands/tablespace.h                  |    69 +
 src/include/commands/trigger.h                     |   277 +
 src/include/commands/typecmds.h                    |    61 +
 src/include/commands/user.h                        |    37 +
 src/include/commands/vacuum.h                      |   297 +
 src/include/commands/variable.h                    |    38 +
 src/include/commands/view.h                        |    25 +
 src/include/common/archive.h                       |    21 +
 src/include/common/base64.h                        |    19 +
 src/include/common/checksum_helper.h               |    72 +
 src/include/common/config_info.h                   |    21 +
 src/include/common/connect.h                       |    28 +
 src/include/common/controldata_utils.h             |    19 +
 src/include/common/cryptohash.h                    |    38 +
 src/include/common/fe_memutils.h                   |    73 +
 src/include/common/file_perm.h                     |    56 +
 src/include/common/file_utils.h                    |    40 +
 src/include/common/hashfn.h                        |   104 +
 src/include/common/hmac.h                          |    29 +
 src/include/common/int.h                           |   437 +
 src/include/common/int128.h                        |   276 +
 src/include/common/ip.h                            |    37 +
 src/include/common/jsonapi.h                       |   169 +
 src/include/common/keywords.h                      |    35 +
 src/include/common/kwlookup.h                      |    44 +
 src/include/common/link-canary.h                   |    17 +
 src/include/common/logging.h                       |    96 +
 src/include/common/md5.h                           |    34 +
 src/include/common/openssl.h                       |    49 +
 src/include/common/pg_lzcompress.h                 |    93 +
 src/include/common/relpath.h                       |    90 +
 src/include/common/restricted_token.h              |    24 +
 src/include/common/saslprep.h                      |    30 +
 src/include/common/scram-common.h                  |    58 +
 src/include/common/sha1.h                          |    21 +
 src/include/common/sha2.h                          |    32 +
 src/include/common/shortest_dec.h                  |    63 +
 src/include/common/string.h                        |    31 +
 src/include/common/unicode_combining_table.h       |   196 +
 src/include/common/unicode_norm.h                  |    39 +
 src/include/common/unicode_norm_hashfunc.h         |  2932 ++
 src/include/common/unicode_norm_table.h            |  8937 ++++
 src/include/common/unicode_normprops_table.h       |  7775 +++
 src/include/common/username.h                      |    15 +
 src/include/datatype/timestamp.h                   |   197 +
 src/include/executor/execAsync.h                   |    25 +
 src/include/executor/execCypherCreate.h            |    33 +
 src/include/executor/execCypherDelete.h            |    32 +
 src/include/executor/execCypherMerge.h             |    33 +
 src/include/executor/execCypherSet.h               |    41 +
 src/include/executor/execExpr.h                    |   892 +
 src/include/executor/execGraphVle.h                |    35 +
 src/include/executor/execParallel.h                |    51 +
 src/include/executor/execPartition.h               |   128 +
 src/include/executor/execdebug.h                   |   130 +
 src/include/executor/execdesc.h                    |    70 +
 src/include/executor/executor.h                    |   661 +
 src/include/executor/functions.h                   |    55 +
 src/include/executor/hashjoin.h                    |   362 +
 src/include/executor/instrument.h                  |   116 +
 src/include/executor/nodeAgg.h                     |   333 +
 src/include/executor/nodeAppend.h                  |    30 +
 src/include/executor/nodeBitmapAnd.h               |    24 +
 src/include/executor/nodeBitmapHeapscan.h          |    32 +
 src/include/executor/nodeBitmapIndexscan.h         |    24 +
 src/include/executor/nodeBitmapOr.h                |    24 +
 src/include/executor/nodeCtescan.h                 |    23 +
 src/include/executor/nodeCustom.h                  |    42 +
 src/include/executor/nodeDijkstra.h                |    34 +
 src/include/executor/nodeForeignscan.h             |    38 +
 src/include/executor/nodeFunctionscan.h            |    23 +
 src/include/executor/nodeGather.h                  |    24 +
 src/include/executor/nodeGatherMerge.h             |    26 +
 src/include/executor/nodeGroup.h                   |    23 +
 src/include/executor/nodeHash.h                    |    79 +
 src/include/executor/nodeHash2Side.h               |    82 +
 src/include/executor/nodeHashjoin.h                |    34 +
 src/include/executor/nodeIncrementalSort.h         |    28 +
 src/include/executor/nodeIndexonlyscan.h           |    36 +
 src/include/executor/nodeIndexscan.h               |    48 +
 src/include/executor/nodeLimit.h                   |    23 +
 src/include/executor/nodeLockRows.h                |    23 +
 src/include/executor/nodeMaterial.h                |    25 +
 src/include/executor/nodeMemoize.h                 |    32 +
 src/include/executor/nodeMergeAppend.h             |    23 +
 src/include/executor/nodeMergejoin.h               |    23 +
 src/include/executor/nodeModifyGraph.h             |    68 +
 src/include/executor/nodeModifyTable.h             |    26 +
 src/include/executor/nodeNamedtuplestorescan.h     |    23 +
 src/include/executor/nodeNestloop.h                |    23 +
 src/include/executor/nodeProjectSet.h              |    23 +
 src/include/executor/nodeRecursiveunion.h          |    23 +
 src/include/executor/nodeResult.h                  |    25 +
 src/include/executor/nodeSamplescan.h              |    23 +
 src/include/executor/nodeSeqscan.h                 |    31 +
 src/include/executor/nodeSetOp.h                   |    23 +
 src/include/executor/nodeShortestpath.h            |    46 +
 src/include/executor/nodeSort.h                    |    32 +
 src/include/executor/nodeSubplan.h                 |    29 +
 src/include/executor/nodeSubqueryscan.h            |    23 +
 src/include/executor/nodeTableFuncscan.h           |    23 +
 src/include/executor/nodeTidrangescan.h            |    24 +
 src/include/executor/nodeTidscan.h                 |    23 +
 src/include/executor/nodeUnique.h                  |    23 +
 src/include/executor/nodeValuesscan.h              |    23 +
 src/include/executor/nodeWindowAgg.h               |    23 +
 src/include/executor/nodeWorktablescan.h           |    23 +
 src/include/executor/spi.h                         |   214 +
 src/include/executor/spi_priv.h                    |   105 +
 src/include/executor/tablefunc.h                   |    67 +
 src/include/executor/tqueue.h                      |    32 +
 src/include/executor/tstoreReceiver.h              |    31 +
 src/include/executor/tuptable.h                    |   487 +
 src/include/fe_utils/archive.h                     |    21 +
 src/include/fe_utils/cancel.h                      |    32 +
 src/include/fe_utils/conditional.h                 |   100 +
 src/include/fe_utils/connect_utils.h               |    48 +
 src/include/fe_utils/mbprint.h                     |    29 +
 src/include/fe_utils/option_utils.h                |    23 +
 src/include/fe_utils/parallel_slot.h               |    77 +
 src/include/fe_utils/print.h                       |   219 +
 src/include/fe_utils/psqlscan.h                    |    90 +
 src/include/fe_utils/psqlscan_int.h                |   157 +
 src/include/fe_utils/query_utils.h                 |    26 +
 src/include/fe_utils/recovery_gen.h                |    28 +
 src/include/fe_utils/simple_list.h                 |    70 +
 src/include/fe_utils/string_utils.h                |    65 +
 src/include/fmgr.h                                 |   777 +
 src/include/foreign/fdwapi.h                       |   294 +
 src/include/foreign/foreign.h                      |    84 +
 src/include/funcapi.h                              |   348 +
 src/include/getaddrinfo.h                          |   162 +
 src/include/getopt_long.h                          |    36 +
 src/include/jit/jit.h                              |   105 +
 src/include/jit/llvmjit.h                          |   142 +
 src/include/jit/llvmjit_emit.h                     |   274 +
 src/include/lib/binaryheap.h                       |    54 +
 src/include/lib/bipartite_match.h                  |    46 +
 src/include/lib/bloomfilter.h                      |    27 +
 src/include/lib/dshash.h                           |    90 +
 src/include/lib/hyperloglog.h                      |    68 +
 src/include/lib/ilist.h                            |   746 +
 src/include/lib/integerset.h                       |    24 +
 src/include/lib/knapsack.h                         |    16 +
 src/include/lib/pairingheap.h                      |   102 +
 src/include/lib/qunique.h                          |    67 +
 src/include/lib/rbtree.h                           |    79 +
 src/include/lib/simplehash.h                       |  1185 +
 src/include/lib/sort_template.h                    |   431 +
 src/include/lib/stringinfo.h                       |   161 +
 src/include/libpq/auth.h                           |    29 +
 src/include/libpq/be-fsstubs.h                     |    32 +
 src/include/libpq/be-gssapi-common.h               |    30 +
 src/include/libpq/crypt.h                          |    46 +
 src/include/libpq/hba.h                            |   147 +
 src/include/libpq/ifaddr.h                         |    30 +
 src/include/libpq/libpq-be.h                       |   344 +
 src/include/libpq/libpq-fs.h                       |    24 +
 src/include/libpq/libpq.h                          |   143 +
 src/include/libpq/pqcomm.h                         |   194 +
 src/include/libpq/pqformat.h                       |   210 +
 src/include/libpq/pqmq.h                           |    24 +
 src/include/libpq/pqsignal.h                       |    42 +
 src/include/libpq/scram.h                          |    37 +
 src/include/mb/pg_wchar.h                          |   702 +
 src/include/mb/stringinfo_mb.h                     |    24 +
 src/include/miscadmin.h                            |   494 +
 src/include/nodes/bitmapset.h                      |   122 +
 src/include/nodes/execnodes.h                      |  2816 ++
 src/include/nodes/extensible.h                     |   160 +
 src/include/nodes/graphnodes.h                     |    87 +
 src/include/nodes/lockoptions.h                    |    61 +
 src/include/nodes/makefuncs.h                      |   109 +
 src/include/nodes/memnodes.h                       |   110 +
 src/include/nodes/nodeFuncs.h                      |   166 +
 src/include/nodes/nodes.h                          |   937 +
 src/include/nodes/params.h                         |   170 +
 src/include/nodes/parsenodes.h                     |  4028 ++
 src/include/nodes/pathnodes.h                      |  2777 ++
 src/include/nodes/pg_list.h                        |   611 +
 src/include/nodes/plannodes.h                      |  1383 +
 src/include/nodes/primnodes.h                      |  1644 +
 src/include/nodes/print.h                          |    34 +
 src/include/nodes/readfuncs.h                      |    38 +
 src/include/nodes/replnodes.h                      |   109 +
 src/include/nodes/subscripting.h                   |   167 +
 src/include/nodes/supportnodes.h                   |   242 +
 src/include/nodes/tidbitmap.h                      |    75 +
 src/include/nodes/value.h                          |    61 +
 src/include/optimizer/appendinfo.h                 |    50 +
 src/include/optimizer/clauses.h                    |    58 +
 src/include/optimizer/cost.h                       |   217 +
 src/include/optimizer/geqo.h                       |    88 +
 src/include/optimizer/geqo_copy.h                  |    30 +
 src/include/optimizer/geqo_gene.h                  |    45 +
 src/include/optimizer/geqo_misc.h                  |    34 +
 src/include/optimizer/geqo_mutation.h              |    30 +
 src/include/optimizer/geqo_pool.h                  |    40 +
 src/include/optimizer/geqo_random.h                |    41 +
 src/include/optimizer/geqo_recombination.h         |    89 +
 src/include/optimizer/geqo_selection.h             |    33 +
 src/include/optimizer/inherit.h                    |    27 +
 src/include/optimizer/joininfo.h                   |    30 +
 src/include/optimizer/optimizer.h                  |   200 +
 src/include/optimizer/orclauses.h                  |    21 +
 src/include/optimizer/paramassign.h                |    34 +
 src/include/optimizer/pathnode.h                   |   367 +
 src/include/optimizer/paths.h                      |   270 +
 src/include/optimizer/placeholder.h                |    32 +
 src/include/optimizer/plancat.h                    |    77 +
 src/include/optimizer/planmain.h                   |   130 +
 src/include/optimizer/planner.h                    |    61 +
 src/include/optimizer/prep.h                       |    56 +
 src/include/optimizer/restrictinfo.h               |    49 +
 src/include/optimizer/subselect.h                  |    40 +
 src/include/optimizer/tlist.h                      |    56 +
 src/include/parser/.gitignore                      |     1 +
 src/include/parser/analyze.h                       |    53 +
 src/include/parser/gramparse.h                     |    75 +
 src/include/parser/kwlist.h                        |   501 +
 src/include/parser/parse_agg.h                     |    68 +
 src/include/parser/parse_clause.h                  |    58 +
 src/include/parser/parse_coerce.h                  |   100 +
 src/include/parser/parse_collate.h                 |    27 +
 src/include/parser/parse_cte.h                     |    24 +
 src/include/parser/parse_cypher_expr.h             |    60 +
 src/include/parser/parse_cypher_utils.h            |    71 +
 src/include/parser/parse_enr.h                     |    22 +
 src/include/parser/parse_expr.h                    |    25 +
 src/include/parser/parse_func.h                    |    74 +
 src/include/parser/parse_graph.h                   |    52 +
 src/include/parser/parse_node.h                    |   357 +
 src/include/parser/parse_oper.h                    |    65 +
 src/include/parser/parse_param.h                   |    25 +
 src/include/parser/parse_relation.h                |   128 +
 src/include/parser/parse_shortestpath.h            |    37 +
 src/include/parser/parse_target.h                  |    58 +
 src/include/parser/parse_type.h                    |    60 +
 src/include/parser/parse_utilcmd.h                 |    59 +
 src/include/parser/parser.h                        |    68 +
 src/include/parser/parsetree.h                     |    61 +
 src/include/parser/scanner.h                       |   150 +
 src/include/parser/scansup.h                       |    27 +
 src/include/partitioning/partbounds.h              |   128 +
 src/include/partitioning/partdefs.h                |    26 +
 src/include/partitioning/partdesc.h                |    50 +
 src/include/partitioning/partprune.h               |    79 +
 src/include/pg_config.h.in                         |  1028 +
 src/include/pg_config_ext.h.in                     |     7 +
 src/include/pg_config_manual.h                     |   404 +
 src/include/pg_getopt.h                            |    56 +
 src/include/pg_trace.h                             |    17 +
 src/include/pgstat.h                               |  1121 +
 src/include/pgtar.h                                |    45 +
 src/include/pgtime.h                               |    84 +
 src/include/port.h                                 |   562 +
 src/include/port/aix.h                             |    14 +
 src/include/port/atomics.h                         |   524 +
 src/include/port/atomics/arch-arm.h                |    26 +
 src/include/port/atomics/arch-hppa.h               |    17 +
 src/include/port/atomics/arch-ia64.h               |    29 +
 src/include/port/atomics/arch-ppc.h                |   254 +
 src/include/port/atomics/arch-x86.h                |   252 +
 src/include/port/atomics/fallback.h                |   170 +
 src/include/port/atomics/generic-acc.h             |   106 +
 src/include/port/atomics/generic-gcc.h             |   286 +
 src/include/port/atomics/generic-msvc.h            |   101 +
 src/include/port/atomics/generic-sunpro.h          |   106 +
 src/include/port/atomics/generic.h                 |   401 +
 src/include/port/cygwin.h                          |    17 +
 src/include/port/darwin.h                          |     8 +
 src/include/port/freebsd.h                         |    10 +
 src/include/port/hpux.h                            |     3 +
 src/include/port/linux.h                           |    22 +
 src/include/port/netbsd.h                          |     1 +
 src/include/port/openbsd.h                         |     1 +
 src/include/port/pg_bitutils.h                     |   272 +
 src/include/port/pg_bswap.h                        |   161 +
 src/include/port/pg_crc32c.h                       |   101 +
 src/include/port/pg_iovec.h                        |    54 +
 src/include/port/pg_pthread.h                      |    41 +
 src/include/port/solaris.h                         |    26 +
 src/include/port/win32.h                           |    69 +
 src/include/port/win32/arpa/inet.h                 |     3 +
 src/include/port/win32/dlfcn.h                     |     1 +
 src/include/port/win32/grp.h                       |     1 +
 src/include/port/win32/netdb.h                     |     1 +
 src/include/port/win32/netinet/in.h                |     3 +
 src/include/port/win32/pwd.h                       |     3 +
 src/include/port/win32/sys/socket.h                |    33 +
 src/include/port/win32/sys/wait.h                  |     3 +
 src/include/port/win32_msvc/dirent.h               |    34 +
 src/include/port/win32_msvc/sys/file.h             |     1 +
 src/include/port/win32_msvc/sys/param.h            |     1 +
 src/include/port/win32_msvc/sys/time.h             |     1 +
 src/include/port/win32_msvc/unistd.h               |     1 +
 src/include/port/win32_msvc/utime.h                |     3 +
 src/include/port/win32_port.h                      |   546 +
 src/include/portability/instr_time.h               |   256 +
 src/include/portability/mem.h                      |    48 +
 src/include/postgres.h                             |   808 +
 src/include/postgres_ext.h                         |    74 +
 src/include/postgres_fe.h                          |    29 +
 src/include/postmaster/autovacuum.h                |    83 +
 src/include/postmaster/bgworker.h                  |   161 +
 src/include/postmaster/bgworker_internals.h        |    64 +
 src/include/postmaster/bgwriter.h                  |    45 +
 src/include/postmaster/fork_process.h              |    17 +
 src/include/postmaster/interrupt.h                 |    32 +
 src/include/postmaster/pgarch.h                    |    35 +
 src/include/postmaster/postmaster.h                |    78 +
 src/include/postmaster/startup.h                   |    22 +
 src/include/postmaster/syslogger.h                 |    98 +
 src/include/postmaster/walwriter.h                 |    21 +
 src/include/regex/regcustom.h                      |   104 +
 src/include/regex/regerrs.h                        |    87 +
 src/include/regex/regex.h                          |   186 +
 src/include/regex/regexport.h                      |    61 +
 src/include/regex/regguts.h                        |   546 +
 src/include/replication/backup_manifest.h          |    53 +
 src/include/replication/basebackup.h               |    39 +
 src/include/replication/decode.h                   |    20 +
 src/include/replication/logical.h                  |   137 +
 src/include/replication/logicallauncher.h          |    29 +
 src/include/replication/logicalproto.h             |   177 +
 src/include/replication/logicalrelation.h          |    50 +
 src/include/replication/logicalworker.h            |    19 +
 src/include/replication/message.h                  |    41 +
 src/include/replication/origin.h                   |    73 +
 src/include/replication/output_plugin.h            |   248 +
 src/include/replication/pgoutput.h                 |    32 +
 src/include/replication/reorderbuffer.h            |   681 +
 src/include/replication/slot.h                     |   227 +
 src/include/replication/snapbuild.h                |    96 +
 src/include/replication/syncrep.h                  |   115 +
 src/include/replication/walreceiver.h              |   469 +
 src/include/replication/walsender.h                |    74 +
 src/include/replication/walsender_private.h        |   128 +
 src/include/replication/worker_internal.h          |    99 +
 src/include/rewrite/prs2lock.h                     |    46 +
 src/include/rewrite/rewriteDefine.h                |    44 +
 src/include/rewrite/rewriteHandler.h               |    38 +
 src/include/rewrite/rewriteManip.h                 |    87 +
 src/include/rewrite/rewriteRemove.h                |    21 +
 src/include/rewrite/rewriteSearchCycle.h           |    21 +
 src/include/rewrite/rewriteSupport.h               |    26 +
 src/include/rewrite/rowsecurity.h                  |    49 +
 src/include/rusagestub.h                           |    34 +
 src/include/snowball/header.h                      |    67 +
 src/include/snowball/libstemmer/api.h              |    32 +
 src/include/snowball/libstemmer/header.h           |    61 +
 .../snowball/libstemmer/stem_ISO_8859_1_basque.h   |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_catalan.h  |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_danish.h   |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_dutch.h    |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_english.h  |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_finnish.h  |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_french.h   |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_german.h   |    15 +
 .../libstemmer/stem_ISO_8859_1_indonesian.h        |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_irish.h    |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_italian.h  |    15 +
 .../libstemmer/stem_ISO_8859_1_norwegian.h         |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_porter.h   |    15 +
 .../libstemmer/stem_ISO_8859_1_portuguese.h        |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_spanish.h  |    15 +
 .../snowball/libstemmer/stem_ISO_8859_1_swedish.h  |    15 +
 .../libstemmer/stem_ISO_8859_2_hungarian.h         |    15 +
 .../snowball/libstemmer/stem_ISO_8859_2_romanian.h |    15 +
 .../snowball/libstemmer/stem_KOI8_R_russian.h      |    15 +
 .../snowball/libstemmer/stem_UTF_8_arabic.h        |    15 +
 .../snowball/libstemmer/stem_UTF_8_armenian.h      |    15 +
 .../snowball/libstemmer/stem_UTF_8_basque.h        |    15 +
 .../snowball/libstemmer/stem_UTF_8_catalan.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_danish.h        |    15 +
 src/include/snowball/libstemmer/stem_UTF_8_dutch.h |    15 +
 .../snowball/libstemmer/stem_UTF_8_english.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_finnish.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_french.h        |    15 +
 .../snowball/libstemmer/stem_UTF_8_german.h        |    15 +
 src/include/snowball/libstemmer/stem_UTF_8_greek.h |    15 +
 src/include/snowball/libstemmer/stem_UTF_8_hindi.h |    15 +
 .../snowball/libstemmer/stem_UTF_8_hungarian.h     |    15 +
 .../snowball/libstemmer/stem_UTF_8_indonesian.h    |    15 +
 src/include/snowball/libstemmer/stem_UTF_8_irish.h |    15 +
 .../snowball/libstemmer/stem_UTF_8_italian.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_lithuanian.h    |    15 +
 .../snowball/libstemmer/stem_UTF_8_nepali.h        |    15 +
 .../snowball/libstemmer/stem_UTF_8_norwegian.h     |    15 +
 .../snowball/libstemmer/stem_UTF_8_porter.h        |    15 +
 .../snowball/libstemmer/stem_UTF_8_portuguese.h    |    15 +
 .../snowball/libstemmer/stem_UTF_8_romanian.h      |    15 +
 .../snowball/libstemmer/stem_UTF_8_russian.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_serbian.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_spanish.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_swedish.h       |    15 +
 src/include/snowball/libstemmer/stem_UTF_8_tamil.h |    15 +
 .../snowball/libstemmer/stem_UTF_8_turkish.h       |    15 +
 .../snowball/libstemmer/stem_UTF_8_yiddish.h       |    15 +
 src/include/statistics/extended_stats_internal.h   |   130 +
 src/include/statistics/statistics.h                |   129 +
 src/include/storage/.gitignore                     |     1 +
 src/include/storage/backendid.h                    |    37 +
 src/include/storage/barrier.h                      |    46 +
 src/include/storage/block.h                        |   121 +
 src/include/storage/buf.h                          |    46 +
 src/include/storage/buf_internals.h                |   345 +
 src/include/storage/buffile.h                      |    56 +
 src/include/storage/bufmgr.h                       |   294 +
 src/include/storage/bufpage.h                      |   457 +
 src/include/storage/checksum.h                     |    24 +
 src/include/storage/checksum_impl.h                |   215 +
 src/include/storage/condition_variable.h           |    73 +
 src/include/storage/copydir.h                      |    19 +
 src/include/storage/dsm.h                          |    64 +
 src/include/storage/dsm_impl.h                     |    76 +
 src/include/storage/fd.h                           |   181 +
 src/include/storage/freespace.h                    |    39 +
 src/include/storage/fsm_internals.h                |    72 +
 src/include/storage/indexfsm.h                     |    26 +
 src/include/storage/ipc.h                          |    82 +
 src/include/storage/item.h                         |    19 +
 src/include/storage/itemid.h                       |   184 +
 src/include/storage/itemptr.h                      |   208 +
 src/include/storage/large_object.h                 |   100 +
 src/include/storage/latch.h                        |   184 +
 src/include/storage/lmgr.h                         |   114 +
 src/include/storage/lock.h                         |   616 +
 src/include/storage/lockdefs.h                     |    59 +
 src/include/storage/lwlock.h                       |   203 +
 src/include/storage/md.h                           |    52 +
 src/include/storage/off.h                          |    57 +
 src/include/storage/pg_sema.h                      |    61 +
 src/include/storage/pg_shmem.h                     |    91 +
 src/include/storage/pmsignal.h                     |   105 +
 src/include/storage/predicate.h                    |    87 +
 src/include/storage/predicate_internals.h          |   493 +
 src/include/storage/proc.h                         |   435 +
 src/include/storage/procarray.h                    |   101 +
 src/include/storage/proclist.h                     |   219 +
 src/include/storage/proclist_types.h               |    51 +
 src/include/storage/procsignal.h                   |    76 +
 src/include/storage/reinit.h                       |    28 +
 src/include/storage/relfilenode.h                  |    99 +
 src/include/storage/s_lock.h                       |  1093 +
 src/include/storage/sharedfileset.h                |    47 +
 src/include/storage/shm_mq.h                       |    85 +
 src/include/storage/shm_toc.h                      |    58 +
 src/include/storage/shmem.h                        |    81 +
 src/include/storage/sinval.h                       |   153 +
 src/include/storage/sinvaladt.h                    |    43 +
 src/include/storage/smgr.h                         |   108 +
 src/include/storage/spin.h                         |    77 +
 src/include/storage/standby.h                      |    98 +
 src/include/storage/standbydefs.h                  |    74 +
 src/include/storage/sync.h                         |    67 +
 src/include/tcop/cmdtag.h                          |    58 +
 src/include/tcop/cmdtaglist.h                      |   230 +
 src/include/tcop/deparse_utility.h                 |   108 +
 src/include/tcop/dest.h                            |   149 +
 src/include/tcop/fastpath.h                        |    20 +
 src/include/tcop/pquery.h                          |    51 +
 src/include/tcop/tcopprot.h                        |    91 +
 src/include/tcop/utility.h                         |   112 +
 src/include/tsearch/dicts/regis.h                  |    49 +
 src/include/tsearch/dicts/spell.h                  |   247 +
 src/include/tsearch/ts_cache.h                     |    98 +
 src/include/tsearch/ts_locale.h                    |    63 +
 src/include/tsearch/ts_public.h                    |   132 +
 src/include/tsearch/ts_type.h                      |   242 +
 src/include/tsearch/ts_utils.h                     |   266 +
 src/include/utils/.gitignore                       |     5 +
 src/include/utils/acl.h                            |   325 +
 src/include/utils/aclchk_internal.h                |    45 +
 src/include/utils/array.h                          |   464 +
 src/include/utils/arrayaccess.h                    |   118 +
 src/include/utils/ascii.h                          |    16 +
 src/include/utils/attoptcache.h                    |    28 +
 src/include/utils/backend_progress.h               |    44 +
 src/include/utils/backend_status.h                 |   321 +
 src/include/utils/builtins.h                       |   131 +
 src/include/utils/bytea.h                          |    27 +
 src/include/utils/cash.h                           |    25 +
 src/include/utils/catcache.h                       |   231 +
 src/include/utils/combocid.h                       |    28 +
 src/include/utils/cypher_empty_funcs.h             |    33 +
 src/include/utils/cypher_funcs.h                   |    92 +
 src/include/utils/cypher_ops.h                     |    43 +
 src/include/utils/date.h                           |    90 +
 src/include/utils/datetime.h                       |   343 +
 src/include/utils/datum.h                          |    76 +
 src/include/utils/dsa.h                            |   123 +
 src/include/utils/dynahash.h                       |    19 +
 src/include/utils/elog.h                           |   456 +
 src/include/utils/evtcache.h                       |    37 +
 src/include/utils/expandeddatum.h                  |   159 +
 src/include/utils/expandedrecord.h                 |   231 +
 src/include/utils/float.h                          |   356 +
 src/include/utils/fmgrtab.h                        |    48 +
 src/include/utils/formatting.h                     |    33 +
 src/include/utils/freepage.h                       |    99 +
 src/include/utils/geo_decls.h                      |   221 +
 src/include/utils/graph.h                          |   197 +
 src/include/utils/guc.h                            |   447 +
 src/include/utils/guc_tables.h                     |   267 +
 src/include/utils/help_config.h                    |    17 +
 src/include/utils/hsearch.h                        |   153 +
 src/include/utils/index_selfuncs.h                 |    74 +
 src/include/utils/inet.h                           |   149 +
 src/include/utils/int8.h                           |    25 +
 src/include/utils/inval.h                          |    68 +
 src/include/utils/json.h                           |    24 +
 src/include/utils/jsonb.h                          |   415 +
 src/include/utils/jsonfuncs.h                      |    58 +
 src/include/utils/jsonpath.h                       |   251 +
 src/include/utils/logtape.h                        |    80 +
 src/include/utils/lsyscache.h                      |   219 +
 src/include/utils/memdebug.h                       |    82 +
 src/include/utils/memutils.h                       |   227 +
 src/include/utils/multirangetypes.h                |   135 +
 src/include/utils/numeric.h                        |    80 +
 src/include/utils/old_snapshot.h                   |    75 +
 src/include/utils/palloc.h                         |   158 +
 src/include/utils/partcache.h                      |   102 +
 src/include/utils/pg_crc.h                         |   107 +
 src/include/utils/pg_locale.h                      |   119 +
 src/include/utils/pg_lsn.h                         |    29 +
 src/include/utils/pg_rusage.h                      |    37 +
 src/include/utils/pidfile.h                        |    56 +
 src/include/utils/plancache.h                      |   236 +
 src/include/utils/portal.h                         |   254 +
 src/include/utils/ps_status.h                      |    25 +
 src/include/utils/queryenvironment.h               |    74 +
 src/include/utils/queryjumble.h                    |    88 +
 src/include/utils/rangetypes.h                     |   151 +
 src/include/utils/regproc.h                        |    39 +
 src/include/utils/rel.h                            |   672 +
 src/include/utils/relcache.h                       |   152 +
 src/include/utils/relfilenodemap.h                 |    18 +
 src/include/utils/relmapper.h                      |    70 +
 src/include/utils/relptr.h                         |    93 +
 src/include/utils/reltrigger.h                     |    81 +
 src/include/utils/resowner.h                       |    86 +
 src/include/utils/resowner_private.h               |   112 +
 src/include/utils/rls.h                            |    50 +
 src/include/utils/ruleutils.h                      |    46 +
 src/include/utils/sampling.h                       |    65 +
 src/include/utils/selfuncs.h                       |   241 +
 src/include/utils/sharedtuplestore.h               |    61 +
 src/include/utils/shortestpath.h                   |    38 +
 src/include/utils/snapmgr.h                        |   179 +
 src/include/utils/snapshot.h                       |   219 +
 src/include/utils/sortsupport.h                    |   277 +
 src/include/utils/spccache.h                       |    21 +
 src/include/utils/syscache.h                       |   227 +
 src/include/utils/timeout.h                        |    90 +
 src/include/utils/timestamp.h                      |   116 +
 src/include/utils/tuplesort.h                      |   281 +
 src/include/utils/tuplestore.h                     |    91 +
 src/include/utils/typcache.h                       |   209 +
 src/include/utils/tzparser.h                       |    39 +
 src/include/utils/uuid.h                           |    31 +
 src/include/utils/varbit.h                         |    74 +
 src/include/utils/varlena.h                        |    39 +
 src/include/utils/wait_event.h                     |   286 +
 src/include/utils/xid8.h                           |    22 +
 src/include/utils/xml.h                            |    84 +
 src/include/windowapi.h                            |    64 +
 src/interfaces/Makefile                            |    20 +
 src/interfaces/ecpg/Makefile                       |    31 +
 src/interfaces/ecpg/README.dynSQL                  |    11 +
 src/interfaces/ecpg/compatlib/.gitignore           |     3 +
 src/interfaces/ecpg/compatlib/Makefile             |    59 +
 src/interfaces/ecpg/compatlib/exports.txt          |    44 +
 src/interfaces/ecpg/compatlib/informix.c           |  1027 +
 src/interfaces/ecpg/ecpglib/.gitignore             |     3 +
 src/interfaces/ecpg/ecpglib/Makefile               |    70 +
 src/interfaces/ecpg/ecpglib/connect.c              |   767 +
 src/interfaces/ecpg/ecpglib/data.c                 |   968 +
 src/interfaces/ecpg/ecpglib/descriptor.c           |  1002 +
 src/interfaces/ecpg/ecpglib/ecpglib_extern.h       |   257 +
 src/interfaces/ecpg/ecpglib/error.c                |   346 +
 src/interfaces/ecpg/ecpglib/execute.c              |  2302 +
 src/interfaces/ecpg/ecpglib/exports.txt            |    31 +
 src/interfaces/ecpg/ecpglib/memory.c               |   174 +
 src/interfaces/ecpg/ecpglib/misc.c                 |   594 +
 src/interfaces/ecpg/ecpglib/nls.mk                 |     6 +
 src/interfaces/ecpg/ecpglib/po/cs.po               |   199 +
 src/interfaces/ecpg/ecpglib/po/de.po               |   206 +
 src/interfaces/ecpg/ecpglib/po/el.po               |   200 +
 src/interfaces/ecpg/ecpglib/po/es.po               |   200 +
 src/interfaces/ecpg/ecpglib/po/fr.po               |   209 +
 src/interfaces/ecpg/ecpglib/po/it.po               |   217 +
 src/interfaces/ecpg/ecpglib/po/ja.po               |   199 +
 src/interfaces/ecpg/ecpglib/po/ko.po               |   198 +
 src/interfaces/ecpg/ecpglib/po/pl.po               |   174 +
 src/interfaces/ecpg/ecpglib/po/pt_BR.po            |   199 +
 src/interfaces/ecpg/ecpglib/po/ru.po               |   204 +
 src/interfaces/ecpg/ecpglib/po/sv.po               |   199 +
 src/interfaces/ecpg/ecpglib/po/tr.po               |   205 +
 src/interfaces/ecpg/ecpglib/po/uk.po               |   200 +
 src/interfaces/ecpg/ecpglib/po/vi.po               |   200 +
 src/interfaces/ecpg/ecpglib/po/zh_CN.po            |   199 +
 src/interfaces/ecpg/ecpglib/prepare.c              |   602 +
 src/interfaces/ecpg/ecpglib/sqlda.c                |   592 +
 src/interfaces/ecpg/ecpglib/typename.c             |   144 +
 src/interfaces/ecpg/include/.gitignore             |     2 +
 src/interfaces/ecpg/include/Makefile               |    35 +
 src/interfaces/ecpg/include/datetime.h             |    14 +
 src/interfaces/ecpg/include/decimal.h              |    13 +
 src/interfaces/ecpg/include/ecpg-pthread-win32.h   |    58 +
 src/interfaces/ecpg/include/ecpg_config.h.in       |    18 +
 src/interfaces/ecpg/include/ecpg_informix.h        |    90 +
 src/interfaces/ecpg/include/ecpgerrno.h            |    79 +
 src/interfaces/ecpg/include/ecpglib.h              |   103 +
 src/interfaces/ecpg/include/ecpgtype.h             |   109 +
 src/interfaces/ecpg/include/pgtypes.h              |    17 +
 src/interfaces/ecpg/include/pgtypes_date.h         |    32 +
 src/interfaces/ecpg/include/pgtypes_error.h        |    18 +
 src/interfaces/ecpg/include/pgtypes_interval.h     |    48 +
 src/interfaces/ecpg/include/pgtypes_numeric.h      |    69 +
 src/interfaces/ecpg/include/pgtypes_timestamp.h    |    31 +
 src/interfaces/ecpg/include/sql3types.h            |    43 +
 src/interfaces/ecpg/include/sqlca.h                |    66 +
 src/interfaces/ecpg/include/sqlda-compat.h         |    47 +
 src/interfaces/ecpg/include/sqlda-native.h         |    43 +
 src/interfaces/ecpg/include/sqlda.h                |    18 +
 src/interfaces/ecpg/include/sqltypes.h             |    57 +
 src/interfaces/ecpg/pgtypeslib/.gitignore          |     3 +
 src/interfaces/ecpg/pgtypeslib/Makefile            |    54 +
 src/interfaces/ecpg/pgtypeslib/common.c            |   148 +
 src/interfaces/ecpg/pgtypeslib/datetime.c          |   713 +
 src/interfaces/ecpg/pgtypeslib/dt.h                |   341 +
 src/interfaces/ecpg/pgtypeslib/dt_common.c         |  3003 ++
 src/interfaces/ecpg/pgtypeslib/exports.txt         |    48 +
 src/interfaces/ecpg/pgtypeslib/interval.c          |  1093 +
 src/interfaces/ecpg/pgtypeslib/numeric.c           |  1594 +
 src/interfaces/ecpg/pgtypeslib/pgtypeslib_extern.h |    41 +
 src/interfaces/ecpg/pgtypeslib/timestamp.c         |   930 +
 src/interfaces/ecpg/preproc/.gitignore             |     8 +
 src/interfaces/ecpg/preproc/Makefile               |   102 +
 src/interfaces/ecpg/preproc/README.parser          |    42 +
 src/interfaces/ecpg/preproc/c_keywords.c           |    66 +
 src/interfaces/ecpg/preproc/c_kwlist.h             |    52 +
 src/interfaces/ecpg/preproc/check_rules.pl         |   191 +
 src/interfaces/ecpg/preproc/descriptor.c           |   367 +
 src/interfaces/ecpg/preproc/ecpg.addons            |   590 +
 src/interfaces/ecpg/preproc/ecpg.c                 |   504 +
 src/interfaces/ecpg/preproc/ecpg.header            |   626 +
 src/interfaces/ecpg/preproc/ecpg.tokens            |    26 +
 src/interfaces/ecpg/preproc/ecpg.trailer           |  1933 +
 src/interfaces/ecpg/preproc/ecpg.type              |   146 +
 src/interfaces/ecpg/preproc/ecpg_keywords.c        |    54 +
 src/interfaces/ecpg/preproc/ecpg_kwlist.h          |    67 +
 src/interfaces/ecpg/preproc/keywords.c             |    38 +
 src/interfaces/ecpg/preproc/nls.mk                 |     6 +
 src/interfaces/ecpg/preproc/output.c               |   251 +
 src/interfaces/ecpg/preproc/parse.pl               |   698 +
 src/interfaces/ecpg/preproc/parser.c               |   231 +
 src/interfaces/ecpg/preproc/pgc.l                  |  1740 +
 src/interfaces/ecpg/preproc/po/cs.po               |   695 +
 src/interfaces/ecpg/preproc/po/de.po               |   700 +
 src/interfaces/ecpg/preproc/po/el.po               |   700 +
 src/interfaces/ecpg/preproc/po/es.po               |   706 +
 src/interfaces/ecpg/preproc/po/fr.po               |   757 +
 src/interfaces/ecpg/preproc/po/it.po               |   679 +
 src/interfaces/ecpg/preproc/po/ja.po               |   701 +
 src/interfaces/ecpg/preproc/po/ko.po               |   690 +
 src/interfaces/ecpg/preproc/po/pl.po               |   674 +
 src/interfaces/ecpg/preproc/po/pt_BR.po            |   653 +
 src/interfaces/ecpg/preproc/po/ru.po               |   741 +
 src/interfaces/ecpg/preproc/po/sv.po               |   699 +
 src/interfaces/ecpg/preproc/po/tr.po               |   699 +
 src/interfaces/ecpg/preproc/po/uk.po               |   683 +
 src/interfaces/ecpg/preproc/po/vi.po               |   684 +
 src/interfaces/ecpg/preproc/po/zh_CN.po            |   693 +
 src/interfaces/ecpg/preproc/po/zh_TW.po            |   645 +
 src/interfaces/ecpg/preproc/preproc_extern.h       |   128 +
 src/interfaces/ecpg/preproc/type.c                 |   748 +
 src/interfaces/ecpg/preproc/type.h                 |   217 +
 src/interfaces/ecpg/preproc/variable.c             |   625 +
 src/interfaces/ecpg/test/.gitignore                |     5 +
 src/interfaces/ecpg/test/Makefile                  |   101 +
 src/interfaces/ecpg/test/Makefile.regress          |    31 +
 .../ecpg/test/compat_informix/.gitignore           |    18 +
 src/interfaces/ecpg/test/compat_informix/Makefile  |    24 +
 .../ecpg/test/compat_informix/charfuncs.pgc        |    31 +
 .../ecpg/test/compat_informix/dec_test.pgc         |   238 +
 .../ecpg/test/compat_informix/describe.pgc         |   199 +
 .../ecpg/test/compat_informix/rfmtdate.pgc         |   175 +
 .../ecpg/test/compat_informix/rfmtlong.pgc         |    73 +
 src/interfaces/ecpg/test/compat_informix/rnull.pgc |    97 +
 src/interfaces/ecpg/test/compat_informix/sqlda.pgc |   250 +
 .../ecpg/test/compat_informix/test_informix.pgc    |    95 +
 .../ecpg/test/compat_informix/test_informix2.pgc   |   122 +
 src/interfaces/ecpg/test/compat_oracle/.gitignore  |     2 +
 src/interfaces/ecpg/test/compat_oracle/Makefile    |    11 +
 .../ecpg/test/compat_oracle/char_array.pgc         |    64 +
 src/interfaces/ecpg/test/connect/.gitignore        |    10 +
 src/interfaces/ecpg/test/connect/Makefile          |    12 +
 src/interfaces/ecpg/test/connect/README            |     9 +
 src/interfaces/ecpg/test/connect/test1.pgc         |    65 +
 src/interfaces/ecpg/test/connect/test2.pgc         |    46 +
 src/interfaces/ecpg/test/connect/test3.pgc         |    52 +
 src/interfaces/ecpg/test/connect/test4.pgc         |    20 +
 src/interfaces/ecpg/test/connect/test5.pgc         |    76 +
 src/interfaces/ecpg/test/ecpg_schedule             |    61 +
 .../ecpg/test/expected/compat_informix-charfuncs.c |    42 +
 .../test/expected/compat_informix-charfuncs.stderr |     0
 .../test/expected/compat_informix-charfuncs.stdout |     6 +
 .../ecpg/test/expected/compat_informix-dec_test.c  |   291 +
 .../test/expected/compat_informix-dec_test.stderr  |     2 +
 .../test/expected/compat_informix-dec_test.stdout  |  1293 +
 .../ecpg/test/expected/compat_informix-describe.c  |   467 +
 .../test/expected/compat_informix-describe.stderr  |   112 +
 .../test/expected/compat_informix-describe.stdout  |    24 +
 .../ecpg/test/expected/compat_informix-rfmtdate.c  |   186 +
 .../test/expected/compat_informix-rfmtdate.stderr  |     2 +
 .../test/expected/compat_informix-rfmtdate.stdout  |    36 +
 .../ecpg/test/expected/compat_informix-rfmtlong.c  |    84 +
 .../test/expected/compat_informix-rfmtlong.stderr  |     2 +
 .../test/expected/compat_informix-rfmtlong.stdout  |    10 +
 .../ecpg/test/expected/compat_informix-rnull.c     |   293 +
 .../test/expected/compat_informix-rnull.stderr     |   124 +
 .../test/expected/compat_informix-rnull.stdout     |    22 +
 .../ecpg/test/expected/compat_informix-sqlda.c     |   530 +
 .../test/expected/compat_informix-sqlda.stderr     |   340 +
 .../test/expected/compat_informix-sqlda.stdout     |    48 +
 .../test/expected/compat_informix-test_informix.c  |   259 +
 .../expected/compat_informix-test_informix.stderr  |   133 +
 .../expected/compat_informix-test_informix.stdout  |    10 +
 .../test/expected/compat_informix-test_informix2.c |   290 +
 .../expected/compat_informix-test_informix2.stderr |    64 +
 .../expected/compat_informix-test_informix2.stdout |     2 +
 .../ecpg/test/expected/compat_oracle-char_array.c  |   223 +
 .../test/expected/compat_oracle-char_array.stderr  |   139 +
 .../test/expected/compat_oracle-char_array.stdout  |    10 +
 .../test/expected/connect-test1-minGW32.stderr     |    73 +
 src/interfaces/ecpg/test/expected/connect-test1.c  |   124 +
 .../ecpg/test/expected/connect-test1.stderr        |    73 +
 .../ecpg/test/expected/connect-test1.stdout        |     0
 src/interfaces/ecpg/test/expected/connect-test2.c  |   104 +
 .../ecpg/test/expected/connect-test2.stderr        |    52 +
 .../ecpg/test/expected/connect-test2.stdout        |     0
 src/interfaces/ecpg/test/expected/connect-test3.c  |   106 +
 .../ecpg/test/expected/connect-test3.stderr        |    38 +
 .../ecpg/test/expected/connect-test3.stdout        |     0
 src/interfaces/ecpg/test/expected/connect-test4.c  |    44 +
 .../ecpg/test/expected/connect-test4.stderr        |     6 +
 .../ecpg/test/expected/connect-test4.stdout        |     0
 src/interfaces/ecpg/test/expected/connect-test5.c  |   158 +
 .../ecpg/test/expected/connect-test5.stderr        |    80 +
 .../ecpg/test/expected/connect-test5.stdout        |     0
 .../ecpg/test/expected/pgtypeslib-dt_test.c        |   469 +
 .../ecpg/test/expected/pgtypeslib-dt_test.stderr   |    48 +
 .../ecpg/test/expected/pgtypeslib-dt_test.stdout   |    52 +
 .../ecpg/test/expected/pgtypeslib-dt_test2.c       |   186 +
 .../ecpg/test/expected/pgtypeslib-dt_test2.stderr  |     2 +
 .../ecpg/test/expected/pgtypeslib-dt_test2.stdout  |   122 +
 .../ecpg/test/expected/pgtypeslib-nan_test.c       |   266 +
 .../ecpg/test/expected/pgtypeslib-nan_test.stderr  |   360 +
 .../ecpg/test/expected/pgtypeslib-nan_test.stdout  |    16 +
 .../ecpg/test/expected/pgtypeslib-num_test.c       |   202 +
 .../ecpg/test/expected/pgtypeslib-num_test.stderr  |    32 +
 .../ecpg/test/expected/pgtypeslib-num_test.stdout  |     8 +
 .../ecpg/test/expected/pgtypeslib-num_test2.c      |   290 +
 .../ecpg/test/expected/pgtypeslib-num_test2.stderr |     2 +
 .../ecpg/test/expected/pgtypeslib-num_test2.stdout |  1117 +
 .../ecpg/test/expected/preproc-array_of_struct.c   |   288 +
 .../test/expected/preproc-array_of_struct.stderr   |    86 +
 .../test/expected/preproc-array_of_struct.stdout   |    25 +
 .../ecpg/test/expected/preproc-autoprep.c          |   256 +
 .../ecpg/test/expected/preproc-autoprep.stderr     |   320 +
 .../ecpg/test/expected/preproc-autoprep.stdout     |    18 +
 .../ecpg/test/expected/preproc-comment.c           |    42 +
 .../ecpg/test/expected/preproc-comment.stderr      |     6 +
 .../ecpg/test/expected/preproc-comment.stdout      |     0
 src/interfaces/ecpg/test/expected/preproc-cursor.c |   859 +
 .../ecpg/test/expected/preproc-cursor.stderr       |   412 +
 .../ecpg/test/expected/preproc-cursor.stdout       |    24 +
 src/interfaces/ecpg/test/expected/preproc-define.c |   184 +
 .../ecpg/test/expected/preproc-define.stderr       |    54 +
 .../ecpg/test/expected/preproc-define.stdout       |     2 +
 .../ecpg/test/expected/preproc-describe.c          |   481 +
 .../ecpg/test/expected/preproc-describe.stderr     |   140 +
 .../ecpg/test/expected/preproc-describe.stdout     |     4 +
 src/interfaces/ecpg/test/expected/preproc-init.c   |   261 +
 .../ecpg/test/expected/preproc-init.stderr         |    14 +
 .../ecpg/test/expected/preproc-init.stdout         |    10 +
 .../ecpg/test/expected/preproc-outofscope.c        |   372 +
 .../ecpg/test/expected/preproc-outofscope.stderr   |   114 +
 .../ecpg/test/expected/preproc-outofscope.stdout   |     3 +
 .../ecpg/test/expected/preproc-pointer_to_struct.c |   293 +
 .../test/expected/preproc-pointer_to_struct.stderr |    86 +
 .../test/expected/preproc-pointer_to_struct.stdout |    25 +
 .../ecpg/test/expected/preproc-strings.c           |    82 +
 .../ecpg/test/expected/preproc-strings.stderr      |    56 +
 .../ecpg/test/expected/preproc-strings.stdout      |     2 +
 src/interfaces/ecpg/test/expected/preproc-type.c   |   170 +
 .../ecpg/test/expected/preproc-type.stderr         |    40 +
 .../ecpg/test/expected/preproc-type.stdout         |     1 +
 .../ecpg/test/expected/preproc-variable.c          |   291 +
 .../ecpg/test/expected/preproc-variable.stderr     |   168 +
 .../ecpg/test/expected/preproc-variable.stdout     |     6 +
 .../ecpg/test/expected/preproc-whenever.c          |   246 +
 .../ecpg/test/expected/preproc-whenever.stderr     |   104 +
 .../ecpg/test/expected/preproc-whenever.stdout     |     0
 .../test/expected/preproc-whenever_do_continue.c   |   164 +
 .../expected/preproc-whenever_do_continue.stderr   |   112 +
 .../expected/preproc-whenever_do_continue.stdout   |     2 +
 src/interfaces/ecpg/test/expected/sql-array.c      |   355 +
 src/interfaces/ecpg/test/expected/sql-array.stderr |   130 +
 src/interfaces/ecpg/test/expected/sql-array.stdout |    13 +
 src/interfaces/ecpg/test/expected/sql-binary.c     |   230 +
 .../ecpg/test/expected/sql-binary.stderr           |   102 +
 .../ecpg/test/expected/sql-binary.stdout           |     3 +
 src/interfaces/ecpg/test/expected/sql-bytea.c      |   373 +
 src/interfaces/ecpg/test/expected/sql-bytea.stderr |   191 +
 src/interfaces/ecpg/test/expected/sql-bytea.stdout |     9 +
 src/interfaces/ecpg/test/expected/sql-code100.c    |   164 +
 .../ecpg/test/expected/sql-code100.stderr          |   128 +
 .../ecpg/test/expected/sql-code100.stdout          |     0
 src/interfaces/ecpg/test/expected/sql-copystdout.c |   150 +
 .../ecpg/test/expected/sql-copystdout.stderr       |    38 +
 .../ecpg/test/expected/sql-copystdout.stdout       |     4 +
 .../ecpg/test/expected/sql-createtableas.c         |   164 +
 .../ecpg/test/expected/sql-createtableas.stderr    |    66 +
 .../ecpg/test/expected/sql-createtableas.stdout    |     2 +
 src/interfaces/ecpg/test/expected/sql-declare.c    |   618 +
 .../ecpg/test/expected/sql-declare.stderr          |   266 +
 .../ecpg/test/expected/sql-declare.stdout          |    18 +
 src/interfaces/ecpg/test/expected/sql-define.c     |   205 +
 .../ecpg/test/expected/sql-define.stderr           |    52 +
 .../ecpg/test/expected/sql-define.stdout           |     1 +
 src/interfaces/ecpg/test/expected/sql-desc.c       |   377 +
 src/interfaces/ecpg/test/expected/sql-desc.stderr  |   140 +
 src/interfaces/ecpg/test/expected/sql-desc.stdout  |     4 +
 src/interfaces/ecpg/test/expected/sql-describe.c   |   465 +
 .../ecpg/test/expected/sql-describe.stderr         |   112 +
 .../ecpg/test/expected/sql-describe.stdout         |    24 +
 src/interfaces/ecpg/test/expected/sql-dynalloc.c   |   340 +
 .../ecpg/test/expected/sql-dynalloc.stderr         |   102 +
 .../ecpg/test/expected/sql-dynalloc.stdout         |     4 +
 src/interfaces/ecpg/test/expected/sql-dynalloc2.c  |   256 +
 .../ecpg/test/expected/sql-dynalloc2.stderr        |    98 +
 .../ecpg/test/expected/sql-dynalloc2.stdout        |     8 +
 src/interfaces/ecpg/test/expected/sql-dyntest.c    |   486 +
 .../ecpg/test/expected/sql-dyntest.stderr          |   390 +
 .../ecpg/test/expected/sql-dyntest.stdout          |    43 +
 src/interfaces/ecpg/test/expected/sql-execute.c    |   331 +
 .../ecpg/test/expected/sql-execute.stderr          |   172 +
 .../ecpg/test/expected/sql-execute.stdout          |    12 +
 src/interfaces/ecpg/test/expected/sql-fetch.c      |   237 +
 src/interfaces/ecpg/test/expected/sql-fetch.stderr |   142 +
 src/interfaces/ecpg/test/expected/sql-fetch.stdout |     6 +
 src/interfaces/ecpg/test/expected/sql-func.c       |   170 +
 src/interfaces/ecpg/test/expected/sql-func.stderr  |    76 +
 src/interfaces/ecpg/test/expected/sql-func.stdout  |     1 +
 src/interfaces/ecpg/test/expected/sql-indicators.c |   189 +
 .../ecpg/test/expected/sql-indicators.stderr       |    88 +
 .../ecpg/test/expected/sql-indicators.stdout       |     3 +
 src/interfaces/ecpg/test/expected/sql-insupd.c     |   145 +
 .../ecpg/test/expected/sql-insupd.stderr           |    74 +
 .../ecpg/test/expected/sql-insupd.stdout           |     7 +
 src/interfaces/ecpg/test/expected/sql-oldexec.c    |   251 +
 .../ecpg/test/expected/sql-oldexec.stderr          |   154 +
 .../ecpg/test/expected/sql-oldexec.stdout          |    11 +
 src/interfaces/ecpg/test/expected/sql-parser.c     |   126 +
 .../ecpg/test/expected/sql-parser.stderr           |    50 +
 .../ecpg/test/expected/sql-parser.stdout           |     3 +
 src/interfaces/ecpg/test/expected/sql-prepareas.c  |   664 +
 .../ecpg/test/expected/sql-prepareas.stderr        |     0
 .../ecpg/test/expected/sql-prepareas.stdout        |    66 +
 src/interfaces/ecpg/test/expected/sql-quote.c      |   230 +
 src/interfaces/ecpg/test/expected/sql-quote.stderr |   135 +
 src/interfaces/ecpg/test/expected/sql-quote.stdout |     6 +
 src/interfaces/ecpg/test/expected/sql-show.c       |   170 +
 src/interfaces/ecpg/test/expected/sql-show.stderr  |    76 +
 src/interfaces/ecpg/test/expected/sql-show.stdout  |     5 +
 src/interfaces/ecpg/test/expected/sql-sqlda.c      |   545 +
 src/interfaces/ecpg/test/expected/sql-sqlda.stderr |   460 +
 src/interfaces/ecpg/test/expected/sql-sqlda.stdout |    84 +
 src/interfaces/ecpg/test/expected/sql-twophase.c   |   114 +
 .../ecpg/test/expected/sql-twophase.stderr         |    34 +
 .../ecpg/test/expected/sql-twophase.stdout         |     0
 src/interfaces/ecpg/test/expected/thread-alloc.c   |   218 +
 .../ecpg/test/expected/thread-alloc.stderr         |     0
 .../ecpg/test/expected/thread-alloc.stdout         |     0
 .../ecpg/test/expected/thread-alloc_2.stdout       |     1 +
 .../ecpg/test/expected/thread-descriptor.c         |   161 +
 .../ecpg/test/expected/thread-descriptor.stderr    |     0
 .../ecpg/test/expected/thread-descriptor.stdout    |     0
 src/interfaces/ecpg/test/expected/thread-prep.c    |   259 +
 .../ecpg/test/expected/thread-prep.stderr          |     0
 .../ecpg/test/expected/thread-prep.stdout          |     1 +
 .../ecpg/test/expected/thread-prep_2.stdout        |     0
 src/interfaces/ecpg/test/expected/thread-thread.c  |   216 +
 .../ecpg/test/expected/thread-thread.stderr        |     0
 .../ecpg/test/expected/thread-thread.stdout        |     1 +
 .../ecpg/test/expected/thread-thread_2.stdout      |     1 +
 .../ecpg/test/expected/thread-thread_implicit.c    |   216 +
 .../test/expected/thread-thread_implicit.stderr    |     0
 .../test/expected/thread-thread_implicit.stdout    |     1 +
 .../test/expected/thread-thread_implicit_2.stdout  |     1 +
 src/interfaces/ecpg/test/performance/perftest.pgc  |   144 +
 src/interfaces/ecpg/test/pg_regress_ecpg.c         |   261 +
 src/interfaces/ecpg/test/pgtypeslib/.gitignore     |    10 +
 src/interfaces/ecpg/test/pgtypeslib/Makefile       |    12 +
 src/interfaces/ecpg/test/pgtypeslib/dt_test.pgc    |   385 +
 src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc   |   151 +
 src/interfaces/ecpg/test/pgtypeslib/nan_test.pgc   |    87 +
 src/interfaces/ecpg/test/pgtypeslib/num_test.pgc   |   105 +
 src/interfaces/ecpg/test/pgtypeslib/num_test2.pgc  |   239 +
 src/interfaces/ecpg/test/preproc/.gitignore        |    26 +
 src/interfaces/ecpg/test/preproc/Makefile          |    33 +
 .../ecpg/test/preproc/array_of_struct.pgc          |    95 +
 src/interfaces/ecpg/test/preproc/autoprep.pgc      |    72 +
 src/interfaces/ecpg/test/preproc/comment.pgc       |    21 +
 src/interfaces/ecpg/test/preproc/cursor.pgc        |   256 +
 src/interfaces/ecpg/test/preproc/define.pgc        |    78 +
 src/interfaces/ecpg/test/preproc/init.pgc          |   100 +
 src/interfaces/ecpg/test/preproc/outofscope.pgc    |   116 +
 .../ecpg/test/preproc/pointer_to_struct.pgc        |   100 +
 src/interfaces/ecpg/test/preproc/strings.h         |     8 +
 src/interfaces/ecpg/test/preproc/strings.pgc       |    32 +
 src/interfaces/ecpg/test/preproc/struct.h          |    19 +
 src/interfaces/ecpg/test/preproc/type.pgc          |    80 +
 src/interfaces/ecpg/test/preproc/variable.pgc      |   110 +
 src/interfaces/ecpg/test/preproc/whenever.pgc      |    67 +
 .../ecpg/test/preproc/whenever_do_continue.pgc     |    63 +
 src/interfaces/ecpg/test/printf_hack.h             |    29 +
 src/interfaces/ecpg/test/regression.h              |     5 +
 src/interfaces/ecpg/test/sql/.gitignore            |    50 +
 src/interfaces/ecpg/test/sql/Makefile              |    36 +
 src/interfaces/ecpg/test/sql/array.pgc             |   111 +
 src/interfaces/ecpg/test/sql/binary.pgc            |    70 +
 src/interfaces/ecpg/test/sql/bytea.pgc             |   120 +
 src/interfaces/ecpg/test/sql/code100.pgc           |    52 +
 src/interfaces/ecpg/test/sql/copystdout.pgc        |    25 +
 src/interfaces/ecpg/test/sql/createtableas.pgc     |    41 +
 src/interfaces/ecpg/test/sql/declare.pgc           |   212 +
 src/interfaces/ecpg/test/sql/define.pgc            |    58 +
 src/interfaces/ecpg/test/sql/desc.pgc              |    89 +
 src/interfaces/ecpg/test/sql/describe.pgc          |   199 +
 src/interfaces/ecpg/test/sql/dynalloc.pgc          |    89 +
 src/interfaces/ecpg/test/sql/dynalloc2.pgc         |    55 +
 src/interfaces/ecpg/test/sql/dyntest.pgc           |   199 +
 src/interfaces/ecpg/test/sql/execute.pgc           |   113 +
 src/interfaces/ecpg/test/sql/fetch.pgc             |    58 +
 src/interfaces/ecpg/test/sql/func.pgc              |    47 +
 src/interfaces/ecpg/test/sql/indicators.pgc        |    50 +
 src/interfaces/ecpg/test/sql/insupd.pgc            |    36 +
 src/interfaces/ecpg/test/sql/oldexec.pgc           |    90 +
 src/interfaces/ecpg/test/sql/parser.pgc            |    39 +
 src/interfaces/ecpg/test/sql/prepareas.pgc         |   198 +
 src/interfaces/ecpg/test/sql/quote.pgc             |    61 +
 src/interfaces/ecpg/test/sql/show.pgc              |    41 +
 src/interfaces/ecpg/test/sql/sqlda.pgc             |   266 +
 src/interfaces/ecpg/test/sql/twophase.pgc          |    44 +
 src/interfaces/ecpg/test/thread/.gitignore         |    10 +
 src/interfaces/ecpg/test/thread/Makefile           |    13 +
 src/interfaces/ecpg/test/thread/alloc.pgc          |    90 +
 src/interfaces/ecpg/test/thread/descriptor.pgc     |    68 +
 src/interfaces/ecpg/test/thread/prep.pgc           |    96 +
 src/interfaces/ecpg/test/thread/thread.pgc         |   136 +
 .../ecpg/test/thread/thread_implicit.pgc           |   136 +
 src/interfaces/libpq/.gitignore                    |     1 +
 src/interfaces/libpq/Makefile                      |   142 +
 src/interfaces/libpq/README                        |     3 +
 src/interfaces/libpq/exports.txt                   |   189 +
 src/interfaces/libpq/fe-auth-scram.c               |   905 +
 src/interfaces/libpq/fe-auth.c                     |  1285 +
 src/interfaces/libpq/fe-auth.h                     |    36 +
 src/interfaces/libpq/fe-connect.c                  |  7377 +++
 src/interfaces/libpq/fe-exec.c                     |  4477 ++
 src/interfaces/libpq/fe-gssapi-common.c            |   130 +
 src/interfaces/libpq/fe-gssapi-common.h            |    28 +
 src/interfaces/libpq/fe-lobj.c                     |  1084 +
 src/interfaces/libpq/fe-misc.c                     |  1289 +
 src/interfaces/libpq/fe-print.c                    |   781 +
 src/interfaces/libpq/fe-protocol3.c                |  2254 +
 src/interfaces/libpq/fe-secure-common.c            |   211 +
 src/interfaces/libpq/fe-secure-common.h            |    26 +
 src/interfaces/libpq/fe-secure-gssapi.c            |   731 +
 src/interfaces/libpq/fe-secure-openssl.c           |  1884 +
 src/interfaces/libpq/fe-secure.c                   |   552 +
 src/interfaces/libpq/fe-trace.c                    |   729 +
 src/interfaces/libpq/legacy-pqsignal.c             |    57 +
 src/interfaces/libpq/libpq-events.c                |   209 +
 src/interfaces/libpq/libpq-events.h                |    94 +
 src/interfaces/libpq/libpq-fe.h                    |   673 +
 src/interfaces/libpq/libpq-int.h                   |   867 +
 src/interfaces/libpq/nls.mk                        |     6 +
 src/interfaces/libpq/pg_service.conf.sample        |    17 +
 src/interfaces/libpq/po/cs.po                      |  1334 +
 src/interfaces/libpq/po/de.po                      |  1221 +
 src/interfaces/libpq/po/el.po                      |  1314 +
 src/interfaces/libpq/po/es.po                      |  1227 +
 src/interfaces/libpq/po/fr.po                      |  1461 +
 src/interfaces/libpq/po/ja.po                      |  1231 +
 src/interfaces/libpq/po/ko.po                      |  1340 +
 src/interfaces/libpq/po/ru.po                      |  1467 +
 src/interfaces/libpq/po/sv.po                      |  1225 +
 src/interfaces/libpq/po/uk.po                      |  1216 +
 src/interfaces/libpq/po/zh_CN.po                   |  1193 +
 src/interfaces/libpq/pqexpbuffer.c                 |   414 +
 src/interfaces/libpq/pqexpbuffer.h                 |   182 +
 src/interfaces/libpq/pthread-win32.c               |    60 +
 src/interfaces/libpq/test/.gitignore               |     3 +
 src/interfaces/libpq/test/Makefile                 |    22 +
 src/interfaces/libpq/test/README                   |     7 +
 src/interfaces/libpq/test/expected.out             |   171 +
 src/interfaces/libpq/test/regress.in               |    57 +
 src/interfaces/libpq/test/regress.pl               |    65 +
 src/interfaces/libpq/test/uri-regress.c            |    84 +
 src/interfaces/libpq/win32.c                       |   324 +
 src/interfaces/libpq/win32.h                       |    23 +
 src/makefiles/Makefile                             |    15 +
 src/makefiles/Makefile.aix                         |    46 +
 src/makefiles/Makefile.cygwin                      |    53 +
 src/makefiles/Makefile.darwin                      |    16 +
 src/makefiles/Makefile.freebsd                     |    19 +
 src/makefiles/Makefile.hpux                        |    53 +
 src/makefiles/Makefile.linux                       |    13 +
 src/makefiles/Makefile.netbsd                      |    11 +
 src/makefiles/Makefile.openbsd                     |    11 +
 src/makefiles/Makefile.solaris                     |    23 +
 src/makefiles/Makefile.win32                       |    87 +
 src/makefiles/pgxs.mk                              |   476 +
 src/nls-global.mk                                  |   167 +
 src/pl/Makefile                                    |    36 +
 src/pl/plperl/.gitignore                           |     9 +
 src/pl/plperl/GNUmakefile                          |   130 +
 src/pl/plperl/README                               |    10 +
 src/pl/plperl/SPI.xs                               |   163 +
 src/pl/plperl/Util.xs                              |   189 +
 src/pl/plperl/expected/plperl.out                  |   794 +
 src/pl/plperl/expected/plperl_array.out            |   233 +
 src/pl/plperl/expected/plperl_call.out             |    72 +
 src/pl/plperl/expected/plperl_elog.out             |   112 +
 src/pl/plperl/expected/plperl_elog_1.out           |   112 +
 src/pl/plperl/expected/plperl_init.out             |    14 +
 src/pl/plperl/expected/plperl_lc.out               |    10 +
 src/pl/plperl/expected/plperl_lc_1.out             |    10 +
 src/pl/plperl/expected/plperl_plperlu.out          |    91 +
 src/pl/plperl/expected/plperl_setup.out            |    69 +
 src/pl/plperl/expected/plperl_shared.out           |    56 +
 src/pl/plperl/expected/plperl_transaction.out      |   244 +
 src/pl/plperl/expected/plperl_trigger.out          |   392 +
 src/pl/plperl/expected/plperl_util.out             |   198 +
 src/pl/plperl/expected/plperlu.out                 |    15 +
 src/pl/plperl/nls.mk                               |     6 +
 src/pl/plperl/plc_perlboot.pl                      |   129 +
 src/pl/plperl/plc_trusted.pl                       |    32 +
 src/pl/plperl/plperl--1.0.sql                      |    20 +
 src/pl/plperl/plperl.c                             |  4233 ++
 src/pl/plperl/plperl.control                       |     8 +
 src/pl/plperl/plperl.h                             |   216 +
 src/pl/plperl/plperl_helpers.h                     |   171 +
 src/pl/plperl/plperl_opmask.pl                     |    65 +
 src/pl/plperl/plperlu--1.0.sql                     |    17 +
 src/pl/plperl/plperlu.control                      |     7 +
 src/pl/plperl/po/cs.po                             |   227 +
 src/pl/plperl/po/de.po                             |   222 +
 src/pl/plperl/po/el.po                             |   225 +
 src/pl/plperl/po/es.po                             |   224 +
 src/pl/plperl/po/fr.po                             |   276 +
 src/pl/plperl/po/it.po                             |   228 +
 src/pl/plperl/po/ja.po                             |   243 +
 src/pl/plperl/po/ko.po                             |   237 +
 src/pl/plperl/po/pl.po                             |   225 +
 src/pl/plperl/po/pt_BR.po                          |   220 +
 src/pl/plperl/po/ro.po                             |   185 +
 src/pl/plperl/po/ru.po                             |   256 +
 src/pl/plperl/po/sv.po                             |   222 +
 src/pl/plperl/po/tr.po                             |   236 +
 src/pl/plperl/po/uk.po                             |   222 +
 src/pl/plperl/po/vi.po                             |   242 +
 src/pl/plperl/po/zh_CN.po                          |   221 +
 src/pl/plperl/ppport.h                             | 17925 +++++++
 src/pl/plperl/sql/plperl.sql                       |   523 +
 src/pl/plperl/sql/plperl_array.sql                 |   171 +
 src/pl/plperl/sql/plperl_call.sql                  |    78 +
 src/pl/plperl/sql/plperl_elog.sql                  |    93 +
 src/pl/plperl/sql/plperl_end.sql                   |    29 +
 src/pl/plperl/sql/plperl_init.sql                  |    10 +
 src/pl/plperl/sql/plperl_lc.sql                    |     8 +
 src/pl/plperl/sql/plperl_plperlu.sql               |    58 +
 src/pl/plperl/sql/plperl_setup.sql                 |    69 +
 src/pl/plperl/sql/plperl_shared.sql                |    41 +
 src/pl/plperl/sql/plperl_transaction.sql           |   195 +
 src/pl/plperl/sql/plperl_trigger.sql               |   259 +
 src/pl/plperl/sql/plperl_util.sql                  |   121 +
 src/pl/plperl/sql/plperlu.sql                      |    17 +
 src/pl/plperl/text2macro.pl                        |   106 +
 src/pl/plpgsql/Makefile                            |    17 +
 src/pl/plpgsql/src/.gitignore                      |     8 +
 src/pl/plpgsql/src/Makefile                        |   123 +
 src/pl/plpgsql/src/data/copy1.data                 |     3 +
 src/pl/plpgsql/src/expected/.gitignore             |     1 +
 src/pl/plpgsql/src/expected/plpgsql_array.out      |    95 +
 src/pl/plpgsql/src/expected/plpgsql_cache.out      |    67 +
 src/pl/plpgsql/src/expected/plpgsql_cache_1.out    |    72 +
 src/pl/plpgsql/src/expected/plpgsql_call.out       |   456 +
 src/pl/plpgsql/src/expected/plpgsql_control.out    |   683 +
 src/pl/plpgsql/src/expected/plpgsql_domain.out     |   397 +
 src/pl/plpgsql/src/expected/plpgsql_record.out     |   828 +
 src/pl/plpgsql/src/expected/plpgsql_simple.out     |    91 +
 .../plpgsql/src/expected/plpgsql_transaction.out   |   742 +
 src/pl/plpgsql/src/expected/plpgsql_trap.out       |   255 +
 src/pl/plpgsql/src/expected/plpgsql_trigger.out    |    36 +
 src/pl/plpgsql/src/expected/plpgsql_varprops.out   |   298 +
 src/pl/plpgsql/src/generate-plerrcodes.pl          |    40 +
 src/pl/plpgsql/src/input/plpgsql_copy.source       |    62 +
 src/pl/plpgsql/src/nls.mk                          |     6 +
 src/pl/plpgsql/src/output/plpgsql_copy.source      |    89 +
 src/pl/plpgsql/src/pl_comp.c                       |  2682 ++
 src/pl/plpgsql/src/pl_exec.c                       |  8743 ++++
 src/pl/plpgsql/src/pl_funcs.c                      |  1692 +
 src/pl/plpgsql/src/pl_gram.y                       |  4111 ++
 src/pl/plpgsql/src/pl_handler.c                    |   551 +
 src/pl/plpgsql/src/pl_reserved_kwlist.h            |    52 +
 src/pl/plpgsql/src/pl_scanner.c                    |   620 +
 src/pl/plpgsql/src/pl_unreserved_kwlist.h          |   110 +
 src/pl/plpgsql/src/plpgsql--1.0.sql                |    20 +
 src/pl/plpgsql/src/plpgsql.control                 |     8 +
 src/pl/plpgsql/src/plpgsql.h                       |  1324 +
 src/pl/plpgsql/src/po/cs.po                        |   911 +
 src/pl/plpgsql/src/po/de.po                        |   846 +
 src/pl/plpgsql/src/po/el.po                        |   850 +
 src/pl/plpgsql/src/po/es.po                        |   850 +
 src/pl/plpgsql/src/po/fr.po                        |   998 +
 src/pl/plpgsql/src/po/it.po                        |   831 +
 src/pl/plpgsql/src/po/ja.po                        |   845 +
 src/pl/plpgsql/src/po/ko.po                        |   875 +
 src/pl/plpgsql/src/po/pl.po                        |   839 +
 src/pl/plpgsql/src/po/pt_BR.po                     |   820 +
 src/pl/plpgsql/src/po/ru.po                        |   963 +
 src/pl/plpgsql/src/po/sv.po                        |   844 +
 src/pl/plpgsql/src/po/tr.po                        |   929 +
 src/pl/plpgsql/src/po/uk.po                        |   847 +
 src/pl/plpgsql/src/po/vi.po                        |   850 +
 src/pl/plpgsql/src/po/zh_CN.po                     |   842 +
 src/pl/plpgsql/src/sql/.gitignore                  |     1 +
 src/pl/plpgsql/src/sql/plpgsql_array.sql           |    79 +
 src/pl/plpgsql/src/sql/plpgsql_cache.sql           |    50 +
 src/pl/plpgsql/src/sql/plpgsql_call.sql            |   426 +
 src/pl/plpgsql/src/sql/plpgsql_control.sql         |   488 +
 src/pl/plpgsql/src/sql/plpgsql_domain.sql          |   279 +
 src/pl/plpgsql/src/sql/plpgsql_record.sql          |   531 +
 src/pl/plpgsql/src/sql/plpgsql_simple.sql          |    82 +
 src/pl/plpgsql/src/sql/plpgsql_transaction.sql     |   637 +
 src/pl/plpgsql/src/sql/plpgsql_trap.sql            |   175 +
 src/pl/plpgsql/src/sql/plpgsql_trigger.sql         |    24 +
 src/pl/plpgsql/src/sql/plpgsql_varprops.sql        |   247 +
 src/pl/plpython/.gitignore                         |     7 +
 src/pl/plpython/Makefile                           |   170 +
 src/pl/plpython/expected/README                    |     8 +
 src/pl/plpython/expected/plpython_call.out         |    75 +
 src/pl/plpython/expected/plpython_composite.out    |   594 +
 src/pl/plpython/expected/plpython_do.out           |    10 +
 src/pl/plpython/expected/plpython_drop.out         |     6 +
 src/pl/plpython/expected/plpython_ereport.out      |   205 +
 src/pl/plpython/expected/plpython_error.out        |   447 +
 src/pl/plpython/expected/plpython_error_5.out      |   447 +
 src/pl/plpython/expected/plpython_global.out       |    52 +
 src/pl/plpython/expected/plpython_import.out       |    79 +
 src/pl/plpython/expected/plpython_newline.out      |    30 +
 src/pl/plpython/expected/plpython_params.out       |    64 +
 src/pl/plpython/expected/plpython_populate.out     |    22 +
 src/pl/plpython/expected/plpython_quote.out        |    56 +
 src/pl/plpython/expected/plpython_record.out       |   373 +
 src/pl/plpython/expected/plpython_schema.out       |    33 +
 src/pl/plpython/expected/plpython_setof.out        |   200 +
 src/pl/plpython/expected/plpython_spi.out          |   466 +
 .../plpython/expected/plpython_subtransaction.out  |   401 +
 src/pl/plpython/expected/plpython_test.out         |    93 +
 src/pl/plpython/expected/plpython_transaction.out  |   250 +
 src/pl/plpython/expected/plpython_trigger.out      |   620 +
 src/pl/plpython/expected/plpython_types.out        |  1009 +
 src/pl/plpython/expected/plpython_types_3.out      |  1009 +
 src/pl/plpython/expected/plpython_unicode.out      |    56 +
 src/pl/plpython/expected/plpython_void.out         |    30 +
 src/pl/plpython/generate-spiexceptions.pl          |    44 +
 src/pl/plpython/nls.mk                             |    11 +
 src/pl/plpython/plpy_cursorobject.c                |   492 +
 src/pl/plpython/plpy_cursorobject.h                |    24 +
 src/pl/plpython/plpy_elog.c                        |   606 +
 src/pl/plpython/plpy_elog.h                        |    46 +
 src/pl/plpython/plpy_exec.c                        |  1086 +
 src/pl/plpython/plpy_exec.h                        |    13 +
 src/pl/plpython/plpy_main.c                        |   460 +
 src/pl/plpython/plpy_main.h                        |    31 +
 src/pl/plpython/plpy_planobject.c                  |   125 +
 src/pl/plpython/plpy_planobject.h                  |    27 +
 src/pl/plpython/plpy_plpymodule.c                  |   577 +
 src/pl/plpython/plpy_plpymodule.h                  |    19 +
 src/pl/plpython/plpy_procedure.c                   |   472 +
 src/pl/plpython/plpy_procedure.h                   |    70 +
 src/pl/plpython/plpy_resultobject.c                |   258 +
 src/pl/plpython/plpy_resultobject.h                |    27 +
 src/pl/plpython/plpy_spi.c                         |   668 +
 src/pl/plpython/plpy_spi.h                         |    29 +
 src/pl/plpython/plpy_subxactobject.c               |   186 +
 src/pl/plpython/plpy_subxactobject.h               |    33 +
 src/pl/plpython/plpy_typeio.c                      |  1578 +
 src/pl/plpython/plpy_typeio.h                      |   175 +
 src/pl/plpython/plpy_util.c                        |   130 +
 src/pl/plpython/plpy_util.h                        |    19 +
 src/pl/plpython/plpython.h                         |   138 +
 src/pl/plpython/plpython2u--1.0.sql                |    17 +
 src/pl/plpython/plpython2u.control                 |     7 +
 src/pl/plpython/plpython3u--1.0.sql                |    17 +
 src/pl/plpython/plpython3u.control                 |     7 +
 src/pl/plpython/plpythonu--1.0.sql                 |    17 +
 src/pl/plpython/plpythonu.control                  |     7 +
 src/pl/plpython/po/cs.po                           |   503 +
 src/pl/plpython/po/de.po                           |   461 +
 src/pl/plpython/po/el.po                           |   462 +
 src/pl/plpython/po/es.po                           |   464 +
 src/pl/plpython/po/fr.po                           |   635 +
 src/pl/plpython/po/it.po                           |   465 +
 src/pl/plpython/po/ja.po                           |   497 +
 src/pl/plpython/po/ko.po                           |   501 +
 src/pl/plpython/po/pl.po                           |   507 +
 src/pl/plpython/po/pt_BR.po                        |   434 +
 src/pl/plpython/po/ru.po                           |   565 +
 src/pl/plpython/po/sv.po                           |   459 +
 src/pl/plpython/po/tr.po                           |   537 +
 src/pl/plpython/po/uk.po                           |   462 +
 src/pl/plpython/po/vi.po                           |   485 +
 src/pl/plpython/po/zh_CN.po                        |   459 +
 src/pl/plpython/regress-python3-mangle.mk          |    38 +
 src/pl/plpython/sql/plpython_call.sql              |    80 +
 src/pl/plpython/sql/plpython_composite.sql         |   224 +
 src/pl/plpython/sql/plpython_do.sql                |     5 +
 src/pl/plpython/sql/plpython_drop.sql              |     8 +
 src/pl/plpython/sql/plpython_ereport.sql           |   139 +
 src/pl/plpython/sql/plpython_error.sql             |   346 +
 src/pl/plpython/sql/plpython_global.sql            |    38 +
 src/pl/plpython/sql/plpython_import.sql            |    68 +
 src/pl/plpython/sql/plpython_newline.sql           |    20 +
 src/pl/plpython/sql/plpython_params.sql            |    42 +
 src/pl/plpython/sql/plpython_populate.sql          |    27 +
 src/pl/plpython/sql/plpython_quote.sql             |    33 +
 src/pl/plpython/sql/plpython_record.sql            |   163 +
 src/pl/plpython/sql/plpython_schema.sql            |    39 +
 src/pl/plpython/sql/plpython_setof.sql             |    97 +
 src/pl/plpython/sql/plpython_spi.sql               |   322 +
 src/pl/plpython/sql/plpython_subtransaction.sql    |   262 +
 src/pl/plpython/sql/plpython_test.sql              |    52 +
 src/pl/plpython/sql/plpython_transaction.sql       |   182 +
 src/pl/plpython/sql/plpython_trigger.sql           |   469 +
 src/pl/plpython/sql/plpython_types.sql             |   571 +
 src/pl/plpython/sql/plpython_unicode.sql           |    45 +
 src/pl/plpython/sql/plpython_void.sql              |    22 +
 src/pl/tcl/.gitignore                              |     6 +
 src/pl/tcl/Makefile                                |   103 +
 src/pl/tcl/expected/pltcl_call.out                 |    72 +
 src/pl/tcl/expected/pltcl_queries.out              |   397 +
 src/pl/tcl/expected/pltcl_setup.out                |   263 +
 src/pl/tcl/expected/pltcl_start_proc.out           |    31 +
 src/pl/tcl/expected/pltcl_subxact.out              |   143 +
 src/pl/tcl/expected/pltcl_transaction.out          |   149 +
 src/pl/tcl/expected/pltcl_trigger.out              |   888 +
 src/pl/tcl/expected/pltcl_unicode.out              |    45 +
 src/pl/tcl/generate-pltclerrcodes.pl               |    40 +
 src/pl/tcl/nls.mk                                  |     6 +
 src/pl/tcl/pltcl--1.0.sql                          |    12 +
 src/pl/tcl/pltcl.c                                 |  3284 ++
 src/pl/tcl/pltcl.control                           |     8 +
 src/pl/tcl/pltclu--1.0.sql                         |     9 +
 src/pl/tcl/pltclu.control                          |     7 +
 src/pl/tcl/po/cs.po                                |   117 +
 src/pl/tcl/po/de.po                                |   110 +
 src/pl/tcl/po/el.po                                |   113 +
 src/pl/tcl/po/es.po                                |   114 +
 src/pl/tcl/po/fr.po                                |   141 +
 src/pl/tcl/po/it.po                                |   117 +
 src/pl/tcl/po/ja.po                                |   112 +
 src/pl/tcl/po/ko.po                                |   113 +
 src/pl/tcl/po/pl.po                                |   136 +
 src/pl/tcl/po/ru.po                                |   130 +
 src/pl/tcl/po/sv.po                                |   111 +
 src/pl/tcl/po/tr.po                                |   117 +
 src/pl/tcl/po/uk.po                                |   110 +
 src/pl/tcl/po/vi.po                                |   107 +
 src/pl/tcl/po/zh_CN.po                             |   111 +
 src/pl/tcl/sql/pltcl_call.sql                      |    78 +
 src/pl/tcl/sql/pltcl_queries.sql                   |   166 +
 src/pl/tcl/sql/pltcl_setup.sql                     |   278 +
 src/pl/tcl/sql/pltcl_start_proc.sql                |    21 +
 src/pl/tcl/sql/pltcl_subxact.sql                   |    95 +
 src/pl/tcl/sql/pltcl_transaction.sql               |   135 +
 src/pl/tcl/sql/pltcl_trigger.sql                   |   603 +
 src/pl/tcl/sql/pltcl_unicode.sql                   |    38 +
 src/port/.gitignore                                |     4 +
 src/port/Makefile                                  |   164 +
 src/port/README                                    |    32 +
 src/port/bsearch_arg.c                             |    78 +
 src/port/chklocale.c                               |   457 +
 src/port/dirent.c                                  |   137 +
 src/port/dirmod.c                                  |   355 +
 src/port/dlopen.c                                  |   145 +
 src/port/erand48.c                                 |   136 +
 src/port/explicit_bzero.c                          |    55 +
 src/port/fls.c                                     |    64 +
 src/port/getaddrinfo.c                             |   396 +
 src/port/getopt.c                                  |   136 +
 src/port/getopt_long.c                             |   218 +
 src/port/getpeereid.c                              |    80 +
 src/port/getrusage.c                               |   110 +
 src/port/gettimeofday.c                            |   118 +
 src/port/inet_aton.c                               |   149 +
 src/port/inet_net_ntop.c                           |   297 +
 src/port/kill.c                                    |    97 +
 src/port/link.c                                    |    35 +
 src/port/mkdtemp.c                                 |   293 +
 src/port/noblock.c                                 |    66 +
 src/port/open.c                                    |   216 +
 src/port/path.c                                    |   908 +
 src/port/pg_bitutils.c                             |   321 +
 src/port/pg_crc32c_armv8.c                         |    75 +
 src/port/pg_crc32c_armv8_choose.c                  |    95 +
 src/port/pg_crc32c_sb8.c                           |  1169 +
 src/port/pg_crc32c_sse42.c                         |    69 +
 src/port/pg_crc32c_sse42_choose.c                  |    64 +
 src/port/pg_strong_random.c                        |   182 +
 src/port/pgcheckdir.c                              |    90 +
 src/port/pgmkdirp.c                                |   148 +
 src/port/pgsleep.c                                 |    63 +
 src/port/pgstrcasecmp.c                            |   151 +
 src/port/pgstrsignal.c                             |    64 +
 src/port/pqsignal.c                                |    61 +
 src/port/pread.c                                   |    58 +
 src/port/preadv.c                                  |    58 +
 src/port/pthread-win32.h                           |    22 +
 src/port/pthread_barrier_wait.c                    |    77 +
 src/port/pwrite.c                                  |    55 +
 src/port/pwritev.c                                 |    58 +
 src/port/qsort.c                                   |    22 +
 src/port/qsort_arg.c                               |    14 +
 src/port/quotes.c                                  |    51 +
 src/port/random.c                                  |    25 +
 src/port/setenv.c                                  |    48 +
 src/port/snprintf.c                                |  1515 +
 src/port/srandom.c                                 |    25 +
 src/port/strerror.c                                |   314 +
 src/port/strlcat.c                                 |    60 +
 src/port/strlcpy.c                                 |    71 +
 src/port/strnlen.c                                 |    33 +
 src/port/strtof.c                                  |   132 +
 src/port/system.c                                  |   117 +
 src/port/tar.c                                     |   206 +
 src/port/thread.c                                  |   116 +
 src/port/unsetenv.c                                |    65 +
 src/port/win32.ico                                 |   Bin 0 -> 22486 bytes
 src/port/win32env.c                                |   163 +
 src/port/win32error.c                              |   208 +
 src/port/win32security.c                           |   178 +
 src/port/win32setlocale.c                          |   193 +
 src/port/win32stat.c                               |   327 +
 src/port/win32ver.rc                               |    35 +
 src/template/aix                                   |    28 +
 src/template/cygwin                                |    15 +
 src/template/darwin                                |    57 +
 src/template/freebsd                               |     9 +
 src/template/hpux                                  |    27 +
 src/template/linux                                 |    39 +
 src/template/netbsd                                |    13 +
 src/template/openbsd                               |     4 +
 src/template/solaris                               |    31 +
 src/template/win32                                 |     9 +
 src/test/Makefile                                  |    52 +
 src/test/README                                    |    50 +
 src/test/authentication/.gitignore                 |     2 +
 src/test/authentication/Makefile                   |    23 +
 src/test/authentication/README                     |    26 +
 src/test/authentication/t/001_password.pl          |   162 +
 src/test/authentication/t/002_saslprep.pl          |   119 +
 src/test/examples/.gitignore                       |     6 +
 src/test/examples/Makefile                         |    22 +
 src/test/examples/testlibpq.c                      |   131 +
 src/test/examples/testlibpq2.c                     |   152 +
 src/test/examples/testlibpq2.sql                   |     6 +
 src/test/examples/testlibpq3.c                     |   231 +
 src/test/examples/testlibpq3.sql                   |     6 +
 src/test/examples/testlibpq4.c                     |   163 +
 src/test/examples/testlo.c                         |   270 +
 src/test/examples/testlo64.c                       |   301 +
 src/test/isolation/.gitignore                      |    12 +
 src/test/isolation/Makefile                        |    73 +
 src/test/isolation/README                          |   214 +
 src/test/isolation/expected/aborted-keyrevoke.out  |   272 +
 src/test/isolation/expected/alter-table-1.out      |  3326 ++
 src/test/isolation/expected/alter-table-2.out      |  1030 +
 src/test/isolation/expected/alter-table-3.out      |   785 +
 src/test/isolation/expected/alter-table-4.out      |    71 +
 src/test/isolation/expected/async-notify.out       |   127 +
 .../isolation/expected/classroom-scheduling.out    |   379 +
 src/test/isolation/expected/create-trigger.out     |   361 +
 src/test/isolation/expected/deadlock-hard.out      |    36 +
 src/test/isolation/expected/deadlock-parallel.out  |    68 +
 src/test/isolation/expected/deadlock-simple.out    |    11 +
 src/test/isolation/expected/deadlock-soft-2.out    |    17 +
 src/test/isolation/expected/deadlock-soft.out      |    17 +
 .../isolation/expected/delete-abort-savept-2.out   |   100 +
 .../isolation/expected/delete-abort-savept.out     |   139 +
 .../expected/detach-partition-concurrently-1.out   |   288 +
 .../expected/detach-partition-concurrently-2.out   |    76 +
 .../expected/detach-partition-concurrently-3.out   |   506 +
 .../expected/detach-partition-concurrently-4.out   |   426 +
 .../expected/drop-index-concurrently-1.out         |    56 +
 .../expected/drop-index-concurrently-1_2.out       |    54 +
 .../isolation/expected/eval-plan-qual-trigger.out  |  2734 ++
 src/test/isolation/expected/eval-plan-qual.out     |  1179 +
 src/test/isolation/expected/fk-contention.out      |    16 +
 src/test/isolation/expected/fk-deadlock.out        |   119 +
 src/test/isolation/expected/fk-deadlock2.out       |    95 +
 src/test/isolation/expected/fk-deadlock2_1.out     |   105 +
 src/test/isolation/expected/fk-deadlock2_2.out     |   105 +
 src/test/isolation/expected/fk-deadlock_1.out      |   131 +
 src/test/isolation/expected/fk-partitioned-1.out   |   133 +
 src/test/isolation/expected/fk-partitioned-2.out   |    76 +
 src/test/isolation/expected/freeze-the-dead.out    |    44 +
 src/test/isolation/expected/horizons.out           |   335 +
 src/test/isolation/expected/index-only-scan.out    |    41 +
 src/test/isolation/expected/inherit-temp.out       |   277 +
 .../expected/insert-conflict-do-nothing-2.out      |   121 +
 .../expected/insert-conflict-do-nothing.out        |    27 +
 .../expected/insert-conflict-do-update-2.out       |    27 +
 .../expected/insert-conflict-do-update-3.out       |    30 +
 .../expected/insert-conflict-do-update.out         |    27 +
 .../expected/insert-conflict-specconflict.out      |   553 +
 .../expected/lock-committed-keyupdate.out          |   670 +
 .../isolation/expected/lock-committed-update.out   |   931 +
 src/test/isolation/expected/lock-update-delete.out |   285 +
 .../isolation/expected/lock-update-delete_1.out    |   273 +
 .../isolation/expected/lock-update-traversal.out   |    63 +
 src/test/isolation/expected/multiple-cic.out       |    24 +
 .../isolation/expected/multiple-row-versions.out   |    30 +
 .../isolation/expected/multixact-no-deadlock.out   |    32 +
 .../isolation/expected/multixact-no-forget.out     |   168 +
 .../isolation/expected/multixact-no-forget_1.out   |   160 +
 src/test/isolation/expected/nowait-2.out           |    55 +
 src/test/isolation/expected/nowait-3.out           |    21 +
 src/test/isolation/expected/nowait-4.out           |    23 +
 src/test/isolation/expected/nowait-4_1.out         |    23 +
 src/test/isolation/expected/nowait-5.out           |    43 +
 src/test/isolation/expected/nowait.out             |    81 +
 src/test/isolation/expected/partial-index.out      |   715 +
 .../expected/partition-concurrent-attach.out       |    55 +
 .../expected/partition-drop-index-locking.out      |   100 +
 .../isolation/expected/partition-key-update-1.out  |   129 +
 .../isolation/expected/partition-key-update-2.out  |    33 +
 .../isolation/expected/partition-key-update-3.out  |   155 +
 .../isolation/expected/partition-key-update-4.out  |    72 +
 src/test/isolation/expected/plpgsql-toast.out      |   316 +
 src/test/isolation/expected/predicate-gin.out      |   581 +
 src/test/isolation/expected/predicate-gist.out     |   819 +
 src/test/isolation/expected/predicate-hash.out     |   819 +
 .../expected/predicate-lock-hot-tuple.out          |    24 +
 .../expected/prepared-transactions-cic.out         |    20 +
 .../isolation/expected/prepared-transactions.out   | 48205 +++++++++++++++++++
 src/test/isolation/expected/project-manager.out    |   379 +
 .../isolation/expected/propagate-lock-delete.out   |   105 +
 .../isolation/expected/read-only-anomaly-2.out     |    58 +
 .../isolation/expected/read-only-anomaly-3.out     |    34 +
 src/test/isolation/expected/read-only-anomaly.out  |    33 +
 .../isolation/expected/read-write-unique-2.out     |    37 +
 .../isolation/expected/read-write-unique-3.out     |    14 +
 .../isolation/expected/read-write-unique-4.out     |    49 +
 src/test/isolation/expected/read-write-unique.out  |    37 +
 src/test/isolation/expected/receipt-report.out     |  4215 ++
 .../isolation/expected/referential-integrity.out   |   839 +
 .../expected/reindex-concurrently-toast.out        |   775 +
 .../isolation/expected/reindex-concurrently.out    |    90 +
 src/test/isolation/expected/reindex-schema.out     |    17 +
 src/test/isolation/expected/ri-trigger.out         |   131 +
 src/test/isolation/expected/sequence-ddl.out       |    91 +
 .../isolation/expected/serializable-parallel-2.out |    50 +
 .../isolation/expected/serializable-parallel.out   |    58 +
 src/test/isolation/expected/simple-write-skew.out  |    41 +
 src/test/isolation/expected/skip-locked-2.out      |    67 +
 src/test/isolation/expected/skip-locked-3.out      |    25 +
 src/test/isolation/expected/skip-locked-4.out      |    27 +
 src/test/isolation/expected/skip-locked-4_1.out    |    23 +
 src/test/isolation/expected/skip-locked.out        |   561 +
 .../isolation/expected/temp-schema-cleanup.out     |   116 +
 .../expected/temporal-range-integrity.out          |   379 +
 src/test/isolation/expected/timeouts.out           |    81 +
 src/test/isolation/expected/total-cash.out         |   349 +
 src/test/isolation/expected/truncate-conflict.out  |   115 +
 src/test/isolation/expected/tuplelock-conflict.out |   629 +
 .../isolation/expected/tuplelock-partition.out     |    24 +
 src/test/isolation/expected/tuplelock-update.out   |    49 +
 .../expected/tuplelock-upgrade-no-deadlock.out     |   253 +
 src/test/isolation/expected/two-ids.out            |  1187 +
 .../isolation/expected/update-conflict-out.out     |    31 +
 .../isolation/expected/update-locked-tuple.out     |    55 +
 .../isolation/expected/vacuum-concurrent-drop.out  |    76 +
 src/test/isolation/expected/vacuum-conflict.out    |   149 +
 src/test/isolation/expected/vacuum-reltuples.out   |    67 +
 src/test/isolation/expected/vacuum-skip-locked.out |   171 +
 src/test/isolation/isolation_main.c                |   152 +
 src/test/isolation/isolation_schedule              |   101 +
 src/test/isolation/isolationtester.c               |  1149 +
 src/test/isolation/isolationtester.h               |    93 +
 src/test/isolation/specparse.y                     |   280 +
 src/test/isolation/specs/aborted-keyrevoke.spec    |    46 +
 src/test/isolation/specs/alter-table-1.spec        |   170 +
 src/test/isolation/specs/alter-table-2.spec        |    79 +
 src/test/isolation/specs/alter-table-3.spec        |    79 +
 src/test/isolation/specs/alter-table-4.spec        |    37 +
 src/test/isolation/specs/async-notify.spec         |    84 +
 src/test/isolation/specs/classroom-scheduling.spec |    29 +
 src/test/isolation/specs/create-trigger.spec       |    54 +
 src/test/isolation/specs/deadlock-hard.spec        |    79 +
 src/test/isolation/specs/deadlock-parallel.spec    |   113 +
 src/test/isolation/specs/deadlock-simple.spec      |    29 +
 src/test/isolation/specs/deadlock-soft-2.spec      |    43 +
 src/test/isolation/specs/deadlock-soft.spec        |    40 +
 .../isolation/specs/delete-abort-savept-2.spec     |    34 +
 src/test/isolation/specs/delete-abort-savept.spec  |    37 +
 .../specs/detach-partition-concurrently-1.spec     |    69 +
 .../specs/detach-partition-concurrently-2.spec     |    41 +
 .../specs/detach-partition-concurrently-3.spec     |    86 +
 .../specs/detach-partition-concurrently-4.spec     |    83 +
 .../isolation/specs/drop-index-concurrently-1.spec |    41 +
 .../isolation/specs/eval-plan-qual-trigger.spec    |   410 +
 src/test/isolation/specs/eval-plan-qual.spec       |   359 +
 src/test/isolation/specs/fk-contention.spec        |    19 +
 src/test/isolation/specs/fk-deadlock.spec          |    46 +
 src/test/isolation/specs/fk-deadlock2.spec         |    48 +
 src/test/isolation/specs/fk-partitioned-1.spec     |    45 +
 src/test/isolation/specs/fk-partitioned-2.spec     |    29 +
 src/test/isolation/specs/freeze-the-dead.spec      |    56 +
 src/test/isolation/specs/horizons.spec             |   169 +
 src/test/isolation/specs/index-only-scan.spec      |    46 +
 src/test/isolation/specs/inherit-temp.spec         |    78 +
 .../specs/insert-conflict-do-nothing-2.spec        |    34 +
 .../specs/insert-conflict-do-nothing.spec          |    40 +
 .../specs/insert-conflict-do-update-2.spec         |    40 +
 .../specs/insert-conflict-do-update-3.spec         |    69 +
 .../isolation/specs/insert-conflict-do-update.spec |    39 +
 .../specs/insert-conflict-specconflict.spec        |   259 +
 .../isolation/specs/lock-committed-keyupdate.spec  |    66 +
 .../isolation/specs/lock-committed-update.spec     |    62 +
 src/test/isolation/specs/lock-update-delete.spec   |    61 +
 .../isolation/specs/lock-update-traversal.spec     |    39 +
 src/test/isolation/specs/multiple-cic.spec         |    43 +
 .../isolation/specs/multiple-row-versions.spec     |    47 +
 .../isolation/specs/multixact-no-deadlock.spec     |    35 +
 src/test/isolation/specs/multixact-no-forget.spec  |    44 +
 src/test/isolation/specs/nowait-2.spec             |    37 +
 src/test/isolation/specs/nowait-3.spec             |    33 +
 src/test/isolation/specs/nowait-4.spec             |    35 +
 src/test/isolation/specs/nowait-5.spec             |    57 +
 src/test/isolation/specs/nowait.spec               |    25 +
 src/test/isolation/specs/partial-index.spec        |    32 +
 .../specs/partition-concurrent-attach.spec         |    43 +
 .../specs/partition-drop-index-locking.spec        |    47 +
 .../isolation/specs/partition-key-update-1.spec    |    86 +
 .../isolation/specs/partition-key-update-2.spec    |    45 +
 .../isolation/specs/partition-key-update-3.spec    |    44 +
 .../isolation/specs/partition-key-update-4.spec    |    76 +
 src/test/isolation/specs/plpgsql-toast.spec        |   178 +
 src/test/isolation/specs/predicate-gin.spec        |   115 +
 src/test/isolation/specs/predicate-gist.spec       |   117 +
 src/test/isolation/specs/predicate-hash.spec       |   122 +
 .../isolation/specs/predicate-lock-hot-tuple.spec  |    37 +
 .../isolation/specs/prepared-transactions-cic.spec |    37 +
 .../isolation/specs/prepared-transactions.spec     |  1507 +
 src/test/isolation/specs/project-manager.spec      |    30 +
 .../isolation/specs/propagate-lock-delete.spec     |    42 +
 src/test/isolation/specs/read-only-anomaly-2.spec  |    42 +
 src/test/isolation/specs/read-only-anomaly-3.spec  |    39 +
 src/test/isolation/specs/read-only-anomaly.spec    |    38 +
 src/test/isolation/specs/read-write-unique-2.spec  |    36 +
 src/test/isolation/specs/read-write-unique-3.spec  |    33 +
 src/test/isolation/specs/read-write-unique-4.spec  |    48 +
 src/test/isolation/specs/read-write-unique.spec    |    39 +
 src/test/isolation/specs/receipt-report.spec       |    47 +
 .../isolation/specs/referential-integrity.spec     |    32 +
 .../specs/reindex-concurrently-toast.spec          |   119 +
 src/test/isolation/specs/reindex-concurrently.spec |    40 +
 src/test/isolation/specs/reindex-schema.spec       |    32 +
 src/test/isolation/specs/ri-trigger.spec           |    53 +
 src/test/isolation/specs/sequence-ddl.spec         |    41 +
 .../isolation/specs/serializable-parallel-2.spec   |    30 +
 .../isolation/specs/serializable-parallel.spec     |    47 +
 src/test/isolation/specs/simple-write-skew.spec    |    30 +
 src/test/isolation/specs/skip-locked-2.spec        |    41 +
 src/test/isolation/specs/skip-locked-3.spec        |    36 +
 src/test/isolation/specs/skip-locked-4.spec        |    36 +
 src/test/isolation/specs/skip-locked.spec          |    28 +
 src/test/isolation/specs/temp-schema-cleanup.spec  |    85 +
 .../isolation/specs/temporal-range-integrity.spec  |    38 +
 src/test/isolation/specs/timeouts.spec             |    49 +
 src/test/isolation/specs/total-cash.spec           |    28 +
 src/test/isolation/specs/truncate-conflict.spec    |    38 +
 src/test/isolation/specs/tuplelock-conflict.spec   |    63 +
 src/test/isolation/specs/tuplelock-partition.spec  |    32 +
 src/test/isolation/specs/tuplelock-update.spec     |    37 +
 .../specs/tuplelock-upgrade-no-deadlock.spec       |    69 +
 src/test/isolation/specs/two-ids.spec              |    40 +
 src/test/isolation/specs/update-conflict-out.spec  |    54 +
 src/test/isolation/specs/update-locked-tuple.spec  |    38 +
 .../isolation/specs/vacuum-concurrent-drop.spec    |    45 +
 src/test/isolation/specs/vacuum-conflict.spec      |    51 +
 src/test/isolation/specs/vacuum-reltuples.spec     |    48 +
 src/test/isolation/specs/vacuum-skip-locked.spec   |    61 +
 src/test/isolation/specscanner.l                   |   157 +
 src/test/kerberos/.gitignore                       |     2 +
 src/test/kerberos/Makefile                         |    25 +
 src/test/kerberos/README                           |    45 +
 src/test/kerberos/t/001_auth.pl                    |   401 +
 src/test/ldap/.gitignore                           |     2 +
 src/test/ldap/Makefile                             |    25 +
 src/test/ldap/README                               |    52 +
 src/test/ldap/authdata.ldif                        |    32 +
 src/test/ldap/t/001_auth.pl                        |   369 +
 src/test/locale/.gitignore                         |     1 +
 src/test/locale/Makefile                           |    22 +
 src/test/locale/README                             |    28 +
 src/test/locale/de_DE.ISO8859-1/Makefile           |     7 +
 src/test/locale/de_DE.ISO8859-1/README             |     4 +
 .../locale/de_DE.ISO8859-1/expected/de-ctype.out   |   257 +
 .../de_DE.ISO8859-1/expected/test-de-char.sql.out  |    23 +
 .../expected/test-de-select.sql.out                |     7 +
 .../de_DE.ISO8859-1/expected/test-de-sort.out      |    20 +
 .../de_DE.ISO8859-1/expected/test-de-text.sql.out  |    23 +
 .../expected/test-de-upper-char.sql.out            |    23 +
 .../expected/test-de-upper-text.sql.out            |    23 +
 .../expected/test-de-upper-varchar.sql.out         |    23 +
 .../expected/test-de-varchar.sql.out               |    23 +
 src/test/locale/de_DE.ISO8859-1/runall             |    64 +
 .../locale/de_DE.ISO8859-1/test-de-select.sql.in   |     1 +
 src/test/locale/de_DE.ISO8859-1/test-de-sort.in    |    20 +
 .../locale/de_DE.ISO8859-1/test-de-upper.sql.in    |    22 +
 src/test/locale/de_DE.ISO8859-1/test-de.sql.in     |    22 +
 src/test/locale/gr_GR.ISO8859-7/Makefile           |     7 +
 src/test/locale/gr_GR.ISO8859-7/README             |     4 +
 .../locale/gr_GR.ISO8859-7/expected/gr-ctype.out   |   257 +
 .../gr_GR.ISO8859-7/expected/test-gr-char.sql.out  |    54 +
 .../expected/test-gr-select.sql.out                |    10 +
 .../gr_GR.ISO8859-7/expected/test-gr-sort.out      |     7 +
 .../gr_GR.ISO8859-7/expected/test-gr-text.sql.out  |    54 +
 .../expected/test-gr-varchar.sql.out               |    54 +
 src/test/locale/gr_GR.ISO8859-7/runall             |    49 +
 .../locale/gr_GR.ISO8859-7/test-gr-select.sql.in   |     1 +
 src/test/locale/gr_GR.ISO8859-7/test-gr-sort.in    |     7 +
 src/test/locale/gr_GR.ISO8859-7/test-gr.sql.in     |    53 +
 src/test/locale/koi8-r/Makefile                    |     7 +
 src/test/locale/koi8-r/expected/koi8-ctype.out     |   257 +
 .../locale/koi8-r/expected/test-koi8-char.sql.out  |    54 +
 .../koi8-r/expected/test-koi8-select.sql.out       |     8 +
 src/test/locale/koi8-r/expected/test-koi8-sort.out |     9 +
 .../locale/koi8-r/expected/test-koi8-text.sql.out  |    54 +
 .../koi8-r/expected/test-koi8-varchar.sql.out      |    54 +
 src/test/locale/koi8-r/runall                      |    49 +
 src/test/locale/koi8-r/test-koi8-select.sql.in     |     1 +
 src/test/locale/koi8-r/test-koi8-sort.in           |     9 +
 src/test/locale/koi8-r/test-koi8.sql.in            |    53 +
 src/test/locale/koi8-to-win1251/Makefile           |     7 +
 src/test/locale/koi8-to-win1251/README             |     6 +
 .../expected/test-koi8-char.sql.out                |    54 +
 .../expected/test-koi8-select.sql.out              |     8 +
 .../koi8-to-win1251/expected/test-koi8-sort.out    |     9 +
 .../expected/test-koi8-text.sql.out                |    54 +
 .../expected/test-koi8-varchar.sql.out             |    54 +
 src/test/locale/koi8-to-win1251/runall             |    46 +
 .../locale/koi8-to-win1251/test-koi8-select.sql.in |     1 +
 src/test/locale/koi8-to-win1251/test-koi8-sort.in  |     9 +
 src/test/locale/koi8-to-win1251/test-koi8.sql.in   |    53 +
 src/test/locale/sort-test.pl                       |    16 +
 src/test/locale/sort-test.py                       |    18 +
 src/test/locale/test-ctype.c                       |    79 +
 src/test/mb/README                                 |    10 +
 src/test/mb/expected/big5.out                      |    84 +
 src/test/mb/expected/euc_cn.out                    |    87 +
 src/test/mb/expected/euc_jp.out                    |    87 +
 src/test/mb/expected/euc_kr.out                    |    87 +
 src/test/mb/expected/euc_tw.out                    |    85 +
 src/test/mb/expected/gb18030.out                   |    86 +
 src/test/mb/expected/mule_internal.out             |   333 +
 src/test/mb/expected/sjis.out                      |    90 +
 src/test/mb/expected/utf8.out                      |    87 +
 src/test/mb/mbregress.sh                           |    74 +
 src/test/mb/sql/big5.sql                           |    20 +
 src/test/mb/sql/euc_cn.sql                         |    19 +
 src/test/mb/sql/euc_jp.sql                         |    19 +
 src/test/mb/sql/euc_kr.sql                         |    19 +
 src/test/mb/sql/euc_tw.sql                         |    20 +
 src/test/mb/sql/gb18030.sql                        |    19 +
 src/test/mb/sql/mule_internal.sql                  |    72 +
 src/test/mb/sql/sjis.sql                           |    20 +
 src/test/mb/sql/utf8.sql                           |    19 +
 src/test/modules/Makefile                          |    40 +
 src/test/modules/README                            |    20 +
 src/test/modules/brin/.gitignore                   |     4 +
 src/test/modules/brin/Makefile                     |    17 +
 .../summarization-and-inprogress-insertion.out     |    51 +
 .../summarization-and-inprogress-insertion.spec    |    44 +
 src/test/modules/brin/t/01_workitems.pl            |    44 +
 src/test/modules/brin/t/02_wal_consistency.pl      |    64 +
 src/test/modules/commit_ts/.gitignore              |     4 +
 src/test/modules/commit_ts/Makefile                |    20 +
 src/test/modules/commit_ts/commit_ts.conf          |     1 +
 .../commit_ts/expected/commit_timestamp.out        |   139 +
 .../commit_ts/expected/commit_timestamp_1.out      |   119 +
 .../modules/commit_ts/sql/commit_timestamp.sql     |    64 +
 src/test/modules/commit_ts/t/001_base.pl           |    36 +
 src/test/modules/commit_ts/t/002_standby.pl        |    66 +
 src/test/modules/commit_ts/t/003_standby_2.pl      |    67 +
 src/test/modules/commit_ts/t/004_restart.pl        |   152 +
 src/test/modules/delay_execution/.gitignore        |     3 +
 src/test/modules/delay_execution/Makefile          |    22 +
 src/test/modules/delay_execution/delay_execution.c |   104 +
 .../expected/partition-addition.out                |    27 +
 .../expected/partition-removal-1.out               |   233 +
 .../delay_execution/specs/partition-addition.spec  |    38 +
 .../delay_execution/specs/partition-removal-1.spec |    58 +
 src/test/modules/dummy_index_am/.gitignore         |     3 +
 src/test/modules/dummy_index_am/Makefile           |    20 +
 src/test/modules/dummy_index_am/README             |    12 +
 .../modules/dummy_index_am/dummy_index_am--1.0.sql |    19 +
 src/test/modules/dummy_index_am/dummy_index_am.c   |   333 +
 .../modules/dummy_index_am/dummy_index_am.control  |     5 +
 .../modules/dummy_index_am/expected/reloptions.out |   145 +
 src/test/modules/dummy_index_am/sql/reloptions.sql |    83 +
 src/test/modules/dummy_seclabel/.gitignore         |     4 +
 src/test/modules/dummy_seclabel/Makefile           |    20 +
 src/test/modules/dummy_seclabel/README             |    41 +
 .../modules/dummy_seclabel/dummy_seclabel--1.0.sql |     8 +
 src/test/modules/dummy_seclabel/dummy_seclabel.c   |    63 +
 .../modules/dummy_seclabel/dummy_seclabel.control  |     4 +
 .../dummy_seclabel/expected/dummy_seclabel.out     |   117 +
 .../modules/dummy_seclabel/sql/dummy_seclabel.sql  |   115 +
 src/test/modules/libpq_pipeline/.gitignore         |     5 +
 src/test/modules/libpq_pipeline/Makefile           |    25 +
 src/test/modules/libpq_pipeline/README             |     1 +
 src/test/modules/libpq_pipeline/libpq_pipeline.c   |  1806 +
 .../modules/libpq_pipeline/t/001_libpq_pipeline.pl |    78 +
 .../traces/disallowed_in_pipeline.trace            |     6 +
 .../libpq_pipeline/traces/multi_pipelines.trace    |    23 +
 .../modules/libpq_pipeline/traces/nosync.trace     |    92 +
 .../libpq_pipeline/traces/pipeline_abort.trace     |    62 +
 .../libpq_pipeline/traces/pipeline_idle.trace      |    32 +
 .../modules/libpq_pipeline/traces/prepared.trace   |    18 +
 .../libpq_pipeline/traces/simple_pipeline.trace    |    12 +
 .../modules/libpq_pipeline/traces/singlerow.trace  |    59 +
 .../libpq_pipeline/traces/transaction.trace        |    61 +
 src/test/modules/plsample/.gitignore               |     3 +
 src/test/modules/plsample/Makefile                 |    20 +
 src/test/modules/plsample/README                   |     6 +
 src/test/modules/plsample/expected/plsample.out    |    36 +
 src/test/modules/plsample/plsample--1.0.sql        |    14 +
 src/test/modules/plsample/plsample.c               |   187 +
 src/test/modules/plsample/plsample.control         |     8 +
 src/test/modules/plsample/sql/plsample.sql         |    15 +
 src/test/modules/snapshot_too_old/.gitignore       |     3 +
 src/test/modules/snapshot_too_old/Makefile         |    28 +
 .../snapshot_too_old/expected/sto_using_cursor.out |    19 +
 .../expected/sto_using_hash_index.out              |    19 +
 .../snapshot_too_old/expected/sto_using_select.out |    18 +
 .../snapshot_too_old/specs/sto_using_cursor.spec   |    38 +
 .../specs/sto_using_hash_index.spec                |    31 +
 .../snapshot_too_old/specs/sto_using_select.spec   |    37 +
 src/test/modules/snapshot_too_old/sto.conf         |     2 +
 src/test/modules/spgist_name_ops/.gitignore        |     4 +
 src/test/modules/spgist_name_ops/Makefile          |    23 +
 src/test/modules/spgist_name_ops/README            |     8 +
 .../spgist_name_ops/expected/spgist_name_ops.out   |   112 +
 .../spgist_name_ops/spgist_name_ops--1.0.sql       |    54 +
 src/test/modules/spgist_name_ops/spgist_name_ops.c |   501 +
 .../spgist_name_ops/spgist_name_ops.control        |     4 +
 .../spgist_name_ops/sql/spgist_name_ops.sql        |    51 +
 .../modules/ssl_passphrase_callback/.gitignore     |     1 +
 src/test/modules/ssl_passphrase_callback/Makefile  |    40 +
 .../modules/ssl_passphrase_callback/server.crt     |    19 +
 .../modules/ssl_passphrase_callback/server.key     |    30 +
 .../ssl_passphrase_callback/ssl_passphrase_func.c  |    90 +
 .../ssl_passphrase_callback/t/001_testfunc.pl      |    77 +
 src/test/modules/test_bloomfilter/.gitignore       |     4 +
 src/test/modules/test_bloomfilter/Makefile         |    23 +
 src/test/modules/test_bloomfilter/README           |    68 +
 .../test_bloomfilter/expected/test_bloomfilter.out |    22 +
 .../test_bloomfilter/sql/test_bloomfilter.sql      |    19 +
 .../test_bloomfilter/test_bloomfilter--1.0.sql     |    11 +
 .../modules/test_bloomfilter/test_bloomfilter.c    |   138 +
 .../test_bloomfilter/test_bloomfilter.control      |     4 +
 src/test/modules/test_ddl_deparse/.gitignore       |     4 +
 src/test/modules/test_ddl_deparse/Makefile         |    43 +
 src/test/modules/test_ddl_deparse/README           |     8 +
 .../test_ddl_deparse/expected/alter_extension.out  |     0
 .../test_ddl_deparse/expected/alter_function.out   |    15 +
 .../test_ddl_deparse/expected/alter_sequence.out   |    15 +
 .../test_ddl_deparse/expected/alter_table.out      |    29 +
 .../test_ddl_deparse/expected/alter_ts_config.out  |     8 +
 .../test_ddl_deparse/expected/alter_type_enum.out  |     7 +
 .../test_ddl_deparse/expected/comment_on.out       |    23 +
 .../expected/create_conversion.out                 |     6 +
 .../test_ddl_deparse/expected/create_domain.out    |    11 +
 .../test_ddl_deparse/expected/create_extension.out |     5 +
 .../test_ddl_deparse/expected/create_function.out  |     0
 .../test_ddl_deparse/expected/create_operator.out  |     0
 .../test_ddl_deparse/expected/create_rule.out      |    30 +
 .../test_ddl_deparse/expected/create_schema.out    |    19 +
 .../expected/create_sequence_1.out                 |    11 +
 .../test_ddl_deparse/expected/create_table.out     |   164 +
 .../test_ddl_deparse/expected/create_transform.out |    15 +
 .../test_ddl_deparse/expected/create_trigger.out   |    18 +
 .../test_ddl_deparse/expected/create_type.out      |    24 +
 .../test_ddl_deparse/expected/create_view.out      |    19 +
 .../modules/test_ddl_deparse/expected/defprivs.out |     6 +
 .../modules/test_ddl_deparse/expected/matviews.out |     8 +
 .../modules/test_ddl_deparse/expected/opfamily.out |    68 +
 .../test_ddl_deparse/expected/test_ddl_deparse.out |    40 +
 .../test_ddl_deparse/sql/alter_function.sql        |    17 +
 .../test_ddl_deparse/sql/alter_sequence.sql        |    15 +
 .../modules/test_ddl_deparse/sql/alter_table.sql   |    21 +
 .../test_ddl_deparse/sql/alter_ts_config.sql       |     8 +
 .../test_ddl_deparse/sql/alter_type_enum.sql       |     6 +
 .../modules/test_ddl_deparse/sql/comment_on.sql    |    14 +
 .../test_ddl_deparse/sql/create_conversion.sql     |     6 +
 .../modules/test_ddl_deparse/sql/create_domain.sql |    10 +
 .../test_ddl_deparse/sql/create_extension.sql      |     5 +
 .../modules/test_ddl_deparse/sql/create_rule.sql   |    31 +
 .../modules/test_ddl_deparse/sql/create_schema.sql |    17 +
 .../test_ddl_deparse/sql/create_sequence_1.sql     |    11 +
 .../modules/test_ddl_deparse/sql/create_table.sql  |   142 +
 .../test_ddl_deparse/sql/create_transform.sql      |    16 +
 .../test_ddl_deparse/sql/create_trigger.sql        |    18 +
 .../modules/test_ddl_deparse/sql/create_type.sql   |    21 +
 .../modules/test_ddl_deparse/sql/create_view.sql   |    17 +
 src/test/modules/test_ddl_deparse/sql/defprivs.sql |     6 +
 src/test/modules/test_ddl_deparse/sql/matviews.sql |     8 +
 src/test/modules/test_ddl_deparse/sql/opfamily.sql |    52 +
 .../test_ddl_deparse/sql/test_ddl_deparse.sql      |    42 +
 .../test_ddl_deparse/test_ddl_deparse--1.0.sql     |    16 +
 .../modules/test_ddl_deparse/test_ddl_deparse.c    |   296 +
 .../test_ddl_deparse/test_ddl_deparse.control      |     4 +
 src/test/modules/test_extensions/.gitignore        |     4 +
 src/test/modules/test_extensions/Makefile          |    32 +
 .../test_extensions/expected/test_extdepend.out    |   188 +
 .../test_extensions/expected/test_extensions.out   |   314 +
 .../modules/test_extensions/sql/test_extdepend.sql |    90 +
 .../test_extensions/sql/test_extensions.sql        |   211 +
 .../modules/test_extensions/test_ext1--1.0.sql     |     3 +
 src/test/modules/test_extensions/test_ext1.control |     5 +
 .../modules/test_extensions/test_ext2--1.0.sql     |     3 +
 src/test/modules/test_extensions/test_ext2.control |     4 +
 .../modules/test_extensions/test_ext3--1.0.sql     |     9 +
 src/test/modules/test_extensions/test_ext3.control |     3 +
 .../modules/test_extensions/test_ext4--1.0.sql     |     3 +
 src/test/modules/test_extensions/test_ext4.control |     4 +
 .../modules/test_extensions/test_ext5--1.0.sql     |     3 +
 src/test/modules/test_extensions/test_ext5.control |     3 +
 .../modules/test_extensions/test_ext6--1.0.sql     |     1 +
 src/test/modules/test_extensions/test_ext6.control |     5 +
 .../test_extensions/test_ext7--1.0--2.0.sql        |     8 +
 .../modules/test_extensions/test_ext7--1.0.sql     |    13 +
 src/test/modules/test_extensions/test_ext7.control |     4 +
 .../modules/test_extensions/test_ext8--1.0.sql     |    21 +
 src/test/modules/test_extensions/test_ext8.control |     4 +
 .../test_extensions/test_ext_cine--1.0--1.1.sql    |    26 +
 .../modules/test_extensions/test_ext_cine--1.0.sql |    25 +
 .../modules/test_extensions/test_ext_cine.control  |     3 +
 .../modules/test_extensions/test_ext_cor--1.0.sql  |    20 +
 .../modules/test_extensions/test_ext_cor.control   |     3 +
 .../test_extensions/test_ext_cyclic1--1.0.sql      |     3 +
 .../test_extensions/test_ext_cyclic1.control       |     4 +
 .../test_extensions/test_ext_cyclic2--1.0.sql      |     3 +
 .../test_extensions/test_ext_cyclic2.control       |     4 +
 .../test_extensions/test_ext_evttrig--1.0--2.0.sql |     7 +
 .../test_extensions/test_ext_evttrig--1.0.sql      |    16 +
 .../test_extensions/test_ext_evttrig.control       |     3 +
 src/test/modules/test_ginpostinglist/.gitignore    |     4 +
 src/test/modules/test_ginpostinglist/Makefile      |    23 +
 src/test/modules/test_ginpostinglist/README        |     2 +
 .../expected/test_ginpostinglist.out               |    19 +
 .../sql/test_ginpostinglist.sql                    |     7 +
 .../test_ginpostinglist--1.0.sql                   |     8 +
 .../test_ginpostinglist/test_ginpostinglist.c      |    96 +
 .../test_ginpostinglist.control                    |     4 +
 src/test/modules/test_integerset/.gitignore        |     4 +
 src/test/modules/test_integerset/Makefile          |    23 +
 src/test/modules/test_integerset/README            |     7 +
 .../test_integerset/expected/test_integerset.out   |    31 +
 .../test_integerset/sql/test_integerset.sql        |     7 +
 .../test_integerset/test_integerset--1.0.sql       |     8 +
 src/test/modules/test_integerset/test_integerset.c |   623 +
 .../test_integerset/test_integerset.control        |     4 +
 src/test/modules/test_misc/.gitignore              |     4 +
 src/test/modules/test_misc/Makefile                |    14 +
 src/test/modules/test_misc/README                  |     4 +
 .../test_misc/t/001_constraint_validation.pl       |   313 +
 src/test/modules/test_parser/.gitignore            |     4 +
 src/test/modules/test_parser/Makefile              |    23 +
 src/test/modules/test_parser/README                |    61 +
 .../modules/test_parser/expected/test_parser.out   |    44 +
 src/test/modules/test_parser/sql/test_parser.sql   |    18 +
 src/test/modules/test_parser/test_parser--1.0.sql  |    32 +
 src/test/modules/test_parser/test_parser.c         |   127 +
 src/test/modules/test_parser/test_parser.control   |     5 +
 src/test/modules/test_pg_dump/.gitignore           |     4 +
 src/test/modules/test_pg_dump/Makefile             |    21 +
 src/test/modules/test_pg_dump/README               |     4 +
 .../modules/test_pg_dump/expected/test_pg_dump.out |    93 +
 src/test/modules/test_pg_dump/sql/test_pg_dump.sql |   108 +
 src/test/modules/test_pg_dump/t/001_base.pl        |   842 +
 .../modules/test_pg_dump/test_pg_dump--1.0.sql     |    62 +
 src/test/modules/test_pg_dump/test_pg_dump.control |     3 +
 src/test/modules/test_predtest/.gitignore          |     4 +
 src/test/modules/test_predtest/Makefile            |    23 +
 src/test/modules/test_predtest/README              |    28 +
 .../test_predtest/expected/test_predtest.out       |  1096 +
 .../modules/test_predtest/sql/test_predtest.sql    |   442 +
 .../modules/test_predtest/test_predtest--1.0.sql   |    16 +
 src/test/modules/test_predtest/test_predtest.c     |   218 +
 .../modules/test_predtest/test_predtest.control    |     4 +
 src/test/modules/test_rbtree/.gitignore            |     4 +
 src/test/modules/test_rbtree/Makefile              |    23 +
 src/test/modules/test_rbtree/README                |    13 +
 .../modules/test_rbtree/expected/test_rbtree.out   |    12 +
 src/test/modules/test_rbtree/sql/test_rbtree.sql   |     8 +
 src/test/modules/test_rbtree/test_rbtree--1.0.sql  |     8 +
 src/test/modules/test_rbtree/test_rbtree.c         |   413 +
 src/test/modules/test_rbtree/test_rbtree.control   |     4 +
 src/test/modules/test_regex/.gitignore             |     4 +
 src/test/modules/test_regex/Makefile               |    23 +
 src/test/modules/test_regex/README                 |    78 +
 .../modules/test_regex/expected/test_regex.out     |  4934 ++
 .../test_regex/expected/test_regex_utf8.out        |   100 +
 .../test_regex/expected/test_regex_utf8_1.out      |     8 +
 src/test/modules/test_regex/sql/test_regex.sql     |  1744 +
 .../modules/test_regex/sql/test_regex_utf8.sql     |    60 +
 src/test/modules/test_regex/test_regex--1.0.sql    |     9 +
 src/test/modules/test_regex/test_regex.c           |   773 +
 src/test/modules/test_regex/test_regex.control     |     4 +
 src/test/modules/test_rls_hooks/.gitignore         |     4 +
 src/test/modules/test_rls_hooks/Makefile           |    27 +
 src/test/modules/test_rls_hooks/README             |    16 +
 .../test_rls_hooks/expected/test_rls_hooks.out     |   201 +
 src/test/modules/test_rls_hooks/rls_hooks.conf     |     1 +
 .../modules/test_rls_hooks/sql/test_rls_hooks.sql  |   176 +
 src/test/modules/test_rls_hooks/test_rls_hooks.c   |   184 +
 .../modules/test_rls_hooks/test_rls_hooks.control  |     4 +
 src/test/modules/test_rls_hooks/test_rls_hooks.h   |    25 +
 src/test/modules/test_shm_mq/.gitignore            |     4 +
 src/test/modules/test_shm_mq/Makefile              |    25 +
 src/test/modules/test_shm_mq/README                |    49 +
 .../modules/test_shm_mq/expected/test_shm_mq.out   |    36 +
 src/test/modules/test_shm_mq/setup.c               |   316 +
 src/test/modules/test_shm_mq/sql/test_shm_mq.sql   |    12 +
 src/test/modules/test_shm_mq/test.c                |   266 +
 src/test/modules/test_shm_mq/test_shm_mq--1.0.sql  |    19 +
 src/test/modules/test_shm_mq/test_shm_mq.control   |     4 +
 src/test/modules/test_shm_mq/test_shm_mq.h         |    45 +
 src/test/modules/test_shm_mq/worker.c              |   197 +
 src/test/modules/unsafe_tests/.gitignore           |     4 +
 src/test/modules/unsafe_tests/Makefile             |    14 +
 src/test/modules/unsafe_tests/README               |     8 +
 .../unsafe_tests/expected/alter_system_table.out   |   179 +
 .../modules/unsafe_tests/expected/rolenames.out    |  1091 +
 .../unsafe_tests/sql/alter_system_table.sql        |   194 +
 src/test/modules/unsafe_tests/sql/rolenames.sql    |   504 +
 src/test/modules/worker_spi/.gitignore             |     4 +
 src/test/modules/worker_spi/Makefile               |    26 +
 src/test/modules/worker_spi/dynamic.conf           |     2 +
 .../modules/worker_spi/expected/worker_spi.out     |    50 +
 src/test/modules/worker_spi/sql/worker_spi.sql     |    35 +
 src/test/modules/worker_spi/worker_spi--1.0.sql    |     9 +
 src/test/modules/worker_spi/worker_spi.c           |   392 +
 src/test/modules/worker_spi/worker_spi.control     |     5 +
 src/test/perl/Makefile                             |    39 +
 src/test/perl/PostgreSQL/Test/Cluster.pm           |    13 +
 src/test/perl/PostgreSQL/Test/Utils.pm             |    11 +
 src/test/perl/PostgresNode.pm                      |  2854 ++
 src/test/perl/PostgresVersion.pm                   |   136 +
 src/test/perl/README                               |    97 +
 src/test/perl/RecursiveCopy.pm                     |   157 +
 src/test/perl/SimpleTee.pm                         |    35 +
 src/test/perl/TestLib.pm                           |   982 +
 src/test/recovery/.gitignore                       |     2 +
 src/test/recovery/Makefile                         |    29 +
 src/test/recovery/README                           |    25 +
 src/test/recovery/t/001_stream_rep.pl              |   486 +
 src/test/recovery/t/002_archiving.pl               |    99 +
 src/test/recovery/t/003_recovery_targets.pl        |   184 +
 src/test/recovery/t/004_timeline_switch.pl         |   111 +
 src/test/recovery/t/005_replay_delay.pl            |   112 +
 src/test/recovery/t/006_logical_decoding.pl        |   195 +
 src/test/recovery/t/007_sync_rep.pl                |   219 +
 src/test/recovery/t/008_fsm_truncation.pl          |    99 +
 src/test/recovery/t/009_twophase.pl                |   482 +
 .../recovery/t/010_logical_decoding_timelines.pl   |   199 +
 src/test/recovery/t/011_crash_recovery.pl          |    64 +
 src/test/recovery/t/012_subtransactions.pl         |   219 +
 src/test/recovery/t/013_crash_restart.pl           |   248 +
 src/test/recovery/t/014_unlogged_reinit.pl         |    82 +
 src/test/recovery/t/015_promotion_pages.pl         |    87 +
 src/test/recovery/t/016_min_consistency.pl         |   141 +
 src/test/recovery/t/017_shm.pl                     |   221 +
 src/test/recovery/t/018_wal_optimize.pl            |   399 +
 src/test/recovery/t/019_replslot_limit.pl          |   428 +
 src/test/recovery/t/020_archive_status.pl          |   236 +
 src/test/recovery/t/021_row_visibility.pl          |   209 +
 src/test/recovery/t/022_crash_temp_files.pl        |   268 +
 src/test/recovery/t/023_pitr_prepared_xact.pl      |    89 +
 src/test/recovery/t/024_archive_recovery.pl        |   103 +
 src/test/recovery/t/025_stuck_on_old_timeline.pl   |   111 +
 src/test/recovery/t/026_overwrite_contrecord.pl    |   109 +
 src/test/recovery/t/031_recovery_conflict.pl       |   377 +
 src/test/recovery/t/033_replay_tsp_drops.pl        |   152 +
 src/test/recovery/t/cp_history_files               |    10 +
 src/test/regress/.gitignore                        |    11 +
 src/test/regress/GNUmakefile                       |   167 +
 src/test/regress/Makefile                          |    17 +
 src/test/regress/README                            |     3 +
 src/test/regress/case_sensitive_ident.diff         |  9545 ++++
 src/test/regress/data/agg.data                     |     4 +
 src/test/regress/data/array.data                   |   103 +
 src/test/regress/data/constrf.data                 |     2 +
 src/test/regress/data/constro.data                 |     2 +
 src/test/regress/data/dept.data                    |     2 +
 src/test/regress/data/desc.data                    | 10000 ++++
 src/test/regress/data/emp.data                     |     3 +
 src/test/regress/data/hash.data                    | 10000 ++++
 src/test/regress/data/jsonb.data                   |  1012 +
 src/test/regress/data/onek.data                    |  1000 +
 src/test/regress/data/person.data                  |    50 +
 src/test/regress/data/real_city.data               |     5 +
 src/test/regress/data/rect.data                    |  3378 ++
 src/test/regress/data/streets.data                 |  5124 ++
 src/test/regress/data/stud_emp.data                |     3 +
 src/test/regress/data/student.data                 |     2 +
 src/test/regress/data/tenk.data                    | 10000 ++++
 src/test/regress/data/tsearch.data                 |   508 +
 src/test/regress/expected/.gitignore               |    10 +
 src/test/regress/expected/advisory_lock.out        |   275 +
 src/test/regress/expected/aggregates.out           |  2815 ++
 src/test/regress/expected/alter_generic.out        |   747 +
 src/test/regress/expected/alter_operator.out       |   139 +
 src/test/regress/expected/alter_table.out          |  4593 ++
 src/test/regress/expected/amutils.out              |   254 +
 src/test/regress/expected/arrays.out               |  2436 +
 src/test/regress/expected/async.out                |    42 +
 src/test/regress/expected/bit.out                  |   748 +
 src/test/regress/expected/bitmapops.out            |    38 +
 src/test/regress/expected/boolean.out              |   559 +
 src/test/regress/expected/box.out                  |   641 +
 src/test/regress/expected/brin.out                 |   569 +
 src/test/regress/expected/brin_bloom.out           |   428 +
 src/test/regress/expected/brin_multi.out           |   462 +
 src/test/regress/expected/btree_index.out          |   343 +
 src/test/regress/expected/case.out                 |   419 +
 src/test/regress/expected/char.out                 |   122 +
 src/test/regress/expected/char_1.out               |   122 +
 src/test/regress/expected/char_2.out               |   122 +
 src/test/regress/expected/circle.out               |   125 +
 src/test/regress/expected/cluster.out              |   601 +
 src/test/regress/expected/collate.icu.utf8.out     |  1959 +
 src/test/regress/expected/collate.icu.utf8_1.out   |     9 +
 src/test/regress/expected/collate.linux.utf8.out   |  1160 +
 src/test/regress/expected/collate.linux.utf8_1.out |    11 +
 src/test/regress/expected/collate.out              |   729 +
 src/test/regress/expected/combocid.out             |   169 +
 src/test/regress/expected/comments.out             |    65 +
 src/test/regress/expected/compression.out          |   362 +
 src/test/regress/expected/compression_1.out        |   361 +
 src/test/regress/expected/conversion.out           |   558 +
 src/test/regress/expected/copy2.out                |   663 +
 src/test/regress/expected/copydml.out              |   112 +
 src/test/regress/expected/copyselect.out           |   151 +
 src/test/regress/expected/create_aggregate.out     |   324 +
 src/test/regress/expected/create_am.out            |   301 +
 src/test/regress/expected/create_cast.out          |    74 +
 src/test/regress/expected/create_function_3.out    |   719 +
 src/test/regress/expected/create_index.out         |  2845 ++
 src/test/regress/expected/create_index_spgist.out  |  1338 +
 src/test/regress/expected/create_misc.out          |   151 +
 src/test/regress/expected/create_operator.out      |   293 +
 src/test/regress/expected/create_procedure.out     |   383 +
 src/test/regress/expected/create_table.out         |  1321 +
 src/test/regress/expected/create_table_like.out    |   519 +
 src/test/regress/expected/create_type.out          |   322 +
 src/test/regress/expected/create_view.out          |  2096 +
 src/test/regress/expected/cypher_ddl.out           |   865 +
 src/test/regress/expected/cypher_dml.out           |  3491 ++
 src/test/regress/expected/cypher_dml2.out          |   500 +
 src/test/regress/expected/cypher_eager.out         |   560 +
 src/test/regress/expected/cypher_expr.out          |   851 +
 src/test/regress/expected/cypher_finalize.out      |     7 +
 src/test/regress/expected/cypher_func.out          |   321 +
 src/test/regress/expected/cypher_plpgsql.out       |   227 +
 src/test/regress/expected/cypher_shortestpath.out  |   369 +
 src/test/regress/expected/cypher_shortestpath2.out | 15595 ++++++
 src/test/regress/expected/cypher_substring.out     |   281 +
 src/test/regress/expected/date.out                 |  1497 +
 src/test/regress/expected/dbsize.out               |   188 +
 src/test/regress/expected/delete.out               |    33 +
 src/test/regress/expected/dependency.out           |   150 +
 src/test/regress/expected/domain.out               |  1150 +
 src/test/regress/expected/drop_if_exists.out       |   342 +
 src/test/regress/expected/drop_operator.out        |    61 +
 src/test/regress/expected/enum.out                 |   691 +
 src/test/regress/expected/equivclass.out           |   453 +
 src/test/regress/expected/errors.out               |   447 +
 src/test/regress/expected/event_trigger.out        |   611 +
 src/test/regress/expected/explain.out              |   488 +
 src/test/regress/expected/expressions.out          |   381 +
 src/test/regress/expected/fast_default.out         |   843 +
 .../regress/expected/float4-misrounded-input.out   |   961 +
 src/test/regress/expected/float4.out               |   961 +
 src/test/regress/expected/float8.out               |  1382 +
 src/test/regress/expected/foreign_data.out         |  2102 +
 src/test/regress/expected/foreign_key.out          |  2649 +
 src/test/regress/expected/functional_deps.out      |   232 +
 src/test/regress/expected/generated.out            |  1065 +
 src/test/regress/expected/geometry.out             |  5199 ++
 src/test/regress/expected/gin.out                  |   290 +
 src/test/regress/expected/gist.out                 |   394 +
 src/test/regress/expected/graphid.out              |   194 +
 src/test/regress/expected/graphmeta.out            |   257 +
 src/test/regress/expected/groupingsets.out         |  2152 +
 src/test/regress/expected/guc.out                  |   815 +
 src/test/regress/expected/hash_func.out            |   374 +
 src/test/regress/expected/hash_index.out           |   243 +
 src/test/regress/expected/hash_part.out            |   114 +
 src/test/regress/expected/horology.out             |  3344 ++
 src/test/regress/expected/hs_standby_allowed.out   |   218 +
 src/test/regress/expected/hs_standby_check.out     |    20 +
 .../regress/expected/hs_standby_disallowed.out     |   133 +
 src/test/regress/expected/hs_standby_functions.out |    40 +
 src/test/regress/expected/identity.out             |   562 +
 src/test/regress/expected/incremental_sort.out     |  1676 +
 src/test/regress/expected/index_including.out      |   400 +
 src/test/regress/expected/index_including_gist.out |   166 +
 src/test/regress/expected/indexing.out             |  1422 +
 src/test/regress/expected/indirect_toast.out       |   158 +
 src/test/regress/expected/inet.out                 |  1058 +
 src/test/regress/expected/infinite_recurse.out     |    24 +
 src/test/regress/expected/infinite_recurse_1.out   |    16 +
 src/test/regress/expected/inherit.out              |  2532 +
 src/test/regress/expected/init_privs.out           |    12 +
 src/test/regress/expected/insert.out               |  1004 +
 src/test/regress/expected/insert_conflict.out      |   866 +
 src/test/regress/expected/int2.out                 |   312 +
 src/test/regress/expected/int4.out                 |   439 +
 src/test/regress/expected/int8.out                 |   934 +
 src/test/regress/expected/interval.out             |  1045 +
 src/test/regress/expected/join.out                 |  6628 +++
 src/test/regress/expected/join_hash.out            |  1015 +
 src/test/regress/expected/json.out                 |  2638 +
 src/test/regress/expected/json_encoding.out        |   262 +
 src/test/regress/expected/json_encoding_1.out      |   246 +
 src/test/regress/expected/json_encoding_2.out      |     9 +
 src/test/regress/expected/jsonb.out                |  5511 +++
 src/test/regress/expected/jsonb_jsonpath.out       |  2539 +
 src/test/regress/expected/jsonpath.out             |   964 +
 src/test/regress/expected/jsonpath_encoding.out    |   180 +
 src/test/regress/expected/jsonpath_encoding_1.out  |   168 +
 src/test/regress/expected/jsonpath_encoding_2.out  |     9 +
 src/test/regress/expected/limit.out                |   694 +
 src/test/regress/expected/line.out                 |    87 +
 src/test/regress/expected/lock.out                 |   178 +
 src/test/regress/expected/lseg.out                 |    44 +
 src/test/regress/expected/macaddr.out              |   160 +
 src/test/regress/expected/macaddr8.out             |   354 +
 src/test/regress/expected/matview.out              |   678 +
 src/test/regress/expected/memoize.out              |   283 +
 src/test/regress/expected/misc_functions.out       |   276 +
 src/test/regress/expected/misc_sanity.out          |   147 +
 src/test/regress/expected/money.out                |   505 +
 src/test/regress/expected/multirangetypes.out      |  3232 ++
 src/test/regress/expected/mvcc.out                 |    42 +
 src/test/regress/expected/name.out                 |   197 +
 src/test/regress/expected/namespace.out            |    71 +
 src/test/regress/expected/numeric.out              |  3226 ++
 src/test/regress/expected/numeric_big.out          |  2082 +
 src/test/regress/expected/numerology.out           |   136 +
 src/test/regress/expected/object_address.out       |   623 +
 src/test/regress/expected/oid.out                  |   122 +
 src/test/regress/expected/oidjoins.out             |   266 +
 src/test/regress/expected/opr_sanity.out           |  2280 +
 src/test/regress/expected/partition_aggregate.out  |  1519 +
 src/test/regress/expected/partition_info.out       |   351 +
 src/test/regress/expected/partition_join.out       |  4864 ++
 src/test/regress/expected/partition_prune.out      |  3865 ++
 src/test/regress/expected/password.out             |   144 +
 src/test/regress/expected/path.out                 |    82 +
 src/test/regress/expected/pg_lsn.out               |   257 +
 src/test/regress/expected/plancache.out            |   400 +
 src/test/regress/expected/plpgsql.out              |  5731 +++
 src/test/regress/expected/point.out                |   475 +
 src/test/regress/expected/polygon.out              |   308 +
 src/test/regress/expected/polymorphism.out         |  2098 +
 src/test/regress/expected/portals.out              |  1520 +
 src/test/regress/expected/portals_p2.out           |   122 +
 src/test/regress/expected/prepare.out              |   189 +
 src/test/regress/expected/prepared_xacts.out       |   270 +
 src/test/regress/expected/prepared_xacts_1.out     |   266 +
 src/test/regress/expected/privileges.out           |  2493 +
 src/test/regress/expected/propertyindex.out        |   324 +
 src/test/regress/expected/psql.out                 |  6078 +++
 src/test/regress/expected/psql_crosstab.out        |   216 +
 src/test/regress/expected/publication.out          |   346 +
 src/test/regress/expected/random.out               |    53 +
 src/test/regress/expected/rangefuncs.out           |  2447 +
 src/test/regress/expected/rangetypes.out           |  1770 +
 src/test/regress/expected/regex.linux.utf8.out     |   164 +
 src/test/regress/expected/regex.out                |   645 +
 src/test/regress/expected/regproc.out              |   437 +
 src/test/regress/expected/reindex_catalog.out      |    48 +
 src/test/regress/expected/reloptions.out           |   226 +
 src/test/regress/expected/replica_identity.out     |   233 +
 src/test/regress/expected/returning.out            |   357 +
 src/test/regress/expected/roleattributes.out       |   249 +
 src/test/regress/expected/rowsecurity.out          |  4042 ++
 src/test/regress/expected/rowtypes.out             |  1242 +
 src/test/regress/expected/rules.out                |  3731 ++
 src/test/regress/expected/sanity_check.out         |   254 +
 src/test/regress/expected/select.out               |   973 +
 src/test/regress/expected/select_distinct.out      |   308 +
 src/test/regress/expected/select_distinct_on.out   |    75 +
 src/test/regress/expected/select_having.out        |    93 +
 src/test/regress/expected/select_having_1.out      |    93 +
 src/test/regress/expected/select_having_2.out      |    93 +
 src/test/regress/expected/select_implicit.out      |   338 +
 src/test/regress/expected/select_implicit_1.out    |   338 +
 src/test/regress/expected/select_implicit_2.out    |   338 +
 src/test/regress/expected/select_into.out          |   222 +
 src/test/regress/expected/select_parallel.out      |  1221 +
 src/test/regress/expected/select_views.out         |  1552 +
 src/test/regress/expected/sequence.out             |   824 +
 src/test/regress/expected/spgist.out               |    88 +
 src/test/regress/expected/sql_restriction.out      |    81 +
 src/test/regress/expected/stats.out                |   211 +
 src/test/regress/expected/stats_ext.out            |  3256 ++
 src/test/regress/expected/strings.out              |  2272 +
 src/test/regress/expected/subscription.out         |   269 +
 src/test/regress/expected/subselect.out            |  1859 +
 src/test/regress/expected/sysviews.out             |   161 +
 src/test/regress/expected/tablesample.out          |   331 +
 src/test/regress/expected/temp.out                 |   392 +
 src/test/regress/expected/text.out                 |   440 +
 src/test/regress/expected/tid.out                  |    76 +
 src/test/regress/expected/tidrangescan.out         |   300 +
 src/test/regress/expected/tidscan.out              |   296 +
 src/test/regress/expected/time.out                 |   200 +
 src/test/regress/expected/timestamp.out            |  2081 +
 src/test/regress/expected/timestamptz.out          |  2991 ++
 src/test/regress/expected/timetz.out               |   233 +
 src/test/regress/expected/transactions.out         |  1064 +
 src/test/regress/expected/triggers.out             |  3470 ++
 src/test/regress/expected/truncate.out             |   594 +
 src/test/regress/expected/tsdicts.out              |   689 +
 src/test/regress/expected/tsearch.out              |  2853 ++
 src/test/regress/expected/tsrf.out                 |   712 +
 src/test/regress/expected/tstypes.out              |  1391 +
 src/test/regress/expected/tuplesort.out            |   686 +
 src/test/regress/expected/txid.out                 |   327 +
 src/test/regress/expected/type_sanity.out          |   783 +
 src/test/regress/expected/typed_table.out          |   133 +
 src/test/regress/expected/unicode.out              |    89 +
 src/test/regress/expected/unicode_1.out            |     3 +
 src/test/regress/expected/union.out                |  1434 +
 src/test/regress/expected/updatable_views.out      |  3078 ++
 src/test/regress/expected/update.out               |  1028 +
 src/test/regress/expected/uuid.out                 |   159 +
 src/test/regress/expected/vacuum.out               |   415 +
 src/test/regress/expected/vacuum_parallel.out      |    49 +
 src/test/regress/expected/varchar.out              |   111 +
 src/test/regress/expected/varchar_1.out            |   111 +
 src/test/regress/expected/varchar_2.out            |   111 +
 src/test/regress/expected/window.out               |  4065 ++
 src/test/regress/expected/with.out                 |  3335 ++
 src/test/regress/expected/write_parallel.out       |    80 +
 src/test/regress/expected/xid.out                  |   462 +
 src/test/regress/expected/xml.out                  |  1570 +
 src/test/regress/expected/xml_1.out                |  1417 +
 src/test/regress/expected/xml_2.out                |  1550 +
 src/test/regress/expected/xmlmap.out               |  1305 +
 src/test/regress/expected/xmlmap_1.out             |   135 +
 src/test/regress/input/constraints.source          |   573 +
 src/test/regress/input/copy.source                 |   265 +
 src/test/regress/input/create_function_0.source    |    95 +
 src/test/regress/input/create_function_1.source    |    25 +
 src/test/regress/input/create_function_2.source    |    88 +
 src/test/regress/input/largeobject.source          |   274 +
 src/test/regress/input/misc.source                 |   262 +
 src/test/regress/input/tablespace.source           |   411 +
 src/test/regress/output/constraints.source         |   761 +
 src/test/regress/output/copy.source                |   221 +
 src/test/regress/output/create_function_0.source   |    88 +
 src/test/regress/output/create_function_1.source   |    26 +
 src/test/regress/output/create_function_2.source   |    69 +
 src/test/regress/output/largeobject.source         |   492 +
 src/test/regress/output/largeobject_1.source       |   492 +
 src/test/regress/output/misc.source                |   692 +
 src/test/regress/output/tablespace.source          |   936 +
 src/test/regress/parallel_schedule                 |   160 +
 src/test/regress/pg_regress.c                      |  2697 ++
 src/test/regress/pg_regress.h                      |    70 +
 src/test/regress/pg_regress_main.c                 |   126 +
 src/test/regress/regress.c                         |  1208 +
 src/test/regress/regressplans.sh                   |   101 +
 src/test/regress/resultmap                         |     3 +
 src/test/regress/sql/.gitignore                    |     9 +
 src/test/regress/sql/advisory_lock.sql             |   146 +
 src/test/regress/sql/aggregates.sql                |  1247 +
 src/test/regress/sql/alter_generic.sql             |   605 +
 src/test/regress/sql/alter_operator.sql            |   100 +
 src/test/regress/sql/alter_table.sql               |  3030 ++
 src/test/regress/sql/amutils.sql                   |    99 +
 src/test/regress/sql/arrays.sql                    |   740 +
 src/test/regress/sql/async.sql                     |    23 +
 src/test/regress/sql/bit.sql                       |   231 +
 src/test/regress/sql/bitmapops.sql                 |    41 +
 src/test/regress/sql/boolean.sql                   |   262 +
 src/test/regress/sql/box.sql                       |   283 +
 src/test/regress/sql/brin.sql                      |   511 +
 src/test/regress/sql/brin_bloom.sql                |   376 +
 src/test/regress/sql/brin_multi.sql                |   416 +
 src/test/regress/sql/btree_index.sql               |   185 +
 src/test/regress/sql/case.sql                      |   265 +
 src/test/regress/sql/char.sql                      |    75 +
 src/test/regress/sql/circle.sql                    |    57 +
 src/test/regress/sql/cluster.sql                   |   280 +
 src/test/regress/sql/collate.icu.utf8.sql          |   758 +
 src/test/regress/sql/collate.linux.utf8.sql        |   455 +
 src/test/regress/sql/collate.sql                   |   281 +
 src/test/regress/sql/combocid.sql                  |   111 +
 src/test/regress/sql/comments.sql                  |    42 +
 src/test/regress/sql/compression.sql               |   153 +
 src/test/regress/sql/conversion.sql                |   221 +
 src/test/regress/sql/copy2.sql                     |   470 +
 src/test/regress/sql/copydml.sql                   |    91 +
 src/test/regress/sql/copyselect.sql                |    96 +
 src/test/regress/sql/create_aggregate.sql          |   330 +
 src/test/regress/sql/create_am.sql                 |   214 +
 src/test/regress/sql/create_cast.sql               |    54 +
 src/test/regress/sql/create_function_3.sql         |   404 +
 src/test/regress/sql/create_index.sql              |  1242 +
 src/test/regress/sql/create_index_spgist.sql       |   429 +
 src/test/regress/sql/create_misc.sql               |   217 +
 src/test/regress/sql/create_operator.sql           |   234 +
 src/test/regress/sql/create_procedure.sql          |   253 +
 src/test/regress/sql/create_table.sql              |   977 +
 src/test/regress/sql/create_table_like.sql         |   217 +
 src/test/regress/sql/create_type.sql               |   235 +
 src/test/regress/sql/create_view.sql               |   690 +
 src/test/regress/sql/cypher_ddl.sql                |   373 +
 src/test/regress/sql/cypher_dml.sql                |  1429 +
 src/test/regress/sql/cypher_dml2.sql               |   244 +
 src/test/regress/sql/cypher_eager.sql              |   410 +
 src/test/regress/sql/cypher_expr.sql               |   333 +
 src/test/regress/sql/cypher_finalize.sql           |     9 +
 src/test/regress/sql/cypher_func.sql               |   187 +
 src/test/regress/sql/cypher_plpgsql.sql            |   169 +
 src/test/regress/sql/cypher_shortestpath.sql       |   213 +
 src/test/regress/sql/cypher_shortestpath2.sql      |   532 +
 src/test/regress/sql/cypher_substring.sql          |    82 +
 src/test/regress/sql/date.sql                      |   366 +
 src/test/regress/sql/dbsize.sql                    |    67 +
 src/test/regress/sql/delete.sql                    |    25 +
 src/test/regress/sql/dependency.sql                |   116 +
 src/test/regress/sql/domain.sql                    |   788 +
 src/test/regress/sql/drop_if_exists.sql            |   304 +
 src/test/regress/sql/drop_operator.sql             |    56 +
 src/test/regress/sql/enum.sql                      |   341 +
 src/test/regress/sql/equivclass.sql                |   271 +
 src/test/regress/sql/errors.sql                    |   370 +
 src/test/regress/sql/event_trigger.sql             |   468 +
 src/test/regress/sql/explain.sql                   |   108 +
 src/test/regress/sql/expressions.sql               |   205 +
 src/test/regress/sql/fast_default.sql              |   562 +
 src/test/regress/sql/float4.sql                    |   354 +
 src/test/regress/sql/float8.sql                    |   500 +
 src/test/regress/sql/foreign_data.sql              |   862 +
 src/test/regress/sql/foreign_key.sql               |  1886 +
 src/test/regress/sql/functional_deps.sql           |   210 +
 src/test/regress/sql/generated.sql                 |   581 +
 src/test/regress/sql/geometry.sql                  |   512 +
 src/test/regress/sql/gin.sql                       |   173 +
 src/test/regress/sql/gist.sql                      |   177 +
 src/test/regress/sql/graphid.sql                   |    61 +
 src/test/regress/sql/graphmeta.sql                 |   173 +
 src/test/regress/sql/groupingsets.sql              |   590 +
 src/test/regress/sql/guc.sql                       |   313 +
 src/test/regress/sql/hash_func.sql                 |   264 +
 src/test/regress/sql/hash_index.sql                |   204 +
 src/test/regress/sql/hash_part.sql                 |    90 +
 src/test/regress/sql/horology.sql                  |   570 +
 src/test/regress/sql/hs_primary_extremes.sql       |    73 +
 src/test/regress/sql/hs_primary_setup.sql          |    25 +
 src/test/regress/sql/hs_standby_allowed.sql        |   125 +
 src/test/regress/sql/hs_standby_check.sql          |    16 +
 src/test/regress/sql/hs_standby_disallowed.sql     |   103 +
 src/test/regress/sql/hs_standby_functions.sql      |    24 +
 src/test/regress/sql/identity.sql                  |   357 +
 src/test/regress/sql/incremental_sort.sql          |   283 +
 src/test/regress/sql/index_including.sql           |   219 +
 src/test/regress/sql/index_including_gist.sql      |    90 +
 src/test/regress/sql/indexing.sql                  |   762 +
 src/test/regress/sql/indirect_toast.sql            |    71 +
 src/test/regress/sql/inet.sql                      |   254 +
 src/test/regress/sql/infinite_recurse.sql          |    29 +
 src/test/regress/sql/inherit.sql                   |   988 +
 src/test/regress/sql/init_privs.sql                |    10 +
 src/test/regress/sql/insert.sql                    |   626 +
 src/test/regress/sql/insert_conflict.sql           |   582 +
 src/test/regress/sql/int2.sql                      |   118 +
 src/test/regress/sql/int4.sql                      |   178 +
 src/test/regress/sql/int8.sql                      |   252 +
 src/test/regress/sql/interval.sql                  |   357 +
 src/test/regress/sql/join.sql                      |  2325 +
 src/test/regress/sql/join_hash.sql                 |   540 +
 src/test/regress/sql/json.sql                      |   852 +
 src/test/regress/sql/json_encoding.sql             |    78 +
 src/test/regress/sql/jsonb.sql                     |  1484 +
 src/test/regress/sql/jsonb_jsonpath.sql            |   587 +
 src/test/regress/sql/jsonpath.sql                  |   181 +
 src/test/regress/sql/jsonpath_encoding.sql         |    59 +
 src/test/regress/sql/limit.sql                     |   201 +
 src/test/regress/sql/line.sql                      |    42 +
 src/test/regress/sql/lock.sql                      |   139 +
 src/test/regress/sql/lseg.sql                      |    24 +
 src/test/regress/sql/macaddr.sql                   |    43 +
 src/test/regress/sql/macaddr8.sql                  |    89 +
 src/test/regress/sql/matview.sql                   |   297 +
 src/test/regress/sql/memoize.sql                   |   152 +
 src/test/regress/sql/misc_functions.sql            |   102 +
 src/test/regress/sql/misc_sanity.sql               |   120 +
 src/test/regress/sql/money.sql                     |   131 +
 src/test/regress/sql/multirangetypes.sql           |   835 +
 src/test/regress/sql/mvcc.sql                      |    44 +
 src/test/regress/sql/name.sql                      |    87 +
 src/test/regress/sql/namespace.sql                 |    44 +
 src/test/regress/sql/numeric.sql                   |  1365 +
 src/test/regress/sql/numeric_big.sql               |  1366 +
 src/test/regress/sql/numerology.sql                |    98 +
 src/test/regress/sql/object_address.sql            |   287 +
 src/test/regress/sql/oid.sql                       |    43 +
 src/test/regress/sql/oidjoins.sql                  |    49 +
 src/test/regress/sql/opr_sanity.sql                |  1393 +
 src/test/regress/sql/partition_aggregate.sql       |   333 +
 src/test/regress/sql/partition_info.sql            |   129 +
 src/test/regress/sql/partition_join.sql            |  1144 +
 src/test/regress/sql/partition_prune.sql           |  1189 +
 src/test/regress/sql/password.sql                  |   109 +
 src/test/regress/sql/path.sql                      |    44 +
 src/test/regress/sql/pg_lsn.sql                    |    56 +
 src/test/regress/sql/plancache.sql                 |   225 +
 src/test/regress/sql/plpgsql.sql                   |  4669 ++
 src/test/regress/sql/point.sql                     |   118 +
 src/test/regress/sql/polygon.sql                   |   142 +
 src/test/regress/sql/polymorphism.sql              |  1137 +
 src/test/regress/sql/portals.sql                   |   571 +
 src/test/regress/sql/portals_p2.sql                |    98 +
 src/test/regress/sql/prepare.sql                   |    80 +
 src/test/regress/sql/prepared_xacts.sql            |   164 +
 src/test/regress/sql/privileges.sql                |  1550 +
 src/test/regress/sql/propertyindex.sql             |   147 +
 src/test/regress/sql/psql.sql                      |  1485 +
 src/test/regress/sql/psql_crosstab.sql             |   124 +
 src/test/regress/sql/publication.sql               |   220 +
 src/test/regress/sql/random.sql                    |    44 +
 src/test/regress/sql/rangefuncs.sql                |   784 +
 src/test/regress/sql/rangetypes.sql                |   620 +
 src/test/regress/sql/regex.linux.utf8.sql          |    46 +
 src/test/regress/sql/regex.sql                     |   158 +
 src/test/regress/sql/regproc.sql                   |   122 +
 src/test/regress/sql/reindex_catalog.sql           |    52 +
 src/test/regress/sql/reloptions.sql                |   132 +
 src/test/regress/sql/replica_identity.sql          |   104 +
 src/test/regress/sql/returning.sql                 |   162 +
 src/test/regress/sql/roleattributes.sql            |    98 +
 src/test/regress/sql/rowsecurity.sql               |  1873 +
 src/test/regress/sql/rowtypes.sql                  |   506 +
 src/test/regress/sql/rules.sql                     |  1259 +
 src/test/regress/sql/sanity_check.sql              |    39 +
 src/test/regress/sql/select.sql                    |   269 +
 src/test/regress/sql/select_distinct.sql           |   137 +
 src/test/regress/sql/select_distinct_on.sql        |    19 +
 src/test/regress/sql/select_having.sql             |    50 +
 src/test/regress/sql/select_implicit.sql           |   156 +
 src/test/regress/sql/select_into.sql               |   138 +
 src/test/regress/sql/select_parallel.sql           |   464 +
 src/test/regress/sql/select_views.sql              |   155 +
 src/test/regress/sql/sequence.sql                  |   408 +
 src/test/regress/sql/spgist.sql                    |    82 +
 src/test/regress/sql/sql_restriction.sql           |    76 +
 src/test/regress/sql/stats.sql                     |   185 +
 src/test/regress/sql/stats_ext.sql                 |  1655 +
 src/test/regress/sql/strings.sql                   |   761 +
 src/test/regress/sql/subscription.sql              |   208 +
 src/test/regress/sql/subselect.sql                 |   939 +
 src/test/regress/sql/sysviews.sql                  |    65 +
 src/test/regress/sql/tablesample.sql               |   110 +
 src/test/regress/sql/temp.sql                      |   297 +
 src/test/regress/sql/text.sql                      |   118 +
 src/test/regress/sql/tid.sql                       |    54 +
 src/test/regress/sql/tidrangescan.sql              |   101 +
 src/test/regress/sql/tidscan.sql                   |   104 +
 src/test/regress/sql/time.sql                      |    72 +
 src/test/regress/sql/timestamp.sql                 |   386 +
 src/test/regress/sql/timestamptz.sql               |   567 +
 src/test/regress/sql/timetz.sql                    |    79 +
 src/test/regress/sql/transactions.sql              |   604 +
 src/test/regress/sql/triggers.sql                  |  2621 +
 src/test/regress/sql/truncate.sql                  |   329 +
 src/test/regress/sql/tsdicts.sql                   |   253 +
 src/test/regress/sql/tsearch.sql                   |   795 +
 src/test/regress/sql/tsrf.sql                      |   185 +
 src/test/regress/sql/tstypes.sql                   |   268 +
 src/test/regress/sql/tuplesort.sql                 |   298 +
 src/test/regress/sql/txid.sql                      |   102 +
 src/test/regress/sql/type_sanity.sql               |   598 +
 src/test/regress/sql/typed_table.sql               |    75 +
 src/test/regress/sql/unicode.sql                   |    34 +
 src/test/regress/sql/union.sql                     |   542 +
 src/test/regress/sql/updatable_views.sql           |  1551 +
 src/test/regress/sql/update.sql                    |   669 +
 src/test/regress/sql/uuid.sql                      |    85 +
 src/test/regress/sql/vacuum.sql                    |   320 +
 src/test/regress/sql/vacuum_parallel.sql           |    46 +
 src/test/regress/sql/varchar.sql                   |    66 +
 src/test/regress/sql/window.sql                    |  1330 +
 src/test/regress/sql/with.sql                      |  1558 +
 src/test/regress/sql/write_parallel.sql            |    43 +
 src/test/regress/sql/xid.sql                       |   152 +
 src/test/regress/sql/xml.sql                       |   619 +
 src/test/regress/sql/xmlmap.sql                    |    63 +
 src/test/regress/standby_schedule                  |    21 +
 src/test/ssl/.gitignore                            |     3 +
 src/test/ssl/Makefile                              |   192 +
 src/test/ssl/README                                |   102 +
 src/test/ssl/cas.config                            |    64 +
 src/test/ssl/client-dn.config                      |    16 +
 src/test/ssl/client.config                         |    13 +
 src/test/ssl/client_ca.config                      |    11 +
 src/test/ssl/root_ca.config                        |    13 +
 src/test/ssl/server-cn-and-alt-names.config        |    25 +
 src/test/ssl/server-cn-only.config                 |    13 +
 src/test/ssl/server-multiple-alt-names.config      |    20 +
 src/test/ssl/server-no-names.config                |    16 +
 src/test/ssl/server-revoked.config                 |    15 +
 src/test/ssl/server-single-alt-name.config         |    18 +
 src/test/ssl/server_ca.config                      |    11 +
 src/test/ssl/ssl/.gitignore                        |     3 +
 src/test/ssl/ssl/both-cas-1.crt                    |    57 +
 src/test/ssl/ssl/both-cas-2.crt                    |    57 +
 src/test/ssl/ssl/client+client_ca.crt              |    36 +
 src/test/ssl/ssl/client-crldir/9bb9e3c3.r0         |    11 +
 src/test/ssl/ssl/client-der.key                    |   Bin 0 -> 1191 bytes
 src/test/ssl/ssl/client-dn.crt                     |    19 +
 src/test/ssl/ssl/client-dn.key                     |    27 +
 src/test/ssl/ssl/client-encrypted-der.key          |   Bin 0 -> 1191 bytes
 src/test/ssl/ssl/client-encrypted-pem.key          |    30 +
 src/test/ssl/ssl/client-revoked.crt                |    17 +
 src/test/ssl/ssl/client-revoked.key                |    27 +
 src/test/ssl/ssl/client.crl                        |    11 +
 src/test/ssl/ssl/client.crt                        |    17 +
 src/test/ssl/ssl/client.key                        |    27 +
 src/test/ssl/ssl/client_ca.crt                     |    19 +
 src/test/ssl/ssl/client_ca.key                     |    27 +
 src/test/ssl/ssl/root+client-crldir/9bb9e3c3.r0    |    11 +
 src/test/ssl/ssl/root+client-crldir/a3d11bff.r0    |    11 +
 src/test/ssl/ssl/root+client.crl                   |    22 +
 src/test/ssl/ssl/root+client_ca.crt                |    38 +
 src/test/ssl/ssl/root+server-crldir/a3d11bff.r0    |    11 +
 src/test/ssl/ssl/root+server-crldir/a836cc2d.r0    |    11 +
 src/test/ssl/ssl/root+server.crl                   |    22 +
 src/test/ssl/ssl/root+server_ca.crt                |    38 +
 src/test/ssl/ssl/root.crl                          |    11 +
 src/test/ssl/ssl/root_ca.crt                       |    19 +
 src/test/ssl/ssl/root_ca.key                       |    27 +
 src/test/ssl/ssl/server-cn-and-alt-names.crt       |    20 +
 src/test/ssl/ssl/server-cn-and-alt-names.key       |    27 +
 src/test/ssl/ssl/server-cn-only.crt                |    18 +
 src/test/ssl/ssl/server-cn-only.key                |    27 +
 src/test/ssl/ssl/server-crldir/a836cc2d.r0         |    11 +
 src/test/ssl/ssl/server-multiple-alt-names.crt     |    20 +
 src/test/ssl/ssl/server-multiple-alt-names.key     |    27 +
 src/test/ssl/ssl/server-no-names.crt               |    18 +
 src/test/ssl/ssl/server-no-names.key               |    27 +
 src/test/ssl/ssl/server-password.key               |    30 +
 src/test/ssl/ssl/server-revoked.crt                |    18 +
 src/test/ssl/ssl/server-revoked.key                |    27 +
 src/test/ssl/ssl/server-single-alt-name.crt        |    19 +
 src/test/ssl/ssl/server-single-alt-name.key        |    27 +
 src/test/ssl/ssl/server-ss.crt                     |    19 +
 src/test/ssl/ssl/server-ss.key                     |    27 +
 src/test/ssl/ssl/server.crl                        |    11 +
 src/test/ssl/ssl/server_ca.crt                     |    19 +
 src/test/ssl/ssl/server_ca.key                     |    27 +
 src/test/ssl/t/001_ssltests.pl                     |   600 +
 src/test/ssl/t/002_scram.pl                        |   119 +
 src/test/ssl/t/SSLServer.pm                        |   205 +
 src/test/subscription/.gitignore                   |     2 +
 src/test/subscription/Makefile                     |    27 +
 src/test/subscription/README                       |    23 +
 src/test/subscription/t/001_rep_changes.pl         |   529 +
 src/test/subscription/t/002_types.pl               |   563 +
 src/test/subscription/t/003_constraints.pl         |   139 +
 src/test/subscription/t/004_sync.pl                |   172 +
 src/test/subscription/t/005_encoding.pl            |    50 +
 src/test/subscription/t/006_rewrite.pl             |    63 +
 src/test/subscription/t/007_ddl.pl                 |    45 +
 src/test/subscription/t/008_diff_schema.pl         |   122 +
 src/test/subscription/t/009_matviews.pl            |    52 +
 src/test/subscription/t/010_truncate.pl            |   237 +
 src/test/subscription/t/011_generated.pl           |    63 +
 src/test/subscription/t/012_collation.pl           |   110 +
 src/test/subscription/t/013_partition.pl           |   864 +
 src/test/subscription/t/014_binary.pl              |   134 +
 src/test/subscription/t/015_stream.pl              |   130 +
 src/test/subscription/t/016_stream_subxact.pl      |    88 +
 src/test/subscription/t/017_stream_ddl.pl          |   124 +
 .../subscription/t/018_stream_subxact_abort.pl     |   128 +
 .../subscription/t/019_stream_subxact_ddl_abort.pl |    82 +
 src/test/subscription/t/020_messages.pl            |   148 +
 src/test/subscription/t/021_alter_sub_pub.pl       |    86 +
 src/test/subscription/t/100_bugs.pl                |   300 +
 src/timezone/.gitignore                            |     2 +
 src/timezone/Makefile                              |    79 +
 src/timezone/README                                |   134 +
 src/timezone/data/tzdata.zi                        |  4196 ++
 src/timezone/known_abbrevs.txt                     |   104 +
 src/timezone/localtime.c                           |  1904 +
 src/timezone/pgtz.c                                |   502 +
 src/timezone/pgtz.h                                |    81 +
 src/timezone/private.h                             |   163 +
 src/timezone/strftime.c                            |   571 +
 src/timezone/tzfile.h                              |   110 +
 src/timezone/tznames/Africa.txt                    |   176 +
 src/timezone/tznames/America.txt                   |   257 +
 src/timezone/tznames/Antarctica.txt                |    27 +
 src/timezone/tznames/Asia.txt                      |   190 +
 src/timezone/tznames/Atlantic.txt                  |    85 +
 src/timezone/tznames/Australia                     |    27 +
 src/timezone/tznames/Australia.txt                 |    71 +
 src/timezone/tznames/Default                       |   632 +
 src/timezone/tznames/Etc.txt                       |    34 +
 src/timezone/tznames/Europe.txt                    |   219 +
 src/timezone/tznames/India                         |    19 +
 src/timezone/tznames/Indian.txt                    |    30 +
 src/timezone/tznames/Makefile                      |    30 +
 src/timezone/tznames/Pacific.txt                   |    84 +
 src/timezone/tznames/README                        |    40 +
 src/timezone/zic.c                                 |  4013 ++
 src/tools/PerfectHash.pm                           |   379 +
 src/tools/RELEASE_CHANGES                          |   242 +
 src/tools/ccsym                                    |     4 +
 src/tools/check_bison_recursion.pl                 |    90 +
 src/tools/codelines                                |     7 +
 src/tools/copyright.pl                             |    70 +
 src/tools/editors/emacs.samples                    |    91 +
 src/tools/editors/vim.samples                      |    17 +
 src/tools/find_badmacros                           |    22 +
 src/tools/find_static                              |    50 +
 src/tools/find_typedef                             |    53 +
 src/tools/fix-old-flex-code.pl                     |    66 +
 src/tools/gen_keywordlist.pl                       |   197 +
 src/tools/git-external-diff                        |    59 +
 src/tools/git_changelog                            |   419 +
 src/tools/ifaddrs/.gitignore                       |     1 +
 src/tools/ifaddrs/Makefile                         |    28 +
 src/tools/ifaddrs/README                           |    12 +
 src/tools/ifaddrs/test_ifaddrs.c                   |    73 +
 src/tools/make_ctags                               |    54 +
 src/tools/make_etags                               |    16 +
 src/tools/make_mkid                                |    11 +
 src/tools/msvc/.gitignore                          |     3 +
 src/tools/msvc/Install.pm                          |   777 +
 src/tools/msvc/MSBuildProject.pm                   |   536 +
 src/tools/msvc/Mkvcbuild.pm                        |  1139 +
 src/tools/msvc/Project.pm                          |   448 +
 src/tools/msvc/README                              |    99 +
 src/tools/msvc/Solution.pm                         |  1378 +
 src/tools/msvc/VSObjectFactory.pm                  |   182 +
 src/tools/msvc/build.bat                           |     6 +
 src/tools/msvc/build.pl                            |    92 +
 src/tools/msvc/clean.bat                           |   143 +
 src/tools/msvc/config_default.pl                   |    31 +
 src/tools/msvc/dummylib/README                     |    13 +
 src/tools/msvc/dummylib/Win32.pm                   |     7 +
 src/tools/msvc/dummylib/Win32/Registry.pm          |    16 +
 src/tools/msvc/dummylib/Win32API/File.pm           |    17 +
 src/tools/msvc/ecpg_regression.proj                |    64 +
 src/tools/msvc/gendef.pl                           |   181 +
 src/tools/msvc/install.bat                         |     6 +
 src/tools/msvc/install.pl                          |    39 +
 src/tools/msvc/mkvcbuild.pl                        |    31 +
 src/tools/msvc/pgbison.bat                         |     7 +
 src/tools/msvc/pgbison.pl                          |    55 +
 src/tools/msvc/pgflex.bat                          |     7 +
 src/tools/msvc/pgflex.pl                           |   108 +
 src/tools/msvc/vcregress.bat                       |     6 +
 src/tools/msvc/vcregress.pl                        |   842 +
 src/tools/perlcheck/find_perl_files                |    14 +
 src/tools/perlcheck/perlcriticrc                   |    24 +
 src/tools/perlcheck/pgperlcritic                   |    20 +
 src/tools/perlcheck/pgperlsyncheck                 |    16 +
 src/tools/pginclude/README                         |   103 +
 src/tools/pginclude/cpluspluscheck                 |   173 +
 src/tools/pginclude/headerscheck                   |   157 +
 src/tools/pginclude/pgcheckdefines                 |   305 +
 src/tools/pginclude/pgcompinclude                  |    47 +
 src/tools/pginclude/pgdefine                       |    25 +
 src/tools/pginclude/pgfixinclude                   |    21 +
 src/tools/pginclude/pgrminclude                    |   149 +
 src/tools/pgindent/README                          |   158 +
 src/tools/pgindent/exclude_file_patterns           |    49 +
 src/tools/pgindent/perltidyrc                      |    16 +
 src/tools/pgindent/pgindent                        |   436 +
 src/tools/pgindent/pgindent.man                    |    40 +
 src/tools/pgindent/pgperltidy                      |    12 +
 src/tools/pgindent/typedefs.list                   |  3861 ++
 src/tools/pgtest                                   |    57 +
 src/tools/testint128.c                             |   183 +
 src/tools/valgrind.supp                            |   200 +
 src/tools/version_stamp.pl                         |   116 +
 src/tools/win32tzlist.pl                           |   140 +
 src/tutorial/.gitignore                            |     5 +
 src/tutorial/Makefile                              |    33 +
 src/tutorial/README                                |    16 +
 src/tutorial/advanced.source                       |    60 +
 src/tutorial/basics.source                         |   198 +
 src/tutorial/complex.c                             |   209 +
 src/tutorial/complex.source                        |   228 +
 src/tutorial/funcs.c                               |   126 +
 src/tutorial/funcs.source                          |   160 +
 src/tutorial/syscat.source                         |   175 +
 6065 files changed, 3529100 insertions(+), 52 deletions(-)

diff --git a/COPYRIGHT b/COPYRIGHT
new file mode 100644
index 0000000..9d65dbe
--- /dev/null
+++ b/COPYRIGHT
@@ -0,0 +1,23 @@
+PostgreSQL Database Management System
+(formerly known as Postgres, then as Postgres95)
+
+Portions Copyright (c) 1996-2022, PostgreSQL Global Development Group
+
+Portions Copyright (c) 1994, The Regents of the University of California
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose, without fee, and without a written agreement
+is hereby granted, provided that the above copyright notice and this
+paragraph and the following two paragraphs appear in all copies.
+
+IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
+DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
+LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
+DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
+ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
+PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
diff --git a/GNUmakefile.in b/GNUmakefile.in
new file mode 100644
index 0000000..2352fc1
--- /dev/null
+++ b/GNUmakefile.in
@@ -0,0 +1,143 @@
+#
+# PostgreSQL top level makefile
+#
+# GNUmakefile.in
+#
+
+subdir =
+top_builddir = .
+include $(top_builddir)/src/Makefile.global
+
+$(call recurse,all install,src config)
+
+docs:
+	$(MAKE) -C doc all
+
+$(call recurse,world,doc src config contrib,all)
+
+# build src/ before contrib/
+world-contrib-recurse: world-src-recurse
+
+$(call recurse,world-bin,src config contrib,all)
+
+# build src/ before contrib/
+world-bin-contrib-recurse: world-bin-src-recurse
+
+html man:
+	$(MAKE) -C doc $@
+
+install-docs:
+	$(MAKE) -C doc install
+
+$(call recurse,install-world,doc src config contrib,install)
+
+# build src/ before contrib/
+install-world-contrib-recurse: install-world-src-recurse
+
+$(call recurse,install-world-bin,src config contrib,install)
+
+# build src/ before contrib/
+install-world-bin-contrib-recurse: install-world-bin-src-recurse
+
+$(call recurse,installdirs uninstall init-po update-po,doc src config)
+
+$(call recurse,distprep coverage,doc src config contrib)
+
+# clean, distclean, etc should apply to contrib too, even though
+# it's not built by default
+$(call recurse,clean,doc contrib src config)
+clean:
+	rm -rf tmp_install/
+# Garbage from autoconf:
+	@rm -rf autom4te.cache/
+
+# Important: distclean `src' last, otherwise Makefile.global
+# will be gone too soon.
+distclean maintainer-clean:
+	$(MAKE) -C doc $@
+	$(MAKE) -C contrib $@
+	$(MAKE) -C config $@
+	$(MAKE) -C src $@
+	rm -rf tmp_install/
+# Garbage from autoconf:
+	@rm -rf autom4te.cache/
+	rm -f config.cache config.log config.status GNUmakefile
+
+check-tests: | temp-install
+check check-tests installcheck installcheck-parallel installcheck-tests: CHECKPREP_TOP=src/test/regress
+check check-tests installcheck installcheck-parallel installcheck-tests: submake-generated-headers
+	$(MAKE) -C src/test/regress $@
+
+$(call recurse,check-world,src/test src/pl src/interfaces/ecpg contrib src/bin,check)
+$(call recurse,checkprep,  src/test src/pl src/interfaces/ecpg contrib src/bin)
+
+$(call recurse,installcheck-world,src/test src/pl src/interfaces/ecpg contrib src/bin,installcheck)
+$(call recurse,install-tests,src/test/regress,install-tests)
+
+GNUmakefile: GNUmakefile.in $(top_builddir)/config.status
+	./config.status $@
+
+update-unicode: | submake-generated-headers submake-libpgport
+	$(MAKE) -C src/common/unicode $@
+	$(MAKE) -C contrib/unaccent $@
+
+
+##########################################################################
+
+distdir	= postgresql-$(VERSION)
+dummy	= =install=
+
+dist: $(distdir).tar.gz $(distdir).tar.bz2
+	rm -rf $(distdir)
+
+$(distdir).tar: distdir
+	$(TAR) chf $@ $(distdir)
+
+.INTERMEDIATE: $(distdir).tar
+
+distdir-location:
+	@echo $(distdir)
+
+distdir:
+	rm -rf $(distdir)* $(dummy)
+	for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \
+	  file=`expr X$$x : 'X\./\(.*\)'`; \
+	  if test -d "$(top_srcdir)/$$file" ; then \
+	    mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file";	\
+	  else \
+	    ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \
+	      || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \
+	  fi || exit; \
+	done
+	$(MAKE) -C $(distdir) distprep
+	$(MAKE) -C $(distdir)/doc/src/sgml/ INSTALL
+	cp $(distdir)/doc/src/sgml/INSTALL $(distdir)/
+	$(MAKE) -C $(distdir) distclean
+	rm -f $(distdir)/README.git
+
+distcheck: dist
+	rm -rf $(dummy)
+	mkdir $(dummy)
+	$(GZIP) -d -c $(distdir).tar.gz | $(TAR) xf -
+	install_prefix=`cd $(dummy) && pwd`; \
+	cd $(distdir) \
+	&& ./configure --prefix="$$install_prefix"
+	$(MAKE) -C $(distdir) -q distprep
+	$(MAKE) -C $(distdir)
+	$(MAKE) -C $(distdir) install
+	$(MAKE) -C $(distdir) uninstall
+	@echo "checking whether \`$(MAKE) uninstall' works"
+	test `find $(dummy) ! -type d | wc -l` -eq 0
+	$(MAKE) -C $(distdir) dist
+# Room for improvement: Check here whether this distribution tarball
+# is sufficiently similar to the original one.
+	rm -rf $(distdir) $(dummy)
+	@echo "Distribution integrity checks out."
+
+headerscheck: submake-generated-headers
+	$(top_srcdir)/src/tools/pginclude/headerscheck $(top_srcdir) $(abs_top_builddir)
+
+cpluspluscheck: submake-generated-headers
+	$(top_srcdir)/src/tools/pginclude/cpluspluscheck $(top_srcdir) $(abs_top_builddir)
+
+.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world headerscheck cpluspluscheck
diff --git a/HISTORY b/HISTORY
new file mode 100644
index 0000000..b87be55
--- /dev/null
+++ b/HISTORY
@@ -0,0 +1,5 @@
+Release notes for all versions of PostgreSQL can be found on-line at
+https://www.postgresql.org/docs/current/release.html
+
+Distribution file sets include release notes for their version and preceding
+versions.  Visit the file doc/src/sgml/html/release.html in an HTML browser.
diff --git a/Makefile b/Makefile
index 9942b87..99dcfff 100644
--- a/Makefile
+++ b/Makefile
@@ -1,11 +1,41 @@
-MODULES = agensgraph
+# The PostgreSQL make files exploit features of GNU make that other
+# makes do not have. Because it is a common mistake for users to try
+# to build Postgres with a different make, we have this make file
+# that, as a service, will look for a GNU make and invoke it, or show
+# an error message if none could be found.
 
-EXTENSION = agensgraph
+# If the user were using GNU make now, this file would not get used
+# because GNU make uses a make file named "GNUmakefile" in preference
+# to "Makefile" if it exists. PostgreSQL is shipped with a
+# "GNUmakefile". If the user hasn't run the configure script yet, the
+# GNUmakefile won't exist yet, so we catch that case as well.
 
-DATA = agensgraph--0.0.0.sql
 
-REGRESS = cypher
+# AIX make defaults to building *every* target of the first rule.  Start with
+# a single-target, empty rule to make the other targets non-default.
+all:
 
-PG_CONFIG = pg_config
-PGXS := $(shell $(PG_CONFIG) --pgxs)
-include $(PGXS)
+all check install installdirs installcheck installcheck-parallel uninstall clean distclean maintainer-clean dist distcheck world check-world install-world installcheck-world:
+	@if [ ! -f GNUmakefile ] ; then \
+	   echo "You need to run the 'configure' program first. See the file"; \
+	   echo "'INSTALL' for installation instructions." ; \
+	   false ; \
+	 fi
+	@IFS=':' ; \
+	 for dir in $$PATH; do \
+	   for prog in gmake gnumake make; do \
+	     if [ -f $$dir/$$prog ] && ( $$dir/$$prog -f /dev/null --version 2>/dev/null | grep GNU >/dev/null 2>&1 ) ; then \
+	       GMAKE=$$dir/$$prog; \
+	       break 2; \
+	     fi; \
+	   done; \
+	 done; \
+	\
+	 if [ x"$${GMAKE+set}" = xset ]; then \
+	   echo "Using GNU make found at $${GMAKE}"; \
+	   unset MAKELEVEL; \
+	   $${GMAKE} $@ ; \
+	 else \
+	   echo "You must use GNU make to build PostgreSQL." ; \
+	   false; \
+	 fi
diff --git a/README b/README
new file mode 100644
index 0000000..6416a8c
--- /dev/null
+++ b/README
@@ -0,0 +1,27 @@
+PostgreSQL Database Management System
+=====================================
+
+This directory contains the source code distribution of the PostgreSQL
+database management system.
+
+PostgreSQL is an advanced object-relational database management system
+that supports an extended subset of the SQL standard, including
+transactions, foreign keys, subqueries, triggers, user-defined types
+and functions.  This distribution also contains C language bindings.
+
+PostgreSQL has many language interfaces, many of which are listed here:
+
+	https://www.postgresql.org/download/
+
+See the file INSTALL for instructions on how to build and install
+PostgreSQL.  That file also lists supported operating systems and
+hardware platforms and contains information regarding any other
+software packages that are required to build or run the PostgreSQL
+system.  Copyright and license information can be found in the
+file COPYRIGHT.  A comprehensive documentation set is included in this
+distribution; it can be read as described in the installation
+instructions.
+
+The latest version of this software may be obtained at
+https://www.postgresql.org/download/.  For more information look at our
+web site located at https://www.postgresql.org/.
diff --git a/README.git b/README.git
new file mode 100644
index 0000000..4bf614e
--- /dev/null
+++ b/README.git
@@ -0,0 +1,14 @@
+(This file does not appear in release tarballs.)
+
+In a release or snapshot tarball of PostgreSQL, a documentation file named
+INSTALL will appear in this directory.  However, this file is not stored in
+git and so will not be present if you are using a git checkout.
+
+If you are using a git checkout, you can view the most recent installation
+instructions at:
+	https://www.postgresql.org/docs/devel/installation.html
+
+Users compiling from git will also need compatible versions of Bison, Flex,
+and Perl, as discussed in the install documentation.  These programs are not
+needed when using a tarball, since the files they are needed to build are
+already present in the tarball.  (On Windows, however, you need Perl anyway.)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..0cbc464
--- /dev/null
+++ b/README.md
@@ -0,0 +1,77 @@
+GraphDatabase: Powerful Graph Database
+====================================
+![Build Status](https://github.com/apache/age/gdbms_cypher/actions/workflows/regression.yml/badge.svg)
+
+GraphDatabase is a new generation multi-model graph database for the modern complex data environment. GraphDatabase is a multi-model database, which supports the relational and graph data model at the same time that enables developers to integrate the legacy relational data model and the flexible graph data model in one database. GraphDatabase supports ANSI-SQL and openCypher (http://www.opencypher.org). SQL queries and Cypher queries can be integrated into a single query in GraphDatabase.
+
+GraphDatabase is based on the powerful PostgreSQL RDBMS, and is very robust, fully-featured and ready for enterprise use. GraphDatabase is optimized for handling complex connected graph data and provides plenty of powerful database features essential to the enterprise database environment including ACID transactions, multi-version concurrency control, stored procedure, triggers, constraints, sophisticated monitoring and a flexible data model (JSON). Moreover, GraphDatabase leverages the  [...]
+
+Building from the Source Code
+-------------------
+1. Clone GraphDatabase onto your local machine
+    ```sh
+    $ git clone https://github.com/apache/age/gdbms_cypher.git
+    ```
+
+2. Install the necessary libraries and dependencies:
+    * CENTOS:
+        ```sh
+        $ yum install gcc glibc glib-common readline readline-devel zlib zlib-devel
+        ```
+
+    * Fedora:
+        ```sh
+        $ dnf install gcc glibc bison flex readline readline-devel zlib zlib-devel
+        ```
+
+    * RHEL:
+        ```sh
+        $ yum install gcc glibc glib-common readline readline-devel zlib zlib-devel flex bison
+        ```
+
+    * Ubuntu:
+        ```sh
+        $ sudo apt-get install build-essential libreadline-dev zlib1g-dev flex bison
+        ```
+
+    * macOS (install Xcode):
+        ```bash
+        $ xcode-select --install
+        ```
+
+
+3. Configure the source tree in /path/to/graphdatabase:
+    ```sh
+    $ ./configure --prefix=$(pwd)
+    ```
+   >By default, `make install` will install all the files in `/usr/local/pgsql/bin`, `/usr/local/pgsql/lib` etc.  You want to specify an installation prefix to the current library.
+   > If `configure` doesn't find any header with an error message, you can use `--with-includes=/path/to/headers` option.
+
+4. Build & install GraphDatabase:
+    * Build and install GraphDatabase engine
+        ```sh
+        $ make install
+        ```
+
+    * Add the install path to the `PATH` environment variable to allow the modules that need `pg_config` to get necessary installation information. If you installed GraphDatabase at the same location as the source directory you pulled from GitHub, then you can use the `ag-env.sh` script, which sets `PATH` and `LD_LIBRARY_PATH` using the current directory. Run the following command to use the script:
+        ```sh
+        $ . ag-env.sh
+        ```
+      OR, if you installed GraphDatabase elsewhere, you can also do so by editing your `/.bashrc` file (`/.bash_profile` on macOS) with the following command:
+        ```sh
+        $ echo "export PATH=/path/to/graphdatabase/bin:\$PATH" >> ~/.bashrc
+        $ echo "export LD_LIBRARY_PATH=/path/to/graphdatabase/lib:\$LD_LIBRARY_PATH" >> ~/.bashrc
+        ```
+    * OPTIONAL: Build and install GraphDatabase along with other contrib and external modules (If you want to build GraphDatabase alone, run make install. This command builds GraphDatabase along with additional extensions):
+        ```sh
+        $ make install-world
+        ```
+
+    * OPTIONAL: Set the `AGDATA` environment variable to easily configure GraphDatabase settings when necessary:
+        ```sh
+        $ echo "export AGDATA=/path/to/graphdatabase/data" >> ~/.bashrc
+        ```
+
+License
+-------
+* [Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0)
\ No newline at end of file
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..16ebb86
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,14 @@
+dnl aclocal.m4
+m4_include([config/ac_func_accept_argtypes.m4])
+m4_include([config/ax_pthread.m4])
+m4_include([config/c-compiler.m4])
+m4_include([config/c-library.m4])
+m4_include([config/check_decls.m4])
+m4_include([config/general.m4])
+m4_include([config/libtool.m4])
+m4_include([config/llvm.m4])
+m4_include([config/perl.m4])
+m4_include([config/pkg.m4])
+m4_include([config/programs.m4])
+m4_include([config/python.m4])
+m4_include([config/tcl.m4])
diff --git a/agensgraph--0.0.0.sql b/agensgraph--0.0.0.sql
deleted file mode 100644
index 4ccec0e..0000000
--- a/agensgraph--0.0.0.sql
+++ /dev/null
@@ -1,7 +0,0 @@
--- complain if script is sourced in psql, rather than via CREATE EXTENSION
-\echo Use "CREATE EXTENSION agensgraph" to load this file. \quit
-
-CREATE FUNCTION "cypher"(text)
-RETURNS SETOF "record"
-LANGUAGE "c"
-AS 'MODULE_PATHNAME';
diff --git a/agensgraph.c b/agensgraph.c
deleted file mode 100644
index 7fde4a7..0000000
--- a/agensgraph.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include "postgres.h"
-
-#include "fmgr.h"
-#include "utils/builtins.h"
-
-PG_MODULE_MAGIC;
-
-PG_FUNCTION_INFO_V1(cypher);
-
-Datum cypher(PG_FUNCTION_ARGS)
-{
-    const char *s;
-
-    s = PG_ARGISNULL(0) ? "NULL" : text_to_cstring(PG_GETARG_TEXT_PP(0));
-
-    ereport(ERROR, (errmsg_internal("unhandled cypher(text) function call"),
-                    errdetail_internal("%s", s)));
-
-    PG_RETURN_NULL();
-}
diff --git a/agensgraph.control b/agensgraph.control
deleted file mode 100644
index 6111b55..0000000
--- a/agensgraph.control
+++ /dev/null
@@ -1,4 +0,0 @@
-default_version = '0.0.0'
-module_pathname = '$libdir/agensgraph'
-
-schema = 'ag_catalog'
diff --git a/config/Makefile b/config/Makefile
new file mode 100644
index 0000000..67e7998
--- /dev/null
+++ b/config/Makefile
@@ -0,0 +1,17 @@
+# config/Makefile
+
+subdir = config
+top_builddir = ..
+include $(top_builddir)/src/Makefile.global
+
+
+install: all installdirs
+	$(INSTALL_SCRIPT) $(srcdir)/install-sh '$(DESTDIR)$(pgxsdir)/config/install-sh'
+	$(INSTALL_SCRIPT) $(srcdir)/missing '$(DESTDIR)$(pgxsdir)/config/missing'
+
+installdirs:
+	$(MKDIR_P) '$(DESTDIR)$(pgxsdir)/config'
+
+uninstall:
+	rm -f '$(DESTDIR)$(pgxsdir)/config/install-sh'
+	rm -f '$(DESTDIR)$(pgxsdir)/config/missing'
diff --git a/config/ac_func_accept_argtypes.m4 b/config/ac_func_accept_argtypes.m4
new file mode 100644
index 0000000..178ef67
--- /dev/null
+++ b/config/ac_func_accept_argtypes.m4
@@ -0,0 +1,78 @@
+# config/ac_func_accept_argtypes.m4
+# This comes from the official Autoconf macro archive at
+# <http://research.cys.de/autoconf-archive/>
+
+
+dnl @synopsis AC_FUNC_ACCEPT_ARGTYPES
+dnl
+dnl Checks the data types of the three arguments to accept(). Results are
+dnl placed into the symbols ACCEPT_TYPE_RETURN and ACCEPT_TYPE_ARG[123],
+dnl consistent with the following example:
+dnl
+dnl       #define ACCEPT_TYPE_RETURN int
+dnl       #define ACCEPT_TYPE_ARG1 int
+dnl       #define ACCEPT_TYPE_ARG2 struct sockaddr *
+dnl       #define ACCEPT_TYPE_ARG3 socklen_t
+dnl
+dnl NOTE: This is just a modified version of the AC_FUNC_SELECT_ARGTYPES
+dnl macro. Credit for that one goes to David MacKenzie et. al.
+dnl
+dnl @version $Id: ac_func_accept_argtypes.m4,v 1.1 1999/12/03 11:29:29 simons Exp $
+dnl @author Daniel Richard G. <sk...@mit.edu>
+dnl
+
+# PostgreSQL local changes: In the original version ACCEPT_TYPE_ARG3
+# is a pointer type. That's kind of useless because then you can't
+# use the macro to define a corresponding variable. We also make the
+# reasonable(?) assumption that you can use arg3 for getsocktype etc.
+# as well (i.e., anywhere POSIX.2 has socklen_t).
+#
+# arg2 can also be `const' (e.g., RH 4.2). Change the order of tests
+# for arg3 so that `int' is first, in case there is no prototype at all.
+#
+# Solaris 7 and 8 have arg3 as 'void *' (disguised as 'Psocklen_t'
+# which is *not* 'socklen_t *').  If we detect that, then we assume
+# 'int' as the result, because that ought to work best.
+#
+# On Win32, accept() returns 'unsigned int PASCAL'
+# Win64 uses SOCKET for return and arg1
+
+AC_DEFUN([AC_FUNC_ACCEPT_ARGTYPES],
+[AC_MSG_CHECKING([types of arguments for accept()])
+ AC_CACHE_VAL(ac_cv_func_accept_return,dnl
+ [AC_CACHE_VAL(ac_cv_func_accept_arg1,dnl
+  [AC_CACHE_VAL(ac_cv_func_accept_arg2,dnl
+   [AC_CACHE_VAL(ac_cv_func_accept_arg3,dnl
+    [for ac_cv_func_accept_return in 'int' 'SOCKET WSAAPI' 'unsigned int PASCAL'; do
+      for ac_cv_func_accept_arg1 in 'int' 'SOCKET' 'unsigned int'; do
+       for ac_cv_func_accept_arg2 in 'struct sockaddr *' 'const struct sockaddr *' 'void *'; do
+        for ac_cv_func_accept_arg3 in 'int' 'size_t' 'socklen_t' 'unsigned int' 'void'; do
+         AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+[#include <sys/types.h>
+#include <sys/socket.h>
+extern $ac_cv_func_accept_return accept ($ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *);])],
+         [ac_not_found=no; break 4], [ac_not_found=yes])
+       done
+      done
+     done
+    done
+    if test "$ac_not_found" = yes; then
+      AC_MSG_ERROR([could not determine argument types])
+    fi
+    if test "$ac_cv_func_accept_arg3" = "void"; then
+      ac_cv_func_accept_arg3=int
+    fi
+    ])dnl AC_CACHE_VAL
+   ])dnl AC_CACHE_VAL
+  ])dnl AC_CACHE_VAL
+ ])dnl AC_CACHE_VAL
+ AC_MSG_RESULT([$ac_cv_func_accept_return, $ac_cv_func_accept_arg1, $ac_cv_func_accept_arg2, $ac_cv_func_accept_arg3 *])
+ AC_DEFINE_UNQUOTED(ACCEPT_TYPE_RETURN, $ac_cv_func_accept_return,
+                    [Define to the return type of 'accept'])
+ AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG1, $ac_cv_func_accept_arg1,
+                    [Define to the type of arg 1 of 'accept'])
+ AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG2, $ac_cv_func_accept_arg2,
+                    [Define to the type of arg 2 of 'accept'])
+ AC_DEFINE_UNQUOTED(ACCEPT_TYPE_ARG3, $ac_cv_func_accept_arg3,
+                    [Define to the type of arg 3 of 'accept'])
+])
diff --git a/config/ax_pthread.m4 b/config/ax_pthread.m4
new file mode 100644
index 0000000..5fbf9fe
--- /dev/null
+++ b/config/ax_pthread.m4
@@ -0,0 +1,485 @@
+# ===========================================================================
+#        https://www.gnu.org/software/autoconf-archive/ax_pthread.html
+# ===========================================================================
+#
+# SYNOPSIS
+#
+#   AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
+#
+# DESCRIPTION
+#
+#   This macro figures out how to build C programs using POSIX threads. It
+#   sets the PTHREAD_LIBS output variable to the threads library and linker
+#   flags, and the PTHREAD_CFLAGS output variable to any special C compiler
+#   flags that are needed. (The user can also force certain compiler
+#   flags/libs to be tested by setting these environment variables.)
+#
+#   Also sets PTHREAD_CC to any special C compiler that is needed for
+#   multi-threaded programs (defaults to the value of CC otherwise). (This
+#   is necessary on AIX to use the special cc_r compiler alias.)
+#
+#   NOTE: You are assumed to not only compile your program with these flags,
+#   but also to link with them as well. For example, you might link with
+#   $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS
+#
+#   If you are only building threaded programs, you may wish to use these
+#   variables in your default LIBS, CFLAGS, and CC:
+#
+#     LIBS="$PTHREAD_LIBS $LIBS"
+#     CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+#     CC="$PTHREAD_CC"
+#
+#   In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant
+#   has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to
+#   that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
+#
+#   Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the
+#   PTHREAD_PRIO_INHERIT symbol is defined when compiling with
+#   PTHREAD_CFLAGS.
+#
+#   ACTION-IF-FOUND is a list of shell commands to run if a threads library
+#   is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
+#   is not found. If ACTION-IF-FOUND is not specified, the default action
+#   will define HAVE_PTHREAD.
+#
+#   Please let the authors know if this macro fails on any platform, or if
+#   you have any other suggestions or comments. This macro was based on work
+#   by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help
+#   from M. Frigo), as well as ac_pthread and hb_pthread macros posted by
+#   Alejandro Forero Cuervo to the autoconf macro repository. We are also
+#   grateful for the helpful feedback of numerous users.
+#
+#   Updated for Autoconf 2.68 by Daniel Richard G.
+#
+# LICENSE
+#
+#   Copyright (c) 2008 Steven G. Johnson <st...@alum.mit.edu>
+#   Copyright (c) 2011 Daniel Richard G. <sk...@iSKUNK.ORG>
+#
+#   This program is free software: you can redistribute it and/or modify it
+#   under the terms of the GNU General Public License as published by the
+#   Free Software Foundation, either version 3 of the License, or (at your
+#   option) any later version.
+#
+#   This program is distributed in the hope that it will be useful, but
+#   WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
+#   Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License along
+#   with this program. If not, see <https://www.gnu.org/licenses/>.
+#
+#   As a special exception, the respective Autoconf Macro's copyright owner
+#   gives unlimited permission to copy, distribute and modify the configure
+#   scripts that are the output of Autoconf when processing the Macro. You
+#   need not follow the terms of the GNU General Public License when using
+#   or distributing such scripts, even though portions of the text of the
+#   Macro appear in them. The GNU General Public License (GPL) does govern
+#   all other use of the material that constitutes the Autoconf Macro.
+#
+#   This special exception to the GPL applies to versions of the Autoconf
+#   Macro released by the Autoconf Archive. When you make and distribute a
+#   modified version of the Autoconf Macro, you may extend this special
+#   exception to the GPL to apply to your modified version as well.
+
+#serial 24
+
+AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD])
+AC_DEFUN([AX_PTHREAD], [
+AC_REQUIRE([AC_CANONICAL_HOST])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_SED])
+AC_LANG_PUSH([C])
+ax_pthread_ok=no
+
+# We used to check for pthread.h first, but this fails if pthread.h
+# requires special compiler flags (e.g. on Tru64 or Sequent).
+# It gets checked for in the link test anyway.
+
+# First of all, check if the user has set any of the PTHREAD_LIBS,
+# etcetera environment variables, and if threads linking works using
+# them:
+if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then
+        ax_pthread_save_CC="$CC"
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"])
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+        AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS])
+        AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes])
+        AC_MSG_RESULT([$ax_pthread_ok])
+        if test "x$ax_pthread_ok" = "xno"; then
+                PTHREAD_LIBS=""
+                PTHREAD_CFLAGS=""
+        fi
+        CC="$ax_pthread_save_CC"
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
+fi
+
+# We must check for the threads library under a number of different
+# names; the ordering is very important because some systems
+# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
+# libraries is broken (non-POSIX).
+
+# Create a list of thread flags to try.  Items starting with a "-" are
+# C compiler flags, and other items are library names, except for "none"
+# which indicates that we try without any flags at all, and "pthread-config"
+# which is a program returning the flags for the Pth emulation library.
+
+ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config"
+
+# The ordering *is* (sometimes) important.  Some notes on the
+# individual items follow:
+
+# pthreads: AIX (must check this before -lpthread)
+# none: in case threads are in libc; should be tried before -Kthread and
+#       other compiler flags to prevent continual compiler warnings
+# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
+# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64
+#           (Note: HP C rejects this with "bad form for `-t' option")
+# -pthreads: Solaris/gcc (Note: HP C also rejects)
+# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
+#      doesn't hurt to check since this sometimes defines pthreads and
+#      -D_REENTRANT too), HP C (must be checked before -lpthread, which
+#      is present but should not be used directly; and before -mthreads,
+#      because the compiler interprets this as "-mt" + "-hreads")
+# -mthreads: Mingw32/gcc, Lynx/gcc
+# pthread: Linux, etcetera
+# --thread-safe: KAI C++
+# pthread-config: use pthread-config program (for GNU Pth library)
+
+case $host_os in
+
+        freebsd*)
+
+        # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
+        # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
+
+        ax_pthread_flags="-kthread lthread $ax_pthread_flags"
+        ;;
+
+        hpux*)
+
+        # From the cc(1) man page: "[-mt] Sets various -D flags to enable
+        # multi-threading and also sets -lpthread."
+
+        ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags"
+        ;;
+
+        openedition*)
+
+        # IBM z/OS requires a feature-test macro to be defined in order to
+        # enable POSIX threads at all, so give the user a hint if this is
+        # not set. (We don't define these ourselves, as they can affect
+        # other portions of the system API in unpredictable ways.)
+
+        AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING],
+            [
+#            if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS)
+             AX_PTHREAD_ZOS_MISSING
+#            endif
+            ],
+            [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])])
+        ;;
+
+        solaris*)
+
+        # On Solaris (at least, for some versions), libc contains stubbed
+        # (non-functional) versions of the pthreads routines, so link-based
+        # tests will erroneously succeed. (N.B.: The stubs are missing
+        # pthread_cleanup_push, or rather a function called by this macro,
+        # so we could check for that, but who knows whether they'll stub
+        # that too in a future libc.)  So we'll check first for the
+        # standard Solaris way of linking pthreads (-mt -lpthread).
+
+        ax_pthread_flags="-mt,pthread pthread $ax_pthread_flags"
+        ;;
+esac
+
+# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC)
+
+AS_IF([test "x$GCC" = "xyes"],
+      [ax_pthread_flags="-pthread -pthreads $ax_pthread_flags"])
+
+# The presence of a feature test macro requesting re-entrant function
+# definitions is, on some systems, a strong hint that pthreads support is
+# correctly enabled
+
+case $host_os in
+        darwin* | hpux* | linux* | osf* | solaris*)
+        ax_pthread_check_macro="_REENTRANT"
+        ;;
+
+        aix*)
+        ax_pthread_check_macro="_THREAD_SAFE"
+        ;;
+
+        *)
+        ax_pthread_check_macro="--"
+        ;;
+esac
+AS_IF([test "x$ax_pthread_check_macro" = "x--"],
+      [ax_pthread_check_cond=0],
+      [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"])
+
+# Are we compiling with Clang?
+
+AC_CACHE_CHECK([whether $CC is Clang],
+    [ax_cv_PTHREAD_CLANG],
+    [ax_cv_PTHREAD_CLANG=no
+     # Note that Autoconf sets GCC=yes for Clang as well as GCC
+     if test "x$GCC" = "xyes"; then
+        AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG],
+            [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */
+#            if defined(__clang__) && defined(__llvm__)
+             AX_PTHREAD_CC_IS_CLANG
+#            endif
+            ],
+            [ax_cv_PTHREAD_CLANG=yes])
+     fi
+    ])
+ax_pthread_clang="$ax_cv_PTHREAD_CLANG"
+
+ax_pthread_clang_warning=no
+
+# Clang needs special handling, because older versions handle the -pthread
+# option in a rather... idiosyncratic way
+
+if test "x$ax_pthread_clang" = "xyes"; then
+
+        # Clang takes -pthread; it has never supported any other flag
+
+        # (Note 1: This will need to be revisited if a system that Clang
+        # supports has POSIX threads in a separate library.  This tends not
+        # to be the way of modern systems, but it's conceivable.)
+
+        # (Note 2: On some systems, notably Darwin, -pthread is not needed
+        # to get POSIX threads support; the API is always present and
+        # active.  We could reasonably leave PTHREAD_CFLAGS empty.  But
+        # -pthread does define _REENTRANT, and while the Darwin headers
+        # ignore this macro, third-party headers might not.)
+
+        PTHREAD_CFLAGS="-pthread"
+        PTHREAD_LIBS=
+
+        ax_pthread_ok=yes
+
+        # However, older versions of Clang make a point of warning the user
+        # that, in an invocation where only linking and no compilation is
+        # taking place, the -pthread option has no effect ("argument unused
+        # during compilation").  They expect -pthread to be passed in only
+        # when source code is being compiled.
+        #
+        # Problem is, this is at odds with the way Automake and most other
+        # C build frameworks function, which is that the same flags used in
+        # compilation (CFLAGS) are also used in linking.  Many systems
+        # supported by AX_PTHREAD require exactly this for POSIX threads
+        # support, and in fact it is often not straightforward to specify a
+        # flag that is used only in the compilation phase and not in
+        # linking.  Such a scenario is extremely rare in practice.
+        #
+        # Even though use of the -pthread flag in linking would only print
+        # a warning, this can be a nuisance for well-run software projects
+        # that build with -Werror.  So if the active version of Clang has
+        # this misfeature, we search for an option to squash it.
+
+        AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG],
+            [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown
+             # Create an alternate version of $ac_link that compiles and
+             # links in two steps (.c -> .o, .o -> exe) instead of one
+             # (.c -> exe), because the warning occurs only in the second
+             # step
+             ax_pthread_save_ac_link="$ac_link"
+             ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g'
+             ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"`
+             ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)"
+             ax_pthread_save_CFLAGS="$CFLAGS"
+             for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do
+                AS_IF([test "x$ax_pthread_try" = "xunknown"], [break])
+                CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS"
+                ac_link="$ax_pthread_save_ac_link"
+                AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                    [ac_link="$ax_pthread_2step_ac_link"
+                     AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])],
+                         [break])
+                    ])
+             done
+             ac_link="$ax_pthread_save_ac_link"
+             CFLAGS="$ax_pthread_save_CFLAGS"
+             AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no])
+             ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try"
+            ])
+
+        case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in
+                no | unknown) ;;
+                *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;;
+        esac
+
+fi # $ax_pthread_clang = yes
+
+if test "x$ax_pthread_ok" = "xno"; then
+for ax_pthread_try_flag in $ax_pthread_flags; do
+
+        case $ax_pthread_try_flag in
+                none)
+                AC_MSG_CHECKING([whether pthreads work without any flags])
+                ;;
+
+                -mt,pthread)
+                AC_MSG_CHECKING([whether pthreads work with -mt -lpthread])
+                PTHREAD_CFLAGS="-mt"
+                PTHREAD_LIBS="-lpthread"
+                ;;
+
+                -*)
+                AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag])
+                PTHREAD_CFLAGS="$ax_pthread_try_flag"
+                ;;
+
+                pthread-config)
+                AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no])
+                AS_IF([test "x$ax_pthread_config" = "xno"], [continue])
+                PTHREAD_CFLAGS="`pthread-config --cflags`"
+                PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`"
+                ;;
+
+                *)
+                AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag])
+                PTHREAD_LIBS="-l$ax_pthread_try_flag"
+                ;;
+        esac
+
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+
+        # Check for various functions.  We must include pthread.h,
+        # since some functions may be macros.  (On the Sequent, we
+        # need a special flag -Kthread to make this header compile.)
+        # We check for pthread_join because it is in -lpthread on IRIX
+        # while pthread_create is in libc.  We check for pthread_attr_init
+        # due to DEC craziness with -lpthreads.  We check for
+        # pthread_cleanup_push because it is one of the few pthread
+        # functions on Solaris that doesn't have a non-functional libc stub.
+        # We try pthread_create on general principles.
+
+        AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>
+#                       if $ax_pthread_check_cond
+#                        error "$ax_pthread_check_macro must be defined"
+#                       endif
+                        static void routine(void *a) { a = 0; }
+                        static void *start_routine(void *a) { return a; }],
+                       [pthread_t th; pthread_attr_t attr;
+                        pthread_create(&th, 0, start_routine, 0);
+                        pthread_join(th, 0);
+                        pthread_attr_init(&attr);
+                        pthread_cleanup_push(routine, 0);
+                        pthread_cleanup_pop(0) /* ; */])],
+            [ax_pthread_ok=yes],
+            [])
+
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
+
+        AC_MSG_RESULT([$ax_pthread_ok])
+        AS_IF([test "x$ax_pthread_ok" = "xyes"], [break])
+
+        PTHREAD_LIBS=""
+        PTHREAD_CFLAGS=""
+done
+fi
+
+# Various other checks:
+if test "x$ax_pthread_ok" = "xyes"; then
+        ax_pthread_save_CFLAGS="$CFLAGS"
+        ax_pthread_save_LIBS="$LIBS"
+        CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
+        LIBS="$PTHREAD_LIBS $LIBS"
+
+        # Detect AIX lossage: JOINABLE attribute is called UNDETACHED.
+        AC_CACHE_CHECK([for joinable pthread attribute],
+            [ax_cv_PTHREAD_JOINABLE_ATTR],
+            [ax_cv_PTHREAD_JOINABLE_ATTR=unknown
+             for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do
+                 AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <pthread.h>],
+                                                 [int attr = $ax_pthread_attr; return attr /* ; */])],
+                                [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break],
+                                [])
+             done
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \
+               test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \
+               test "x$ax_pthread_joinable_attr_defined" != "xyes"],
+              [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE],
+                                  [$ax_cv_PTHREAD_JOINABLE_ATTR],
+                                  [Define to necessary symbol if this constant
+                                   uses a non-standard name on your system.])
+               ax_pthread_joinable_attr_defined=yes
+              ])
+
+        AC_CACHE_CHECK([whether more special flags are required for pthreads],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS],
+            [ax_cv_PTHREAD_SPECIAL_FLAGS=no
+             case $host_os in
+             solaris*)
+             ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS"
+             ;;
+             esac
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \
+               test "x$ax_pthread_special_flags_added" != "xyes"],
+              [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS"
+               ax_pthread_special_flags_added=yes])
+
+        AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT],
+            [ax_cv_PTHREAD_PRIO_INHERIT],
+            [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <pthread.h>]],
+                                             [[int i = PTHREAD_PRIO_INHERIT;]])],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=yes],
+                            [ax_cv_PTHREAD_PRIO_INHERIT=no])
+            ])
+        AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \
+               test "x$ax_pthread_prio_inherit_defined" != "xyes"],
+              [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.])
+               ax_pthread_prio_inherit_defined=yes
+              ])
+
+        CFLAGS="$ax_pthread_save_CFLAGS"
+        LIBS="$ax_pthread_save_LIBS"
+
+        # More AIX lossage: compile with *_r variant
+        if test "x$GCC" != "xyes"; then
+            case $host_os in
+                aix*)
+                AS_CASE(["x/$CC"],
+                    [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6],
+                    [#handle absolute path differently from PATH based program lookup
+                     AS_CASE(["x$CC"],
+                         [x/*],
+                         [AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"])],
+                         [AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC])])])
+                ;;
+            esac
+        fi
+fi
+
+test -n "$PTHREAD_CC" || PTHREAD_CC="$CC"
+
+AC_SUBST([PTHREAD_LIBS])
+AC_SUBST([PTHREAD_CFLAGS])
+AC_SUBST([PTHREAD_CC])
+
+# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
+if test "x$ax_pthread_ok" = "xyes"; then
+        ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1])
+        :
+else
+        ax_pthread_ok=no
+        $2
+fi
+AC_LANG_POP
+])dnl AX_PTHREAD
diff --git a/config/c-compiler.m4 b/config/c-compiler.m4
new file mode 100644
index 0000000..d3562d6
--- /dev/null
+++ b/config/c-compiler.m4
@@ -0,0 +1,678 @@
+# Macros to detect C compiler features
+# config/c-compiler.m4
+
+
+# PGAC_PRINTF_ARCHETYPE
+# ---------------------
+# Select the format archetype to be used by gcc to check printf-type functions.
+# We prefer "gnu_printf", as that most closely matches the features supported
+# by src/port/snprintf.c (particularly the %m conversion spec).  However,
+# on some NetBSD versions, that doesn't work while "__syslog__" does.
+# If all else fails, use "printf".
+AC_DEFUN([PGAC_PRINTF_ARCHETYPE],
+[AC_CACHE_CHECK([for printf format archetype], pgac_cv_printf_archetype,
+[pgac_cv_printf_archetype=gnu_printf
+PGAC_TEST_PRINTF_ARCHETYPE
+if [[ "$ac_archetype_ok" = no ]]; then
+  pgac_cv_printf_archetype=__syslog__
+  PGAC_TEST_PRINTF_ARCHETYPE
+  if [[ "$ac_archetype_ok" = no ]]; then
+    pgac_cv_printf_archetype=printf
+  fi
+fi])
+AC_DEFINE_UNQUOTED([PG_PRINTF_ATTRIBUTE], [$pgac_cv_printf_archetype],
+[Define to best printf format archetype, usually gnu_printf if available.])
+])# PGAC_PRINTF_ARCHETYPE
+
+# Subroutine: test $pgac_cv_printf_archetype, set $ac_archetype_ok to yes or no
+AC_DEFUN([PGAC_TEST_PRINTF_ARCHETYPE],
+[ac_save_c_werror_flag=$ac_c_werror_flag
+ac_c_werror_flag=yes
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[extern void pgac_write(int ignore, const char *fmt,...)
+__attribute__((format($pgac_cv_printf_archetype, 2, 3)));],
+[pgac_write(0, "error %s: %m", "foo");])],
+                  [ac_archetype_ok=yes],
+                  [ac_archetype_ok=no])
+ac_c_werror_flag=$ac_save_c_werror_flag
+])# PGAC_TEST_PRINTF_ARCHETYPE
+
+
+# PGAC_TYPE_64BIT_INT(TYPE)
+# -------------------------
+# Check if TYPE is a working 64 bit integer type. Set HAVE_TYPE_64 to
+# yes or no respectively, and define HAVE_TYPE_64 if yes.
+AC_DEFUN([PGAC_TYPE_64BIT_INT],
+[define([Ac_define], [translit([have_$1_64], [a-z *], [A-Z_P])])dnl
+define([Ac_cachevar], [translit([pgac_cv_type_$1_64], [ *], [_p])])dnl
+AC_CACHE_CHECK([whether $1 is 64 bits], [Ac_cachevar],
+[AC_RUN_IFELSE([AC_LANG_SOURCE(
+[typedef $1 ac_int64;
+
+/*
+ * These are globals to discourage the compiler from folding all the
+ * arithmetic tests down to compile-time constants.
+ */
+ac_int64 a = 20000001;
+ac_int64 b = 40000005;
+
+int does_int64_work()
+{
+  ac_int64 c,d;
+
+  if (sizeof(ac_int64) != 8)
+    return 0;			/* definitely not the right size */
+
+  /* Do perfunctory checks to see if 64-bit arithmetic seems to work */
+  c = a * b;
+  d = (c + b) / b;
+  if (d != a+1)
+    return 0;
+  return 1;
+}
+
+int
+main() {
+  return (! does_int64_work());
+}])],
+[Ac_cachevar=yes],
+[Ac_cachevar=no],
+[# If cross-compiling, check the size reported by the compiler and
+# trust that the arithmetic works.
+AC_COMPILE_IFELSE([AC_LANG_BOOL_COMPILE_TRY([], [sizeof($1) == 8])],
+                  Ac_cachevar=yes,
+                  Ac_cachevar=no)])])
+
+Ac_define=$Ac_cachevar
+if test x"$Ac_cachevar" = xyes ; then
+  AC_DEFINE(Ac_define, 1, [Define to 1 if `]$1[' works and is 64 bits.])
+fi
+undefine([Ac_define])dnl
+undefine([Ac_cachevar])dnl
+])# PGAC_TYPE_64BIT_INT
+
+
+# PGAC_TYPE_128BIT_INT
+# --------------------
+# Check if __int128 is a working 128 bit integer type, and if so
+# define PG_INT128_TYPE to that typename, and define ALIGNOF_PG_INT128_TYPE
+# as its alignment requirement.
+#
+# This currently only detects a GCC/clang extension, but support for other
+# environments may be added in the future.
+#
+# For the moment we only test for support for 128bit math; support for
+# 128bit literals and snprintf is not required.
+AC_DEFUN([PGAC_TYPE_128BIT_INT],
+[AC_CACHE_CHECK([for __int128], [pgac_cv__128bit_int],
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([
+/*
+ * We don't actually run this test, just link it to verify that any support
+ * functions needed for __int128 are present.
+ *
+ * These are globals to discourage the compiler from folding all the
+ * arithmetic tests down to compile-time constants.  We do not have
+ * convenient support for 128bit literals at this point...
+ */
+__int128 a = 48828125;
+__int128 b = 97656250;
+],[
+__int128 c,d;
+a = (a << 12) + 1; /* 200000000001 */
+b = (b << 12) + 5; /* 400000000005 */
+/* try the most relevant arithmetic ops */
+c = a * b;
+d = (c + b) / b;
+/* must use the results, else compiler may optimize arithmetic away */
+if (d != a+1)
+  return 1;
+])],
+[pgac_cv__128bit_int=yes],
+[pgac_cv__128bit_int=no])])
+if test x"$pgac_cv__128bit_int" = xyes ; then
+  # Use of non-default alignment with __int128 tickles bugs in some compilers.
+  # If not cross-compiling, we can test for bugs and disable use of __int128
+  # with buggy compilers.  If cross-compiling, hope for the best.
+  # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83925
+  AC_CACHE_CHECK([for __int128 alignment bug], [pgac_cv__128bit_int_bug],
+  [AC_RUN_IFELSE([AC_LANG_PROGRAM([
+/* This must match the corresponding code in c.h: */
+#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__IBMC__)
+#define pg_attribute_aligned(a) __attribute__((aligned(a)))
+#endif
+typedef __int128 int128a
+#if defined(pg_attribute_aligned)
+pg_attribute_aligned(8)
+#endif
+;
+int128a holder;
+void pass_by_val(void *buffer, int128a par) { holder = par; }
+],[
+long int i64 = 97656225L << 12;
+int128a q;
+pass_by_val(main, (int128a) i64);
+q = (int128a) i64;
+if (q != holder)
+  return 1;
+])],
+  [pgac_cv__128bit_int_bug=ok],
+  [pgac_cv__128bit_int_bug=broken],
+  [pgac_cv__128bit_int_bug="assuming ok"])])
+  if test x"$pgac_cv__128bit_int_bug" != xbroken ; then
+    AC_DEFINE(PG_INT128_TYPE, __int128, [Define to the name of a signed 128-bit integer type.])
+    AC_CHECK_ALIGNOF(PG_INT128_TYPE)
+  fi
+fi])# PGAC_TYPE_128BIT_INT
+
+
+# PGAC_C_FUNCNAME_SUPPORT
+# -----------------------
+# Check if the C compiler understands __func__ (C99) or __FUNCTION__ (gcc).
+# Define HAVE_FUNCNAME__FUNC or HAVE_FUNCNAME__FUNCTION accordingly.
+AC_DEFUN([PGAC_C_FUNCNAME_SUPPORT],
+[AC_CACHE_CHECK(for __func__, pgac_cv_funcname_func_support,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>],
+[printf("%s\n", __func__);])],
+[pgac_cv_funcname_func_support=yes],
+[pgac_cv_funcname_func_support=no])])
+if test x"$pgac_cv_funcname_func_support" = xyes ; then
+AC_DEFINE(HAVE_FUNCNAME__FUNC, 1,
+          [Define to 1 if your compiler understands __func__.])
+else
+AC_CACHE_CHECK(for __FUNCTION__, pgac_cv_funcname_function_support,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>],
+[printf("%s\n", __FUNCTION__);])],
+[pgac_cv_funcname_function_support=yes],
+[pgac_cv_funcname_function_support=no])])
+if test x"$pgac_cv_funcname_function_support" = xyes ; then
+AC_DEFINE(HAVE_FUNCNAME__FUNCTION, 1,
+          [Define to 1 if your compiler understands __FUNCTION__.])
+fi
+fi])# PGAC_C_FUNCNAME_SUPPORT
+
+
+
+# PGAC_C_STATIC_ASSERT
+# --------------------
+# Check if the C compiler understands _Static_assert(),
+# and define HAVE__STATIC_ASSERT if so.
+#
+# We actually check the syntax ({ _Static_assert(...) }), because we need
+# gcc-style compound expressions to be able to wrap the thing into macros.
+AC_DEFUN([PGAC_C_STATIC_ASSERT],
+[AC_CACHE_CHECK(for _Static_assert, pgac_cv__static_assert,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+[({ _Static_assert(1, "foo"); })])],
+[pgac_cv__static_assert=yes],
+[pgac_cv__static_assert=no])])
+if test x"$pgac_cv__static_assert" = xyes ; then
+AC_DEFINE(HAVE__STATIC_ASSERT, 1,
+          [Define to 1 if your compiler understands _Static_assert.])
+fi])# PGAC_C_STATIC_ASSERT
+
+
+
+# PGAC_C_TYPEOF
+# -------------
+# Check if the C compiler understands typeof or a variant.  Define
+# HAVE_TYPEOF if so, and define 'typeof' to the actual key word.
+#
+AC_DEFUN([PGAC_C_TYPEOF],
+[AC_CACHE_CHECK(for typeof, pgac_cv_c_typeof,
+[pgac_cv_c_typeof=no
+for pgac_kw in typeof __typeof__ decltype; do
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+[int x = 0;
+$pgac_kw(x) y;
+y = x;
+return y;])],
+[pgac_cv_c_typeof=$pgac_kw])
+  test "$pgac_cv_c_typeof" != no && break
+done])
+if test "$pgac_cv_c_typeof" != no; then
+  AC_DEFINE(HAVE_TYPEOF, 1,
+            [Define to 1 if your compiler understands `typeof' or something similar.])
+  if test "$pgac_cv_c_typeof" != typeof; then
+    AC_DEFINE_UNQUOTED(typeof, $pgac_cv_c_typeof, [Define to how the compiler spells `typeof'.])
+  fi
+fi])# PGAC_C_TYPEOF
+
+
+
+# PGAC_C_TYPES_COMPATIBLE
+# -----------------------
+# Check if the C compiler understands __builtin_types_compatible_p,
+# and define HAVE__BUILTIN_TYPES_COMPATIBLE_P if so.
+#
+# We check usage with __typeof__, though it's unlikely any compiler would
+# have the former and not the latter.
+AC_DEFUN([PGAC_C_TYPES_COMPATIBLE],
+[AC_CACHE_CHECK(for __builtin_types_compatible_p, pgac_cv__types_compatible,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+[[ int x; static int y[__builtin_types_compatible_p(__typeof__(x), int)]; ]])],
+[pgac_cv__types_compatible=yes],
+[pgac_cv__types_compatible=no])])
+if test x"$pgac_cv__types_compatible" = xyes ; then
+AC_DEFINE(HAVE__BUILTIN_TYPES_COMPATIBLE_P, 1,
+          [Define to 1 if your compiler understands __builtin_types_compatible_p.])
+fi])# PGAC_C_TYPES_COMPATIBLE
+
+
+# PGAC_C_BUILTIN_CONSTANT_P
+# -------------------------
+# Check if the C compiler understands __builtin_constant_p(),
+# and define HAVE__BUILTIN_CONSTANT_P if so.
+# We need __builtin_constant_p("string literal") to be true, but some older
+# compilers don't think that, so test for that case explicitly.
+AC_DEFUN([PGAC_C_BUILTIN_CONSTANT_P],
+[AC_CACHE_CHECK(for __builtin_constant_p, pgac_cv__builtin_constant_p,
+[AC_COMPILE_IFELSE([AC_LANG_SOURCE(
+[[static int x;
+  static int y[__builtin_constant_p(x) ? x : 1];
+  static int z[__builtin_constant_p("string literal") ? 1 : x];
+]]
+)],
+[pgac_cv__builtin_constant_p=yes],
+[pgac_cv__builtin_constant_p=no])])
+if test x"$pgac_cv__builtin_constant_p" = xyes ; then
+AC_DEFINE(HAVE__BUILTIN_CONSTANT_P, 1,
+          [Define to 1 if your compiler understands __builtin_constant_p.])
+fi])# PGAC_C_BUILTIN_CONSTANT_P
+
+
+
+# PGAC_C_BUILTIN_OP_OVERFLOW
+# --------------------------
+# Check if the C compiler understands __builtin_$op_overflow(),
+# and define HAVE__BUILTIN_OP_OVERFLOW if so.
+#
+# Check for the most complicated case, 64 bit multiplication, as a
+# proxy for all of the operations.  To detect the case where the compiler
+# knows the function but library support is missing, we must link not just
+# compile, and store the results in global variables so the compiler doesn't
+# optimize away the call.
+AC_DEFUN([PGAC_C_BUILTIN_OP_OVERFLOW],
+[AC_CACHE_CHECK(for __builtin_mul_overflow, pgac_cv__builtin_op_overflow,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([
+PG_INT64_TYPE a = 1;
+PG_INT64_TYPE b = 1;
+PG_INT64_TYPE result;
+int oflo;
+],
+[oflo = __builtin_mul_overflow(a, b, &result);])],
+[pgac_cv__builtin_op_overflow=yes],
+[pgac_cv__builtin_op_overflow=no])])
+if test x"$pgac_cv__builtin_op_overflow" = xyes ; then
+AC_DEFINE(HAVE__BUILTIN_OP_OVERFLOW, 1,
+          [Define to 1 if your compiler understands __builtin_$op_overflow.])
+fi])# PGAC_C_BUILTIN_OP_OVERFLOW
+
+
+
+# PGAC_C_BUILTIN_UNREACHABLE
+# --------------------------
+# Check if the C compiler understands __builtin_unreachable(),
+# and define HAVE__BUILTIN_UNREACHABLE if so.
+#
+# NB: Don't get the idea of putting a for(;;); or such before the
+# __builtin_unreachable() call.  Some compilers would remove it before linking
+# and only a warning instead of an error would be produced.
+AC_DEFUN([PGAC_C_BUILTIN_UNREACHABLE],
+[AC_CACHE_CHECK(for __builtin_unreachable, pgac_cv__builtin_unreachable,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+[__builtin_unreachable();])],
+[pgac_cv__builtin_unreachable=yes],
+[pgac_cv__builtin_unreachable=no])])
+if test x"$pgac_cv__builtin_unreachable" = xyes ; then
+AC_DEFINE(HAVE__BUILTIN_UNREACHABLE, 1,
+          [Define to 1 if your compiler understands __builtin_unreachable.])
+fi])# PGAC_C_BUILTIN_UNREACHABLE
+
+
+
+# PGAC_C_COMPUTED_GOTO
+# --------------------
+# Check if the C compiler knows computed gotos (gcc extension, also
+# available in at least clang).  If so, define HAVE_COMPUTED_GOTO.
+#
+# Checking whether computed gotos are supported syntax-wise ought to
+# be enough, as the syntax is otherwise illegal.
+AC_DEFUN([PGAC_C_COMPUTED_GOTO],
+[AC_CACHE_CHECK(for computed goto support, pgac_cv_computed_goto,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+[[void *labeladdrs[] = {&&my_label};
+  goto *labeladdrs[0];
+  my_label:
+  return 1;
+]])],
+[pgac_cv_computed_goto=yes],
+[pgac_cv_computed_goto=no])])
+if test x"$pgac_cv_computed_goto" = xyes ; then
+AC_DEFINE(HAVE_COMPUTED_GOTO, 1,
+          [Define to 1 if your compiler handles computed gotos.])
+fi])# PGAC_C_COMPUTED_GOTO
+
+
+
+# PGAC_CHECK_BUILTIN_FUNC
+# -----------------------
+# This is similar to AC_CHECK_FUNCS(), except that it will work for compiler
+# builtin functions, as that usually fails to.
+# The first argument is the function name, eg [__builtin_clzl], and the
+# second is its argument list, eg [unsigned long x].  The current coding
+# works only for a single argument named x; we might generalize that later.
+# It's assumed that the function's result type is coercible to int.
+# On success, we define "HAVEfuncname" (there's usually more than enough
+# underscores already, so we don't add another one).
+AC_DEFUN([PGAC_CHECK_BUILTIN_FUNC],
+[AC_CACHE_CHECK(for $1, pgac_cv$1,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([
+int
+call$1($2)
+{
+    return $1(x);
+}], [])],
+[pgac_cv$1=yes],
+[pgac_cv$1=no])])
+if test x"${pgac_cv$1}" = xyes ; then
+AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE$1]), 1,
+                   [Define to 1 if your compiler understands $1.])
+fi])# PGAC_CHECK_BUILTIN_FUNC
+
+
+
+# PGAC_CHECK_BUILTIN_FUNC_PTR
+# -----------------------
+# Like PGAC_CHECK_BUILTIN_FUNC, except that the function is assumed to
+# return a pointer type, and the argument(s) should be given literally.
+# This handles some cases that PGAC_CHECK_BUILTIN_FUNC doesn't.
+AC_DEFUN([PGAC_CHECK_BUILTIN_FUNC_PTR],
+[AC_CACHE_CHECK(for $1, pgac_cv$1,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([
+void *
+call$1(void)
+{
+    return $1($2);
+}], [])],
+[pgac_cv$1=yes],
+[pgac_cv$1=no])])
+if test x"${pgac_cv$1}" = xyes ; then
+AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE$1]), 1,
+                   [Define to 1 if your compiler understands $1.])
+fi])# PGAC_CHECK_BUILTIN_FUNC_PTR
+
+
+
+# PGAC_PROG_VARCC_VARFLAGS_OPT
+# ----------------------------
+# Given a compiler, variable name and a string, check if the compiler
+# supports the string as a command-line option. If it does, add the
+# string to the given variable.
+AC_DEFUN([PGAC_PROG_VARCC_VARFLAGS_OPT],
+[define([Ac_cachevar], [AS_TR_SH([pgac_cv_prog_$1_cflags_$3])])dnl
+AC_CACHE_CHECK([whether ${$1} supports $3, for $2], [Ac_cachevar],
+[pgac_save_CFLAGS=$CFLAGS
+pgac_save_CC=$CC
+CC=${$1}
+CFLAGS="${$2} $3"
+ac_save_c_werror_flag=$ac_c_werror_flag
+ac_c_werror_flag=yes
+_AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+                   [Ac_cachevar=yes],
+                   [Ac_cachevar=no])
+ac_c_werror_flag=$ac_save_c_werror_flag
+CFLAGS="$pgac_save_CFLAGS"
+CC="$pgac_save_CC"])
+if test x"$Ac_cachevar" = x"yes"; then
+  $2="${$2} $3"
+fi
+undefine([Ac_cachevar])dnl
+])# PGAC_PROG_VARCC_VARFLAGS_OPT
+
+
+
+# PGAC_PROG_CC_CFLAGS_OPT
+# -----------------------
+# Given a string, check if the compiler supports the string as a
+# command-line option. If it does, add the string to CFLAGS.
+AC_DEFUN([PGAC_PROG_CC_CFLAGS_OPT], [
+PGAC_PROG_VARCC_VARFLAGS_OPT(CC, CFLAGS, $1)
+])# PGAC_PROG_CC_CFLAGS_OPT
+
+
+
+# PGAC_PROG_CC_VAR_OPT
+# --------------------
+# Given a variable name and a string, check if the compiler supports
+# the string as a command-line option. If it does, add the string to
+# the given variable.
+AC_DEFUN([PGAC_PROG_CC_VAR_OPT],
+[PGAC_PROG_VARCC_VARFLAGS_OPT(CC, $1, $2)
+])# PGAC_PROG_CC_VAR_OPT
+
+
+
+# PGAC_PROG_VARCXX_VARFLAGS_OPT
+# -----------------------------
+# Given a compiler, variable name and a string, check if the compiler
+# supports the string as a command-line option. If it does, add the
+# string to the given variable.
+AC_DEFUN([PGAC_PROG_VARCXX_VARFLAGS_OPT],
+[define([Ac_cachevar], [AS_TR_SH([pgac_cv_prog_$1_cxxflags_$3])])dnl
+AC_CACHE_CHECK([whether ${$1} supports $3, for $2], [Ac_cachevar],
+[pgac_save_CXXFLAGS=$CXXFLAGS
+pgac_save_CXX=$CXX
+CXX=${$1}
+CXXFLAGS="${$2} $3"
+ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+ac_cxx_werror_flag=yes
+AC_LANG_PUSH(C++)
+_AC_COMPILE_IFELSE([AC_LANG_PROGRAM()],
+                   [Ac_cachevar=yes],
+                   [Ac_cachevar=no])
+AC_LANG_POP([])
+ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+CXXFLAGS="$pgac_save_CXXFLAGS"
+CXX="$pgac_save_CXX"])
+if test x"$Ac_cachevar" = x"yes"; then
+  $2="${$2} $3"
+fi
+undefine([Ac_cachevar])dnl
+])# PGAC_PROG_VARCXX_VARFLAGS_OPT
+
+
+
+# PGAC_PROG_CXX_CFLAGS_OPT
+# ------------------------
+# Given a string, check if the compiler supports the string as a
+# command-line option. If it does, add the string to CXXFLAGS.
+AC_DEFUN([PGAC_PROG_CXX_CFLAGS_OPT],
+[PGAC_PROG_VARCXX_VARFLAGS_OPT(CXX, CXXFLAGS, $1)
+])# PGAC_PROG_CXX_CFLAGS_OPT
+
+
+
+# PGAC_PROG_CC_LDFLAGS_OPT
+# ------------------------
+# Given a string, check if the compiler supports the string as a
+# command-line option. If it does, add the string to LDFLAGS.
+# For reasons you'd really rather not know about, this checks whether
+# you can link to a particular function, not just whether you can link.
+# In fact, we must actually check that the resulting program runs :-(
+AC_DEFUN([PGAC_PROG_CC_LDFLAGS_OPT],
+[define([Ac_cachevar], [AS_TR_SH([pgac_cv_prog_cc_ldflags_$1])])dnl
+AC_CACHE_CHECK([whether $CC supports $1], [Ac_cachevar],
+[pgac_save_LDFLAGS=$LDFLAGS
+LDFLAGS="$pgac_save_LDFLAGS $1"
+AC_RUN_IFELSE([AC_LANG_PROGRAM([extern void $2 (); void (*fptr) () = $2;],[])],
+              [Ac_cachevar=yes],
+              [Ac_cachevar=no],
+              [Ac_cachevar="assuming no"])
+LDFLAGS="$pgac_save_LDFLAGS"])
+if test x"$Ac_cachevar" = x"yes"; then
+  LDFLAGS="$LDFLAGS $1"
+fi
+undefine([Ac_cachevar])dnl
+])# PGAC_PROG_CC_LDFLAGS_OPT
+
+# PGAC_HAVE_GCC__SYNC_CHAR_TAS
+# ----------------------------
+# Check if the C compiler understands __sync_lock_test_and_set(char),
+# and define HAVE_GCC__SYNC_CHAR_TAS
+#
+# NB: There are platforms where test_and_set is available but compare_and_swap
+# is not, so test this separately.
+# NB: Some platforms only do 32bit tas, others only do 8bit tas. Test both.
+AC_DEFUN([PGAC_HAVE_GCC__SYNC_CHAR_TAS],
+[AC_CACHE_CHECK(for builtin __sync char locking functions, pgac_cv_gcc_sync_char_tas,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+  [char lock = 0;
+   __sync_lock_test_and_set(&lock, 1);
+   __sync_lock_release(&lock);])],
+  [pgac_cv_gcc_sync_char_tas="yes"],
+  [pgac_cv_gcc_sync_char_tas="no"])])
+if test x"$pgac_cv_gcc_sync_char_tas" = x"yes"; then
+  AC_DEFINE(HAVE_GCC__SYNC_CHAR_TAS, 1, [Define to 1 if you have __sync_lock_test_and_set(char *) and friends.])
+fi])# PGAC_HAVE_GCC__SYNC_CHAR_TAS
+
+# PGAC_HAVE_GCC__SYNC_INT32_TAS
+# -----------------------------
+# Check if the C compiler understands __sync_lock_test_and_set(),
+# and define HAVE_GCC__SYNC_INT32_TAS
+AC_DEFUN([PGAC_HAVE_GCC__SYNC_INT32_TAS],
+[AC_CACHE_CHECK(for builtin __sync int32 locking functions, pgac_cv_gcc_sync_int32_tas,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+  [int lock = 0;
+   __sync_lock_test_and_set(&lock, 1);
+   __sync_lock_release(&lock);])],
+  [pgac_cv_gcc_sync_int32_tas="yes"],
+  [pgac_cv_gcc_sync_int32_tas="no"])])
+if test x"$pgac_cv_gcc_sync_int32_tas" = x"yes"; then
+  AC_DEFINE(HAVE_GCC__SYNC_INT32_TAS, 1, [Define to 1 if you have __sync_lock_test_and_set(int *) and friends.])
+fi])# PGAC_HAVE_GCC__SYNC_INT32_TAS
+
+# PGAC_HAVE_GCC__SYNC_INT32_CAS
+# -----------------------------
+# Check if the C compiler understands __sync_compare_and_swap() for 32bit
+# types, and define HAVE_GCC__SYNC_INT32_CAS if so.
+AC_DEFUN([PGAC_HAVE_GCC__SYNC_INT32_CAS],
+[AC_CACHE_CHECK(for builtin __sync int32 atomic operations, pgac_cv_gcc_sync_int32_cas,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+  [int val = 0;
+   __sync_val_compare_and_swap(&val, 0, 37);])],
+  [pgac_cv_gcc_sync_int32_cas="yes"],
+  [pgac_cv_gcc_sync_int32_cas="no"])])
+if test x"$pgac_cv_gcc_sync_int32_cas" = x"yes"; then
+  AC_DEFINE(HAVE_GCC__SYNC_INT32_CAS, 1, [Define to 1 if you have __sync_val_compare_and_swap(int *, int, int).])
+fi])# PGAC_HAVE_GCC__SYNC_INT32_CAS
+
+# PGAC_HAVE_GCC__SYNC_INT64_CAS
+# -----------------------------
+# Check if the C compiler understands __sync_compare_and_swap() for 64bit
+# types, and define HAVE_GCC__SYNC_INT64_CAS if so.
+AC_DEFUN([PGAC_HAVE_GCC__SYNC_INT64_CAS],
+[AC_CACHE_CHECK(for builtin __sync int64 atomic operations, pgac_cv_gcc_sync_int64_cas,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+  [PG_INT64_TYPE lock = 0;
+   __sync_val_compare_and_swap(&lock, 0, (PG_INT64_TYPE) 37);])],
+  [pgac_cv_gcc_sync_int64_cas="yes"],
+  [pgac_cv_gcc_sync_int64_cas="no"])])
+if test x"$pgac_cv_gcc_sync_int64_cas" = x"yes"; then
+  AC_DEFINE(HAVE_GCC__SYNC_INT64_CAS, 1, [Define to 1 if you have __sync_val_compare_and_swap(int64 *, int64, int64).])
+fi])# PGAC_HAVE_GCC__SYNC_INT64_CAS
+
+# PGAC_HAVE_GCC__ATOMIC_INT32_CAS
+# -------------------------------
+# Check if the C compiler understands __atomic_compare_exchange_n() for 32bit
+# types, and define HAVE_GCC__ATOMIC_INT32_CAS if so.
+AC_DEFUN([PGAC_HAVE_GCC__ATOMIC_INT32_CAS],
+[AC_CACHE_CHECK(for builtin __atomic int32 atomic operations, pgac_cv_gcc_atomic_int32_cas,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+  [int val = 0;
+   int expect = 0;
+   __atomic_compare_exchange_n(&val, &expect, 37, 0, __ATOMIC_SEQ_CST, __ATOMIC_RELAXED);])],
+  [pgac_cv_gcc_atomic_int32_cas="yes"],
+  [pgac_cv_gcc_atomic_int32_cas="no"])])
+if test x"$pgac_cv_gcc_atomic_int32_cas" = x"yes"; then
+  AC_DEFINE(HAVE_GCC__ATOMIC_INT32_CAS, 1, [Define to 1 if you have __atomic_compare_exchange_n(int *, int *, int).])
+fi])# PGAC_HAVE_GCC__ATOMIC_INT32_CAS
+
+# PGAC_HAVE_GCC__ATOMIC_INT64_CAS
+# -------------------------------
+# Check if the C compiler understands __atomic_compare_exchange_n() for 64bit
+# types, and define HAVE_GCC__ATOMIC_INT64_CAS if so.
+AC_DEFUN([PGAC_HAVE_GCC__ATOMIC_INT64_CAS],
+[AC_CACHE_CHECK(for builtin __atomic int64 atomic operations, pgac_cv_gcc_atomic_int64_cas,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([],
+  [PG_INT64_TYPE val = 0;
+   PG_INT64_TYPE expect = 0;
+   __atomic_compare_exchange_n(&val, &expect, 37, 0, __ATOMIC_SEQ_CST, __ATOMIC_RELAXED);])],
+  [pgac_cv_gcc_atomic_int64_cas="yes"],
+  [pgac_cv_gcc_atomic_int64_cas="no"])])
+if test x"$pgac_cv_gcc_atomic_int64_cas" = x"yes"; then
+  AC_DEFINE(HAVE_GCC__ATOMIC_INT64_CAS, 1, [Define to 1 if you have __atomic_compare_exchange_n(int64 *, int64 *, int64).])
+fi])# PGAC_HAVE_GCC__ATOMIC_INT64_CAS
+
+# PGAC_SSE42_CRC32_INTRINSICS
+# ---------------------------
+# Check if the compiler supports the x86 CRC instructions added in SSE 4.2,
+# using the _mm_crc32_u8 and _mm_crc32_u32 intrinsic functions. (We don't
+# test the 8-byte variant, _mm_crc32_u64, but it is assumed to be present if
+# the other ones are, on x86-64 platforms)
+#
+# An optional compiler flag can be passed as argument (e.g. -msse4.2). If the
+# intrinsics are supported, sets pgac_sse42_crc32_intrinsics, and CFLAGS_SSE42.
+AC_DEFUN([PGAC_SSE42_CRC32_INTRINSICS],
+[define([Ac_cachevar], [AS_TR_SH([pgac_cv_sse42_crc32_intrinsics_$1])])dnl
+AC_CACHE_CHECK([for _mm_crc32_u8 and _mm_crc32_u32 with CFLAGS=$1], [Ac_cachevar],
+[pgac_save_CFLAGS=$CFLAGS
+CFLAGS="$pgac_save_CFLAGS $1"
+AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <nmmintrin.h>],
+  [unsigned int crc = 0;
+   crc = _mm_crc32_u8(crc, 0);
+   crc = _mm_crc32_u32(crc, 0);
+   /* return computed value, to prevent the above being optimized away */
+   return crc == 0;])],
+  [Ac_cachevar=yes],
+  [Ac_cachevar=no])
+CFLAGS="$pgac_save_CFLAGS"])
+if test x"$Ac_cachevar" = x"yes"; then
+  CFLAGS_SSE42="$1"
+  pgac_sse42_crc32_intrinsics=yes
+fi
+undefine([Ac_cachevar])dnl
+])# PGAC_SSE42_CRC32_INTRINSICS
+
+
+# PGAC_ARMV8_CRC32C_INTRINSICS
+# ----------------------------
+# Check if the compiler supports the CRC32C instructions using the __crc32cb,
+# __crc32ch, __crc32cw, and __crc32cd intrinsic functions. These instructions
+# were first introduced in ARMv8 in the optional CRC Extension, and became
+# mandatory in ARMv8.1.
+#
+# An optional compiler flag can be passed as argument (e.g.
+# -march=armv8-a+crc). If the intrinsics are supported, sets
+# pgac_armv8_crc32c_intrinsics, and CFLAGS_ARMV8_CRC32C.
+AC_DEFUN([PGAC_ARMV8_CRC32C_INTRINSICS],
+[define([Ac_cachevar], [AS_TR_SH([pgac_cv_armv8_crc32c_intrinsics_$1])])dnl
+AC_CACHE_CHECK([for __crc32cb, __crc32ch, __crc32cw, and __crc32cd with CFLAGS=$1], [Ac_cachevar],
+[pgac_save_CFLAGS=$CFLAGS
+CFLAGS="$pgac_save_CFLAGS $1"
+AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <arm_acle.h>],
+  [unsigned int crc = 0;
+   crc = __crc32cb(crc, 0);
+   crc = __crc32ch(crc, 0);
+   crc = __crc32cw(crc, 0);
+   crc = __crc32cd(crc, 0);
+   /* return computed value, to prevent the above being optimized away */
+   return crc == 0;])],
+  [Ac_cachevar=yes],
+  [Ac_cachevar=no])
+CFLAGS="$pgac_save_CFLAGS"])
+if test x"$Ac_cachevar" = x"yes"; then
+  CFLAGS_ARMV8_CRC32C="$1"
+  pgac_armv8_crc32c_intrinsics=yes
+fi
+undefine([Ac_cachevar])dnl
+])# PGAC_ARMV8_CRC32C_INTRINSICS
diff --git a/config/c-library.m4 b/config/c-library.m4
new file mode 100644
index 0000000..163ad57
--- /dev/null
+++ b/config/c-library.m4
@@ -0,0 +1,212 @@
+# Macros that test various C library quirks
+# config/c-library.m4
+
+
+# PGAC_VAR_INT_TIMEZONE
+# ---------------------
+# Check if the global variable `timezone' exists. If so, define
+# HAVE_INT_TIMEZONE.
+AC_DEFUN([PGAC_VAR_INT_TIMEZONE],
+[AC_CACHE_CHECK(for int timezone, pgac_cv_var_int_timezone,
+[AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <time.h>
+int res;],
+  [#ifndef __CYGWIN__
+res = timezone / 60;
+#else
+res = _timezone / 60;
+#endif])],
+  [pgac_cv_var_int_timezone=yes],
+  [pgac_cv_var_int_timezone=no])])
+if test x"$pgac_cv_var_int_timezone" = xyes ; then
+  AC_DEFINE(HAVE_INT_TIMEZONE, 1,
+            [Define to 1 if you have the global variable 'int timezone'.])
+fi])# PGAC_VAR_INT_TIMEZONE
+
+
+# PGAC_STRUCT_TIMEZONE
+# ------------------
+# Figure out how to get the current timezone.  If `struct tm' has a
+# `tm_zone' member, define `HAVE_STRUCT_TM_TM_ZONE'.  Unlike the
+# standard macro AC_STRUCT_TIMEZONE, we don't check for `tzname[]' if
+# not found, since we don't use it.  (We use `int timezone' as a
+# fallback.)
+AC_DEFUN([PGAC_STRUCT_TIMEZONE],
+[AC_CHECK_MEMBERS([struct tm.tm_zone],,,[#include <sys/types.h>
+#include <time.h>
+])
+])# PGAC_STRUCT_TIMEZONE
+
+
+# PGAC_FUNC_GETTIMEOFDAY_1ARG
+# ---------------------------
+# Check if gettimeofday() has only one arguments. (Normal is two.)
+# If so, define GETTIMEOFDAY_1ARG.
+AC_DEFUN([PGAC_FUNC_GETTIMEOFDAY_1ARG],
+[AC_CACHE_CHECK(whether gettimeofday takes only one argument,
+pgac_cv_func_gettimeofday_1arg,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <sys/time.h>],
+[struct timeval *tp;
+struct timezone *tzp;
+gettimeofday(tp,tzp);])],
+[pgac_cv_func_gettimeofday_1arg=no],
+[pgac_cv_func_gettimeofday_1arg=yes])])
+if test x"$pgac_cv_func_gettimeofday_1arg" = xyes ; then
+  AC_DEFINE(GETTIMEOFDAY_1ARG, 1,
+            [Define to 1 if gettimeofday() takes only 1 argument.])
+fi
+AH_VERBATIM(GETTIMEOFDAY_1ARG_,
+[@%:@ifdef GETTIMEOFDAY_1ARG
+@%:@ define gettimeofday(a,b) gettimeofday(a)
+@%:@endif])dnl
+])# PGAC_FUNC_GETTIMEOFDAY_1ARG
+
+
+# PGAC_FUNC_STRERROR_R_INT
+# ---------------------------
+# Check if strerror_r() returns int (POSIX) rather than char * (GNU libc).
+# If so, define STRERROR_R_INT.
+# The result is uncertain if strerror_r() isn't provided,
+# but we don't much care.
+AC_DEFUN([PGAC_FUNC_STRERROR_R_INT],
+[AC_CACHE_CHECK(whether strerror_r returns int,
+pgac_cv_func_strerror_r_int,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <string.h>],
+[[char buf[100];
+  switch (strerror_r(1, buf, sizeof(buf)))
+  { case 0: break; default: break; }
+]])],
+[pgac_cv_func_strerror_r_int=yes],
+[pgac_cv_func_strerror_r_int=no])])
+if test x"$pgac_cv_func_strerror_r_int" = xyes ; then
+  AC_DEFINE(STRERROR_R_INT, 1,
+            [Define to 1 if strerror_r() returns int.])
+fi
+])# PGAC_FUNC_STRERROR_R_INT
+
+
+# PGAC_UNION_SEMUN
+# ----------------
+# Check if `union semun' exists. Define HAVE_UNION_SEMUN if so.
+# If it doesn't then one could define it as
+# union semun { int val; struct semid_ds *buf; unsigned short *array; }
+AC_DEFUN([PGAC_UNION_SEMUN],
+[AC_CHECK_TYPES([union semun], [], [],
+[#include <sys/types.h>
+#ifdef HAVE_SYS_IPC_H
+#include <sys/ipc.h>
+#endif
+#ifdef HAVE_SYS_SEM_H
+#include <sys/sem.h>
+#endif])])# PGAC_UNION_SEMUN
+
+
+# PGAC_STRUCT_SOCKADDR_UN
+# -----------------------
+# If `struct sockaddr_un' exists, define HAVE_STRUCT_SOCKADDR_UN.
+# If it is missing then one could define it.
+# (Requires test for <sys/un.h>!)
+AC_DEFUN([PGAC_STRUCT_SOCKADDR_UN],
+[AC_CHECK_TYPES([struct sockaddr_un], [], [],
+[#include <sys/types.h>
+#ifdef HAVE_SYS_UN_H
+#include <sys/un.h>
+#endif
+])])# PGAC_STRUCT_SOCKADDR_UN
+
+
+# PGAC_STRUCT_SOCKADDR_STORAGE
+# ----------------------------
+# If `struct sockaddr_storage' exists, define HAVE_STRUCT_SOCKADDR_STORAGE.
+# If it is missing then one could define it.
+AC_DEFUN([PGAC_STRUCT_SOCKADDR_STORAGE],
+[AC_CHECK_TYPES([struct sockaddr_storage], [], [],
+[#include <sys/types.h>
+#include <sys/socket.h>
+])])# PGAC_STRUCT_SOCKADDR_STORAGE
+
+# PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS
+# --------------------------------------
+# Check the members of `struct sockaddr_storage'.  We need to know about
+# ss_family and ss_len.  (Some platforms follow RFC 2553 and call them
+# __ss_family and __ss_len.)  We also check struct sockaddr's sa_len;
+# if we have to define our own `struct sockaddr_storage', this tells us
+# whether we need to provide an ss_len field.
+AC_DEFUN([PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS],
+[AC_CHECK_MEMBERS([struct sockaddr_storage.ss_family,
+		   struct sockaddr_storage.__ss_family,
+		   struct sockaddr_storage.ss_len,
+		   struct sockaddr_storage.__ss_len,
+		   struct sockaddr.sa_len], [], [],
+[#include <sys/types.h>
+#include <sys/socket.h>
+])])# PGAC_STRUCT_SOCKADDR_STORAGE_MEMBERS
+
+
+# PGAC_STRUCT_ADDRINFO
+# -----------------------
+# If `struct addrinfo' exists, define HAVE_STRUCT_ADDRINFO.
+AC_DEFUN([PGAC_STRUCT_ADDRINFO],
+[AC_CHECK_TYPES([struct addrinfo], [], [],
+[#include <sys/types.h>
+#include <sys/socket.h>
+#include <netdb.h>
+])])# PGAC_STRUCT_ADDRINFO
+
+
+# PGAC_TYPE_LOCALE_T
+# ------------------
+# Check for the locale_t type and find the right header file.  macOS
+# needs xlocale.h; standard is locale.h, but glibc also has an
+# xlocale.h file that we should not use.
+#
+AC_DEFUN([PGAC_TYPE_LOCALE_T],
+[AC_CACHE_CHECK([for locale_t], pgac_cv_type_locale_t,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[#include <locale.h>
+locale_t x;],
+[])],
+[pgac_cv_type_locale_t=yes],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[#include <xlocale.h>
+locale_t x;],
+[])],
+[pgac_cv_type_locale_t='yes (in xlocale.h)'],
+[pgac_cv_type_locale_t=no])])])
+if test "$pgac_cv_type_locale_t" != no; then
+  AC_DEFINE(HAVE_LOCALE_T, 1,
+            [Define to 1 if the system has the type `locale_t'.])
+fi
+if test "$pgac_cv_type_locale_t" = 'yes (in xlocale.h)'; then
+  AC_DEFINE(LOCALE_T_IN_XLOCALE, 1,
+            [Define to 1 if `locale_t' requires <xlocale.h>.])
+fi])# PGAC_TYPE_LOCALE_T
+
+
+# PGAC_FUNC_WCSTOMBS_L
+# --------------------
+# Try to find a declaration for wcstombs_l().  It might be in stdlib.h
+# (following the POSIX requirement for wcstombs()), or in locale.h, or in
+# xlocale.h.  If it's in the latter, define WCSTOMBS_L_IN_XLOCALE.
+#
+AC_DEFUN([PGAC_FUNC_WCSTOMBS_L],
+[AC_CACHE_CHECK([for wcstombs_l declaration], pgac_cv_func_wcstombs_l,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[#include <stdlib.h>
+#include <locale.h>],
+[#ifndef wcstombs_l
+(void) wcstombs_l;
+#endif])],
+[pgac_cv_func_wcstombs_l='yes'],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[#include <stdlib.h>
+#include <locale.h>
+#include <xlocale.h>],
+[#ifndef wcstombs_l
+(void) wcstombs_l;
+#endif])],
+[pgac_cv_func_wcstombs_l='yes (in xlocale.h)'],
+[pgac_cv_func_wcstombs_l='no'])])])
+if test "$pgac_cv_func_wcstombs_l" = 'yes (in xlocale.h)'; then
+  AC_DEFINE(WCSTOMBS_L_IN_XLOCALE, 1,
+            [Define to 1 if `wcstombs_l' requires <xlocale.h>.])
+fi])# PGAC_FUNC_WCSTOMBS_L
diff --git a/config/check_decls.m4 b/config/check_decls.m4
new file mode 100644
index 0000000..f1b90c5
--- /dev/null
+++ b/config/check_decls.m4
@@ -0,0 +1,116 @@
+# config/check_decls.m4
+
+# This file redefines the standard Autoconf macro _AC_CHECK_DECL_BODY,
+# and adds a supporting function _AC_UNDECLARED_WARNING, to make
+# AC_CHECK_DECLS behave correctly when checking for built-in library
+# functions with clang.
+
+# This is based on commit 82ef7805faffa151e724aa76c245ec590d174580
+# in the Autoconf git repository.  We can drop it if they ever get
+# around to releasing a new version of Autoconf.  In the meantime,
+# it's distributed under Autoconf's license:
+
+# This file is part of Autoconf.  This program is free
+# software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the
+# Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# Under Section 7 of GPL version 3, you are granted additional
+# permissions described in the Autoconf Configure Script Exception,
+# version 3.0, as published by the Free Software Foundation.
+#
+# You should have received a copy of the GNU General Public License
+# and a copy of the Autoconf Configure Script Exception along with
+# this program; see the files COPYINGv3 and COPYING.EXCEPTION
+# respectively.  If not, see <http://www.gnu.org/licenses/>.
+
+# Written by David MacKenzie, with help from
+# Franc,ois Pinard, Karl Berry, Richard Pixley, Ian Lance Taylor,
+# Roland McGrath, Noah Friedman, david d zuhn, and many others.
+
+
+# _AC_UNDECLARED_WARNING
+# ----------------------
+# Set ac_[]_AC_LANG_ABBREV[]_decl_warn_flag=yes if the compiler uses a warning,
+# not a more-customary error, to report some undeclared identifiers.  Fail when
+# an affected compiler warns also on valid input.  _AC_PROG_PREPROC_WORKS_IFELSE
+# solves a related problem.
+AC_DEFUN([_AC_UNDECLARED_WARNING],
+[# The Clang compiler raises a warning for an undeclared identifier that matches
+# a compiler builtin function.  All extant Clang versions are affected, as of
+# Clang 3.6.0.  Test a builtin known to every version.  This problem affects the
+# C and Objective C languages, but Clang does report an error under C++ and
+# Objective C++.
+#
+# Passing -fno-builtin to the compiler would suppress this problem.  That
+# strategy would have the advantage of being insensitive to stray warnings, but
+# it would make tests less realistic.
+AC_CACHE_CHECK([how $[]_AC_CC[] reports undeclared, standard C functions],
+[ac_cv_[]_AC_LANG_ABBREV[]_decl_report],
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [(void) strchr;])],
+  [AS_IF([test -s conftest.err], [dnl
+    # For AC_CHECK_DECL to react to warnings, the compiler must be silent on
+    # valid AC_CHECK_DECL input.  No library function is consistently available
+    # on freestanding implementations, so test against a dummy declaration.
+    # Include always-available headers on the off chance that they somehow
+    # elicit warnings.
+    AC_COMPILE_IFELSE([AC_LANG_PROGRAM([dnl
+#include <float.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stddef.h>
+extern void ac_decl (int, char *);],
+[@%:@ifdef __cplusplus
+  (void) ac_decl ((int) 0, (char *) 0);
+  (void) ac_decl;
+@%:@else
+  (void) ac_decl;
+@%:@endif
+])],
+      [AS_IF([test -s conftest.err],
+	[AC_MSG_FAILURE([cannot detect from compiler exit status or warnings])],
+	[ac_cv_[]_AC_LANG_ABBREV[]_decl_report=warning])],
+      [AC_MSG_FAILURE([cannot compile a simple declaration test])])],
+    [AC_MSG_FAILURE([compiler does not report undeclared identifiers])])],
+  [ac_cv_[]_AC_LANG_ABBREV[]_decl_report=error])])
+
+case $ac_cv_[]_AC_LANG_ABBREV[]_decl_report in
+  warning) ac_[]_AC_LANG_ABBREV[]_decl_warn_flag=yes ;;
+  *) ac_[]_AC_LANG_ABBREV[]_decl_warn_flag= ;;
+esac
+])# _AC_UNDECLARED_WARNING
+
+# _AC_CHECK_DECL_BODY
+# -------------------
+# Shell function body for AC_CHECK_DECL.
+m4_define([_AC_CHECK_DECL_BODY],
+[  AS_LINENO_PUSH([$[]1])
+  # Initialize each $ac_[]_AC_LANG_ABBREV[]_decl_warn_flag once.
+  AC_DEFUN([_AC_UNDECLARED_WARNING_]_AC_LANG_ABBREV,
+	   [_AC_UNDECLARED_WARNING])dnl
+  AC_REQUIRE([_AC_UNDECLARED_WARNING_]_AC_LANG_ABBREV)dnl
+  [as_decl_name=`echo $][2|sed 's/ *(.*//'`]
+  [as_decl_use=`echo $][2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`]
+  AC_CACHE_CHECK([whether $as_decl_name is declared], [$[]3],
+  [ac_save_werror_flag=$ac_[]_AC_LANG_ABBREV[]_werror_flag
+  ac_[]_AC_LANG_ABBREV[]_werror_flag="$ac_[]_AC_LANG_ABBREV[]_decl_warn_flag$ac_[]_AC_LANG_ABBREV[]_werror_flag"
+  AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$[]4],
+[@%:@ifndef $[]as_decl_name
+@%:@ifdef __cplusplus
+  (void) $[]as_decl_use;
+@%:@else
+  (void) $[]as_decl_name;
+@%:@endif
+@%:@endif
+])],
+		   [AS_VAR_SET([$[]3], [yes])],
+		   [AS_VAR_SET([$[]3], [no])])
+  ac_[]_AC_LANG_ABBREV[]_werror_flag=$ac_save_werror_flag])
+  AS_LINENO_POP
+])# _AC_CHECK_DECL_BODY
diff --git a/config/check_modules.pl b/config/check_modules.pl
new file mode 100644
index 0000000..399ac5e
--- /dev/null
+++ b/config/check_modules.pl
@@ -0,0 +1,23 @@
+#
+# Verify that required Perl modules are available,
+# in at least the required minimum versions.
+# (The required minimum versions are all quite ancient now,
+# but specify them anyway for documentation's sake.)
+#
+use strict;
+use warnings;
+
+use IPC::Run 0.79;
+
+# Test::More and Time::HiRes are supposed to be part of core Perl,
+# but some distros omit them in a minimal installation.
+use Test::More 0.87;
+use Time::HiRes 1.52;
+
+# While here, we might as well report exactly what versions we found.
+diag("IPC::Run::VERSION: $IPC::Run::VERSION");
+diag("Test::More::VERSION: $Test::More::VERSION");
+diag("Time::HiRes::VERSION: $Time::HiRes::VERSION");
+
+ok(1);
+done_testing();
diff --git a/config/config.guess b/config/config.guess
new file mode 100644
index 0000000..1972fda
--- /dev/null
+++ b/config/config.guess
@@ -0,0 +1,1700 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright 1992-2021 Free Software Foundation, Inc.
+
+timestamp='2021-01-25'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+#
+# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
+#
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
+#
+# Please send patches to <co...@gnu.org>.
+
+
+me=$(echo "$0" | sed -e 's,.*/,,')
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Options:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <co...@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright 1992-2021 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+tmp=
+# shellcheck disable=SC2172
+trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15
+
+set_cc_for_build() {
+    # prevent multiple calls if $tmp is already set
+    test "$tmp" && return 0
+    : "${TMPDIR=/tmp}"
+    # shellcheck disable=SC2039
+    { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } ||
+	{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
+	{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+	{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
+    dummy=$tmp/dummy
+    case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in
+	,,)    echo "int x;" > "$dummy.c"
+	       for driver in cc gcc c89 c99 ; do
+		   if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then
+		       CC_FOR_BUILD="$driver"
+		       break
+		   fi
+	       done
+	       if test x"$CC_FOR_BUILD" = x ; then
+		   CC_FOR_BUILD=no_compiler_found
+	       fi
+	       ;;
+	,,*)   CC_FOR_BUILD=$CC ;;
+	,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+    esac
+}
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if test -f /.attbin/uname ; then
+	PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown
+UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown
+UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown
+UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
+
+case "$UNAME_SYSTEM" in
+Linux|GNU|GNU/*)
+	LIBC=unknown
+
+	set_cc_for_build
+	cat <<-EOF > "$dummy.c"
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#elif defined(__GLIBC__)
+	LIBC=gnu
+	#else
+	#include <stdarg.h>
+	/* First heuristic to detect musl libc.  */
+	#ifdef __DEFINED_va_list
+	LIBC=musl
+	#endif
+	#endif
+	EOF
+	eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
+
+	# Second heuristic to detect musl libc.
+	if [ "$LIBC" = unknown ] &&
+	   command -v ldd >/dev/null &&
+	   ldd --version 2>&1 | grep -q ^musl; then
+		LIBC=musl
+	fi
+
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	if [ "$LIBC" = unknown ]; then
+		LIBC=gnu
+	fi
+	;;
+esac
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
+    *:NetBSD:*:*)
+	# NetBSD (nbsd) targets should (where applicable) match one or
+	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+	# switched to ELF, *-*-netbsd* would select the old
+	# object file format.  This provides both forward
+	# compatibility and a consistent mechanism for selecting the
+	# object file format.
+	#
+	# Note: NetBSD doesn't particularly care about the vendor
+	# portion of the name.  We always set it to "unknown".
+	UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
+	    /sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+	    /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \
+	    echo unknown))
+	case "$UNAME_MACHINE_ARCH" in
+	    aarch64eb) machine=aarch64_be-unknown ;;
+	    armeb) machine=armeb-unknown ;;
+	    arm*) machine=arm-unknown ;;
+	    sh3el) machine=shl-unknown ;;
+	    sh3eb) machine=sh-unknown ;;
+	    sh5el) machine=sh5le-unknown ;;
+	    earmv*)
+		arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,')
+		endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p')
+		machine="${arch}${endian}"-unknown
+		;;
+	    *) machine="$UNAME_MACHINE_ARCH"-unknown ;;
+	esac
+	# The Operating System including object format, if it has switched
+	# to ELF recently (or will in the future) and ABI.
+	case "$UNAME_MACHINE_ARCH" in
+	    earm*)
+		os=netbsdelf
+		;;
+	    arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+		set_cc_for_build
+		if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+			| grep -q __ELF__
+		then
+		    # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+		    # Return netbsd for either.  FIX?
+		    os=netbsd
+		else
+		    os=netbsdelf
+		fi
+		;;
+	    *)
+		os=netbsd
+		;;
+	esac
+	# Determine ABI tags.
+	case "$UNAME_MACHINE_ARCH" in
+	    earm*)
+		expr='s/^earmv[0-9]/-eabi/;s/eb$//'
+		abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr")
+		;;
+	esac
+	# The OS release
+	# Debian GNU/NetBSD machines have a different userland, and
+	# thus, need a distinct triplet. However, they do not need
+	# kernel version information, so it can be replaced with a
+	# suitable tag, in the style of linux-gnu.
+	case "$UNAME_VERSION" in
+	    Debian*)
+		release='-gnu'
+		;;
+	    *)
+		release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2)
+		;;
+	esac
+	# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+	# contains redundant information, the shorter form:
+	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+	echo "$machine-${os}${release}${abi-}"
+	exit ;;
+    *:Bitrig:*:*)
+	UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//')
+	echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
+	exit ;;
+    *:OpenBSD:*:*)
+	UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//')
+	echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
+	exit ;;
+    *:LibertyBSD:*:*)
+	UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//')
+	echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
+	exit ;;
+    *:MidnightBSD:*:*)
+	echo "$UNAME_MACHINE"-unknown-midnightbsd"$UNAME_RELEASE"
+	exit ;;
+    *:ekkoBSD:*:*)
+	echo "$UNAME_MACHINE"-unknown-ekkobsd"$UNAME_RELEASE"
+	exit ;;
+    *:SolidBSD:*:*)
+	echo "$UNAME_MACHINE"-unknown-solidbsd"$UNAME_RELEASE"
+	exit ;;
+    *:OS108:*:*)
+	echo "$UNAME_MACHINE"-unknown-os108_"$UNAME_RELEASE"
+	exit ;;
+    macppc:MirBSD:*:*)
+	echo powerpc-unknown-mirbsd"$UNAME_RELEASE"
+	exit ;;
+    *:MirBSD:*:*)
+	echo "$UNAME_MACHINE"-unknown-mirbsd"$UNAME_RELEASE"
+	exit ;;
+    *:Sortix:*:*)
+	echo "$UNAME_MACHINE"-unknown-sortix
+	exit ;;
+    *:Twizzler:*:*)
+	echo "$UNAME_MACHINE"-unknown-twizzler
+	exit ;;
+    *:Redox:*:*)
+	echo "$UNAME_MACHINE"-unknown-redox
+	exit ;;
+    mips:OSF1:*.*)
+	echo mips-dec-osf1
+	exit ;;
+    alpha:OSF1:*:*)
+	case $UNAME_RELEASE in
+	*4.0)
+		UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}')
+		;;
+	*5.*)
+		UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}')
+		;;
+	esac
+	# According to Compaq, /usr/sbin/psrinfo has been available on
+	# OSF/1 and Tru64 systems produced since 1995.  I hope that
+	# covers most systems running today.  This code pipes the CPU
+	# types through head -n 1, so we only detect the type of CPU 0.
+	ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1)
+	case "$ALPHA_CPU_TYPE" in
+	    "EV4 (21064)")
+		UNAME_MACHINE=alpha ;;
+	    "EV4.5 (21064)")
+		UNAME_MACHINE=alpha ;;
+	    "LCA4 (21066/21068)")
+		UNAME_MACHINE=alpha ;;
+	    "EV5 (21164)")
+		UNAME_MACHINE=alphaev5 ;;
+	    "EV5.6 (21164A)")
+		UNAME_MACHINE=alphaev56 ;;
+	    "EV5.6 (21164PC)")
+		UNAME_MACHINE=alphapca56 ;;
+	    "EV5.7 (21164PC)")
+		UNAME_MACHINE=alphapca57 ;;
+	    "EV6 (21264)")
+		UNAME_MACHINE=alphaev6 ;;
+	    "EV6.7 (21264A)")
+		UNAME_MACHINE=alphaev67 ;;
+	    "EV6.8CB (21264C)")
+		UNAME_MACHINE=alphaev68 ;;
+	    "EV6.8AL (21264B)")
+		UNAME_MACHINE=alphaev68 ;;
+	    "EV6.8CX (21264D)")
+		UNAME_MACHINE=alphaev68 ;;
+	    "EV6.9A (21264/EV69A)")
+		UNAME_MACHINE=alphaev69 ;;
+	    "EV7 (21364)")
+		UNAME_MACHINE=alphaev7 ;;
+	    "EV7.9 (21364A)")
+		UNAME_MACHINE=alphaev79 ;;
+	esac
+	# A Pn.n version is a patched version.
+	# A Vn.n version is a released version.
+	# A Tn.n version is a released field test version.
+	# A Xn.n version is an unreleased experimental baselevel.
+	# 1.2 uses "1.2" for uname -r.
+	echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)"
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
+    Amiga*:UNIX_System_V:4.0:*)
+	echo m68k-unknown-sysv4
+	exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+	echo "$UNAME_MACHINE"-unknown-amigaos
+	exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+	echo "$UNAME_MACHINE"-unknown-morphos
+	exit ;;
+    *:OS/390:*:*)
+	echo i370-ibm-openedition
+	exit ;;
+    *:z/VM:*:*)
+	echo s390-ibm-zvmoe
+	exit ;;
+    *:OS400:*:*)
+	echo powerpc-ibm-os400
+	exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+	echo arm-acorn-riscix"$UNAME_RELEASE"
+	exit ;;
+    arm*:riscos:*:*|arm*:RISCOS:*:*)
+	echo arm-unknown-riscos
+	exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+	echo hppa1.1-hitachi-hiuxmpp
+	exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+	if test "$( (/bin/universe) 2>/dev/null)" = att ; then
+		echo pyramid-pyramid-sysv3
+	else
+		echo pyramid-pyramid-bsd
+	fi
+	exit ;;
+    NILE*:*:*:dcosx)
+	echo pyramid-pyramid-svr4
+	exit ;;
+    DRS?6000:unix:4.0:6*)
+	echo sparc-icl-nx6
+	exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+	case $(/usr/bin/uname -p) in
+	    sparc) echo sparc-icl-nx7; exit ;;
+	esac ;;
+    s390x:SunOS:*:*)
+	echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
+	exit ;;
+    sun4H:SunOS:5.*:*)
+	echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
+	exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+	echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
+	exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+	echo i386-pc-auroraux"$UNAME_RELEASE"
+	exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+	set_cc_for_build
+	SUN_ARCH=i386
+	# If there is a compiler, see if it is configured for 64-bit objects.
+	# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+	# This test works for both compilers.
+	if test "$CC_FOR_BUILD" != no_compiler_found; then
+	    if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		SUN_ARCH=x86_64
+	    fi
+	fi
+	echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
+	exit ;;
+    sun4*:SunOS:6*:*)
+	# According to config.sub, this is the proper way to canonicalize
+	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+	# it's likely to be more like Solaris than SunOS4.
+	echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
+	exit ;;
+    sun4*:SunOS:*:*)
+	case "$(/usr/bin/arch -k)" in
+	    Series*|S4*)
+		UNAME_RELEASE=$(uname -v)
+		;;
+	esac
+	# Japanese Language versions have a version number like `4.1.3-JL'.
+	echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')"
+	exit ;;
+    sun3*:SunOS:*:*)
+	echo m68k-sun-sunos"$UNAME_RELEASE"
+	exit ;;
+    sun*:*:4.2BSD:*)
+	UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null)
+	test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
+	case "$(/bin/arch)" in
+	    sun3)
+		echo m68k-sun-sunos"$UNAME_RELEASE"
+		;;
+	    sun4)
+		echo sparc-sun-sunos"$UNAME_RELEASE"
+		;;
+	esac
+	exit ;;
+    aushp:SunOS:*:*)
+	echo sparc-auspex-sunos"$UNAME_RELEASE"
+	exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint"$UNAME_RELEASE"
+	exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+	echo m68k-atari-mint"$UNAME_RELEASE"
+	exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+	echo m68k-atari-mint"$UNAME_RELEASE"
+	exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+	echo m68k-milan-mint"$UNAME_RELEASE"
+	exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+	echo m68k-hades-mint"$UNAME_RELEASE"
+	exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+	echo m68k-unknown-mint"$UNAME_RELEASE"
+	exit ;;
+    m68k:machten:*:*)
+	echo m68k-apple-machten"$UNAME_RELEASE"
+	exit ;;
+    powerpc:machten:*:*)
+	echo powerpc-apple-machten"$UNAME_RELEASE"
+	exit ;;
+    RISC*:Mach:*:*)
+	echo mips-dec-mach_bsd4.3
+	exit ;;
+    RISC*:ULTRIX:*:*)
+	echo mips-dec-ultrix"$UNAME_RELEASE"
+	exit ;;
+    VAX*:ULTRIX*:*:*)
+	echo vax-dec-ultrix"$UNAME_RELEASE"
+	exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+	echo clipper-intergraph-clix"$UNAME_RELEASE"
+	exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+	set_cc_for_build
+	sed 's/^	//' << EOF > "$dummy.c"
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+	int main (int argc, char *argv[]) {
+#else
+	int main (argc, argv) int argc; char *argv[]; {
+#endif
+	#if defined (host_mips) && defined (MIPSEB)
+	#if defined (SYSTYPE_SYSV)
+	  printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_SVR4)
+	  printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0);
+	#endif
+	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+	  printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0);
+	#endif
+	#endif
+	  exit (-1);
+	}
+EOF
+	$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
+	  dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') &&
+	  SYSTEM_NAME=$("$dummy" "$dummyarg") &&
+	    { echo "$SYSTEM_NAME"; exit; }
+	echo mips-mips-riscos"$UNAME_RELEASE"
+	exit ;;
+    Motorola:PowerMAX_OS:*:*)
+	echo powerpc-motorola-powermax
+	exit ;;
+    Motorola:*:4.3:PL8-*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+	echo powerpc-harris-powermax
+	exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+	echo powerpc-harris-powerunix
+	exit ;;
+    m88k:CX/UX:7*:*)
+	echo m88k-harris-cxux7
+	exit ;;
+    m88k:*:4*:R4*)
+	echo m88k-motorola-sysv4
+	exit ;;
+    m88k:*:3*:R3*)
+	echo m88k-motorola-sysv3
+	exit ;;
+    AViiON:dgux:*:*)
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=$(/usr/bin/uname -p)
+	if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
+	then
+	    if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
+	       test "$TARGET_BINARY_INTERFACE"x = x
+	    then
+		echo m88k-dg-dgux"$UNAME_RELEASE"
+	    else
+		echo m88k-dg-dguxbcs"$UNAME_RELEASE"
+	    fi
+	else
+	    echo i586-dg-dgux"$UNAME_RELEASE"
+	fi
+	exit ;;
+    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+	echo m88k-dolphin-sysv3
+	exit ;;
+    M88*:*:R3*:*)
+	# Delta 88k system running SVR3
+	echo m88k-motorola-sysv3
+	exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+	echo m88k-tektronix-sysv3
+	exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+	echo m68k-tektronix-bsd
+	exit ;;
+    *:IRIX*:*:*)
+	echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')"
+	exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+	echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+	exit ;;               # Note that: echo "'$(uname -s)'" gives 'AIX '
+    i*86:AIX:*:*)
+	echo i386-ibm-aix
+	exit ;;
+    ia64:AIX:*:*)
+	if test -x /usr/bin/oslevel ; then
+		IBM_REV=$(/usr/bin/oslevel)
+	else
+		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+	fi
+	echo "$UNAME_MACHINE"-ibm-aix"$IBM_REV"
+	exit ;;
+    *:AIX:2:3)
+	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+		set_cc_for_build
+		sed 's/^		//' << EOF > "$dummy.c"
+		#include <sys/systemcfg.h>
+
+		main()
+			{
+			if (!__power_pc())
+				exit(1);
+			puts("powerpc-ibm-aix3.2.5");
+			exit(0);
+			}
+EOF
+		if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy")
+		then
+			echo "$SYSTEM_NAME"
+		else
+			echo rs6000-ibm-aix3.2.5
+		fi
+	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+		echo rs6000-ibm-aix3.2.4
+	else
+		echo rs6000-ibm-aix3.2
+	fi
+	exit ;;
+    *:AIX:*:[4567])
+	IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }')
+	if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
+		IBM_ARCH=rs6000
+	else
+		IBM_ARCH=powerpc
+	fi
+	if test -x /usr/bin/lslpp ; then
+		IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc |
+			   awk -F: '{ print $3 }' | sed s/[0-9]*$/0/)
+	else
+		IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
+	fi
+	echo "$IBM_ARCH"-ibm-aix"$IBM_REV"
+	exit ;;
+    *:AIX:*:*)
+	echo rs6000-ibm-aix
+	exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*)
+	echo romp-ibm-bsd4.4
+	exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+	echo romp-ibm-bsd"$UNAME_RELEASE"   # 4.3 with uname added to
+	exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+	echo rs6000-bull-bosx
+	exit ;;
+    DPX/2?00:B.O.S.:*:*)
+	echo m68k-bull-sysv3
+	exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+	echo m68k-hp-bsd
+	exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+	echo m68k-hp-bsd4.4
+	exit ;;
+    9000/[34678]??:HP-UX:*:*)
+	HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
+	case "$UNAME_MACHINE" in
+	    9000/31?)            HP_ARCH=m68000 ;;
+	    9000/[34]??)         HP_ARCH=m68k ;;
+	    9000/[678][0-9][0-9])
+		if test -x /usr/bin/getconf; then
+		    sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null)
+		    sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null)
+		    case "$sc_cpu_version" in
+		      523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "$sc_kernel_bits" in
+			  32) HP_ARCH=hppa2.0n ;;
+			  64) HP_ARCH=hppa2.0w ;;
+			  '') HP_ARCH=hppa2.0 ;;   # HP-UX 10.20
+			esac ;;
+		    esac
+		fi
+		if test "$HP_ARCH" = ""; then
+		    set_cc_for_build
+		    sed 's/^		//' << EOF > "$dummy.c"
+
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
+
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
+
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
+EOF
+		    (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy")
+		    test -z "$HP_ARCH" && HP_ARCH=hppa
+		fi ;;
+	esac
+	if test "$HP_ARCH" = hppa2.0w
+	then
+	    set_cc_for_build
+
+	    # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+	    # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+	    # generating 64-bit code.  GNU and HP use different nomenclature:
+	    #
+	    # $ CC_FOR_BUILD=cc ./config.guess
+	    # => hppa2.0w-hp-hpux11.23
+	    # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+	    # => hppa64-hp-hpux11.23
+
+	    if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
+		grep -q __LP64__
+	    then
+		HP_ARCH=hppa2.0w
+	    else
+		HP_ARCH=hppa64
+	    fi
+	fi
+	echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
+	exit ;;
+    ia64:HP-UX:*:*)
+	HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
+	echo ia64-hp-hpux"$HPUX_REV"
+	exit ;;
+    3050*:HI-UX:*:*)
+	set_cc_for_build
+	sed 's/^	//' << EOF > "$dummy.c"
+	#include <unistd.h>
+	int
+	main ()
+	{
+	  long cpu = sysconf (_SC_CPU_VERSION);
+	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+	     results, however.  */
+	  if (CPU_IS_PA_RISC (cpu))
+	    {
+	      switch (cpu)
+		{
+		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+		  default: puts ("hppa-hitachi-hiuxwe2"); break;
+		}
+	    }
+	  else if (CPU_IS_HP_MC68K (cpu))
+	    puts ("m68k-hitachi-hiuxwe2");
+	  else puts ("unknown-hitachi-hiuxwe2");
+	  exit (0);
+	}
+EOF
+	$CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") &&
+		{ echo "$SYSTEM_NAME"; exit; }
+	echo unknown-hitachi-hiuxwe2
+	exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*)
+	echo hppa1.1-hp-bsd
+	exit ;;
+    9000/8??:4.3bsd:*:*)
+	echo hppa1.0-hp-bsd
+	exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+	echo hppa1.0-hp-mpeix
+	exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*)
+	echo hppa1.1-hp-osf
+	exit ;;
+    hp8??:OSF1:*:*)
+	echo hppa1.0-hp-osf
+	exit ;;
+    i*86:OSF1:*:*)
+	if test -x /usr/sbin/sysversion ; then
+	    echo "$UNAME_MACHINE"-unknown-osf1mk
+	else
+	    echo "$UNAME_MACHINE"-unknown-osf1
+	fi
+	exit ;;
+    parisc*:Lites*:*:*)
+	echo hppa1.1-hp-lites
+	exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+	echo c1-convex-bsd
+	exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+	if getsysinfo -f scalar_acc
+	then echo c32-convex-bsd
+	else echo c2-convex-bsd
+	fi
+	exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+	echo c34-convex-bsd
+	exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+	echo c38-convex-bsd
+	exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+	echo c4-convex-bsd
+	exit ;;
+    CRAY*Y-MP:*:*:*)
+	echo ymp-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*[A-Z]90:*:*:*)
+	echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \
+	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+	      -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*TS:*:*:*)
+	echo t90-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*T3E:*:*:*)
+	echo alphaev5-cray-unicosmk"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    CRAY*SV1:*:*:*)
+	echo sv1-cray-unicos"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    *:UNICOS/mp:*:*)
+	echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
+	exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+	FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)
+	FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
+	FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/')
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    5000:UNIX_System_V:4.*:*)
+	FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
+	FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/')
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+	echo "$UNAME_MACHINE"-pc-bsdi"$UNAME_RELEASE"
+	exit ;;
+    sparc*:BSD/OS:*:*)
+	echo sparc-unknown-bsdi"$UNAME_RELEASE"
+	exit ;;
+    *:BSD/OS:*:*)
+	echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
+	exit ;;
+    arm:FreeBSD:*:*)
+	UNAME_PROCESSOR=$(uname -p)
+	set_cc_for_build
+	if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_PCS_VFP
+	then
+	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi
+	else
+	    echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf
+	fi
+	exit ;;
+    *:FreeBSD:*:*)
+	UNAME_PROCESSOR=$(/usr/bin/uname -p)
+	case "$UNAME_PROCESSOR" in
+	    amd64)
+		UNAME_PROCESSOR=x86_64 ;;
+	    i386)
+		UNAME_PROCESSOR=i586 ;;
+	esac
+	echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
+	exit ;;
+    i*:CYGWIN*:*)
+	echo "$UNAME_MACHINE"-pc-cygwin
+	exit ;;
+    *:MINGW64*:*)
+	echo "$UNAME_MACHINE"-pc-mingw64
+	exit ;;
+    *:MINGW*:*)
+	echo "$UNAME_MACHINE"-pc-mingw32
+	exit ;;
+    *:MSYS*:*)
+	echo "$UNAME_MACHINE"-pc-msys
+	exit ;;
+    i*:PW*:*)
+	echo "$UNAME_MACHINE"-pc-pw32
+	exit ;;
+    *:Interix*:*)
+	case "$UNAME_MACHINE" in
+	    x86)
+		echo i586-pc-interix"$UNAME_RELEASE"
+		exit ;;
+	    authenticamd | genuineintel | EM64T)
+		echo x86_64-unknown-interix"$UNAME_RELEASE"
+		exit ;;
+	    IA64)
+		echo ia64-unknown-interix"$UNAME_RELEASE"
+		exit ;;
+	esac ;;
+    i*:UWIN*:*)
+	echo "$UNAME_MACHINE"-pc-uwin
+	exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+	echo x86_64-pc-cygwin
+	exit ;;
+    prep*:SunOS:5.*:*)
+	echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
+	exit ;;
+    *:GNU:*:*)
+	# the GNU system
+	echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')"
+	exit ;;
+    *:GNU/*:*:*)
+	# other systems with GNU libc and userland
+	echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC"
+	exit ;;
+    *:Minix:*:*)
+	echo "$UNAME_MACHINE"-unknown-minix
+	exit ;;
+    aarch64:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    aarch64_be:Linux:*:*)
+	UNAME_MACHINE=aarch64_be
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    alpha:Linux:*:*)
+	case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in
+	  EV5)   UNAME_MACHINE=alphaev5 ;;
+	  EV56)  UNAME_MACHINE=alphaev56 ;;
+	  PCA56) UNAME_MACHINE=alphapca56 ;;
+	  PCA57) UNAME_MACHINE=alphapca56 ;;
+	  EV6)   UNAME_MACHINE=alphaev6 ;;
+	  EV67)  UNAME_MACHINE=alphaev67 ;;
+	  EV68*) UNAME_MACHINE=alphaev68 ;;
+	esac
+	objdump --private-headers /bin/sh | grep -q ld.so.1
+	if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    arm*:Linux:*:*)
+	set_cc_for_build
+	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+	    | grep -q __ARM_EABI__
+	then
+	    echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	else
+	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
+		| grep -q __ARM_PCS_VFP
+	    then
+		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabi
+	    else
+		echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"eabihf
+	    fi
+	fi
+	exit ;;
+    avr32*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    cris:Linux:*:*)
+	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
+	exit ;;
+    crisv32:Linux:*:*)
+	echo "$UNAME_MACHINE"-axis-linux-"$LIBC"
+	exit ;;
+    e2k:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    frv:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    hexagon:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    i*86:Linux:*:*)
+	echo "$UNAME_MACHINE"-pc-linux-"$LIBC"
+	exit ;;
+    ia64:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    k1om:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    m32r*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    m68*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+	set_cc_for_build
+	IS_GLIBC=0
+	test x"${LIBC}" = xgnu && IS_GLIBC=1
+	sed 's/^	//' << EOF > "$dummy.c"
+	#undef CPU
+	#undef mips
+	#undef mipsel
+	#undef mips64
+	#undef mips64el
+	#if ${IS_GLIBC} && defined(_ABI64)
+	LIBCABI=gnuabi64
+	#else
+	#if ${IS_GLIBC} && defined(_ABIN32)
+	LIBCABI=gnuabin32
+	#else
+	LIBCABI=${LIBC}
+	#endif
+	#endif
+
+	#if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+	CPU=mipsisa64r6
+	#else
+	#if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6
+	CPU=mipsisa32r6
+	#else
+	#if defined(__mips64)
+	CPU=mips64
+	#else
+	CPU=mips
+	#endif
+	#endif
+	#endif
+
+	#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+	MIPS_ENDIAN=el
+	#else
+	#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+	MIPS_ENDIAN=
+	#else
+	MIPS_ENDIAN=
+	#endif
+	#endif
+EOF
+	eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')"
+	test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
+	;;
+    mips64el:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    openrisc*:Linux:*:*)
+	echo or1k-unknown-linux-"$LIBC"
+	exit ;;
+    or32:Linux:*:* | or1k*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    padre:Linux:*:*)
+	echo sparc-unknown-linux-"$LIBC"
+	exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+	echo hppa64-unknown-linux-"$LIBC"
+	exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+	# Look for CPU level
+	case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in
+	  PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
+	  PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
+	  *)    echo hppa-unknown-linux-"$LIBC" ;;
+	esac
+	exit ;;
+    ppc64:Linux:*:*)
+	echo powerpc64-unknown-linux-"$LIBC"
+	exit ;;
+    ppc:Linux:*:*)
+	echo powerpc-unknown-linux-"$LIBC"
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-"$LIBC"
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-"$LIBC"
+	exit ;;
+    riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+	echo "$UNAME_MACHINE"-ibm-linux-"$LIBC"
+	exit ;;
+    sh64*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    sh*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    tile*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    vax:Linux:*:*)
+	echo "$UNAME_MACHINE"-dec-linux-"$LIBC"
+	exit ;;
+    x86_64:Linux:*:*)
+	set_cc_for_build
+	LIBCABI=$LIBC
+	if test "$CC_FOR_BUILD" != no_compiler_found; then
+	    if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
+		(CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_X32 >/dev/null
+	    then
+		LIBCABI="$LIBC"x32
+	    fi
+	fi
+	echo "$UNAME_MACHINE"-pc-linux-"$LIBCABI"
+	exit ;;
+    xtensa*:Linux:*:*)
+	echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
+	exit ;;
+    i*86:DYNIX/ptx:4*:*)
+	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+	# earlier versions are messed up and put the nodename in both
+	# sysname and nodename.
+	echo i386-sequent-sysv4
+	exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
+	# I just have to hope.  -- rms.
+	# Use sysv4.2uw... so that sysv4* matches it.
+	echo "$UNAME_MACHINE"-pc-sysv4.2uw"$UNAME_VERSION"
+	exit ;;
+    i*86:OS/2:*:*)
+	# If we were able to find `uname', then EMX Unix compatibility
+	# is probably installed.
+	echo "$UNAME_MACHINE"-pc-os2-emx
+	exit ;;
+    i*86:XTS-300:*:STOP)
+	echo "$UNAME_MACHINE"-unknown-stop
+	exit ;;
+    i*86:atheos:*:*)
+	echo "$UNAME_MACHINE"-unknown-atheos
+	exit ;;
+    i*86:syllable:*:*)
+	echo "$UNAME_MACHINE"-pc-syllable
+	exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+	echo i386-unknown-lynxos"$UNAME_RELEASE"
+	exit ;;
+    i*86:*DOS:*:*)
+	echo "$UNAME_MACHINE"-pc-msdosdjgpp
+	exit ;;
+    i*86:*:4.*:*)
+	UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//')
+	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+		echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
+	else
+		echo "$UNAME_MACHINE"-pc-sysv"$UNAME_REL"
+	fi
+	exit ;;
+    i*86:*:5:[678]*)
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	case $(/bin/uname -X | grep "^Machine") in
+	    *486*)	     UNAME_MACHINE=i486 ;;
+	    *Pentium)	     UNAME_MACHINE=i586 ;;
+	    *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+	esac
+	echo "$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}"
+	exit ;;
+    i*86:*:3.2:*)
+	if test -f /usr/options/cb.name; then
+		UNAME_REL=$(sed -n 's/.*Version //p' </usr/options/cb.name)
+		echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
+	elif /bin/uname -X 2>/dev/null >/dev/null ; then
+		UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //'))
+		(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+		(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+			&& UNAME_MACHINE=i586
+		(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+			&& UNAME_MACHINE=i686
+		echo "$UNAME_MACHINE"-pc-sco"$UNAME_REL"
+	else
+		echo "$UNAME_MACHINE"-pc-sysv32
+	fi
+	exit ;;
+    pc:*:*:*)
+	# Left here for compatibility:
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
+	# Note: whatever this is, it MUST be the same as what config.sub
+	# prints for the "djgpp" host, or else GDB configure will decide that
+	# this is a cross-build.
+	echo i586-pc-msdosdjgpp
+	exit ;;
+    Intel:Mach:3*:*)
+	echo i386-pc-mach3
+	exit ;;
+    paragon:*:*:*)
+	echo i860-intel-osf1
+	exit ;;
+    i860:*:4.*:*) # i860-SVR4
+	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+	  echo i860-stardent-sysv"$UNAME_RELEASE" # Stardent Vistra i860-SVR4
+	else # Add other i860-SVR4 vendors below as they are discovered.
+	  echo i860-unknown-sysv"$UNAME_RELEASE"  # Unknown i860-SVR4
+	fi
+	exit ;;
+    mini*:CTIX:SYS*5:*)
+	# "miniframe"
+	echo m68010-convergent-sysv
+	exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+	echo m68k-convergent-sysv
+	exit ;;
+    M680?0:D-NIX:5.3:*)
+	echo m68k-diab-dnix
+	exit ;;
+    M68*:*:R3V[5678]*:*)
+	test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+	OS_REL=''
+	test -r /etc/.relid \
+	&& OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	  && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+	OS_REL='.3'
+	test -r /etc/.relid \
+	    && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	    && { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; }
+	/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+	    && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+	echo m68k-unknown-lynxos"$UNAME_RELEASE"
+	exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+	echo m68k-atari-sysv4
+	exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+	echo sparc-unknown-lynxos"$UNAME_RELEASE"
+	exit ;;
+    rs6000:LynxOS:2.*:*)
+	echo rs6000-unknown-lynxos"$UNAME_RELEASE"
+	exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+	echo powerpc-unknown-lynxos"$UNAME_RELEASE"
+	exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+	echo mips-dde-sysv"$UNAME_RELEASE"
+	exit ;;
+    RM*:ReliantUNIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    RM*:SINIX-*:*:*)
+	echo mips-sni-sysv4
+	exit ;;
+    *:SINIX-*:*:*)
+	if uname -p 2>/dev/null >/dev/null ; then
+		UNAME_MACHINE=$( (uname -p) 2>/dev/null)
+		echo "$UNAME_MACHINE"-sni-sysv4
+	else
+		echo ns32k-sni-sysv
+	fi
+	exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Ri...@ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
+    *:UNIX_System_V:4*:FTX*)
+	# From Gerald Hewes <he...@openmarket.com>.
+	# How about differentiating between stratus architectures? -djm
+	echo hppa1.1-stratus-sysv4
+	exit ;;
+    *:*:*:FTX*)
+	# From seanf@swdc.stratus.com.
+	echo i860-stratus-sysv4
+	exit ;;
+    i*86:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo "$UNAME_MACHINE"-stratus-vos
+	exit ;;
+    *:VOS:*:*)
+	# From Paul.Green@stratus.com.
+	echo hppa1.1-stratus-vos
+	exit ;;
+    mc68*:A/UX:*:*)
+	echo m68k-apple-aux"$UNAME_RELEASE"
+	exit ;;
+    news*:NEWS-OS:6*:*)
+	echo mips-sony-newsos6
+	exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+	if test -d /usr/nec; then
+		echo mips-nec-sysv"$UNAME_RELEASE"
+	else
+		echo mips-unknown-sysv"$UNAME_RELEASE"
+	fi
+	exit ;;
+    BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+	echo powerpc-be-beos
+	exit ;;
+    BeMac:BeOS:*:*)	# BeOS running on Mac or Mac clone, PPC only.
+	echo powerpc-apple-beos
+	exit ;;
+    BePC:BeOS:*:*)	# BeOS running on Intel PC compatible.
+	echo i586-pc-beos
+	exit ;;
+    BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+	echo i586-pc-haiku
+	exit ;;
+    x86_64:Haiku:*:*)
+	echo x86_64-unknown-haiku
+	exit ;;
+    SX-4:SUPER-UX:*:*)
+	echo sx4-nec-superux"$UNAME_RELEASE"
+	exit ;;
+    SX-5:SUPER-UX:*:*)
+	echo sx5-nec-superux"$UNAME_RELEASE"
+	exit ;;
+    SX-6:SUPER-UX:*:*)
+	echo sx6-nec-superux"$UNAME_RELEASE"
+	exit ;;
+    SX-7:SUPER-UX:*:*)
+	echo sx7-nec-superux"$UNAME_RELEASE"
+	exit ;;
+    SX-8:SUPER-UX:*:*)
+	echo sx8-nec-superux"$UNAME_RELEASE"
+	exit ;;
+    SX-8R:SUPER-UX:*:*)
+	echo sx8r-nec-superux"$UNAME_RELEASE"
+	exit ;;
+    SX-ACE:SUPER-UX:*:*)
+	echo sxace-nec-superux"$UNAME_RELEASE"
+	exit ;;
+    Power*:Rhapsody:*:*)
+	echo powerpc-apple-rhapsody"$UNAME_RELEASE"
+	exit ;;
+    *:Rhapsody:*:*)
+	echo "$UNAME_MACHINE"-apple-rhapsody"$UNAME_RELEASE"
+	exit ;;
+    arm64:Darwin:*:*)
+	echo aarch64-apple-darwin"$UNAME_RELEASE"
+	exit ;;
+    *:Darwin:*:*)
+	UNAME_PROCESSOR=$(uname -p)
+	case $UNAME_PROCESSOR in
+	    unknown) UNAME_PROCESSOR=powerpc ;;
+	esac
+	if command -v xcode-select > /dev/null 2> /dev/null && \
+		! xcode-select --print-path > /dev/null 2> /dev/null ; then
+	    # Avoid executing cc if there is no toolchain installed as
+	    # cc will be a stub that puts up a graphical alert
+	    # prompting the user to install developer tools.
+	    CC_FOR_BUILD=no_compiler_found
+	else
+	    set_cc_for_build
+	fi
+	if test "$CC_FOR_BUILD" != no_compiler_found; then
+	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		   grep IS_64BIT_ARCH >/dev/null
+	    then
+		case $UNAME_PROCESSOR in
+		    i386) UNAME_PROCESSOR=x86_64 ;;
+		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		esac
+	    fi
+	    # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc
+	    if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \
+		   (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
+		   grep IS_PPC >/dev/null
+	    then
+		UNAME_PROCESSOR=powerpc
+	    fi
+	elif test "$UNAME_PROCESSOR" = i386 ; then
+	    # uname -m returns i386 or x86_64
+	    UNAME_PROCESSOR=$UNAME_MACHINE
+	fi
+	echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
+	exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+	UNAME_PROCESSOR=$(uname -p)
+	if test "$UNAME_PROCESSOR" = x86; then
+		UNAME_PROCESSOR=i386
+		UNAME_MACHINE=pc
+	fi
+	echo "$UNAME_PROCESSOR"-"$UNAME_MACHINE"-nto-qnx"$UNAME_RELEASE"
+	exit ;;
+    *:QNX:*:4*)
+	echo i386-pc-qnx
+	exit ;;
+    NEO-*:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk"$UNAME_RELEASE"
+	exit ;;
+    NSE-*:NONSTOP_KERNEL:*:*)
+	echo nse-tandem-nsk"$UNAME_RELEASE"
+	exit ;;
+    NSR-*:NONSTOP_KERNEL:*:*)
+	echo nsr-tandem-nsk"$UNAME_RELEASE"
+	exit ;;
+    NSV-*:NONSTOP_KERNEL:*:*)
+	echo nsv-tandem-nsk"$UNAME_RELEASE"
+	exit ;;
+    NSX-*:NONSTOP_KERNEL:*:*)
+	echo nsx-tandem-nsk"$UNAME_RELEASE"
+	exit ;;
+    *:NonStop-UX:*:*)
+	echo mips-compaq-nonstopux
+	exit ;;
+    BS2000:POSIX*:*:*)
+	echo bs2000-siemens-sysv
+	exit ;;
+    DS/*:UNIX_System_V:*:*)
+	echo "$UNAME_MACHINE"-"$UNAME_SYSTEM"-"$UNAME_RELEASE"
+	exit ;;
+    *:Plan9:*:*)
+	# "uname -m" is not consistent, so use $cputype instead. 386
+	# is converted to i386 for consistency with other x86
+	# operating systems.
+	# shellcheck disable=SC2154
+	if test "$cputype" = 386; then
+	    UNAME_MACHINE=i386
+	else
+	    UNAME_MACHINE="$cputype"
+	fi
+	echo "$UNAME_MACHINE"-unknown-plan9
+	exit ;;
+    *:TOPS-10:*:*)
+	echo pdp10-unknown-tops10
+	exit ;;
+    *:TENEX:*:*)
+	echo pdp10-unknown-tenex
+	exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+	echo pdp10-dec-tops20
+	exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+	echo pdp10-xkl-tops20
+	exit ;;
+    *:TOPS-20:*:*)
+	echo pdp10-unknown-tops20
+	exit ;;
+    *:ITS:*:*)
+	echo pdp10-unknown-its
+	exit ;;
+    SEI:*:*:SEIUX)
+	echo mips-sei-seiux"$UNAME_RELEASE"
+	exit ;;
+    *:DragonFly:*:*)
+	echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
+	exit ;;
+    *:*VMS:*:*)
+	UNAME_MACHINE=$( (uname -p) 2>/dev/null)
+	case "$UNAME_MACHINE" in
+	    A*) echo alpha-dec-vms ; exit ;;
+	    I*) echo ia64-dec-vms ; exit ;;
+	    V*) echo vax-dec-vms ; exit ;;
+	esac ;;
+    *:XENIX:*:SysV)
+	echo i386-pc-xenix
+	exit ;;
+    i*86:skyos:*:*)
+	echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')"
+	exit ;;
+    i*86:rdos:*:*)
+	echo "$UNAME_MACHINE"-pc-rdos
+	exit ;;
+    *:AROS:*:*)
+	echo "$UNAME_MACHINE"-unknown-aros
+	exit ;;
+    x86_64:VMkernel:*:*)
+	echo "$UNAME_MACHINE"-unknown-esx
+	exit ;;
+    amd64:Isilon\ OneFS:*:*)
+	echo x86_64-unknown-onefs
+	exit ;;
+    *:Unleashed:*:*)
+	echo "$UNAME_MACHINE"-unknown-unleashed"$UNAME_RELEASE"
+	exit ;;
+esac
+
+# No uname command or uname output not recognized.
+set_cc_for_build
+cat > "$dummy.c" <<EOF
+#ifdef _SEQUENT_
+#include <sys/types.h>
+#include <sys/utsname.h>
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#include <signal.h>
+#if defined(_SIZE_T_) || defined(SIGLOST)
+#include <sys/utsname.h>
+#endif
+#endif
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+  "4"
+#else
+  ""
+#endif
+  ); exit (0);
+#endif
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null);
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+  struct utsname un;
+
+  uname(&un);
+  if (strncmp(un.version, "V2", 2) == 0) {
+    printf ("i386-sequent-ptx2\n"); exit (0);
+  }
+  if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+    printf ("i386-sequent-ptx1\n"); exit (0);
+  }
+  printf ("i386-sequent-ptx\n"); exit (0);
+#endif
+
+#if defined (vax)
+#if !defined (ultrix)
+#include <sys/param.h>
+#if defined (BSD)
+#if BSD == 43
+  printf ("vax-dec-bsd4.3\n"); exit (0);
+#else
+#if BSD == 199006
+  printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#else
+  printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#endif
+#else
+  printf ("vax-dec-bsd\n"); exit (0);
+#endif
+#else
+#if defined(_SIZE_T_) || defined(SIGLOST)
+  struct utsname un;
+  uname (&un);
+  printf ("vax-dec-ultrix%s\n", un.release); exit (0);
+#else
+  printf ("vax-dec-ultrix\n"); exit (0);
+#endif
+#endif
+#endif
+#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__)
+#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__)
+#if defined(_SIZE_T_) || defined(SIGLOST)
+  struct utsname *un;
+  uname (&un);
+  printf ("mips-dec-ultrix%s\n", un.release); exit (0);
+#else
+  printf ("mips-dec-ultrix\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) &&
+	{ echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; }
+
+echo "$0: unable to guess system type" >&2
+
+case "$UNAME_MACHINE:$UNAME_SYSTEM" in
+    mips:Linux | mips64:Linux)
+	# If we got here on MIPS GNU/Linux, output extra information.
+	cat >&2 <<EOF
+
+NOTE: MIPS GNU/Linux systems require a C compiler to fully recognize
+the system type. Please install a C compiler and try again.
+EOF
+	;;
+esac
+
+cat >&2 <<EOF
+
+This script (version $timestamp), has failed to recognize the
+operating system you are using. If your script is old, overwrite *all*
+copies of config.guess and config.sub with the latest versions from:
+
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.guess
+and
+  https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+EOF
+
+year=$(echo $timestamp | sed 's,-.*,,')
+# shellcheck disable=SC2003
+if test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then
+   cat >&2 <<EOF
+
+If $0 has already been updated, send the following data and any
+information you think might be pertinent to config-patches@gnu.org to
+provide the necessary information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = $( (uname -m) 2>/dev/null || echo unknown)
+uname -r = $( (uname -r) 2>/dev/null || echo unknown)
+uname -s = $( (uname -s) 2>/dev/null || echo unknown)
+uname -v = $( (uname -v) 2>/dev/null || echo unknown)
+
+/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null)
+/bin/uname -X     = $( (/bin/uname -X) 2>/dev/null)
+
+hostinfo               = $( (hostinfo) 2>/dev/null)
+/bin/universe          = $( (/bin/universe) 2>/dev/null)
+/usr/bin/arch -k       = $( (/usr/bin/arch -k) 2>/dev/null)
+/bin/arch              = $( (/bin/arch) 2>/dev/null)
+/usr/bin/oslevel       = $( (/usr/bin/oslevel) 2>/dev/null)
+/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null)
+
+UNAME_MACHINE = "$UNAME_MACHINE"
+UNAME_RELEASE = "$UNAME_RELEASE"
+UNAME_SYSTEM  = "$UNAME_SYSTEM"
+UNAME_VERSION = "$UNAME_VERSION"
+EOF
+fi
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'before-save-hook 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config/config.sub b/config/config.sub
new file mode 100644
index 0000000..7f7d0b0
--- /dev/null
+++ b/config/config.sub
@@ -0,0 +1,1860 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright 1992-2021 Free Software Foundation, Inc.
+
+timestamp='2021-03-10'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <https://www.gnu.org/licenses/>.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that
+# program.  This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
+
+
+# Please send patches to <co...@gnu.org>.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=$(echo "$0" | sed -e 's,.*/,,')
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
+
+Canonicalize a configuration name.
+
+Options:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <co...@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright 1992-2021 Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )	# Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo "$1"
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
... 3561553 lines suppressed ...