aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/libpq
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2022-06-24 13:08:23 +0300
committerDaniil Cherednik <dan.cherednik@gmail.com>2022-06-24 13:08:23 +0300
commit067fd14417000b3601483f660fe9e27c3b47f0b5 (patch)
treeeb4fc96bcae1331d15432f6555b003185bc75848 /contrib/libs/libpq
parentece86e83e77dcf3d9e757517d3d16f707272a4c7 (diff)
downloadydb-067fd14417000b3601483f660fe9e27c3b47f0b5.tar.gz
REVERT: r9621717 (disable pg_wrapper for OSS) YQ-1154
ref:d888564254e64ea675383c26661ff5332bf406f5
Diffstat (limited to 'contrib/libs/libpq')
-rw-r--r--contrib/libs/libpq/COPYRIGHT23
-rw-r--r--contrib/libs/libpq/HISTORY5
-rw-r--r--contrib/libs/libpq/README27
-rw-r--r--contrib/libs/libpq/README.git14
-rw-r--r--contrib/libs/libpq/src/DEVELOPERS3
-rw-r--r--contrib/libs/libpq/src/include/c.h1370
-rw-r--r--contrib/libs/libpq/src/include/getaddrinfo.h162
-rw-r--r--contrib/libs/libpq/src/include/pg_config-linux.h1020
-rw-r--r--contrib/libs/libpq/src/include/pg_config-osx-arm64.h159
-rw-r--r--contrib/libs/libpq/src/include/pg_config-osx.h156
-rw-r--r--contrib/libs/libpq/src/include/pg_config-win.h315
-rw-r--r--contrib/libs/libpq/src/include/pg_config.h11
-rw-r--r--contrib/libs/libpq/src/include/pg_config_ext.h8
-rw-r--r--contrib/libs/libpq/src/include/pg_config_manual.h404
-rw-r--r--contrib/libs/libpq/src/include/pg_config_os-linux.h1
-rw-r--r--contrib/libs/libpq/src/include/pg_config_os-osx.h1
-rw-r--r--contrib/libs/libpq/src/include/pg_config_os-win.h1
-rw-r--r--contrib/libs/libpq/src/include/pg_config_os.h9
-rw-r--r--contrib/libs/libpq/src/include/pgtar.h45
-rw-r--r--contrib/libs/libpq/src/include/pgtime.h84
-rw-r--r--contrib/libs/libpq/src/include/port.h555
-rw-r--r--contrib/libs/libpq/src/include/port/aix.h14
-rw-r--r--contrib/libs/libpq/src/include/port/atomics.h524
-rw-r--r--contrib/libs/libpq/src/include/port/cygwin.h17
-rw-r--r--contrib/libs/libpq/src/include/port/darwin.h8
-rw-r--r--contrib/libs/libpq/src/include/port/freebsd.h10
-rw-r--r--contrib/libs/libpq/src/include/port/hpux.h3
-rw-r--r--contrib/libs/libpq/src/include/port/linux.h22
-rw-r--r--contrib/libs/libpq/src/include/port/netbsd.h1
-rw-r--r--contrib/libs/libpq/src/include/port/openbsd.h1
-rw-r--r--contrib/libs/libpq/src/include/port/pg_bitutils.h272
-rw-r--r--contrib/libs/libpq/src/include/port/pg_bswap.h161
-rw-r--r--contrib/libs/libpq/src/include/port/pg_crc32c.h101
-rw-r--r--contrib/libs/libpq/src/include/port/pg_iovec.h54
-rw-r--r--contrib/libs/libpq/src/include/port/pg_pthread.h41
-rw-r--r--contrib/libs/libpq/src/include/port/solaris.h26
-rw-r--r--contrib/libs/libpq/src/include/port/win32.h70
-rw-r--r--contrib/libs/libpq/src/include/port/win32/arpa/inet.h3
-rw-r--r--contrib/libs/libpq/src/include/port/win32/dlfcn.h1
-rw-r--r--contrib/libs/libpq/src/include/port/win32/grp.h1
-rw-r--r--contrib/libs/libpq/src/include/port/win32/netdb.h1
-rw-r--r--contrib/libs/libpq/src/include/port/win32/netinet/in.h3
-rw-r--r--contrib/libs/libpq/src/include/port/win32/pwd.h3
-rw-r--r--contrib/libs/libpq/src/include/port/win32/sys/socket.h33
-rw-r--r--contrib/libs/libpq/src/include/port/win32/sys/wait.h3
-rw-r--r--contrib/libs/libpq/src/include/port/win32_msvc/dirent.h34
-rw-r--r--contrib/libs/libpq/src/include/port/win32_msvc/sys/file.h1
-rw-r--r--contrib/libs/libpq/src/include/port/win32_msvc/sys/param.h1
-rw-r--r--contrib/libs/libpq/src/include/port/win32_msvc/sys/time.h1
-rw-r--r--contrib/libs/libpq/src/include/port/win32_msvc/unistd.h1
-rw-r--r--contrib/libs/libpq/src/include/port/win32_msvc/utime.h3
-rw-r--r--contrib/libs/libpq/src/include/port/win32_port.h546
-rw-r--r--contrib/libs/libpq/src/include/postgres.h808
-rw-r--r--contrib/libs/libpq/src/include/postgres_ext.h74
-rw-r--r--contrib/libs/libpq/src/include/postgres_fe.h29
55 files changed, 0 insertions, 7244 deletions
diff --git a/contrib/libs/libpq/COPYRIGHT b/contrib/libs/libpq/COPYRIGHT
deleted file mode 100644
index 9d65dbea7e..0000000000
--- a/contrib/libs/libpq/COPYRIGHT
+++ /dev/null
@@ -1,23 +0,0 @@
-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/contrib/libs/libpq/HISTORY b/contrib/libs/libpq/HISTORY
deleted file mode 100644
index b87be55abf..0000000000
--- a/contrib/libs/libpq/HISTORY
+++ /dev/null
@@ -1,5 +0,0 @@
-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/contrib/libs/libpq/README b/contrib/libs/libpq/README
deleted file mode 100644
index 6416a8cf3b..0000000000
--- a/contrib/libs/libpq/README
+++ /dev/null
@@ -1,27 +0,0 @@
-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/contrib/libs/libpq/README.git b/contrib/libs/libpq/README.git
deleted file mode 100644
index 4bf614eea4..0000000000
--- a/contrib/libs/libpq/README.git
+++ /dev/null
@@ -1,14 +0,0 @@
-(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/contrib/libs/libpq/src/DEVELOPERS b/contrib/libs/libpq/src/DEVELOPERS
deleted file mode 100644
index 103c94cd39..0000000000
--- a/contrib/libs/libpq/src/DEVELOPERS
+++ /dev/null
@@ -1,3 +0,0 @@
-Read the development information in the wiki at
-<http://wiki.postgresql.org/wiki/Development_information>. All the
-developer tools are located in the src/tools/ directory.
diff --git a/contrib/libs/libpq/src/include/c.h b/contrib/libs/libpq/src/include/c.h
deleted file mode 100644
index 1cafc2062a..0000000000
--- a/contrib/libs/libpq/src/include/c.h
+++ /dev/null
@@ -1,1370 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * c.h
- * Fundamental C definitions. This is included by every .c file in
- * PostgreSQL (via either postgres.h or postgres_fe.h, as appropriate).
- *
- * Note that the definitions here are not intended to be exposed to clients
- * of the frontend interface libraries --- so we don't worry much about
- * polluting the namespace with lots of stuff...
- *
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/c.h
- *
- *-------------------------------------------------------------------------
- */
-/*
- *----------------------------------------------------------------
- * TABLE OF CONTENTS
- *
- * When adding stuff to this file, please try to put stuff
- * into the relevant section, or add new sections as appropriate.
- *
- * section description
- * ------- ------------------------------------------------
- * 0) pg_config.h and standard system headers
- * 1) compiler characteristics
- * 2) bool, true, false
- * 3) standard system types
- * 4) IsValid macros for system types
- * 5) offsetof, lengthof, alignment
- * 6) assertions
- * 7) widely useful macros
- * 8) random stuff
- * 9) system-specific hacks
- *
- * NOTE: since this file is included by both frontend and backend modules,
- * it's usually wrong to put an "extern" declaration here, unless it's
- * ifdef'd so that it's seen in only one case or the other.
- * typedefs and macros are the kind of thing that might go here.
- *
- *----------------------------------------------------------------
- */
-#ifndef C_H
-#define C_H
-
-#include "postgres_ext.h"
-
-/* Must undef pg_config_ext.h symbols before including pg_config.h */
-#undef PG_INT64_TYPE
-
-#include "pg_config.h"
-#include "pg_config_manual.h" /* must be after pg_config.h */
-#include "pg_config_os.h" /* must be before any system header files */
-
-/* System header files that should be available everywhere in Postgres */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <stddef.h>
-#include <stdarg.h>
-#ifdef HAVE_STRINGS_H
-#include <strings.h>
-#endif
-#include <stdint.h>
-#include <sys/types.h>
-#include <errno.h>
-#if defined(WIN32) || defined(__CYGWIN__)
-#include <fcntl.h> /* ensure O_BINARY is available */
-#endif
-#include <locale.h>
-#ifdef ENABLE_NLS
-#include <libintl.h>
-#endif
-
-
-/* ----------------------------------------------------------------
- * Section 1: compiler characteristics
- *
- * type prefixes (const, signed, volatile, inline) are handled in pg_config.h.
- * ----------------------------------------------------------------
- */
-
-/*
- * Disable "inline" if PG_FORCE_DISABLE_INLINE is defined.
- * This is used to work around compiler bugs and might also be useful for
- * investigatory purposes.
- */
-#ifdef PG_FORCE_DISABLE_INLINE
-#undef inline
-#define inline
-#endif
-
-/*
- * Attribute macros
- *
- * GCC: https://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
- * GCC: https://gcc.gnu.org/onlinedocs/gcc/Type-Attributes.html
- * Clang: https://clang.llvm.org/docs/AttributeReference.html
- * Sunpro: https://docs.oracle.com/cd/E18659_01/html/821-1384/gjzke.html
- * XLC: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.2/com.ibm.xlc131.aix.doc/language_ref/function_attributes.html
- * XLC: https://www.ibm.com/support/knowledgecenter/SSGH2K_13.1.2/com.ibm.xlc131.aix.doc/language_ref/type_attrib.html
- */
-
-/*
- * For compilers which don't support __has_attribute, we just define
- * __has_attribute(x) to 0 so that we can define macros for various
- * __attribute__s more easily below.
- */
-#ifndef __has_attribute
-#define __has_attribute(attribute) 0
-#endif
-
-/* only GCC supports the unused attribute */
-#ifdef __GNUC__
-#define pg_attribute_unused() __attribute__((unused))
-#else
-#define pg_attribute_unused()
-#endif
-
-/*
- * pg_nodiscard means the compiler should warn if the result of a function
- * call is ignored. The name "nodiscard" is chosen in alignment with
- * (possibly future) C and C++ standards. For maximum compatibility, use it
- * as a function declaration specifier, so it goes before the return type.
- */
-#ifdef __GNUC__
-#define pg_nodiscard __attribute__((warn_unused_result))
-#else
-#define pg_nodiscard
-#endif
-
-/*
- * Place this macro before functions that should be allowed to make misaligned
- * accesses. Think twice before using it on non-x86-specific code!
- * Testing can be done with "-fsanitize=alignment -fsanitize-trap=alignment"
- * on clang, or "-fsanitize=alignment -fno-sanitize-recover=alignment" on gcc.
- */
-#if __clang_major__ >= 7 || __GNUC__ >= 8
-#define pg_attribute_no_sanitize_alignment() __attribute__((no_sanitize("alignment")))
-#else
-#define pg_attribute_no_sanitize_alignment()
-#endif
-
-/*
- * Append PG_USED_FOR_ASSERTS_ONLY to definitions of variables that are only
- * used in assert-enabled builds, to avoid compiler warnings about unused
- * variables in assert-disabled builds.
- */
-#ifdef USE_ASSERT_CHECKING
-#define PG_USED_FOR_ASSERTS_ONLY
-#else
-#define PG_USED_FOR_ASSERTS_ONLY pg_attribute_unused()
-#endif
-
-/* GCC and XLC support format attributes */
-#if defined(__GNUC__) || defined(__IBMC__)
-#define pg_attribute_format_arg(a) __attribute__((format_arg(a)))
-#define pg_attribute_printf(f,a) __attribute__((format(PG_PRINTF_ATTRIBUTE, f, a)))
-#else
-#define pg_attribute_format_arg(a)
-#define pg_attribute_printf(f,a)
-#endif
-
-/* GCC, Sunpro and XLC support aligned, packed and noreturn */
-#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__IBMC__)
-#define pg_attribute_aligned(a) __attribute__((aligned(a)))
-#define pg_attribute_noreturn() __attribute__((noreturn))
-#define pg_attribute_packed() __attribute__((packed))
-#define HAVE_PG_ATTRIBUTE_NORETURN 1
-#else
-/*
- * NB: aligned and packed are not given default definitions because they
- * affect code functionality; they *must* be implemented by the compiler
- * if they are to be used.
- */
-#define pg_attribute_noreturn()
-#endif
-
-/*
- * Use "pg_attribute_always_inline" in place of "inline" for functions that
- * we wish to force inlining of, even when the compiler's heuristics would
- * choose not to. But, if possible, don't force inlining in unoptimized
- * debug builds.
- */
-#if (defined(__GNUC__) && __GNUC__ > 3 && defined(__OPTIMIZE__)) || defined(__SUNPRO_C) || defined(__IBMC__)
-/* GCC > 3, Sunpro and XLC support always_inline via __attribute__ */
-#define pg_attribute_always_inline __attribute__((always_inline)) inline
-#elif defined(_MSC_VER)
-/* MSVC has a special keyword for this */
-#define pg_attribute_always_inline __forceinline
-#else
-/* Otherwise, the best we can do is to say "inline" */
-#define pg_attribute_always_inline inline
-#endif
-
-/*
- * Forcing a function not to be inlined can be useful if it's the slow path of
- * a performance-critical function, or should be visible in profiles to allow
- * for proper cost attribution. Note that unlike the pg_attribute_XXX macros
- * above, this should be placed before the function's return type and name.
- */
-/* GCC, Sunpro and XLC support noinline via __attribute__ */
-#if (defined(__GNUC__) && __GNUC__ > 2) || defined(__SUNPRO_C) || defined(__IBMC__)
-#define pg_noinline __attribute__((noinline))
-/* msvc via declspec */
-#elif defined(_MSC_VER)
-#define pg_noinline __declspec(noinline)
-#else
-#define pg_noinline
-#endif
-
-/*
- * For now, just define pg_attribute_cold and pg_attribute_hot to be empty
- * macros on minGW 8.1. There appears to be a compiler bug that results in
- * compilation failure. At this time, we still have at least one buildfarm
- * animal running that compiler, so this should make that green again. It's
- * likely this compiler is not popular enough to warrant keeping this code
- * around forever, so let's just remove it once the last buildfarm animal
- * upgrades.
- */
-#if defined(__MINGW64__) && __GNUC__ == 8 && __GNUC_MINOR__ == 1
-
-#define pg_attribute_cold
-#define pg_attribute_hot
-
-#else
-/*
- * Marking certain functions as "hot" or "cold" can be useful to assist the
- * compiler in arranging the assembly code in a more efficient way.
- */
-#if __has_attribute (cold)
-#define pg_attribute_cold __attribute__((cold))
-#else
-#define pg_attribute_cold
-#endif
-
-#if __has_attribute (hot)
-#define pg_attribute_hot __attribute__((hot))
-#else
-#define pg_attribute_hot
-#endif
-
-#endif /* defined(__MINGW64__) && __GNUC__ == 8 &&
- * __GNUC_MINOR__ == 1 */
-/*
- * Mark a point as unreachable in a portable fashion. This should preferably
- * be something that the compiler understands, to aid code generation.
- * In assert-enabled builds, we prefer abort() for debugging reasons.
- */
-#if defined(HAVE__BUILTIN_UNREACHABLE) && !defined(USE_ASSERT_CHECKING)
-#define pg_unreachable() __builtin_unreachable()
-#elif defined(_MSC_VER) && !defined(USE_ASSERT_CHECKING)
-#define pg_unreachable() __assume(0)
-#else
-#define pg_unreachable() abort()
-#endif
-
-/*
- * Hints to the compiler about the likelihood of a branch. Both likely() and
- * unlikely() return the boolean value of the contained expression.
- *
- * These should only be used sparingly, in very hot code paths. It's very easy
- * to mis-estimate likelihoods.
- */
-#if __GNUC__ >= 3
-#define likely(x) __builtin_expect((x) != 0, 1)
-#define unlikely(x) __builtin_expect((x) != 0, 0)
-#else
-#define likely(x) ((x) != 0)
-#define unlikely(x) ((x) != 0)
-#endif
-
-/*
- * CppAsString
- * Convert the argument to a string, using the C preprocessor.
- * CppAsString2
- * Convert the argument to a string, after one round of macro expansion.
- * CppConcat
- * Concatenate two arguments together, using the C preprocessor.
- *
- * Note: There used to be support here for pre-ANSI C compilers that didn't
- * support # and ##. Nowadays, these macros are just for clarity and/or
- * backward compatibility with existing PostgreSQL code.
- */
-#define CppAsString(identifier) #identifier
-#define CppAsString2(x) CppAsString(x)
-#define CppConcat(x, y) x##y
-
-/*
- * VA_ARGS_NARGS
- * Returns the number of macro arguments it is passed.
- *
- * An empty argument still counts as an argument, so effectively, this is
- * "one more than the number of commas in the argument list".
- *
- * This works for up to 63 arguments. Internally, VA_ARGS_NARGS_() is passed
- * 64+N arguments, and the C99 standard only requires macros to allow up to
- * 127 arguments, so we can't portably go higher. The implementation is
- * pretty trivial: VA_ARGS_NARGS_() returns its 64th argument, and we set up
- * the call so that that is the appropriate one of the list of constants.
- * This idea is due to Laurent Deniau.
- */
-#define VA_ARGS_NARGS(...) \
- VA_ARGS_NARGS_(__VA_ARGS__, \
- 63,62,61,60, \
- 59,58,57,56,55,54,53,52,51,50, \
- 49,48,47,46,45,44,43,42,41,40, \
- 39,38,37,36,35,34,33,32,31,30, \
- 29,28,27,26,25,24,23,22,21,20, \
- 19,18,17,16,15,14,13,12,11,10, \
- 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
-#define VA_ARGS_NARGS_( \
- _01,_02,_03,_04,_05,_06,_07,_08,_09,_10, \
- _11,_12,_13,_14,_15,_16,_17,_18,_19,_20, \
- _21,_22,_23,_24,_25,_26,_27,_28,_29,_30, \
- _31,_32,_33,_34,_35,_36,_37,_38,_39,_40, \
- _41,_42,_43,_44,_45,_46,_47,_48,_49,_50, \
- _51,_52,_53,_54,_55,_56,_57,_58,_59,_60, \
- _61,_62,_63, N, ...) \
- (N)
-
-/*
- * dummyret is used to set return values in macros that use ?: to make
- * assignments. gcc wants these to be void, other compilers like char
- */
-#ifdef __GNUC__ /* GNU cc */
-#define dummyret void
-#else
-#define dummyret char
-#endif
-
-/*
- * Generic function pointer. This can be used in the rare cases where it's
- * necessary to cast a function pointer to a seemingly incompatible function
- * pointer type while avoiding gcc's -Wcast-function-type warnings.
- */
-typedef void (*pg_funcptr_t) (void);
-
-/*
- * We require C99, hence the compiler should understand flexible array
- * members. However, for documentation purposes we still consider it to be
- * project style to write "field[FLEXIBLE_ARRAY_MEMBER]" not just "field[]".
- * When computing the size of such an object, use "offsetof(struct s, f)"
- * for portability. Don't use "offsetof(struct s, f[0])", as this doesn't
- * work with MSVC and with C++ compilers.
- */
-#define FLEXIBLE_ARRAY_MEMBER /* empty */
-
-/* Which __func__ symbol do we have, if any? */
-#ifdef HAVE_FUNCNAME__FUNC
-#define PG_FUNCNAME_MACRO __func__
-#else
-#ifdef HAVE_FUNCNAME__FUNCTION
-#define PG_FUNCNAME_MACRO __FUNCTION__
-#else
-#define PG_FUNCNAME_MACRO NULL
-#endif
-#endif
-
-
-/* ----------------------------------------------------------------
- * Section 2: bool, true, false
- * ----------------------------------------------------------------
- */
-
-/*
- * bool
- * Boolean value, either true or false.
- *
- * We use stdbool.h if available and its bool has size 1. That's useful for
- * better compiler and debugger output and for compatibility with third-party
- * libraries. But PostgreSQL currently cannot deal with bool of other sizes;
- * there are static assertions around the code to prevent that.
- *
- * For C++ compilers, we assume the compiler has a compatible built-in
- * definition of bool.
- *
- * See also the version of this code in src/interfaces/ecpg/include/ecpglib.h.
- */
-
-#ifndef __cplusplus
-
-#ifdef PG_USE_STDBOOL
-#include <stdbool.h>
-#else
-
-#ifndef bool
-typedef unsigned char bool;
-#endif
-
-#ifndef true
-#define true ((bool) 1)
-#endif
-
-#ifndef false
-#define false ((bool) 0)
-#endif
-
-#endif /* not PG_USE_STDBOOL */
-#endif /* not C++ */
-
-
-/* ----------------------------------------------------------------
- * Section 3: standard system types
- * ----------------------------------------------------------------
- */
-
-/*
- * Pointer
- * Variable holding address of any memory resident object.
- *
- * XXX Pointer arithmetic is done with this, so it can't be void *
- * under "true" ANSI compilers.
- */
-typedef char *Pointer;
-
-/*
- * intN
- * Signed integer, EXACTLY N BITS IN SIZE,
- * used for numerical computations and the
- * frontend/backend protocol.
- */
-#ifndef HAVE_INT8
-typedef signed char int8; /* == 8 bits */
-typedef signed short int16; /* == 16 bits */
-typedef signed int int32; /* == 32 bits */
-#endif /* not HAVE_INT8 */
-
-/*
- * uintN
- * Unsigned integer, EXACTLY N BITS IN SIZE,
- * used for numerical computations and the
- * frontend/backend protocol.
- */
-#ifndef HAVE_UINT8
-typedef unsigned char uint8; /* == 8 bits */
-typedef unsigned short uint16; /* == 16 bits */
-typedef unsigned int uint32; /* == 32 bits */
-#endif /* not HAVE_UINT8 */
-
-/*
- * bitsN
- * Unit of bitwise operation, AT LEAST N BITS IN SIZE.
- */
-typedef uint8 bits8; /* >= 8 bits */
-typedef uint16 bits16; /* >= 16 bits */
-typedef uint32 bits32; /* >= 32 bits */
-
-/*
- * 64-bit integers
- */
-#ifdef HAVE_LONG_INT_64
-/* Plain "long int" fits, use it */
-
-#ifndef HAVE_INT64
-typedef long int int64;
-#endif
-#ifndef HAVE_UINT64
-typedef unsigned long int uint64;
-#endif
-#define INT64CONST(x) (x##L)
-#define UINT64CONST(x) (x##UL)
-#elif defined(HAVE_LONG_LONG_INT_64)
-/* We have working support for "long long int", use that */
-
-#ifndef HAVE_INT64
-typedef long long int int64;
-#endif
-#ifndef HAVE_UINT64
-typedef unsigned long long int uint64;
-#endif
-#define INT64CONST(x) (x##LL)
-#define UINT64CONST(x) (x##ULL)
-#else
-/* neither HAVE_LONG_INT_64 nor HAVE_LONG_LONG_INT_64 */
-#error must have a working 64-bit integer datatype
-#endif
-
-/* snprintf format strings to use for 64-bit integers */
-#define INT64_FORMAT "%" INT64_MODIFIER "d"
-#define UINT64_FORMAT "%" INT64_MODIFIER "u"
-
-/*
- * 128-bit signed and unsigned integers
- * There currently is only limited support for such types.
- * E.g. 128bit literals and snprintf are not supported; but math is.
- * Also, because we exclude such types when choosing MAXIMUM_ALIGNOF,
- * it must be possible to coerce the compiler to allocate them on no
- * more than MAXALIGN boundaries.
- */
-#if defined(PG_INT128_TYPE)
-#if defined(pg_attribute_aligned) || ALIGNOF_PG_INT128_TYPE <= MAXIMUM_ALIGNOF
-#define HAVE_INT128 1
-
-typedef PG_INT128_TYPE int128
-#if defined(pg_attribute_aligned)
- pg_attribute_aligned(MAXIMUM_ALIGNOF)
-#endif
- ;
-
-typedef unsigned PG_INT128_TYPE uint128
-#if defined(pg_attribute_aligned)
- pg_attribute_aligned(MAXIMUM_ALIGNOF)
-#endif
- ;
-
-#endif
-#endif
-
-/*
- * stdint.h limits aren't guaranteed to have compatible types with our fixed
- * width types. So just define our own.
- */
-#define PG_INT8_MIN (-0x7F-1)
-#define PG_INT8_MAX (0x7F)
-#define PG_UINT8_MAX (0xFF)
-#define PG_INT16_MIN (-0x7FFF-1)
-#define PG_INT16_MAX (0x7FFF)
-#define PG_UINT16_MAX (0xFFFF)
-#define PG_INT32_MIN (-0x7FFFFFFF-1)
-#define PG_INT32_MAX (0x7FFFFFFF)
-#define PG_UINT32_MAX (0xFFFFFFFFU)
-#define PG_INT64_MIN (-INT64CONST(0x7FFFFFFFFFFFFFFF) - 1)
-#define PG_INT64_MAX INT64CONST(0x7FFFFFFFFFFFFFFF)
-#define PG_UINT64_MAX UINT64CONST(0xFFFFFFFFFFFFFFFF)
-
-/*
- * We now always use int64 timestamps, but keep this symbol defined for the
- * benefit of external code that might test it.
- */
-#define HAVE_INT64_TIMESTAMP
-
-/*
- * Size
- * Size of any memory resident object, as returned by sizeof.
- */
-typedef size_t Size;
-
-/*
- * Index
- * Index into any memory resident array.
- *
- * Note:
- * Indices are non negative.
- */
-typedef unsigned int Index;
-
-/*
- * Offset
- * Offset into any memory resident array.
- *
- * Note:
- * This differs from an Index in that an Index is always
- * non negative, whereas Offset may be negative.
- */
-typedef signed int Offset;
-
-/*
- * Common Postgres datatype names (as used in the catalogs)
- */
-typedef float float4;
-typedef double float8;
-
-#ifdef USE_FLOAT8_BYVAL
-#define FLOAT8PASSBYVAL true
-#else
-#define FLOAT8PASSBYVAL false
-#endif
-
-/*
- * Oid, RegProcedure, TransactionId, SubTransactionId, MultiXactId,
- * CommandId
- */
-
-/* typedef Oid is in postgres_ext.h */
-
-/*
- * regproc is the type name used in the include/catalog headers, but
- * RegProcedure is the preferred name in C code.
- */
-typedef Oid regproc;
-typedef regproc RegProcedure;
-
-typedef uint32 TransactionId;
-
-typedef uint32 LocalTransactionId;
-
-typedef uint32 SubTransactionId;
-
-#define InvalidSubTransactionId ((SubTransactionId) 0)
-#define TopSubTransactionId ((SubTransactionId) 1)
-
-/* MultiXactId must be equivalent to TransactionId, to fit in t_xmax */
-typedef TransactionId MultiXactId;
-
-typedef uint32 MultiXactOffset;
-
-typedef uint32 CommandId;
-
-#define FirstCommandId ((CommandId) 0)
-#define InvalidCommandId (~(CommandId)0)
-
-
-/* ----------------
- * Variable-length datatypes all share the 'struct varlena' header.
- *
- * NOTE: for TOASTable types, this is an oversimplification, since the value
- * may be compressed or moved out-of-line. However datatype-specific routines
- * are mostly content to deal with de-TOASTed values only, and of course
- * client-side routines should never see a TOASTed value. But even in a
- * de-TOASTed value, beware of touching vl_len_ directly, as its
- * representation is no longer convenient. It's recommended that code always
- * use macros VARDATA_ANY, VARSIZE_ANY, VARSIZE_ANY_EXHDR, VARDATA, VARSIZE,
- * and SET_VARSIZE instead of relying on direct mentions of the struct fields.
- * See postgres.h for details of the TOASTed form.
- * ----------------
- */
-struct varlena
-{
- char vl_len_[4]; /* Do not touch this field directly! */
- char vl_dat[FLEXIBLE_ARRAY_MEMBER]; /* Data content is here */
-};
-
-#define VARHDRSZ ((int32) sizeof(int32))
-
-/*
- * These widely-used datatypes are just a varlena header and the data bytes.
- * There is no terminating null or anything like that --- the data length is
- * always VARSIZE_ANY_EXHDR(ptr).
- */
-typedef struct varlena bytea;
-typedef struct varlena text;
-typedef struct varlena BpChar; /* blank-padded char, ie SQL char(n) */
-typedef struct varlena VarChar; /* var-length char, ie SQL varchar(n) */
-
-/*
- * Specialized array types. These are physically laid out just the same
- * as regular arrays (so that the regular array subscripting code works
- * with them). They exist as distinct types mostly for historical reasons:
- * they have nonstandard I/O behavior which we don't want to change for fear
- * of breaking applications that look at the system catalogs. There is also
- * an implementation issue for oidvector: it's part of the primary key for
- * pg_proc, and we can't use the normal btree array support routines for that
- * without circularity.
- */
-typedef struct
-{
- int32 vl_len_; /* these fields must match ArrayType! */
- int ndim; /* always 1 for int2vector */
- int32 dataoffset; /* always 0 for int2vector */
- Oid elemtype;
- int dim1;
- int lbound1;
- int16 values[FLEXIBLE_ARRAY_MEMBER];
-} int2vector;
-
-typedef struct
-{
- int32 vl_len_; /* these fields must match ArrayType! */
- int ndim; /* always 1 for oidvector */
- int32 dataoffset; /* always 0 for oidvector */
- Oid elemtype;
- int dim1;
- int lbound1;
- Oid values[FLEXIBLE_ARRAY_MEMBER];
-} oidvector;
-
-/*
- * Representation of a Name: effectively just a C string, but null-padded to
- * exactly NAMEDATALEN bytes. The use of a struct is historical.
- */
-typedef struct nameData
-{
- char data[NAMEDATALEN];
-} NameData;
-typedef NameData *Name;
-
-#define NameStr(name) ((name).data)
-
-
-/* ----------------------------------------------------------------
- * Section 4: IsValid macros for system types
- * ----------------------------------------------------------------
- */
-/*
- * BoolIsValid
- * True iff bool is valid.
- */
-#define BoolIsValid(boolean) ((boolean) == false || (boolean) == true)
-
-/*
- * PointerIsValid
- * True iff pointer is valid.
- */
-#define PointerIsValid(pointer) ((const void*)(pointer) != NULL)
-
-/*
- * PointerIsAligned
- * True iff pointer is properly aligned to point to the given type.
- */
-#define PointerIsAligned(pointer, type) \
- (((uintptr_t)(pointer) % (sizeof (type))) == 0)
-
-#define OffsetToPointer(base, offset) \
- ((void *)((char *) base + offset))
-
-#define OidIsValid(objectId) ((bool) ((objectId) != InvalidOid))
-
-#define RegProcedureIsValid(p) OidIsValid(p)
-
-
-/* ----------------------------------------------------------------
- * Section 5: offsetof, lengthof, alignment
- * ----------------------------------------------------------------
- */
-/*
- * offsetof
- * Offset of a structure/union field within that structure/union.
- *
- * XXX This is supposed to be part of stddef.h, but isn't on
- * some systems (like SunOS 4).
- */
-#ifndef offsetof
-#define offsetof(type, field) ((long) &((type *)0)->field)
-#endif /* offsetof */
-
-/*
- * lengthof
- * Number of elements in an array.
- */
-#define lengthof(array) (sizeof (array) / sizeof ((array)[0]))
-
-/* ----------------
- * Alignment macros: align a length or address appropriately for a given type.
- * The fooALIGN() macros round up to a multiple of the required alignment,
- * while the fooALIGN_DOWN() macros round down. The latter are more useful
- * for problems like "how many X-sized structures will fit in a page?".
- *
- * NOTE: TYPEALIGN[_DOWN] will not work if ALIGNVAL is not a power of 2.
- * That case seems extremely unlikely to be needed in practice, however.
- *
- * NOTE: MAXIMUM_ALIGNOF, and hence MAXALIGN(), intentionally exclude any
- * larger-than-8-byte types the compiler might have.
- * ----------------
- */
-
-#define TYPEALIGN(ALIGNVAL,LEN) \
- (((uintptr_t) (LEN) + ((ALIGNVAL) - 1)) & ~((uintptr_t) ((ALIGNVAL) - 1)))
-
-#define SHORTALIGN(LEN) TYPEALIGN(ALIGNOF_SHORT, (LEN))
-#define INTALIGN(LEN) TYPEALIGN(ALIGNOF_INT, (LEN))
-#define LONGALIGN(LEN) TYPEALIGN(ALIGNOF_LONG, (LEN))
-#define DOUBLEALIGN(LEN) TYPEALIGN(ALIGNOF_DOUBLE, (LEN))
-#define MAXALIGN(LEN) TYPEALIGN(MAXIMUM_ALIGNOF, (LEN))
-/* MAXALIGN covers only built-in types, not buffers */
-#define BUFFERALIGN(LEN) TYPEALIGN(ALIGNOF_BUFFER, (LEN))
-#define CACHELINEALIGN(LEN) TYPEALIGN(PG_CACHE_LINE_SIZE, (LEN))
-
-#define TYPEALIGN_DOWN(ALIGNVAL,LEN) \
- (((uintptr_t) (LEN)) & ~((uintptr_t) ((ALIGNVAL) - 1)))
-
-#define SHORTALIGN_DOWN(LEN) TYPEALIGN_DOWN(ALIGNOF_SHORT, (LEN))
-#define INTALIGN_DOWN(LEN) TYPEALIGN_DOWN(ALIGNOF_INT, (LEN))
-#define LONGALIGN_DOWN(LEN) TYPEALIGN_DOWN(ALIGNOF_LONG, (LEN))
-#define DOUBLEALIGN_DOWN(LEN) TYPEALIGN_DOWN(ALIGNOF_DOUBLE, (LEN))
-#define MAXALIGN_DOWN(LEN) TYPEALIGN_DOWN(MAXIMUM_ALIGNOF, (LEN))
-#define BUFFERALIGN_DOWN(LEN) TYPEALIGN_DOWN(ALIGNOF_BUFFER, (LEN))
-
-/*
- * The above macros will not work with types wider than uintptr_t, like with
- * uint64 on 32-bit platforms. That's not problem for the usual use where a
- * pointer or a length is aligned, but for the odd case that you need to
- * align something (potentially) wider, use TYPEALIGN64.
- */
-#define TYPEALIGN64(ALIGNVAL,LEN) \
- (((uint64) (LEN) + ((ALIGNVAL) - 1)) & ~((uint64) ((ALIGNVAL) - 1)))
-
-/* we don't currently need wider versions of the other ALIGN macros */
-#define MAXALIGN64(LEN) TYPEALIGN64(MAXIMUM_ALIGNOF, (LEN))
-
-
-/* ----------------------------------------------------------------
- * Section 6: assertions
- * ----------------------------------------------------------------
- */
-
-/*
- * USE_ASSERT_CHECKING, if defined, turns on all the assertions.
- * - plai 9/5/90
- *
- * It should _NOT_ be defined in releases or in benchmark copies
- */
-
-/*
- * Assert() can be used in both frontend and backend code. In frontend code it
- * just calls the standard assert, if it's available. If use of assertions is
- * not configured, it does nothing.
- */
-#ifndef USE_ASSERT_CHECKING
-
-#define Assert(condition) ((void)true)
-#define AssertMacro(condition) ((void)true)
-#define AssertArg(condition) ((void)true)
-#define AssertState(condition) ((void)true)
-#define AssertPointerAlignment(ptr, bndr) ((void)true)
-#define Trap(condition, errorType) ((void)true)
-#define TrapMacro(condition, errorType) (true)
-
-#elif defined(FRONTEND)
-
-#include <assert.h>
-#define Assert(p) assert(p)
-#define AssertMacro(p) ((void) assert(p))
-#define AssertArg(condition) assert(condition)
-#define AssertState(condition) assert(condition)
-#define AssertPointerAlignment(ptr, bndr) ((void)true)
-
-#else /* USE_ASSERT_CHECKING && !FRONTEND */
-
-/*
- * Trap
- * Generates an exception if the given condition is true.
- */
-#define Trap(condition, errorType) \
- do { \
- if (condition) \
- ExceptionalCondition(#condition, (errorType), \
- __FILE__, __LINE__); \
- } while (0)
-
-/*
- * TrapMacro is the same as Trap but it's intended for use in macros:
- *
- * #define foo(x) (AssertMacro(x != 0), bar(x))
- *
- * Isn't CPP fun?
- */
-#define TrapMacro(condition, errorType) \
- ((bool) (! (condition) || \
- (ExceptionalCondition(#condition, (errorType), \
- __FILE__, __LINE__), 0)))
-
-#define Assert(condition) \
- do { \
- if (!(condition)) \
- ExceptionalCondition(#condition, "FailedAssertion", \
- __FILE__, __LINE__); \
- } while (0)
-
-#define AssertMacro(condition) \
- ((void) ((condition) || \
- (ExceptionalCondition(#condition, "FailedAssertion", \
- __FILE__, __LINE__), 0)))
-
-#define AssertArg(condition) \
- do { \
- if (!(condition)) \
- ExceptionalCondition(#condition, "BadArgument", \
- __FILE__, __LINE__); \
- } while (0)
-
-#define AssertState(condition) \
- do { \
- if (!(condition)) \
- ExceptionalCondition(#condition, "BadState", \
- __FILE__, __LINE__); \
- } while (0)
-
-/*
- * Check that `ptr' is `bndr' aligned.
- */
-#define AssertPointerAlignment(ptr, bndr) \
- Trap(TYPEALIGN(bndr, (uintptr_t)(ptr)) != (uintptr_t)(ptr), \
- "UnalignedPointer")
-
-#endif /* USE_ASSERT_CHECKING && !FRONTEND */
-
-/*
- * ExceptionalCondition is compiled into the backend whether or not
- * USE_ASSERT_CHECKING is defined, so as to support use of extensions
- * that are built with that #define with a backend that isn't. Hence,
- * we should declare it as long as !FRONTEND.
- */
-#ifndef FRONTEND
-extern void ExceptionalCondition(const char *conditionName,
- const char *errorType,
- const char *fileName, int lineNumber) pg_attribute_noreturn();
-#endif
-
-/*
- * Macros to support compile-time assertion checks.
- *
- * If the "condition" (a compile-time-constant expression) evaluates to false,
- * throw a compile error using the "errmessage" (a string literal).
- *
- * gcc 4.6 and up supports _Static_assert(), but there are bizarre syntactic
- * placement restrictions. Macros StaticAssertStmt() and StaticAssertExpr()
- * make it safe to use as a statement or in an expression, respectively.
- * The macro StaticAssertDecl() is suitable for use at file scope (outside of
- * any function).
- *
- * Otherwise we fall back on a kluge that assumes the compiler will complain
- * about a negative width for a struct bit-field. This will not include a
- * helpful error message, but it beats not getting an error at all.
- */
-#ifndef __cplusplus
-#ifdef HAVE__STATIC_ASSERT
-#define StaticAssertStmt(condition, errmessage) \
- do { _Static_assert(condition, errmessage); } while(0)
-#define StaticAssertExpr(condition, errmessage) \
- ((void) ({ StaticAssertStmt(condition, errmessage); true; }))
-#define StaticAssertDecl(condition, errmessage) \
- _Static_assert(condition, errmessage)
-#else /* !HAVE__STATIC_ASSERT */
-#define StaticAssertStmt(condition, errmessage) \
- ((void) sizeof(struct { int static_assert_failure : (condition) ? 1 : -1; }))
-#define StaticAssertExpr(condition, errmessage) \
- StaticAssertStmt(condition, errmessage)
-#define StaticAssertDecl(condition, errmessage) \
- extern void static_assert_func(int static_assert_failure[(condition) ? 1 : -1])
-#endif /* HAVE__STATIC_ASSERT */
-#else /* C++ */
-#if defined(__cpp_static_assert) && __cpp_static_assert >= 200410
-#define StaticAssertStmt(condition, errmessage) \
- static_assert(condition, errmessage)
-#define StaticAssertExpr(condition, errmessage) \
- ({ static_assert(condition, errmessage); })
-#define StaticAssertDecl(condition, errmessage) \
- static_assert(condition, errmessage)
-#else /* !__cpp_static_assert */
-#define StaticAssertStmt(condition, errmessage) \
- do { struct static_assert_struct { int static_assert_failure : (condition) ? 1 : -1; }; } while(0)
-#define StaticAssertExpr(condition, errmessage) \
- ((void) ({ StaticAssertStmt(condition, errmessage); }))
-#define StaticAssertDecl(condition, errmessage) \
- extern void static_assert_func(int static_assert_failure[(condition) ? 1 : -1])
-#endif /* __cpp_static_assert */
-#endif /* C++ */
-
-#ifdef _MSC_VER
-#undef StaticAssertStmt
-#undef StaticAssertDecl
-#define StaticAssertStmt(condition, errmessage)
-#define StaticAssertDecl(condition, errmessage)
-#endif
-
-/*
- * Compile-time checks that a variable (or expression) has the specified type.
- *
- * AssertVariableIsOfType() can be used as a statement.
- * AssertVariableIsOfTypeMacro() is intended for use in macros, eg
- * #define foo(x) (AssertVariableIsOfTypeMacro(x, int), bar(x))
- *
- * If we don't have __builtin_types_compatible_p, we can still assert that
- * the types have the same size. This is far from ideal (especially on 32-bit
- * platforms) but it provides at least some coverage.
- */
-#ifdef HAVE__BUILTIN_TYPES_COMPATIBLE_P
-#define AssertVariableIsOfType(varname, typename) \
- StaticAssertStmt(__builtin_types_compatible_p(__typeof__(varname), typename), \
- CppAsString(varname) " does not have type " CppAsString(typename))
-#define AssertVariableIsOfTypeMacro(varname, typename) \
- (StaticAssertExpr(__builtin_types_compatible_p(__typeof__(varname), typename), \
- CppAsString(varname) " does not have type " CppAsString(typename)))
-#else /* !HAVE__BUILTIN_TYPES_COMPATIBLE_P */
-#define AssertVariableIsOfType(varname, typename) \
- StaticAssertStmt(sizeof(varname) == sizeof(typename), \
- CppAsString(varname) " does not have type " CppAsString(typename))
-#define AssertVariableIsOfTypeMacro(varname, typename) \
- (StaticAssertExpr(sizeof(varname) == sizeof(typename), \
- CppAsString(varname) " does not have type " CppAsString(typename)))
-#endif /* HAVE__BUILTIN_TYPES_COMPATIBLE_P */
-
-
-/* ----------------------------------------------------------------
- * Section 7: widely useful macros
- * ----------------------------------------------------------------
- */
-/*
- * Max
- * Return the maximum of two numbers.
- */
-#define Max(x, y) ((x) > (y) ? (x) : (y))
-
-/*
- * Min
- * Return the minimum of two numbers.
- */
-#define Min(x, y) ((x) < (y) ? (x) : (y))
-
-/*
- * Abs
- * Return the absolute value of the argument.
- */
-#define Abs(x) ((x) >= 0 ? (x) : -(x))
-
-
-/* Get a bit mask of the bits set in non-long aligned addresses */
-#define LONG_ALIGN_MASK (sizeof(long) - 1)
-
-/*
- * MemSet
- * Exactly the same as standard library function memset(), but considerably
- * faster for zeroing small word-aligned structures (such as parsetree nodes).
- * This has to be a macro because the main point is to avoid function-call
- * overhead. However, we have also found that the loop is faster than
- * native libc memset() on some platforms, even those with assembler
- * memset() functions. More research needs to be done, perhaps with
- * MEMSET_LOOP_LIMIT tests in configure.
- */
-#define MemSet(start, val, len) \
- do \
- { \
- /* must be void* because we don't know if it is integer aligned yet */ \
- void *_vstart = (void *) (start); \
- int _val = (val); \
- Size _len = (len); \
-\
- if ((((uintptr_t) _vstart) & LONG_ALIGN_MASK) == 0 && \
- (_len & LONG_ALIGN_MASK) == 0 && \
- _val == 0 && \
- _len <= MEMSET_LOOP_LIMIT && \
- /* \
- * If MEMSET_LOOP_LIMIT == 0, optimizer should find \
- * the whole "if" false at compile time. \
- */ \
- MEMSET_LOOP_LIMIT != 0) \
- { \
- long *_start = (long *) _vstart; \
- long *_stop = (long *) ((char *) _start + _len); \
- while (_start < _stop) \
- *_start++ = 0; \
- } \
- else \
- memset(_vstart, _val, _len); \
- } while (0)
-
-/*
- * MemSetAligned is the same as MemSet except it omits the test to see if
- * "start" is word-aligned. This is okay to use if the caller knows a-priori
- * that the pointer is suitably aligned (typically, because he just got it
- * from palloc(), which always delivers a max-aligned pointer).
- */
-#define MemSetAligned(start, val, len) \
- do \
- { \
- long *_start = (long *) (start); \
- int _val = (val); \
- Size _len = (len); \
-\
- if ((_len & LONG_ALIGN_MASK) == 0 && \
- _val == 0 && \
- _len <= MEMSET_LOOP_LIMIT && \
- MEMSET_LOOP_LIMIT != 0) \
- { \
- long *_stop = (long *) ((char *) _start + _len); \
- while (_start < _stop) \
- *_start++ = 0; \
- } \
- else \
- memset(_start, _val, _len); \
- } while (0)
-
-
-/*
- * MemSetTest/MemSetLoop are a variant version that allow all the tests in
- * MemSet to be done at compile time in cases where "val" and "len" are
- * constants *and* we know the "start" pointer must be word-aligned.
- * If MemSetTest succeeds, then it is okay to use MemSetLoop, otherwise use
- * MemSetAligned. Beware of multiple evaluations of the arguments when using
- * this approach.
- */
-#define MemSetTest(val, len) \
- ( ((len) & LONG_ALIGN_MASK) == 0 && \
- (len) <= MEMSET_LOOP_LIMIT && \
- MEMSET_LOOP_LIMIT != 0 && \
- (val) == 0 )
-
-#define MemSetLoop(start, val, len) \
- do \
- { \
- long * _start = (long *) (start); \
- long * _stop = (long *) ((char *) _start + (Size) (len)); \
- \
- while (_start < _stop) \
- *_start++ = 0; \
- } while (0)
-
-/*
- * Macros for range-checking float values before converting to integer.
- * We must be careful here that the boundary values are expressed exactly
- * in the float domain. PG_INTnn_MIN is an exact power of 2, so it will
- * be represented exactly; but PG_INTnn_MAX isn't, and might get rounded
- * off, so avoid using that.
- * The input must be rounded to an integer beforehand, typically with rint(),
- * else we might draw the wrong conclusion about close-to-the-limit values.
- * These macros will do the right thing for Inf, but not necessarily for NaN,
- * so check isnan(num) first if that's a possibility.
- */
-#define FLOAT4_FITS_IN_INT16(num) \
- ((num) >= (float4) PG_INT16_MIN && (num) < -((float4) PG_INT16_MIN))
-#define FLOAT4_FITS_IN_INT32(num) \
- ((num) >= (float4) PG_INT32_MIN && (num) < -((float4) PG_INT32_MIN))
-#define FLOAT4_FITS_IN_INT64(num) \
- ((num) >= (float4) PG_INT64_MIN && (num) < -((float4) PG_INT64_MIN))
-#define FLOAT8_FITS_IN_INT16(num) \
- ((num) >= (float8) PG_INT16_MIN && (num) < -((float8) PG_INT16_MIN))
-#define FLOAT8_FITS_IN_INT32(num) \
- ((num) >= (float8) PG_INT32_MIN && (num) < -((float8) PG_INT32_MIN))
-#define FLOAT8_FITS_IN_INT64(num) \
- ((num) >= (float8) PG_INT64_MIN && (num) < -((float8) PG_INT64_MIN))
-
-
-/* ----------------------------------------------------------------
- * Section 8: random stuff
- * ----------------------------------------------------------------
- */
-
-#ifdef HAVE_STRUCT_SOCKADDR_UN
-#define HAVE_UNIX_SOCKETS 1
-#endif
-
-/*
- * Invert the sign of a qsort-style comparison result, ie, exchange negative
- * and positive integer values, being careful not to get the wrong answer
- * for INT_MIN. The argument should be an integral variable.
- */
-#define INVERT_COMPARE_RESULT(var) \
- ((var) = ((var) < 0) ? 1 : -(var))
-
-/*
- * Use this, not "char buf[BLCKSZ]", to declare a field or local variable
- * holding a page buffer, if that page might be accessed as a page and not
- * just a string of bytes. Otherwise the variable might be under-aligned,
- * causing problems on alignment-picky hardware. (In some places, we use
- * this to declare buffers even though we only pass them to read() and
- * write(), because copying to/from aligned buffers is usually faster than
- * using unaligned buffers.) We include both "double" and "int64" in the
- * union to ensure that the compiler knows the value must be MAXALIGN'ed
- * (cf. configure's computation of MAXIMUM_ALIGNOF).
- */
-typedef union PGAlignedBlock
-{
- char data[BLCKSZ];
- double force_align_d;
- int64 force_align_i64;
-} PGAlignedBlock;
-
-/* Same, but for an XLOG_BLCKSZ-sized buffer */
-typedef union PGAlignedXLogBlock
-{
- char data[XLOG_BLCKSZ];
- double force_align_d;
- int64 force_align_i64;
-} PGAlignedXLogBlock;
-
-/* msb for char */
-#define HIGHBIT (0x80)
-#define IS_HIGHBIT_SET(ch) ((unsigned char)(ch) & HIGHBIT)
-
-/*
- * Support macros for escaping strings. escape_backslash should be true
- * if generating a non-standard-conforming string. Prefixing a string
- * with ESCAPE_STRING_SYNTAX guarantees it is non-standard-conforming.
- * Beware of multiple evaluation of the "ch" argument!
- */
-#define SQL_STR_DOUBLE(ch, escape_backslash) \
- ((ch) == '\'' || ((ch) == '\\' && (escape_backslash)))
-
-#define ESCAPE_STRING_SYNTAX 'E'
-
-
-#define STATUS_OK (0)
-#define STATUS_ERROR (-1)
-#define STATUS_EOF (-2)
-
-/*
- * gettext support
- */
-
-#ifndef ENABLE_NLS
-/* stuff we'd otherwise get from <libintl.h> */
-#define gettext(x) (x)
-#define dgettext(d,x) (x)
-#define ngettext(s,p,n) ((n) == 1 ? (s) : (p))
-#define dngettext(d,s,p,n) ((n) == 1 ? (s) : (p))
-#endif
-
-#define _(x) gettext(x)
-
-/*
- * Use this to mark string constants as needing translation at some later
- * time, rather than immediately. This is useful for cases where you need
- * access to the original string and translated string, and for cases where
- * immediate translation is not possible, like when initializing global
- * variables.
- *
- * https://www.gnu.org/software/gettext/manual/html_node/Special-cases.html
- */
-#define gettext_noop(x) (x)
-
-/*
- * To better support parallel installations of major PostgreSQL
- * versions as well as parallel installations of major library soname
- * versions, we mangle the gettext domain name by appending those
- * version numbers. The coding rule ought to be that wherever the
- * domain name is mentioned as a literal, it must be wrapped into
- * PG_TEXTDOMAIN(). The macros below do not work on non-literals; but
- * that is somewhat intentional because it avoids having to worry
- * about multiple states of premangling and postmangling as the values
- * are being passed around.
- *
- * Make sure this matches the installation rules in nls-global.mk.
- */
-#ifdef SO_MAJOR_VERSION
-#define PG_TEXTDOMAIN(domain) (domain CppAsString2(SO_MAJOR_VERSION) "-" PG_MAJORVERSION)
-#else
-#define PG_TEXTDOMAIN(domain) (domain "-" PG_MAJORVERSION)
-#endif
-
-/*
- * Macro that allows to cast constness and volatile away from an expression, but doesn't
- * allow changing the underlying type. Enforcement of the latter
- * currently only works for gcc like compilers.
- *
- * Please note IT IS NOT SAFE to cast constness away if the result will ever
- * be modified (it would be undefined behaviour). Doing so anyway can cause
- * compiler misoptimizations or runtime crashes (modifying readonly memory).
- * It is only safe to use when the result will not be modified, but API
- * design or language restrictions prevent you from declaring that
- * (e.g. because a function returns both const and non-const variables).
- *
- * Note that this only works in function scope, not for global variables (it'd
- * be nice, but not trivial, to improve that).
- */
-#if defined(HAVE__BUILTIN_TYPES_COMPATIBLE_P)
-#define unconstify(underlying_type, expr) \
- (StaticAssertExpr(__builtin_types_compatible_p(__typeof(expr), const underlying_type), \
- "wrong cast"), \
- (underlying_type) (expr))
-#define unvolatize(underlying_type, expr) \
- (StaticAssertExpr(__builtin_types_compatible_p(__typeof(expr), volatile underlying_type), \
- "wrong cast"), \
- (underlying_type) (expr))
-#else
-#define unconstify(underlying_type, expr) \
- ((underlying_type) (expr))
-#define unvolatize(underlying_type, expr) \
- ((underlying_type) (expr))
-#endif
-
-/* ----------------------------------------------------------------
- * Section 9: system-specific hacks
- *
- * This should be limited to things that absolutely have to be
- * included in every source file. The port-specific header file
- * is usually a better place for this sort of thing.
- * ----------------------------------------------------------------
- */
-
-/*
- * NOTE: this is also used for opening text files.
- * WIN32 treats Control-Z as EOF in files opened in text mode.
- * Therefore, we open files in binary mode on Win32 so we can read
- * literal control-Z. The other affect is that we see CRLF, but
- * that is OK because we can already handle those cleanly.
- */
-#if defined(WIN32) || defined(__CYGWIN__)
-#define PG_BINARY O_BINARY
-#define PG_BINARY_A "ab"
-#define PG_BINARY_R "rb"
-#define PG_BINARY_W "wb"
-#else
-#define PG_BINARY 0
-#define PG_BINARY_A "a"
-#define PG_BINARY_R "r"
-#define PG_BINARY_W "w"
-#endif
-
-/*
- * Provide prototypes for routines not present in a particular machine's
- * standard C library.
- */
-
-#if defined(HAVE_FDATASYNC) && !HAVE_DECL_FDATASYNC
-extern int fdatasync(int fildes);
-#endif
-
-/* Older platforms may provide strto[u]ll functionality under other names */
-#if !defined(HAVE_STRTOLL) && defined(HAVE___STRTOLL)
-#define strtoll __strtoll
-#define HAVE_STRTOLL 1
-#endif
-
-#if !defined(HAVE_STRTOLL) && defined(HAVE_STRTOQ)
-#define strtoll strtoq
-#define HAVE_STRTOLL 1
-#endif
-
-#if !defined(HAVE_STRTOULL) && defined(HAVE___STRTOULL)
-#define strtoull __strtoull
-#define HAVE_STRTOULL 1
-#endif
-
-#if !defined(HAVE_STRTOULL) && defined(HAVE_STRTOUQ)
-#define strtoull strtouq
-#define HAVE_STRTOULL 1
-#endif
-
-#if defined(HAVE_STRTOLL) && !HAVE_DECL_STRTOLL
-extern long long strtoll(const char *str, char **endptr, int base);
-#endif
-
-#if defined(HAVE_STRTOULL) && !HAVE_DECL_STRTOULL
-extern unsigned long long strtoull(const char *str, char **endptr, int base);
-#endif
-
-/* no special DLL markers on most ports */
-#ifndef PGDLLIMPORT
-#define PGDLLIMPORT
-#endif
-#ifndef PGDLLEXPORT
-#define PGDLLEXPORT
-#endif
-
-/*
- * The following is used as the arg list for signal handlers. Any ports
- * that take something other than an int argument should override this in
- * their pg_config_os.h file. Note that variable names are required
- * because it is used in both the prototypes as well as the definitions.
- * Note also the long name. We expect that this won't collide with
- * other names causing compiler warnings.
- */
-
-#ifndef SIGNAL_ARGS
-#define SIGNAL_ARGS int postgres_signal_arg
-#endif
-
-/*
- * When there is no sigsetjmp, its functionality is provided by plain
- * setjmp. We now support the case only on Windows. However, it seems
- * that MinGW-64 has some longstanding issues in its setjmp support,
- * so on that toolchain we cheat and use gcc's builtins.
- */
-#ifdef WIN32
-#ifdef __MINGW64__
-typedef intptr_t sigjmp_buf[5];
-#define sigsetjmp(x,y) __builtin_setjmp(x)
-#define siglongjmp __builtin_longjmp
-#else /* !__MINGW64__ */
-#define sigjmp_buf jmp_buf
-#define sigsetjmp(x,y) setjmp(x)
-#define siglongjmp longjmp
-#endif /* __MINGW64__ */
-#endif /* WIN32 */
-
-/* EXEC_BACKEND defines */
-#ifdef EXEC_BACKEND
-#define NON_EXEC_STATIC
-#else
-#define NON_EXEC_STATIC static
-#endif
-
-/* /port compatibility functions */
-#include "port.h"
-
-#endif /* C_H */
diff --git a/contrib/libs/libpq/src/include/getaddrinfo.h b/contrib/libs/libpq/src/include/getaddrinfo.h
deleted file mode 100644
index 4cf4c4d405..0000000000
--- a/contrib/libs/libpq/src/include/getaddrinfo.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * getaddrinfo.h
- * Support getaddrinfo() on platforms that don't have it.
- *
- * Note: we use our own routines on platforms that don't HAVE_STRUCT_ADDRINFO,
- * whether or not the library routine getaddrinfo() can be found. This
- * policy is needed because on some platforms a manually installed libbind.a
- * may provide getaddrinfo(), yet the system headers may not provide the
- * struct definitions needed to call it. To avoid conflict with the libbind
- * definition in such cases, we rename our routines to pg_xxx() via macros.
- *
- * This code will also work on platforms where struct addrinfo is defined
- * in the system headers but no getaddrinfo() can be located.
- *
- * Copyright (c) 2003-2021, PostgreSQL Global Development Group
- *
- * src/include/getaddrinfo.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef GETADDRINFO_H
-#define GETADDRINFO_H
-
-#include <sys/socket.h>
-#include <netdb.h>
-
-
-/* Various macros that ought to be in <netdb.h>, but might not be */
-
-#ifndef EAI_FAIL
-#ifndef WIN32
-#define EAI_BADFLAGS (-1)
-#define EAI_NONAME (-2)
-#define EAI_AGAIN (-3)
-#define EAI_FAIL (-4)
-#define EAI_FAMILY (-6)
-#define EAI_SOCKTYPE (-7)
-#define EAI_SERVICE (-8)
-#define EAI_MEMORY (-10)
-#define EAI_SYSTEM (-11)
-#else /* WIN32 */
-#ifdef _MSC_VER
-#ifndef WSA_NOT_ENOUGH_MEMORY
-#define WSA_NOT_ENOUGH_MEMORY (WSAENOBUFS)
-#endif
-#define WSATYPE_NOT_FOUND (WSABASEERR+109)
-#endif
-#define EAI_AGAIN WSATRY_AGAIN
-#define EAI_BADFLAGS WSAEINVAL
-#define EAI_FAIL WSANO_RECOVERY
-#define EAI_FAMILY WSAEAFNOSUPPORT
-#define EAI_MEMORY WSA_NOT_ENOUGH_MEMORY
-#define EAI_NODATA WSANO_DATA
-#define EAI_NONAME WSAHOST_NOT_FOUND
-#define EAI_SERVICE WSATYPE_NOT_FOUND
-#define EAI_SOCKTYPE WSAESOCKTNOSUPPORT
-#endif /* !WIN32 */
-#endif /* !EAI_FAIL */
-
-#ifndef AI_PASSIVE
-#define AI_PASSIVE 0x0001
-#endif
-
-#ifndef AI_NUMERICHOST
-/*
- * some platforms don't support AI_NUMERICHOST; define as zero if using
- * the system version of getaddrinfo...
- */
-#if defined(HAVE_STRUCT_ADDRINFO) && defined(HAVE_GETADDRINFO)
-#define AI_NUMERICHOST 0
-#else
-#define AI_NUMERICHOST 0x0004
-#endif
-#endif
-
-#ifndef NI_NUMERICHOST
-#define NI_NUMERICHOST 1
-#endif
-#ifndef NI_NUMERICSERV
-#define NI_NUMERICSERV 2
-#endif
-#ifndef NI_NAMEREQD
-#define NI_NAMEREQD 4
-#endif
-
-#ifndef NI_MAXHOST
-#define NI_MAXHOST 1025
-#endif
-#ifndef NI_MAXSERV
-#define NI_MAXSERV 32
-#endif
-
-
-#ifndef HAVE_STRUCT_ADDRINFO
-
-#ifndef WIN32
-struct addrinfo
-{
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- struct sockaddr *ai_addr;
- char *ai_canonname;
- struct addrinfo *ai_next;
-};
-#else
-/*
- * The order of the structure elements on Win32 doesn't match the
- * order specified in the standard, but we have to match it for
- * IPv6 to work.
- */
-struct addrinfo
-{
- int ai_flags;
- int ai_family;
- int ai_socktype;
- int ai_protocol;
- size_t ai_addrlen;
- char *ai_canonname;
- struct sockaddr *ai_addr;
- struct addrinfo *ai_next;
-};
-#endif
-#endif /* HAVE_STRUCT_ADDRINFO */
-
-
-#ifndef HAVE_GETADDRINFO
-
-/* Rename private copies per comments above */
-#ifdef getaddrinfo
-#undef getaddrinfo
-#endif
-#define getaddrinfo pg_getaddrinfo
-
-#ifdef freeaddrinfo
-#undef freeaddrinfo
-#endif
-#define freeaddrinfo pg_freeaddrinfo
-
-#ifdef gai_strerror
-#undef gai_strerror
-#endif
-#define gai_strerror pg_gai_strerror
-
-#ifdef getnameinfo
-#undef getnameinfo
-#endif
-#define getnameinfo pg_getnameinfo
-
-extern int getaddrinfo(const char *node, const char *service,
- const struct addrinfo *hints, struct addrinfo **res);
-extern void freeaddrinfo(struct addrinfo *res);
-extern const char *gai_strerror(int errcode);
-extern int getnameinfo(const struct sockaddr *sa, int salen,
- char *node, int nodelen,
- char *service, int servicelen, int flags);
-#endif /* HAVE_GETADDRINFO */
-
-#endif /* GETADDRINFO_H */
diff --git a/contrib/libs/libpq/src/include/pg_config-linux.h b/contrib/libs/libpq/src/include/pg_config-linux.h
deleted file mode 100644
index 9fdf1647e2..0000000000
--- a/contrib/libs/libpq/src/include/pg_config-linux.h
+++ /dev/null
@@ -1,1020 +0,0 @@
-/* src/include/pg_config.h. Generated from pg_config.h.in by configure. */
-/* src/include/pg_config.h.in. Generated from configure.ac by autoheader. */
-
-/* Define to the type of arg 1 of 'accept' */
-#define ACCEPT_TYPE_ARG1 int
-
-/* Define to the type of arg 2 of 'accept' */
-#define ACCEPT_TYPE_ARG2 struct sockaddr *
-
-/* Define to the type of arg 3 of 'accept' */
-#define ACCEPT_TYPE_ARG3 socklen_t
-
-/* Define to the return type of 'accept' */
-#define ACCEPT_TYPE_RETURN int
-
-/* Define if building universal (internal helper macro) */
-/* #undef AC_APPLE_UNIVERSAL_BUILD */
-
-/* The normal alignment of `double', in bytes. */
-#define ALIGNOF_DOUBLE 8
-
-/* The normal alignment of `int', in bytes. */
-#define ALIGNOF_INT 4
-
-/* The normal alignment of `long', in bytes. */
-#define ALIGNOF_LONG 8
-
-/* The normal alignment of `long long int', in bytes. */
-/* #undef ALIGNOF_LONG_LONG_INT */
-
-/* The normal alignment of `PG_INT128_TYPE', in bytes. */
-#define ALIGNOF_PG_INT128_TYPE 16
-
-/* The normal alignment of `short', in bytes. */
-#define ALIGNOF_SHORT 2
-
-/* Size of a disk block --- this also limits the size of a tuple. You can set
- it bigger if you need bigger tuples (although TOAST should reduce the need
- to have large tuples, since fields can be spread across multiple tuples).
- BLCKSZ must be a power of 2. The maximum possible value of BLCKSZ is
- currently 2^15 (32768). This is determined by the 15-bit widths of the
- lp_off and lp_len fields in ItemIdData (see include/storage/itemid.h).
- Changing BLCKSZ requires an initdb. */
-#define BLCKSZ 8192
-
-/* Saved arguments from configure */
-#define CONFIGURE_ARGS " '--prefix=/var/empty/postgresql-14.4' '--with-openssl' '--with-libxml' '--sysconfdir=/etc' '--libdir=$(lib)/lib' '--with-system-tzdata=/var/empty/tzdata-2022a/share/zoneinfo' '--enable-debug' '--with-systemd' '--with-ossp-uuid' '--with-icu' '--with-lz4' '--with-gssapi' '--without-gssapi' 'CC=cc' 'CXX=g++' 'PKG_CONFIG=pkg-config' 'PKG_CONFIG_PATH=/var/empty/zlib-1.2.12-dev/lib/pkgconfig:/var/empty/ncurses-6.3-dev/lib/pkgconfig:/var/empty/openssl-1.1.1o-dev/lib/pkgconfig:/var/empty/libxml2-2.9.14-dev/lib/pkgconfig:/var/empty/icu4c-71.1-dev/lib/pkgconfig:/var/empty/lz4-1.9.3-dev/lib/pkgconfig:/var/empty/systemd-250.4-dev/lib/pkgconfig:/var/empty/systemd-250.4-dev/share/pkgconfig:/var/empty/libkrb5-1.19.3-dev/lib/pkgconfig:/var/empty/libossp-uuid-1.6.2/lib/pkgconfig'"
-
-/* Define to the default TCP port number on which the server listens and to
- which clients will try to connect. This can be overridden at run-time, but
- it's convenient if your clients have the right default compiled in.
- (--with-pgport=PORTNUM) */
-#define DEF_PGPORT 5432
-
-/* Define to the default TCP port number as a string constant. */
-#define DEF_PGPORT_STR "5432"
-
-/* Define to build with GSSAPI support. (--with-gssapi) */
-/* #undef ENABLE_GSS */
-
-/* Define to 1 if you want National Language Support. (--enable-nls) */
-/* #undef ENABLE_NLS */
-
-/* Define to 1 to build client libraries as thread-safe code.
- (--enable-thread-safety) */
-#define ENABLE_THREAD_SAFETY 1
-
-/* Define to 1 if gettimeofday() takes only 1 argument. */
-/* #undef GETTIMEOFDAY_1ARG */
-
-#ifdef GETTIMEOFDAY_1ARG
-# define gettimeofday(a,b) gettimeofday(a)
-#endif
-
-/* Define to 1 if you have the `append_history' function. */
-#define HAVE_APPEND_HISTORY 1
-
-/* Define to 1 if you have the `ASN1_STRING_get0_data' function. */
-#define HAVE_ASN1_STRING_GET0_DATA 1
-
-/* Define to 1 if you want to use atomics if available. */
-#define HAVE_ATOMICS 1
-
-/* Define to 1 if you have the <atomic.h> header file. */
-/* #undef HAVE_ATOMIC_H */
-
-/* Define to 1 if you have the `backtrace_symbols' function. */
-#define HAVE_BACKTRACE_SYMBOLS 1
-
-/* Define to 1 if you have the `BIO_get_data' function. */
-#define HAVE_BIO_GET_DATA 1
-
-/* Define to 1 if you have the `BIO_meth_new' function. */
-#define HAVE_BIO_METH_NEW 1
-
-/* Define to 1 if you have the `clock_gettime' function. */
-#define HAVE_CLOCK_GETTIME 1
-
-/* Define to 1 if your compiler handles computed gotos. */
-#define HAVE_COMPUTED_GOTO 1
-
-/* Define to 1 if you have the `copyfile' function. */
-/* #undef HAVE_COPYFILE */
-
-/* Define to 1 if you have the <copyfile.h> header file. */
-/* #undef HAVE_COPYFILE_H */
-
-/* Define to 1 if you have the <crtdefs.h> header file. */
-/* #undef HAVE_CRTDEFS_H */
-
-/* Define to 1 if you have the `CRYPTO_lock' function. */
-/* #undef HAVE_CRYPTO_LOCK */
-
-/* Define to 1 if you have the declaration of `fdatasync', and to 0 if you
- don't. */
-#define HAVE_DECL_FDATASYNC 1
-
-/* Define to 1 if you have the declaration of `F_FULLFSYNC', and to 0 if you
- don't. */
-#define HAVE_DECL_F_FULLFSYNC 0
-
-/* Define to 1 if you have the declaration of
- `LLVMCreateGDBRegistrationListener', and to 0 if you don't. */
-/* #undef HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER */
-
-/* Define to 1 if you have the declaration of
- `LLVMCreatePerfJITEventListener', and to 0 if you don't. */
-/* #undef HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER */
-
-/* Define to 1 if you have the declaration of `LLVMGetHostCPUFeatures', and to
- 0 if you don't. */
-/* #undef HAVE_DECL_LLVMGETHOSTCPUFEATURES */
-
-/* Define to 1 if you have the declaration of `LLVMGetHostCPUName', and to 0
- if you don't. */
-/* #undef HAVE_DECL_LLVMGETHOSTCPUNAME */
-
-/* Define to 1 if you have the declaration of `LLVMOrcGetSymbolAddressIn', and
- to 0 if you don't. */
-/* #undef HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN */
-
-/* Define to 1 if you have the declaration of `posix_fadvise', and to 0 if you
- don't. */
-#define HAVE_DECL_POSIX_FADVISE 1
-
-/* Define to 1 if you have the declaration of `preadv', and to 0 if you don't.
- */
-#define HAVE_DECL_PREADV 1
-
-/* Define to 1 if you have the declaration of `pwritev', and to 0 if you
- don't. */
-#define HAVE_DECL_PWRITEV 1
-
-/* Define to 1 if you have the declaration of `RTLD_GLOBAL', and to 0 if you
- don't. */
-#define HAVE_DECL_RTLD_GLOBAL 1
-
-/* Define to 1 if you have the declaration of `RTLD_NOW', and to 0 if you
- don't. */
-#define HAVE_DECL_RTLD_NOW 1
-
-/* Define to 1 if you have the declaration of `strlcat', and to 0 if you
- don't. */
-#define HAVE_DECL_STRLCAT 0
-
-/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
- don't. */
-#define HAVE_DECL_STRLCPY 0
-
-/* Define to 1 if you have the declaration of `strnlen', and to 0 if you
- don't. */
-#define HAVE_DECL_STRNLEN 1
-
-/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
- don't. */
-#define HAVE_DECL_STRTOLL 1
-
-/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
- don't. */
-#define HAVE_DECL_STRTOULL 1
-
-/* Define to 1 if you have the `dlopen' function. */
-#define HAVE_DLOPEN 1
-
-/* Define to 1 if you have the <editline/history.h> header file. */
-/* #undef HAVE_EDITLINE_HISTORY_H */
-
-/* Define to 1 if you have the <editline/readline.h> header file. */
-/* #undef HAVE_EDITLINE_READLINE_H */
-
-/* Define to 1 if you have the <execinfo.h> header file. */
-#define HAVE_EXECINFO_H 1
-
-/* Define to 1 if you have the `explicit_bzero' function. */
-#define HAVE_EXPLICIT_BZERO 1
-
-/* Define to 1 if you have the `fdatasync' function. */
-#define HAVE_FDATASYNC 1
-
-/* Define to 1 if you have the `fls' function. */
-/* #undef HAVE_FLS */
-
-/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */
-#define HAVE_FSEEKO 1
-
-/* Define to 1 if your compiler understands __func__. */
-#define HAVE_FUNCNAME__FUNC 1
-
-/* Define to 1 if your compiler understands __FUNCTION__. */
-/* #undef HAVE_FUNCNAME__FUNCTION */
-
-/* Define to 1 if you have __atomic_compare_exchange_n(int *, int *, int). */
-#define HAVE_GCC__ATOMIC_INT32_CAS 1
-
-/* Define to 1 if you have __atomic_compare_exchange_n(int64 *, int64 *,
- int64). */
-#define HAVE_GCC__ATOMIC_INT64_CAS 1
-
-/* Define to 1 if you have __sync_lock_test_and_set(char *) and friends. */
-#define HAVE_GCC__SYNC_CHAR_TAS 1
-
-/* Define to 1 if you have __sync_val_compare_and_swap(int *, int, int). */
-#define HAVE_GCC__SYNC_INT32_CAS 1
-
-/* Define to 1 if you have __sync_lock_test_and_set(int *) and friends. */
-#define HAVE_GCC__SYNC_INT32_TAS 1
-
-/* Define to 1 if you have __sync_val_compare_and_swap(int64 *, int64, int64).
- */
-#define HAVE_GCC__SYNC_INT64_CAS 1
-
-/* Define to 1 if you have the `getaddrinfo' function. */
-#define HAVE_GETADDRINFO 1
-
-/* Define to 1 if you have the `gethostbyname_r' function. */
-#define HAVE_GETHOSTBYNAME_R 1
-
-/* Define to 1 if you have the `getifaddrs' function. */
-#define HAVE_GETIFADDRS 1
-
-/* Define to 1 if you have the `getopt' function. */
-#define HAVE_GETOPT 1
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#define HAVE_GETOPT_H 1
-
-/* Define to 1 if you have the `getopt_long' function. */
-#define HAVE_GETOPT_LONG 1
-
-/* Define to 1 if you have the `getpeereid' function. */
-/* #undef HAVE_GETPEEREID */
-
-/* Define to 1 if you have the `getpeerucred' function. */
-/* #undef HAVE_GETPEERUCRED */
-
-/* Define to 1 if you have the `getpwuid_r' function. */
-#define HAVE_GETPWUID_R 1
-
-/* Define to 1 if you have the `getrlimit' function. */
-#define HAVE_GETRLIMIT 1
-
-/* Define to 1 if you have the `getrusage' function. */
-#define HAVE_GETRUSAGE 1
-
-/* Define to 1 if you have the `gettimeofday' function. */
-/* #undef HAVE_GETTIMEOFDAY */
-
-/* Define to 1 if you have the <gssapi/gssapi.h> header file. */
-/* #undef HAVE_GSSAPI_GSSAPI_H */
-
-/* Define to 1 if you have the <gssapi.h> header file. */
-/* #undef HAVE_GSSAPI_H */
-
-/* Define to 1 if you have the <history.h> header file. */
-/* #undef HAVE_HISTORY_H */
-
-/* Define to 1 if you have the `history_truncate_file' function. */
-#define HAVE_HISTORY_TRUNCATE_FILE 1
-
-/* Define to 1 if you have the `HMAC_CTX_free' function. */
-#define HAVE_HMAC_CTX_FREE 1
-
-/* Define to 1 if you have the `HMAC_CTX_new' function. */
-#define HAVE_HMAC_CTX_NEW 1
-
-/* Define to 1 if you have the <ifaddrs.h> header file. */
-#define HAVE_IFADDRS_H 1
-
-/* Define to 1 if you have the `inet_aton' function. */
-#define HAVE_INET_ATON 1
-
-/* Define to 1 if the system has the type `int64'. */
-/* #undef HAVE_INT64 */
-
-/* Define to 1 if the system has the type `int8'. */
-/* #undef HAVE_INT8 */
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#define HAVE_INTTYPES_H 1
-
-/* Define to 1 if you have the global variable 'int opterr'. */
-#define HAVE_INT_OPTERR 1
-
-/* Define to 1 if you have the global variable 'int optreset'. */
-/* #undef HAVE_INT_OPTRESET */
-
-/* Define to 1 if you have the global variable 'int timezone'. */
-#define HAVE_INT_TIMEZONE 1
-
-/* Define to 1 if you have support for IPv6. */
-#define HAVE_IPV6 1
-
-/* Define to 1 if __builtin_constant_p(x) implies "i"(x) acceptance. */
-/* #undef HAVE_I_CONSTRAINT__BUILTIN_CONSTANT_P */
-
-/* Define to 1 if you have the `kqueue' function. */
-/* #undef HAVE_KQUEUE */
-
-/* Define to 1 if you have the <langinfo.h> header file. */
-#define HAVE_LANGINFO_H 1
-
-/* Define to 1 if you have the <ldap.h> header file. */
-/* #undef HAVE_LDAP_H */
-
-/* Define to 1 if you have the `ldap_initialize' function. */
-/* #undef HAVE_LDAP_INITIALIZE */
-
-/* Define to 1 if you have the `crypto' library (-lcrypto). */
-#define HAVE_LIBCRYPTO 1
-
-/* Define to 1 if you have the `ldap' library (-lldap). */
-/* #undef HAVE_LIBLDAP */
-
-/* Define to 1 if you have the `lz4' library (-llz4). */
-#define HAVE_LIBLZ4 1
-
-/* Define to 1 if you have the `m' library (-lm). */
-#define HAVE_LIBM 1
-
-/* Define to 1 if you have the `pam' library (-lpam). */
-/* #undef HAVE_LIBPAM */
-
-/* Define if you have a function readline library */
-#define HAVE_LIBREADLINE 1
-
-/* Define to 1 if you have the `selinux' library (-lselinux). */
-/* #undef HAVE_LIBSELINUX */
-
-/* Define to 1 if you have the `ssl' library (-lssl). */
-#define HAVE_LIBSSL 1
-
-/* Define to 1 if you have the `wldap32' library (-lwldap32). */
-/* #undef HAVE_LIBWLDAP32 */
-
-/* Define to 1 if you have the `xml2' library (-lxml2). */
-#define HAVE_LIBXML2 1
-
-/* Define to 1 if you have the `xslt' library (-lxslt). */
-/* #undef HAVE_LIBXSLT */
-
-/* Define to 1 if you have the `z' library (-lz). */
-#define HAVE_LIBZ 1
-
-/* Define to 1 if you have the `link' function. */
-#define HAVE_LINK 1
-
-/* Define to 1 if the system has the type `locale_t'. */
-#define HAVE_LOCALE_T 1
-
-/* Define to 1 if `long int' works and is 64 bits. */
-#define HAVE_LONG_INT_64 1
-
-/* Define to 1 if `long long int' works and is 64 bits. */
-/* #undef HAVE_LONG_LONG_INT_64 */
-
-/* Define to 1 if you have the <lz4.h> header file. */
-#define HAVE_LZ4_H 1
-
-/* Define to 1 if you have the <mbarrier.h> header file. */
-/* #undef HAVE_MBARRIER_H */
-
-/* Define to 1 if you have the `mbstowcs_l' function. */
-/* #undef HAVE_MBSTOWCS_L */
-
-/* Define to 1 if you have the <memory.h> header file. */
-#define HAVE_MEMORY_H 1
-
-/* Define to 1 if you have the `memset_s' function. */
-/* #undef HAVE_MEMSET_S */
-
-/* Define to 1 if the system has the type `MINIDUMP_TYPE'. */
-/* #undef HAVE_MINIDUMP_TYPE */
-
-/* Define to 1 if you have the `mkdtemp' function. */
-#define HAVE_MKDTEMP 1
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-#define HAVE_NETINET_TCP_H 1
-
-/* Define to 1 if you have the <net/if.h> header file. */
-#define HAVE_NET_IF_H 1
-
-/* Define to 1 if you have the `OPENSSL_init_ssl' function. */
-#define HAVE_OPENSSL_INIT_SSL 1
-
-/* Define to 1 if you have the <ossp/uuid.h> header file. */
-/* #undef HAVE_OSSP_UUID_H */
-
-/* Define to 1 if you have the <pam/pam_appl.h> header file. */
-/* #undef HAVE_PAM_PAM_APPL_H */
-
-/* Define to 1 if you have the `poll' function. */
-#define HAVE_POLL 1
-
-/* Define to 1 if you have the <poll.h> header file. */
-#define HAVE_POLL_H 1
-
-/* Define to 1 if you have the `posix_fadvise' function. */
-#define HAVE_POSIX_FADVISE 1
-
-/* Define to 1 if you have the `posix_fallocate' function. */
-#define HAVE_POSIX_FALLOCATE 1
-
-/* Define to 1 if the assembler supports PPC's LWARX mutex hint bit. */
-/* #undef HAVE_PPC_LWARX_MUTEX_HINT */
-
-/* Define to 1 if you have the `ppoll' function. */
-#define HAVE_PPOLL 1
-
-/* Define to 1 if you have the `pread' function. */
-#define HAVE_PREAD 1
-
-/* Define to 1 if you have the `pstat' function. */
-/* #undef HAVE_PSTAT */
-
-/* Define to 1 if the PS_STRINGS thing exists. */
-/* #undef HAVE_PS_STRINGS */
-
-/* Define if you have POSIX threads libraries and header files. */
-#define HAVE_PTHREAD 1
-
-/* Define to 1 if you have the `pthread_barrier_wait' function. */
-#define HAVE_PTHREAD_BARRIER_WAIT 1
-
-/* Define to 1 if you have the `pthread_is_threaded_np' function. */
-/* #undef HAVE_PTHREAD_IS_THREADED_NP */
-
-/* Have PTHREAD_PRIO_INHERIT. */
-#define HAVE_PTHREAD_PRIO_INHERIT 1
-
-/* Define to 1 if you have the `pwrite' function. */
-#define HAVE_PWRITE 1
-
-/* Define to 1 if you have the `random' function. */
-#define HAVE_RANDOM 1
-
-/* Define to 1 if you have the <readline.h> header file. */
-/* #undef HAVE_READLINE_H */
-
-/* Define to 1 if you have the <readline/history.h> header file. */
-#define HAVE_READLINE_HISTORY_H 1
-
-/* Define to 1 if you have the <readline/readline.h> header file. */
-#define HAVE_READLINE_READLINE_H 1
-
-/* Define to 1 if you have the `readlink' function. */
-#define HAVE_READLINK 1
-
-/* Define to 1 if you have the `readv' function. */
-#define HAVE_READV 1
-
-/* Define to 1 if you have the global variable
- 'rl_completion_append_character'. */
-#define HAVE_RL_COMPLETION_APPEND_CHARACTER 1
-
-/* Define to 1 if you have the `rl_completion_matches' function. */
-#define HAVE_RL_COMPLETION_MATCHES 1
-
-/* Define to 1 if you have the global variable 'rl_completion_suppress_quote'.
- */
-#define HAVE_RL_COMPLETION_SUPPRESS_QUOTE 1
-
-/* Define to 1 if you have the `rl_filename_completion_function' function. */
-#define HAVE_RL_FILENAME_COMPLETION_FUNCTION 1
-
-/* Define to 1 if you have the global variable 'rl_filename_quote_characters'.
- */
-#define HAVE_RL_FILENAME_QUOTE_CHARACTERS 1
-
-/* Define to 1 if you have the global variable 'rl_filename_quoting_function'.
- */
-#define HAVE_RL_FILENAME_QUOTING_FUNCTION 1
-
-/* Define to 1 if you have the `rl_reset_screen_size' function. */
-#define HAVE_RL_RESET_SCREEN_SIZE 1
-
-/* Define to 1 if you have the <security/pam_appl.h> header file. */
-/* #undef HAVE_SECURITY_PAM_APPL_H */
-
-/* Define to 1 if you have the `setenv' function. */
-#define HAVE_SETENV 1
-
-/* Define to 1 if you have the `setproctitle' function. */
-/* #undef HAVE_SETPROCTITLE */
-
-/* Define to 1 if you have the `setproctitle_fast' function. */
-/* #undef HAVE_SETPROCTITLE_FAST */
-
-/* Define to 1 if you have the `setsid' function. */
-#define HAVE_SETSID 1
-
-/* Define to 1 if you have the `shm_open' function. */
-#define HAVE_SHM_OPEN 1
-
-/* Define to 1 if you have spinlocks. */
-#define HAVE_SPINLOCKS 1
-
-/* Define to 1 if you have the `srandom' function. */
-#define HAVE_SRANDOM 1
-
-/* Define to 1 if stdbool.h conforms to C99. */
-#define HAVE_STDBOOL_H 1
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#define HAVE_STDINT_H 1
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#define HAVE_STDLIB_H 1
-
-/* Define to 1 if you have the `strchrnul' function. */
-#define HAVE_STRCHRNUL 1
-
-/* Define to 1 if you have the `strerror_r' function. */
-#define HAVE_STRERROR_R 1
-
-/* Define to 1 if you have the <strings.h> header file. */
-#define HAVE_STRINGS_H 1
-
-/* Define to 1 if you have the <string.h> header file. */
-#define HAVE_STRING_H 1
-
-/* Define to 1 if you have the `strlcat' function. */
-/* #undef HAVE_STRLCAT */
-
-/* Define to 1 if you have the `strlcpy' function. */
-/* #undef HAVE_STRLCPY */
-
-/* Define to 1 if you have the `strnlen' function. */
-#define HAVE_STRNLEN 1
-
-/* Define to 1 if you have the `strsignal' function. */
-#define HAVE_STRSIGNAL 1
-
-/* Define to 1 if you have the `strtof' function. */
-#define HAVE_STRTOF 1
-
-/* Define to 1 if you have the `strtoll' function. */
-#define HAVE_STRTOLL 1
-
-/* Define to 1 if you have the `strtoq' function. */
-/* #undef HAVE_STRTOQ */
-
-/* Define to 1 if you have the `strtoull' function. */
-#define HAVE_STRTOULL 1
-
-/* Define to 1 if you have the `strtouq' function. */
-/* #undef HAVE_STRTOUQ */
-
-/* Define to 1 if the system has the type `struct addrinfo'. */
-#define HAVE_STRUCT_ADDRINFO 1
-
-/* Define to 1 if the system has the type `struct cmsgcred'. */
-/* #undef HAVE_STRUCT_CMSGCRED */
-
-/* Define to 1 if the system has the type `struct option'. */
-#define HAVE_STRUCT_OPTION 1
-
-/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */
-/* #undef HAVE_STRUCT_SOCKADDR_SA_LEN */
-
-/* Define to 1 if the system has the type `struct sockaddr_storage'. */
-#define HAVE_STRUCT_SOCKADDR_STORAGE 1
-
-/* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
-#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
-
-/* Define to 1 if `ss_len' is a member of `struct sockaddr_storage'. */
-/* #undef HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN */
-
-/* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */
-/* #undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY */
-
-/* Define to 1 if `__ss_len' is a member of `struct sockaddr_storage'. */
-/* #undef HAVE_STRUCT_SOCKADDR_STORAGE___SS_LEN */
-
-/* Define to 1 if the system has the type `struct sockaddr_un'. */
-#define HAVE_STRUCT_SOCKADDR_UN 1
-
-/* Define to 1 if `tm_zone' is a member of `struct tm'. */
-#define HAVE_STRUCT_TM_TM_ZONE 1
-
-/* Define to 1 if you have the `symlink' function. */
-#define HAVE_SYMLINK 1
-
-/* Define to 1 if you have the `syncfs' function. */
-#define HAVE_SYNCFS 1
-
-/* Define to 1 if you have the `sync_file_range' function. */
-#define HAVE_SYNC_FILE_RANGE 1
-
-/* Define to 1 if you have the syslog interface. */
-#define HAVE_SYSLOG 1
-
-/* Define to 1 if you have the <sys/epoll.h> header file. */
-#define HAVE_SYS_EPOLL_H 1
-
-/* Define to 1 if you have the <sys/event.h> header file. */
-/* #undef HAVE_SYS_EVENT_H */
-
-/* Define to 1 if you have the <sys/ipc.h> header file. */
-#define HAVE_SYS_IPC_H 1
-
-/* Define to 1 if you have the <sys/prctl.h> header file. */
-#define HAVE_SYS_PRCTL_H 1
-
-/* Define to 1 if you have the <sys/procctl.h> header file. */
-/* #undef HAVE_SYS_PROCCTL_H */
-
-/* Define to 1 if you have the <sys/pstat.h> header file. */
-/* #undef HAVE_SYS_PSTAT_H */
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#define HAVE_SYS_RESOURCE_H 1
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#define HAVE_SYS_SELECT_H 1
-
-/* Define to 1 if you have the <sys/sem.h> header file. */
-#define HAVE_SYS_SEM_H 1
-
-/* Define to 1 if you have the <sys/shm.h> header file. */
-#define HAVE_SYS_SHM_H 1
-
-/* Define to 1 if you have the <sys/signalfd.h> header file. */
-#define HAVE_SYS_SIGNALFD_H 1
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-/* #undef HAVE_SYS_SOCKIO_H */
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#define HAVE_SYS_STAT_H 1
-
-/* Define to 1 if you have the <sys/tas.h> header file. */
-/* #undef HAVE_SYS_TAS_H */
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#define HAVE_SYS_TYPES_H 1
-
-/* Define to 1 if you have the <sys/ucred.h> header file. */
-/* #undef HAVE_SYS_UCRED_H */
-
-/* Define to 1 if you have the <sys/uio.h> header file. */
-#define HAVE_SYS_UIO_H 1
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#define HAVE_SYS_UN_H 1
-
-/* Define to 1 if you have the <termios.h> header file. */
-#define HAVE_TERMIOS_H 1
-
-/* Define to 1 if your compiler understands `typeof' or something similar. */
-#define HAVE_TYPEOF 1
-
-/* Define to 1 if you have the <ucred.h> header file. */
-/* #undef HAVE_UCRED_H */
-
-/* Define to 1 if the system has the type `uint64'. */
-/* #undef HAVE_UINT64 */
-
-/* Define to 1 if the system has the type `uint8'. */
-/* #undef HAVE_UINT8 */
-
-/* Define to 1 if the system has the type `union semun'. */
-/* #undef HAVE_UNION_SEMUN */
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#define HAVE_UNISTD_H 1
-
-/* Define to 1 if you have the `unsetenv' function. */
-#define HAVE_UNSETENV 1
-
-/* Define to 1 if you have the `uselocale' function. */
-#define HAVE_USELOCALE 1
-
-/* Define to 1 if you have BSD UUID support. */
-/* #undef HAVE_UUID_BSD */
-
-/* Define to 1 if you have E2FS UUID support. */
-/* #undef HAVE_UUID_E2FS */
-
-/* Define to 1 if you have the <uuid.h> header file. */
-#define HAVE_UUID_H 1
-
-/* Define to 1 if you have OSSP UUID support. */
-#define HAVE_UUID_OSSP 1
-
-/* Define to 1 if you have the <uuid/uuid.h> header file. */
-/* #undef HAVE_UUID_UUID_H */
-
-/* Define to 1 if you have the `wcstombs_l' function. */
-/* #undef HAVE_WCSTOMBS_L */
-
-/* Define to 1 if you have the <wctype.h> header file. */
-#define HAVE_WCTYPE_H 1
-
-/* Define to 1 if you have the <winldap.h> header file. */
-/* #undef HAVE_WINLDAP_H */
-
-/* Define to 1 if you have the `writev' function. */
-#define HAVE_WRITEV 1
-
-/* Define to 1 if you have the `X509_get_signature_nid' function. */
-#define HAVE_X509_GET_SIGNATURE_NID 1
-
-/* Define to 1 if the assembler supports X86_64's POPCNTQ instruction. */
-#define HAVE_X86_64_POPCNTQ 1
-
-/* Define to 1 if the system has the type `_Bool'. */
-#define HAVE__BOOL 1
-
-/* Define to 1 if your compiler understands __builtin_bswap16. */
-#define HAVE__BUILTIN_BSWAP16 1
-
-/* Define to 1 if your compiler understands __builtin_bswap32. */
-#define HAVE__BUILTIN_BSWAP32 1
-
-/* Define to 1 if your compiler understands __builtin_bswap64. */
-#define HAVE__BUILTIN_BSWAP64 1
-
-/* Define to 1 if your compiler understands __builtin_clz. */
-#define HAVE__BUILTIN_CLZ 1
-
-/* Define to 1 if your compiler understands __builtin_constant_p. */
-#define HAVE__BUILTIN_CONSTANT_P 1
-
-/* Define to 1 if your compiler understands __builtin_ctz. */
-#define HAVE__BUILTIN_CTZ 1
-
-/* Define to 1 if your compiler understands __builtin_frame_address. */
-#define HAVE__BUILTIN_FRAME_ADDRESS 1
-
-/* Define to 1 if your compiler understands __builtin_$op_overflow. */
-#define HAVE__BUILTIN_OP_OVERFLOW 1
-
-/* Define to 1 if your compiler understands __builtin_popcount. */
-#define HAVE__BUILTIN_POPCOUNT 1
-
-/* Define to 1 if your compiler understands __builtin_types_compatible_p. */
-#define HAVE__BUILTIN_TYPES_COMPATIBLE_P 1
-
-/* Define to 1 if your compiler understands __builtin_unreachable. */
-#define HAVE__BUILTIN_UNREACHABLE 1
-
-/* Define to 1 if you have the `_configthreadlocale' function. */
-/* #undef HAVE__CONFIGTHREADLOCALE */
-
-/* Define to 1 if you have __cpuid. */
-/* #undef HAVE__CPUID */
-
-/* Define to 1 if you have __get_cpuid. */
-#define HAVE__GET_CPUID 1
-
-/* Define to 1 if your compiler understands _Static_assert. */
-#define HAVE__STATIC_ASSERT 1
-
-/* Define to 1 if you have the `__strtoll' function. */
-/* #undef HAVE___STRTOLL */
-
-/* Define to 1 if you have the `__strtoull' function. */
-/* #undef HAVE___STRTOULL */
-
-/* Define to the appropriate printf length modifier for 64-bit ints. */
-#define INT64_MODIFIER "l"
-
-/* Define to 1 if `locale_t' requires <xlocale.h>. */
-/* #undef LOCALE_T_IN_XLOCALE */
-
-/* Define as the maximum alignment requirement of any C data type. */
-#define MAXIMUM_ALIGNOF 8
-
-/* Define bytes to use libc memset(). */
-#define MEMSET_LOOP_LIMIT 1024
-
-/* Define to the OpenSSL API version in use. This avoids deprecation warnings
- from newer OpenSSL versions. */
-/* #define OPENSSL_API_COMPAT 0x10001000L */
-
-/* Define to the address where bug reports for this package should be sent. */
-#define PACKAGE_BUGREPORT "pgsql-bugs@lists.postgresql.org"
-
-/* Define to the full name of this package. */
-#define PACKAGE_NAME "PostgreSQL"
-
-/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "PostgreSQL 14.4"
-
-/* Define to the one symbol short name of this package. */
-#define PACKAGE_TARNAME "postgresql"
-
-/* Define to the home page for this package. */
-#define PACKAGE_URL "https://www.postgresql.org/"
-
-/* Define to the version of this package. */
-#define PACKAGE_VERSION "14.4"
-
-/* Define to the name of a signed 128-bit integer type. */
-#define PG_INT128_TYPE __int128
-
-/* Define to the name of a signed 64-bit integer type. */
-#define PG_INT64_TYPE long int
-
-/* Define to the name of the default PostgreSQL service principal in Kerberos
- (GSSAPI). (--with-krb-srvnam=NAME) */
-#define PG_KRB_SRVNAM "postgres"
-
-/* PostgreSQL major version as a string */
-#define PG_MAJORVERSION "14"
-
-/* PostgreSQL major version number */
-#define PG_MAJORVERSION_NUM 14
-
-/* PostgreSQL minor version number */
-#define PG_MINORVERSION_NUM 4
-
-/* Define to best printf format archetype, usually gnu_printf if available. */
-#define PG_PRINTF_ATTRIBUTE gnu_printf
-
-/* Define to 1 to use <stdbool.h> to define type bool. */
-#define PG_USE_STDBOOL 1
-
-/* PostgreSQL version as a string */
-#define PG_VERSION "14.4"
-
-/* PostgreSQL version as a number */
-#define PG_VERSION_NUM 140004
-
-/* A string containing the version number, platform, and C compiler */
-#define PG_VERSION_STR "PostgreSQL 14.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.3.0, 64-bit"
-
-/* Define to 1 to allow profiling output to be saved separately for each
- process. */
-/* #undef PROFILE_PID_DIR */
-
-/* Define to necessary symbol if this constant uses a non-standard name on
- your system. */
-/* #undef PTHREAD_CREATE_JOINABLE */
-
-/* RELSEG_SIZE is the maximum number of blocks allowed in one disk file. Thus,
- the maximum size of a single file is RELSEG_SIZE * BLCKSZ; relations bigger
- than that are divided into multiple files. RELSEG_SIZE * BLCKSZ must be
- less than your OS' limit on file size. This is often 2 GB or 4GB in a
- 32-bit operating system, unless you have large file support enabled. By
- default, we make the limit 1 GB to avoid any possible integer-overflow
- problems within the OS. A limit smaller than necessary only means we divide
- a large relation into more chunks than necessary, so it seems best to err
- in the direction of a small limit. A power-of-2 value is recommended to
- save a few cycles in md.c, but is not absolutely required. Changing
- RELSEG_SIZE requires an initdb. */
-#define RELSEG_SIZE 131072
-
-/* The size of `bool', as computed by sizeof. */
-#define SIZEOF_BOOL 1
-
-/* The size of `long', as computed by sizeof. */
-#define SIZEOF_LONG 8
-
-/* The size of `off_t', as computed by sizeof. */
-#define SIZEOF_OFF_T 8
-
-/* The size of `size_t', as computed by sizeof. */
-#define SIZEOF_SIZE_T 8
-
-/* The size of `void *', as computed by sizeof. */
-#define SIZEOF_VOID_P 8
-
-/* Define to 1 if you have the ANSI C header files. */
-#define STDC_HEADERS 1
-
-/* Define to 1 if strerror_r() returns int. */
-/* #undef STRERROR_R_INT */
-
-/* Define to 1 to use ARMv8 CRC Extension. */
-/* #undef USE_ARMV8_CRC32C */
-
-/* Define to 1 to use ARMv8 CRC Extension with a runtime check. */
-/* #undef USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK */
-
-/* Define to 1 to build with assertion checks. (--enable-cassert) */
-/* #undef USE_ASSERT_CHECKING */
-
-/* Define to 1 to build with Bonjour support. (--with-bonjour) */
-/* #undef USE_BONJOUR */
-
-/* Define to 1 to build with BSD Authentication support. (--with-bsd-auth) */
-/* #undef USE_BSD_AUTH */
-
-/* Define to build with ICU support. (--with-icu) */
-#define USE_ICU 1
-
-/* Define to 1 to build with LDAP support. (--with-ldap) */
-/* #undef USE_LDAP */
-
-/* Define to 1 to build with XML support. (--with-libxml) */
-#define USE_LIBXML 1
-
-/* Define to 1 to use XSLT support when building contrib/xml2.
- (--with-libxslt) */
-/* #undef USE_LIBXSLT */
-
-/* Define to 1 to build with LLVM based JIT support. (--with-llvm) */
-/* #undef USE_LLVM */
-
-/* Define to 1 to build with LZ4 support. (--with-lz4) */
-#define USE_LZ4 1
-
-/* Define to select named POSIX semaphores. */
-/* #undef USE_NAMED_POSIX_SEMAPHORES */
-
-/* Define to 1 to build with OpenSSL support. (--with-ssl=openssl) */
-#define USE_OPENSSL 1
-
-/* Define to 1 to build with PAM support. (--with-pam) */
-/* #undef USE_PAM */
-
-/* Define to 1 to use software CRC-32C implementation (slicing-by-8). */
-/* #undef USE_SLICING_BY_8_CRC32C */
-
-/* Define to 1 use Intel SSE 4.2 CRC instructions. */
-/* #undef USE_SSE42_CRC32C */
-
-/* Define to 1 to use Intel SSE 4.2 CRC instructions with a runtime check. */
-#define USE_SSE42_CRC32C_WITH_RUNTIME_CHECK 1
-
-/* Define to build with systemd support. (--with-systemd) */
-#define USE_SYSTEMD 1
-
-/* Define to select SysV-style semaphores. */
-/* #undef USE_SYSV_SEMAPHORES */
-
-/* Define to select SysV-style shared memory. */
-#define USE_SYSV_SHARED_MEMORY 1
-
-/* Define to select unnamed POSIX semaphores. */
-#define USE_UNNAMED_POSIX_SEMAPHORES 1
-
-/* Define to select Win32-style semaphores. */
-/* #undef USE_WIN32_SEMAPHORES */
-
-/* Define to select Win32-style shared memory. */
-/* #undef USE_WIN32_SHARED_MEMORY */
-
-/* Define to 1 if `wcstombs_l' requires <xlocale.h>. */
-/* #undef WCSTOMBS_L_IN_XLOCALE */
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
- significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-# define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-/* # undef WORDS_BIGENDIAN */
-# endif
-#endif
-
-/* Size of a WAL file block. This need have no particular relation to BLCKSZ.
- XLOG_BLCKSZ must be a power of 2, and if your system supports O_DIRECT I/O,
- XLOG_BLCKSZ must be a multiple of the alignment requirement for direct-I/O
- buffers, else direct I/O may fail. Changing XLOG_BLCKSZ requires an initdb.
- */
-#define XLOG_BLCKSZ 8192
-
-
-
-/* Number of bits in a file offset, on hosts where this is settable. */
-/* #undef _FILE_OFFSET_BITS */
-
-/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
-/* #undef _LARGEFILE_SOURCE */
-
-/* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
-
-/* Define to `__inline__' or `__inline' if that's what the C compiler
- calls it, or to nothing if 'inline' is not supported under any name. */
-#ifndef __cplusplus
-/* #undef inline */
-#endif
-
-/* Define to keyword to use for C99 restrict support, or to nothing if not
- supported */
-#define pg_restrict __restrict
-
-/* Define to the equivalent of the C99 'restrict' keyword, or to
- nothing if this is not supported. Do not define if restrict is
- supported directly. */
-#define restrict __restrict
-/* Work around a bug in Sun C++: it does not support _Restrict or
- __restrict__, even though the corresponding Sun C compiler ends up with
- "#define restrict _Restrict" or "#define restrict __restrict__" in the
- previous line. Perhaps some future version of Sun C++ will work with
- restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
-#if defined __SUNPRO_CC && !defined __RESTRICT
-# define _Restrict
-# define __restrict__
-#endif
-
-/* Define to how the compiler spells `typeof'. */
-/* #undef typeof */
diff --git a/contrib/libs/libpq/src/include/pg_config-osx-arm64.h b/contrib/libs/libpq/src/include/pg_config-osx-arm64.h
deleted file mode 100644
index dde70a44c9..0000000000
--- a/contrib/libs/libpq/src/include/pg_config-osx-arm64.h
+++ /dev/null
@@ -1,159 +0,0 @@
-#pragma once
-
-#include "pg_config-linux.h"
-
-/* Define to 1 if you have __get_cpuid. */
-#undef HAVE__GET_CPUID
-
-/* Define to 1 if you have the `append_history' function. */
-#undef HAVE_APPEND_HISTORY
-
-/* Define to 1 if you have the `ASN1_STRING_get0_data' function. */
-#undef HAVE_ASN1_STRING_GET0_DATA
-
-/* Define to 1 if you have the `copyfile' function. */
-#define HAVE_COPYFILE 1
-
-/* Define to 1 if you have the <copyfile.h> header file. */
-#define HAVE_COPYFILE_H 1
-
-/* Define to 1 if you have the <crypt.h> header file. */
-#undef HAVE_CRYPT_H
-
-/* Define to 1 if you have the declaration of `fdatasync', and to 0 if you
- don't. */
-#undef HAVE_DECL_FDATASYNC
-#define HAVE_DECL_FDATASYNC 0
-
-/* Define to 1 if you have the declaration of `F_FULLFSYNC', and to 0 if you
- don't. */
-#undef HAVE_DECL_F_FULLFSYNC
-#define HAVE_DECL_F_FULLFSYNC 1
-
-/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
- don't. */
-#define HAVE_DECL_SNPRINTF 1
-
-/* Define to 1 if you have the declaration of `strlcat', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRLCAT
-#define HAVE_DECL_STRLCAT 1
-
-/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRLCPY
-#define HAVE_DECL_STRLCPY 1
-
-/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
- don't. */
-#define HAVE_DECL_SYS_SIGLIST 1
-
-/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
- don't. */
-#define HAVE_DECL_VSNPRINTF 1
-
-/* Define to 1 if you have the <dld.h> header file. */
-#undef HAVE_DLD_H
-
-/* Define to 1 if you have the `fls' function. */
-#define HAVE_FLS 1
-
-/* Define to 1 if you have the `gethostbyname_r' function. */
-#undef HAVE_GETHOSTBYNAME_R
-
-/* Define to 1 if you have the `getpeereid' function. */
-#define HAVE_GETPEEREID 1
-
-/* Define to 1 if you have the `mbstowcs_l' function. */
-#define HAVE_MBSTOWCS_L 1
-
-/* Define to 1 if you have the `posix_fadvise' function. */
-#undef HAVE_POSIX_FADVISE
-
-/* Define to 1 if you have the `posix_fallocate' function. */
-#undef HAVE_POSIX_FALLOCATE
-
-/* Define to 1 if you have the `ppoll' function. */
-#undef HAVE_PPOLL
-
-/* Define to 1 if you have the `pread' function. */
-#undef HAVE_PREAD
-
-/* Define to 1 if you have the `pthread_is_threaded_np' function. */
-#define HAVE_PTHREAD_IS_THREADED_NP 1
-
-/* Define to 1 if you have the `pwrite' function. */
-#undef HAVE_PWRITE
-
-/* Define to 1 if you have the `rl_reset_screen_size' function. */
-#undef HAVE_RL_RESET_SCREEN_SIZE
-
-/* Define to 1 if you have the `snprintf' function. */
-#define HAVE_SNPRINTF 1
-
-/* Define to 1 if you have the `strchrnul' function. */
-#undef HAVE_STRCHRNUL
-
-/* Define to 1 if you have the `strerror_r' function. */
-#define HAVE_STRERROR_R 1
-
-/* Define to 1 if you have the `strlcat' function. */
-#define HAVE_STRLCAT 1
-
-/* Define to 1 if you have the `strlcpy' function. */
-#define HAVE_STRLCPY 1
-
-/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */
-#define HAVE_STRUCT_SOCKADDR_SA_LEN 1
-
-/* Define to 1 if `ss_len' is a member of `struct sockaddr_storage'. */
-#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1
-
-/* Define to 1 if you have the `sync_file_range' function. */
-#undef HAVE_SYNC_FILE_RANGE
-
-/* Define to 1 if you have the <sys/epoll.h> header file. */
-#undef HAVE_SYS_EPOLL_H
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-#define HAVE_SYS_SOCKIO_H 1
-
-/* Define to 1 if you have the <sys/ucred.h> header file. */
-#define HAVE_SYS_UCRED_H 1
-
-/* Define to 1 if you have the `towlower' function. */
-#define HAVE_TOWLOWER 1
-
-/* Define to 1 if you have the <uuid.h> header file. */
-/* #undef HAVE_UUID_H */
-
-/* Define to 1 if you have OSSP UUID support. */
-/* #undef HAVE_UUID_OSSP */
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#define HAVE_VSNPRINTF 1
-
-/* Define to 1 if you have the `wcstombs_l' function. */
-#define HAVE_WCSTOMBS_L 1
-
-/* Define to 1 if `locale_t' requires <xlocale.h>. */
-#define LOCALE_T_IN_XLOCALE 1
-
-/* Define to gnu_printf if compiler supports it, else printf. */
-#undef PG_PRINTF_ATTRIBUTE
-#define PG_PRINTF_ATTRIBUTE printf
-
-/* Define to 1 if strerror_r() returns int. */
-#define STRERROR_R_INT 1
-
-/* Define to build with systemd support. (--with-systemd) */
-/* #undef USE_SYSTEMD */
-
-/* Define to select SysV-style semaphores. */
-#define USE_SYSV_SEMAPHORES 1
-
-/* Define to select unnamed POSIX semaphores. */
-/* #undef USE_UNNAMED_POSIX_SEMAPHORES */
-
-/* Define to 1 if `wcstombs_l' requires <xlocale.h>. */
-#define WCSTOMBS_L_IN_XLOCALE 1
diff --git a/contrib/libs/libpq/src/include/pg_config-osx.h b/contrib/libs/libpq/src/include/pg_config-osx.h
deleted file mode 100644
index 4b1a8a294c..0000000000
--- a/contrib/libs/libpq/src/include/pg_config-osx.h
+++ /dev/null
@@ -1,156 +0,0 @@
-#pragma once
-
-#include "pg_config-linux.h"
-
-/* Define to 1 if you have the `append_history' function. */
-#undef HAVE_APPEND_HISTORY
-
-/* Define to 1 if you have the `ASN1_STRING_get0_data' function. */
-#undef HAVE_ASN1_STRING_GET0_DATA
-
-/* Define to 1 if you have the `copyfile' function. */
-#define HAVE_COPYFILE 1
-
-/* Define to 1 if you have the <copyfile.h> header file. */
-#define HAVE_COPYFILE_H 1
-
-/* Define to 1 if you have the <crypt.h> header file. */
-#undef HAVE_CRYPT_H
-
-/* Define to 1 if you have the declaration of `fdatasync', and to 0 if you
- don't. */
-#undef HAVE_DECL_FDATASYNC
-#define HAVE_DECL_FDATASYNC 0
-
-/* Define to 1 if you have the declaration of `F_FULLFSYNC', and to 0 if you
- don't. */
-#undef HAVE_DECL_F_FULLFSYNC
-#define HAVE_DECL_F_FULLFSYNC 1
-
-/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
- don't. */
-#define HAVE_DECL_SNPRINTF 1
-
-/* Define to 1 if you have the declaration of `strlcat', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRLCAT
-#define HAVE_DECL_STRLCAT 1
-
-/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
- don't. */
-#undef HAVE_DECL_STRLCPY
-#define HAVE_DECL_STRLCPY 1
-
-/* Define to 1 if you have the declaration of `sys_siglist', and to 0 if you
- don't. */
-#define HAVE_DECL_SYS_SIGLIST 1
-
-/* Define to 1 if you have the declaration of `vsnprintf', and to 0 if you
- don't. */
-#define HAVE_DECL_VSNPRINTF 1
-
-/* Define to 1 if you have the <dld.h> header file. */
-#undef HAVE_DLD_H
-
-/* Define to 1 if you have the `fls' function. */
-#define HAVE_FLS 1
-
-/* Define to 1 if you have the `gethostbyname_r' function. */
-#undef HAVE_GETHOSTBYNAME_R
-
-/* Define to 1 if you have the `getpeereid' function. */
-#define HAVE_GETPEEREID 1
-
-/* Define to 1 if you have the `mbstowcs_l' function. */
-#define HAVE_MBSTOWCS_L 1
-
-/* Define to 1 if you have the `posix_fadvise' function. */
-#undef HAVE_POSIX_FADVISE
-
-/* Define to 1 if you have the `posix_fallocate' function. */
-#undef HAVE_POSIX_FALLOCATE
-
-/* Define to 1 if you have the `ppoll' function. */
-#undef HAVE_PPOLL
-
-/* Define to 1 if you have the `pread' function. */
-#undef HAVE_PREAD
-
-/* Define to 1 if you have the `pthread_is_threaded_np' function. */
-#define HAVE_PTHREAD_IS_THREADED_NP 1
-
-/* Define to 1 if you have the `pwrite' function. */
-#undef HAVE_PWRITE
-
-/* Define to 1 if you have the `rl_reset_screen_size' function. */
-#undef HAVE_RL_RESET_SCREEN_SIZE
-
-/* Define to 1 if you have the `snprintf' function. */
-#define HAVE_SNPRINTF 1
-
-/* Define to 1 if you have the `strchrnul' function. */
-#undef HAVE_STRCHRNUL
-
-/* Define to 1 if you have the `strerror_r' function. */
-#define HAVE_STRERROR_R 1
-
-/* Define to 1 if you have the `strlcat' function. */
-#define HAVE_STRLCAT 1
-
-/* Define to 1 if you have the `strlcpy' function. */
-#define HAVE_STRLCPY 1
-
-/* Define to 1 if `sa_len' is a member of `struct sockaddr'. */
-#define HAVE_STRUCT_SOCKADDR_SA_LEN 1
-
-/* Define to 1 if `ss_len' is a member of `struct sockaddr_storage'. */
-#define HAVE_STRUCT_SOCKADDR_STORAGE_SS_LEN 1
-
-/* Define to 1 if you have the `sync_file_range' function. */
-#undef HAVE_SYNC_FILE_RANGE
-
-/* Define to 1 if you have the <sys/epoll.h> header file. */
-#undef HAVE_SYS_EPOLL_H
-
-/* Define to 1 if you have the <sys/sockio.h> header file. */
-#define HAVE_SYS_SOCKIO_H 1
-
-/* Define to 1 if you have the <sys/ucred.h> header file. */
-#define HAVE_SYS_UCRED_H 1
-
-/* Define to 1 if you have the `towlower' function. */
-#define HAVE_TOWLOWER 1
-
-/* Define to 1 if you have the <uuid.h> header file. */
-/* #undef HAVE_UUID_H */
-
-/* Define to 1 if you have OSSP UUID support. */
-/* #undef HAVE_UUID_OSSP */
-
-/* Define to 1 if you have the `vsnprintf' function. */
-#define HAVE_VSNPRINTF 1
-
-/* Define to 1 if you have the `wcstombs_l' function. */
-#define HAVE_WCSTOMBS_L 1
-
-/* Define to 1 if `locale_t' requires <xlocale.h>. */
-#define LOCALE_T_IN_XLOCALE 1
-
-/* Define to gnu_printf if compiler supports it, else printf. */
-#undef PG_PRINTF_ATTRIBUTE
-#define PG_PRINTF_ATTRIBUTE printf
-
-/* Define to 1 if strerror_r() returns int. */
-#define STRERROR_R_INT 1
-
-/* Define to build with systemd support. (--with-systemd) */
-/* #undef USE_SYSTEMD */
-
-/* Define to select SysV-style semaphores. */
-#define USE_SYSV_SEMAPHORES 1
-
-/* Define to select unnamed POSIX semaphores. */
-/* #undef USE_UNNAMED_POSIX_SEMAPHORES */
-
-/* Define to 1 if `wcstombs_l' requires <xlocale.h>. */
-#define WCSTOMBS_L_IN_XLOCALE 1
diff --git a/contrib/libs/libpq/src/include/pg_config-win.h b/contrib/libs/libpq/src/include/pg_config-win.h
deleted file mode 100644
index e42c85046a..0000000000
--- a/contrib/libs/libpq/src/include/pg_config-win.h
+++ /dev/null
@@ -1,315 +0,0 @@
-#pragma once
-
-#include "pg_config-linux.h"
-
-/* Define to the type of arg 1 of 'accept' */
-#define ACCEPT_TYPE_ARG1 unsigned int
-
-/* Define to the type of arg 3 of 'accept' */
-#define ACCEPT_TYPE_ARG3 int
-
-/* Define to the return type of 'accept' */
-#define ACCEPT_TYPE_RETURN unsigned int PASCAL
-
-/* Define to 1 if you have the `clock_gettime' function. */
-#undef HAVE_CLOCK_GETTIME
-
-/* Define to 1 if your compiler handles computed gotos. */
-#undef HAVE_COMPUTED_GOTO
-
-/* Define to 1 if you have the `crypt' function. */
-#undef HAVE_CRYPT
-
-/* Define to 1 if you have the <crypt.h> header file. */
-#undef HAVE_CRYPT_H
-
-/* Define to 1 if you have the declaration of `posix_fadvise', and to 0 if you
- * don't. */
-#undef HAVE_DECL_POSIX_FADVISE
-
-/* Define to 1 if you have the declaration of `RTLD_GLOBAL', and to 0 if you
- don't. */
-#undef HAVE_DECL_RTLD_GLOBAL
-
-/* Define to 1 if you have the declaration of `RTLD_NOW', and to 0 if you
- don't. */
-#undef HAVE_DECL_RTLD_NOW
-
-/* Define to 1 if you have the declaration of `strlcat', and to 0 if you
- don't. */
-#define HAVE_DECL_STRLCAT 0
-
-/* Define to 1 if you have the declaration of `strlcpy', and to 0 if you
- don't. */
-#define HAVE_DECL_STRLCPY 0
-
-/* Define to 1 if you have the `dlopen' function. */
-#undef HAVE_DLOPEN
-
-/* Define to 1 if you have the `fdatasync' function. */
-#undef HAVE_FDATASYNC
-
-/* Define to 1 if you have __atomic_compare_exchange_n(int *, int *, int). */
-#undef HAVE_GCC__ATOMIC_INT32_CAS
-
-/* Define to 1 if you have __atomic_compare_exchange_n(int64 *, int64 *,
- int64). */
-#undef HAVE_GCC__ATOMIC_INT64_CAS
-
-/* Define to 1 if you have __sync_lock_test_and_set(char *) and friends. */
-#undef HAVE_GCC__SYNC_CHAR_TAS
-
-/* Define to 1 if you have the `getaddrinfo' function. */
-#undef HAVE_GETADDRINFO
-
-/* Define to 1 if you have the `gethostbyname_r' function. */
-#undef HAVE_GETHOSTBYNAME_R
-
-/* Define to 1 if you have the `getopt' function. */
-#undef HAVE_GETOPT
-
-/* Define to 1 if you have the <getopt.h> header file. */
-#undef HAVE_GETOPT_H
-
-/* Define to 1 if you have the `getopt_long' function. */
-#undef HAVE_GETOPT_LONG
-
-/* Define to 1 if you have the `getpwuid_r' function. */
-#undef HAVE_GETPWUID_R
-
-/* Define to 1 if you have the `getrlimit' function. */
-#undef HAVE_RLIMIT
-
-/* Define to 1 if you have the `getrusage' function. */
-#undef HAVE_GETRUSAGE
-
-/* Define to 1 if you have the `inet_aton' function. */
-#undef HAVE_INET_ATON
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the <langinfo.h> header file. */
-#undef HAVE_LANGINFO_H
-
-/* Define to 1 if you have the `crypto' library (-lcrypto). */
-#undef HAVE_LIBCRYPTO
-
-/* Define to 1 if `long int' works and is 64 bits. */
-#define HAVE_LONG_INT_64 1
-
-/* Define to 1 if the system has the type `long long int'. */
-#define HAVE_LONG_LONG_INT 1
-
-/* Define to 1 if you have the `mbstowcs_l' function. */
-#define HAVE_MBSTOWCS_L 1
-
-/* Define to 1 if the system has the type `MINIDUMP_TYPE'. */
-#define HAVE_MINIDUMP_TYPE 1
-
-/* Define to 1 if you have the `mkdtemp' function. */
-#undef HAVE_MKDTEMP
-
-/* Define to 1 if you have the <netinet/tcp.h> header file. */
-#undef HAVE_NETINET_TCP_H
-
-/* Define to 1 if you have the `poll' function. */
-#undef HAVE_POLL
-
-/* Define to 1 if you have the <poll.h> header file. */
-#undef HAVE_POLL_H
-
-/* Define to 1 if you have the `posix_fadvise' function. */
-#undef HAVE_POSIX_FADVISE
-
-/* Define to 1 if you have the `posix_fallocate' function. */
-#undef HAVE_POSIX_FALLOCATE
-
-/* Define to 1 if you have the `ppoll' function. */
-#undef HAVE_PPOLL
-
-/* Define to 1 if you have the `pread' function. */
-#undef HAVE_PREAD
-
-/* Define if you have POSIX threads libraries and header files. */
-#undef HAVE_PTHREAD
-
-/* Have PTHREAD_PRIO_INHERIT. */
-#define HAVE_PTHREAD_PRIO_INHERIT 1
-
-/* Define to 1 if you have the `pwrite' function. */
-#undef HAVE_PWRITE
-
-/* Define to 1 if you have the `readlink' function. */
-#undef HAVE_READLINK
-
-/* Define to 1 if you have the global variable
- 'rl_completion_append_character'. */
-#undef HAVE_RL_COMPLETION_APPEND_CHARACTER
-
-/* Define to 1 if you have the `rl_completion_matches' function. */
-#undef HAVE_RL_COMPLETION_MATCHES
-
-/* Define to 1 if you have the `rl_filename_completion_function' function. */
-#undef HAVE_RL_FILENAME_COMPLETION_FUNCTION
-
-/* Define to 1 if you have the `setsid' function. */
-#undef HAVE_SETSID
-
-/* Define to 1 if you have the `strchrnul' function. */
-#undef HAVE_STRCHRNUL
-
-/* Define to 1 if you have the `strerror_r' function. */
-#undef HAVE_STRERROR_R
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the `strsignal' function. */
-#undef HAVE_STRSIGNAL
-
-/* Define to 1 if the system has the type `struct option'. */
-#undef HAVE_STRUCT_OPTION
-
-/* Define to 1 if `tm_zone' is member of `struct tm'. */
-#undef HAVE_STRUCT_TM_TM_ZONE
-
-/* Define to 1 if you have the `sync_file_range' function. */
-#undef HAVE_SYNC_FILE_RANGE
-
-/* Define to 1 if you have the syslog interface. */
-#undef HAVE_SYSLOG
-
-/* Define to 1 if you have the <sys/ipc.h> header file. */
-#undef HAVE_SYS_IPC_H
-
-/* Define to 1 if you have the <sys/prctl.h> header file. */
-#undef HAVE_SYS_PRCTL_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/sem.h> header file. */
-#undef HAVE_SYS_SEM_H
-
-/* Define to 1 if you have the <sys/shm.h> header file. */
-#undef HAVE_SYS_SHM_H
-
-/* Define to 1 if you have the <sys/un.h> header file. */
-#undef HAVE_SYS_UN_H
-
-/* Define to 1 if you have the <termios.h> header file. */
-#undef HAVE_TERMIOS_H
-
-/* Define to 1 if your `struct tm' has `tm_zone'. Deprecated, use
- `HAVE_STRUCT_TM_TM_ZONE' instead. */
-#undef HAVE_TM_ZONE
-
-/* Define to 1 if your compiler understands `typeof' or something similar. */
-#undef HAVE_TYPEOF
-
-/* Define to 1 if you have the external array `tzname'. */
-#undef HAVE_TZNAME
-
-/* Define to 1 if you have unix sockets. */
-#undef HAVE_UNIX_SOCKETS
-
-/* Define to 1 if you have the `unsetenv' function. */
-#undef HAVE_UNSETENV
-
-/* Define to 1 if you have the `uselocale' function. */
-#undef HAVE_USELOCALE
-
-/* Define to 1 if you have the `utimes' function. */
-#undef HAVE_UTIMES
-
-/* Define to 1 if you have the `wcstombs_l' function. */
-#define HAVE_WCSTOMBS_L 1
-
-/* Define to 1 if the assembler supports X86_64's POPCNTQ instruction. */
-#undef HAVE_X86_64_POPCNTQ
-
-/* Define to 1 if the system has the type `_Bool'. */
-#undef HAVE__BOOL
-
-/* Define to 1 if your compiler understands __builtin_bswap16. */
-#undef HAVE__BUILTIN_BSWAP16
-
-/* Define to 1 if your compiler understands __builtin_bswap32. */
-#undef HAVE__BUILTIN_BSWAP32
-
-/* Define to 1 if your compiler understands __builtin_bswap64. */
-#undef HAVE__BUILTIN_BSWAP64
-
-/* Define to 1 if your compiler understands __builtin_clz. */
-#undef HAVE__BUILTIN_CLZ
-
-/* Define to 1 if your compiler understands __builtin_constant_p. */
-#undef HAVE__BUILTIN_CONSTANT_P
-
-/* Define to 1 if your compiler understands __builtin_ctz. */
-#undef HAVE__BUILTIN_CTZ
-
-/* Define to 1 if your compiler understands __builtin_$op_overflow. */
-#undef HAVE__BUILTIN_OP_OVERFLOW
-
-/* Define to 1 if your compiler understands __builtin_popcount. */
-#undef HAVE__BUILTIN_POPCOUNT
-
-/* Define to 1 if your compiler understands __builtin_types_compatible_p. */
-#undef HAVE__BUILTIN_TYPES_COMPATIBLE_P
-
-/* Define to 1 if your compiler understands __builtin_unreachable. */
-#undef HAVE__BUILTIN_UNREACHABLE
-
-/* Define to 1 if you have the `_configthreadlocale' function. */
-#define HAVE__CONFIGTHREADLOCALE 1
-
-/* Define to 1 if you have __cpuid. */
-#define HAVE__CPUID 1
-
-/* Define to 1 if you have __get_cpuid. */
-#undef HAVE__GET_CPUID
-
-/* Define to the appropriate printf length modifier for 64-bit ints. */
-#define INT64_MODIFIER "ll"
-
-/* Define to 1 if `locale_t' requires <xlocale.h>. */
-/* #undef LOCALE_T_IN_XLOCALE */
-
-/* Define to the name of a signed 128-bit integer type. */
-#undef PG_INT128_TYPE
-
-/* Define to the name of a signed 64-bit integer type. */
-#define PG_INT64_TYPE long long int
-
-/* The size of `size_t', as computed by sizeof. */
-#ifdef _WIN64
-#define SIZEOF_SIZE_T 8
-#else
-#define SIZEOF_SIZE_T 4
-#endif
-
-/* The size of `void *', as computed by sizeof. */
-#ifndef _WIN64
-#define SIZEOF_VOID_P 8
-#else
-#define SIZEOF_VOID_P 4
-#endif
-
-/* Define to select named POSIX semaphores. */
-#undef USE_NAMED_POSIX_SEMAPHORES
-
-/* Define to build with systemd support. (--with-systemd) */
-#undef USE_SYSTEMD
-
-/* Define to select unnamed POSIX semaphores. */
-#undef USE_UNNAMED_POSIX_SEMAPHORES
-
-/* Define to use native Windows API for random number generation */
-#define USE_WIN32_RANDOM 1
-
-/* Define to select Win32-style semaphores. */
-#define USE_WIN32_SEMAPHORES 1
-
-#define pg_restrict __restrict
diff --git a/contrib/libs/libpq/src/include/pg_config.h b/contrib/libs/libpq/src/include/pg_config.h
deleted file mode 100644
index 777fa15304..0000000000
--- a/contrib/libs/libpq/src/include/pg_config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#pragma once
-
-#if defined(__APPLE__) && defined(__arm64__)
-# include "pg_config-osx-arm64.h"
-#elif defined(__APPLE__)
-# include "pg_config-osx.h"
-#elif defined(_MSC_VER)
-# include "pg_config-win.h"
-#else
-# include "pg_config-linux.h"
-#endif
diff --git a/contrib/libs/libpq/src/include/pg_config_ext.h b/contrib/libs/libpq/src/include/pg_config_ext.h
deleted file mode 100644
index b4c07dd857..0000000000
--- a/contrib/libs/libpq/src/include/pg_config_ext.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* src/include/pg_config_ext.h. Generated from pg_config_ext.h.in by configure. */
-/*
- * src/include/pg_config_ext.h.in. This is generated manually, not by
- * autoheader, since we want to limit which symbols get defined here.
- */
-
-/* Define to the name of a signed 64-bit integer type. */
-#define PG_INT64_TYPE long int
diff --git a/contrib/libs/libpq/src/include/pg_config_manual.h b/contrib/libs/libpq/src/include/pg_config_manual.h
deleted file mode 100644
index 614035e215..0000000000
--- a/contrib/libs/libpq/src/include/pg_config_manual.h
+++ /dev/null
@@ -1,404 +0,0 @@
-/*------------------------------------------------------------------------
- * PostgreSQL manual configuration settings
- *
- * This file contains various configuration symbols and limits. In
- * all cases, changing them is only useful in very rare situations or
- * for developers. If you edit any of these, be sure to do a *full*
- * rebuild (and an initdb if noted).
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/pg_config_manual.h
- *------------------------------------------------------------------------
- */
-
-/*
- * This is the default value for wal_segment_size to be used when initdb is run
- * without the --wal-segsize option. It must be a valid segment size.
- */
-#define DEFAULT_XLOG_SEG_SIZE (16*1024*1024)
-
-/*
- * Maximum length for identifiers (e.g. table names, column names,
- * function names). Names actually are limited to one fewer byte than this,
- * because the length must include a trailing zero byte.
- *
- * Changing this requires an initdb.
- */
-#define NAMEDATALEN 64
-
-/*
- * Maximum number of arguments to a function.
- *
- * The minimum value is 8 (GIN indexes use 8-argument support functions).
- * The maximum possible value is around 600 (limited by index tuple size in
- * pg_proc's index; BLCKSZ larger than 8K would allow more). Values larger
- * than needed will waste memory and processing time, but do not directly
- * cost disk space.
- *
- * Changing this does not require an initdb, but it does require a full
- * backend recompile (including any user-defined C functions).
- */
-#define FUNC_MAX_ARGS 100
-
-/*
- * Maximum number of columns in an index. There is little point in making
- * this anything but a multiple of 32, because the main cost is associated
- * with index tuple header size (see access/itup.h).
- *
- * Changing this requires an initdb.
- */
-#define INDEX_MAX_KEYS 32
-
-/*
- * Maximum number of columns in a partition key
- */
-#define PARTITION_MAX_KEYS 32
-
-/*
- * Decide whether built-in 8-byte types, including float8, int8, and
- * timestamp, are passed by value. This is on by default if sizeof(Datum) >=
- * 8 (that is, on 64-bit platforms). If sizeof(Datum) < 8 (32-bit platforms),
- * this must be off. We keep this here as an option so that it is easy to
- * test the pass-by-reference code paths on 64-bit platforms.
- *
- * Changing this requires an initdb.
- */
-#if SIZEOF_VOID_P >= 8
-#define USE_FLOAT8_BYVAL 1
-#endif
-
-/*
- * When we don't have native spinlocks, we use semaphores to simulate them.
- * Decreasing this value reduces consumption of OS resources; increasing it
- * may improve performance, but supplying a real spinlock implementation is
- * probably far better.
- */
-#define NUM_SPINLOCK_SEMAPHORES 128
-
-/*
- * When we have neither spinlocks nor atomic operations support we're
- * implementing atomic operations on top of spinlock on top of semaphores. To
- * be safe against atomic operations while holding a spinlock separate
- * semaphores have to be used.
- */
-#define NUM_ATOMICS_SEMAPHORES 64
-
-/*
- * MAXPGPATH: standard size of a pathname buffer in PostgreSQL (hence,
- * maximum usable pathname length is one less).
- *
- * We'd use a standard system header symbol for this, if there weren't
- * so many to choose from: MAXPATHLEN, MAX_PATH, PATH_MAX are all
- * defined by different "standards", and often have different values
- * on the same platform! So we just punt and use a reasonably
- * generous setting here.
- */
-#define MAXPGPATH 1024
-
-/*
- * PG_SOMAXCONN: maximum accept-queue length limit passed to
- * listen(2). You'd think we should use SOMAXCONN from
- * <sys/socket.h>, but on many systems that symbol is much smaller
- * than the kernel's actual limit. In any case, this symbol need be
- * twiddled only if you have a kernel that refuses large limit values,
- * rather than silently reducing the value to what it can handle
- * (which is what most if not all Unixen do).
- */
-#define PG_SOMAXCONN 10000
-
-/*
- * You can try changing this if you have a machine with bytes of
- * another size, but no guarantee...
- */
-#define BITS_PER_BYTE 8
-
-/*
- * Preferred alignment for disk I/O buffers. On some CPUs, copies between
- * user space and kernel space are significantly faster if the user buffer
- * is aligned on a larger-than-MAXALIGN boundary. Ideally this should be
- * a platform-dependent value, but for now we just hard-wire it.
- */
-#define ALIGNOF_BUFFER 32
-
-/*
- * If EXEC_BACKEND is defined, the postmaster uses an alternative method for
- * starting subprocesses: Instead of simply using fork(), as is standard on
- * Unix platforms, it uses fork()+exec() or something equivalent on Windows,
- * as well as lots of extra code to bring the required global state to those
- * new processes. This must be enabled on Windows (because there is no
- * fork()). On other platforms, it's only useful for verifying those
- * otherwise Windows-specific code paths.
- */
-#if defined(WIN32) && !defined(__CYGWIN__)
-#define EXEC_BACKEND
-#endif
-
-/*
- * Define this if your operating system supports link()
- */
-#if !defined(WIN32) && !defined(__CYGWIN__)
-#define HAVE_WORKING_LINK 1
-#endif
-
-/*
- * USE_POSIX_FADVISE controls whether Postgres will attempt to use the
- * posix_fadvise() kernel call. Usually the automatic configure tests are
- * sufficient, but some older Linux distributions had broken versions of
- * posix_fadvise(). If necessary you can remove the #define here.
- */
-#if HAVE_DECL_POSIX_FADVISE && defined(HAVE_POSIX_FADVISE)
-#define USE_POSIX_FADVISE
-#endif
-
-/*
- * USE_PREFETCH code should be compiled only if we have a way to implement
- * prefetching. (This is decoupled from USE_POSIX_FADVISE because there
- * might in future be support for alternative low-level prefetch APIs.
- * If you change this, you probably need to adjust the error message in
- * check_effective_io_concurrency.)
- */
-#ifdef USE_POSIX_FADVISE
-#define USE_PREFETCH
-#endif
-
-/*
- * Default and maximum values for backend_flush_after, bgwriter_flush_after
- * and checkpoint_flush_after; measured in blocks. Currently, these are
- * enabled by default if sync_file_range() exists, ie, only on Linux. Perhaps
- * we could also enable by default if we have mmap and msync(MS_ASYNC)?
- */
-#ifdef HAVE_SYNC_FILE_RANGE
-#define DEFAULT_BACKEND_FLUSH_AFTER 0 /* never enabled by default */
-#define DEFAULT_BGWRITER_FLUSH_AFTER 64
-#define DEFAULT_CHECKPOINT_FLUSH_AFTER 32
-#else
-#define DEFAULT_BACKEND_FLUSH_AFTER 0
-#define DEFAULT_BGWRITER_FLUSH_AFTER 0
-#define DEFAULT_CHECKPOINT_FLUSH_AFTER 0
-#endif
-/* upper limit for all three variables */
-#define WRITEBACK_MAX_PENDING_FLUSHES 256
-
-/*
- * USE_SSL code should be compiled only when compiling with an SSL
- * implementation.
- */
-#ifdef USE_OPENSSL
-#define USE_SSL
-#endif
-
-/*
- * This is the default directory in which AF_UNIX socket files are
- * placed. Caution: changing this risks breaking your existing client
- * applications, which are likely to continue to look in the old
- * directory. But if you just hate the idea of sockets in /tmp,
- * here's where to twiddle it. You can also override this at runtime
- * with the postmaster's -k switch.
- *
- * If set to an empty string, then AF_UNIX sockets are not used by default: A
- * server will not create an AF_UNIX socket unless the run-time configuration
- * is changed, a client will connect via TCP/IP by default and will only use
- * an AF_UNIX socket if one is explicitly specified.
- *
- * This is done by default on Windows because there is no good standard
- * location for AF_UNIX sockets and many installations on Windows don't
- * support them yet.
- */
-#ifndef WIN32
-#define DEFAULT_PGSOCKET_DIR "/tmp"
-#else
-#define DEFAULT_PGSOCKET_DIR ""
-#endif
-
-/*
- * This is the default event source for Windows event log.
- */
-#define DEFAULT_EVENT_SOURCE "PostgreSQL"
-
-/*
- * The random() function is expected to yield values between 0 and
- * MAX_RANDOM_VALUE. Currently, all known implementations yield
- * 0..2^31-1, so we just hardwire this constant. We could do a
- * configure test if it proves to be necessary. CAUTION: Think not to
- * replace this with RAND_MAX. RAND_MAX defines the maximum value of
- * the older rand() function, which is often different from --- and
- * considerably inferior to --- random().
- */
-#define MAX_RANDOM_VALUE PG_INT32_MAX
-
-/*
- * On PPC machines, decide whether to use the mutex hint bit in LWARX
- * instructions. Setting the hint bit will slightly improve spinlock
- * performance on POWER6 and later machines, but does nothing before that,
- * and will result in illegal-instruction failures on some pre-POWER4
- * machines. By default we use the hint bit when building for 64-bit PPC,
- * which should be safe in nearly all cases. You might want to override
- * this if you are building 32-bit code for a known-recent PPC machine.
- */
-#ifdef HAVE_PPC_LWARX_MUTEX_HINT /* must have assembler support in any case */
-#if defined(__ppc64__) || defined(__powerpc64__)
-#define USE_PPC_LWARX_MUTEX_HINT
-#endif
-#endif
-
-/*
- * On PPC machines, decide whether to use LWSYNC instructions in place of
- * ISYNC and SYNC. This provides slightly better performance, but will
- * result in illegal-instruction failures on some pre-POWER4 machines.
- * By default we use LWSYNC when building for 64-bit PPC, which should be
- * safe in nearly all cases.
- */
-#if defined(__ppc64__) || defined(__powerpc64__)
-#define USE_PPC_LWSYNC
-#endif
-
-/*
- * Assumed cache line size. This doesn't affect correctness, but can be used
- * for low-level optimizations. Currently, this is used to pad some data
- * structures in xlog.c, to ensure that highly-contended fields are on
- * different cache lines. Too small a value can hurt performance due to false
- * sharing, while the only downside of too large a value is a few bytes of
- * wasted memory. The default is 128, which should be large enough for all
- * supported platforms.
- */
-#define PG_CACHE_LINE_SIZE 128
-
-/*
- *------------------------------------------------------------------------
- * The following symbols are for enabling debugging code, not for
- * controlling user-visible features or resource limits.
- *------------------------------------------------------------------------
- */
-
-/*
- * Include Valgrind "client requests", mostly in the memory allocator, so
- * Valgrind understands PostgreSQL memory contexts. This permits detecting
- * memory errors that Valgrind would not detect on a vanilla build. It also
- * enables detection of buffer accesses that take place without holding a
- * buffer pin (or without holding a buffer lock in the case of index access
- * methods that superimpose their own custom client requests on top of the
- * generic bufmgr.c requests).
- *
- * "make installcheck" is significantly slower under Valgrind. The client
- * requests fall in hot code paths, so USE_VALGRIND slows execution by a few
- * percentage points even when not run under Valgrind.
- *
- * Do not try to test the server under Valgrind without having built the
- * server with USE_VALGRIND; else you will get false positives from sinval
- * messaging (see comments in AddCatcacheInvalidationMessage). It's also
- * important to use the suppression file src/tools/valgrind.supp to
- * exclude other known false positives.
- *
- * You should normally use MEMORY_CONTEXT_CHECKING with USE_VALGRIND;
- * instrumentation of repalloc() is inferior without it.
- */
-/* #define USE_VALGRIND */
-
-/*
- * Define this to cause pfree()'d memory to be cleared immediately, to
- * facilitate catching bugs that refer to already-freed values.
- * Right now, this gets defined automatically if --enable-cassert.
- */
-#ifdef USE_ASSERT_CHECKING
-#define CLOBBER_FREED_MEMORY
-#endif
-
-/*
- * Define this to check memory allocation errors (scribbling on more
- * bytes than were allocated). Right now, this gets defined
- * automatically if --enable-cassert or USE_VALGRIND.
- */
-#if defined(USE_ASSERT_CHECKING) || defined(USE_VALGRIND)
-#define MEMORY_CONTEXT_CHECKING
-#endif
-
-/*
- * Define this to cause palloc()'d memory to be filled with random data, to
- * facilitate catching code that depends on the contents of uninitialized
- * memory. Caution: this is horrendously expensive.
- */
-/* #define RANDOMIZE_ALLOCATED_MEMORY */
-
-/*
- * For cache-invalidation debugging, define DISCARD_CACHES_ENABLED to enable
- * use of the debug_discard_caches GUC to aggressively flush syscache/relcache
- * entries whenever it's possible to deliver invalidations. See
- * AcceptInvalidationMessages() in src/backend/utils/cache/inval.c for
- * details.
- *
- * USE_ASSERT_CHECKING builds default to enabling this. It's possible to use
- * DISCARD_CACHES_ENABLED without a cassert build and the implied
- * CLOBBER_FREED_MEMORY and MEMORY_CONTEXT_CHECKING options, but it's unlikely
- * to be as effective at identifying problems.
- */
-/* #define DISCARD_CACHES_ENABLED */
-
-#if defined(USE_ASSERT_CHECKING) && !defined(DISCARD_CACHES_ENABLED)
-#define DISCARD_CACHES_ENABLED
-#endif
-
-/*
- * Backwards compatibility for the older compile-time-only clobber-cache
- * macros.
- */
-#if !defined(DISCARD_CACHES_ENABLED) && (defined(CLOBBER_CACHE_ALWAYS) || defined(CLOBBER_CACHE_RECURSIVELY))
-#define DISCARD_CACHES_ENABLED
-#endif
-
-/*
- * Recover memory used for relcache entries when invalidated. See
- * RelationBuildDescr() in src/backend/utils/cache/relcache.c.
- *
- * This is active automatically for clobber-cache builds when clobbering is
- * active, but can be overridden here by explicitly defining
- * RECOVER_RELATION_BUILD_MEMORY. Define to 1 to always free relation cache
- * memory even when clobber is off, or to 0 to never free relation cache
- * memory even when clobbering is on.
- */
- /* #define RECOVER_RELATION_BUILD_MEMORY 0 */ /* Force disable */
- /* #define RECOVER_RELATION_BUILD_MEMORY 1 */ /* Force enable */
-
-/*
- * Define this to force all parse and plan trees to be passed through
- * copyObject(), to facilitate catching errors and omissions in
- * copyObject().
- */
-/* #define COPY_PARSE_PLAN_TREES */
-
-/*
- * Define this to force all parse and plan trees to be passed through
- * outfuncs.c/readfuncs.c, to facilitate catching errors and omissions in
- * those modules.
- */
-/* #define WRITE_READ_PARSE_PLAN_TREES */
-
-/*
- * Define this to force all raw parse trees for DML statements to be scanned
- * by raw_expression_tree_walker(), to facilitate catching errors and
- * omissions in that function.
- */
-/* #define RAW_EXPRESSION_COVERAGE_TEST */
-
-/*
- * Enable debugging print statements for lock-related operations.
- */
-/* #define LOCK_DEBUG */
-
-/*
- * Enable debugging print statements for WAL-related operations; see
- * also the wal_debug GUC var.
- */
-/* #define WAL_DEBUG */
-
-/*
- * Enable tracing of resource consumption during sort operations;
- * see also the trace_sort GUC var. For 8.1 this is enabled by default.
- */
-#define TRACE_SORT 1
-
-/*
- * Enable tracing of syncscan operations (see also the trace_syncscan GUC var).
- */
-/* #define TRACE_SYNCSCAN */
diff --git a/contrib/libs/libpq/src/include/pg_config_os-linux.h b/contrib/libs/libpq/src/include/pg_config_os-linux.h
deleted file mode 100644
index 331e1b2cf1..0000000000
--- a/contrib/libs/libpq/src/include/pg_config_os-linux.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <contrib/libs/libpq/src/include/port/linux.h>
diff --git a/contrib/libs/libpq/src/include/pg_config_os-osx.h b/contrib/libs/libpq/src/include/pg_config_os-osx.h
deleted file mode 100644
index f77fb9d4da..0000000000
--- a/contrib/libs/libpq/src/include/pg_config_os-osx.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <contrib/libs/libpq/src/include/port/darwin.h>
diff --git a/contrib/libs/libpq/src/include/pg_config_os-win.h b/contrib/libs/libpq/src/include/pg_config_os-win.h
deleted file mode 100644
index e26ba92209..0000000000
--- a/contrib/libs/libpq/src/include/pg_config_os-win.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <contrib/libs/libpq/src/include/port/win32.h>
diff --git a/contrib/libs/libpq/src/include/pg_config_os.h b/contrib/libs/libpq/src/include/pg_config_os.h
deleted file mode 100644
index 86db251be2..0000000000
--- a/contrib/libs/libpq/src/include/pg_config_os.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#pragma once
-
-#if defined(__APPLE__)
-# include "pg_config_os-osx.h"
-#elif defined(_MSC_VER)
-# include "pg_config_os-win.h"
-#else
-# include "pg_config_os-linux.h"
-#endif
diff --git a/contrib/libs/libpq/src/include/pgtar.h b/contrib/libs/libpq/src/include/pgtar.h
deleted file mode 100644
index 6d47ece652..0000000000
--- a/contrib/libs/libpq/src/include/pgtar.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * pgtar.h
- * Functions for manipulating tarfile datastructures (src/port/tar.c)
- *
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/pgtar.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PG_TAR_H
-#define PG_TAR_H
-
-#define TAR_BLOCK_SIZE 512
-
-enum tarError
-{
- TAR_OK = 0,
- TAR_NAME_TOO_LONG,
- TAR_SYMLINK_TOO_LONG
-};
-
-extern enum tarError tarCreateHeader(char *h, const char *filename,
- const char *linktarget, pgoff_t size,
- mode_t mode, uid_t uid, gid_t gid,
- time_t mtime);
-extern uint64 read_tar_number(const char *s, int len);
-extern void print_tar_number(char *s, int len, uint64 val);
-extern int tarChecksum(char *header);
-
-/*
- * Compute the number of padding bytes required for an entry in a tar
- * archive. We must pad out to a multiple of TAR_BLOCK_SIZE. Since that's
- * a power of 2, we can use TYPEALIGN().
- */
-static inline size_t
-tarPaddingBytesRequired(size_t len)
-{
- return TYPEALIGN(TAR_BLOCK_SIZE, len) - len;
-}
-
-#endif
diff --git a/contrib/libs/libpq/src/include/pgtime.h b/contrib/libs/libpq/src/include/pgtime.h
deleted file mode 100644
index 28bd27e7f7..0000000000
--- a/contrib/libs/libpq/src/include/pgtime.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * pgtime.h
- * PostgreSQL internal timezone library
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- *
- * IDENTIFICATION
- * src/include/pgtime.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef _PGTIME_H
-#define _PGTIME_H
-
-
-/*
- * The API of this library is generally similar to the corresponding
- * C library functions, except that we use pg_time_t which (we hope) is
- * 64 bits wide, and which is most definitely signed not unsigned.
- */
-
-typedef int64 pg_time_t;
-
-struct pg_tm
-{
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon; /* origin 1, not 0! */
- int tm_year; /* relative to 1900 */
- int tm_wday;
- int tm_yday;
- int tm_isdst;
- long int tm_gmtoff;
- const char *tm_zone;
-};
-
-typedef struct pg_tz pg_tz;
-typedef struct pg_tzenum pg_tzenum;
-
-/* Maximum length of a timezone name (not including trailing null) */
-#define TZ_STRLEN_MAX 255
-
-/* these functions are in localtime.c */
-
-extern struct pg_tm *pg_localtime(const pg_time_t *timep, const pg_tz *tz);
-extern struct pg_tm *pg_gmtime(const pg_time_t *timep);
-extern int pg_next_dst_boundary(const pg_time_t *timep,
- long int *before_gmtoff,
- int *before_isdst,
- pg_time_t *boundary,
- long int *after_gmtoff,
- int *after_isdst,
- const pg_tz *tz);
-extern bool pg_interpret_timezone_abbrev(const char *abbrev,
- const pg_time_t *timep,
- long int *gmtoff,
- int *isdst,
- const pg_tz *tz);
-extern bool pg_get_timezone_offset(const pg_tz *tz, long int *gmtoff);
-extern const char *pg_get_timezone_name(pg_tz *tz);
-extern bool pg_tz_acceptable(pg_tz *tz);
-
-/* these functions are in strftime.c */
-
-extern size_t pg_strftime(char *s, size_t max, const char *format,
- const struct pg_tm *tm);
-
-/* these functions and variables are in pgtz.c */
-
-extern PGDLLIMPORT pg_tz *session_timezone;
-extern pg_tz *log_timezone;
-
-extern void pg_timezone_initialize(void);
-extern pg_tz *pg_tzset(const char *tzname);
-extern pg_tz *pg_tzset_offset(long gmtoffset);
-
-extern pg_tzenum *pg_tzenumerate_start(void);
-extern pg_tz *pg_tzenumerate_next(pg_tzenum *dir);
-extern void pg_tzenumerate_end(pg_tzenum *dir);
-
-#endif /* _PGTIME_H */
diff --git a/contrib/libs/libpq/src/include/port.h b/contrib/libs/libpq/src/include/port.h
deleted file mode 100644
index 82f63de325..0000000000
--- a/contrib/libs/libpq/src/include/port.h
+++ /dev/null
@@ -1,555 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * port.h
- * Header for src/port/ compatibility functions.
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/port.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PG_PORT_H
-#define PG_PORT_H
-
-#include <ctype.h>
-#include <netdb.h>
-#include <pwd.h>
-
-/*
- * Windows has enough specialized port stuff that we push most of it off
- * into another file.
- * Note: Some CYGWIN includes might #define WIN32.
- */
-#if defined(WIN32) && !defined(__CYGWIN__)
-#include "port/win32_port.h"
-#endif
-
-/* socket has a different definition on WIN32 */
-#ifndef WIN32
-typedef int pgsocket;
-
-#define PGINVALID_SOCKET (-1)
-#else
-typedef SOCKET pgsocket;
-
-#define PGINVALID_SOCKET INVALID_SOCKET
-#endif
-
-/* non-blocking */
-extern bool pg_set_noblock(pgsocket sock);
-extern bool pg_set_block(pgsocket sock);
-
-/* Portable path handling for Unix/Win32 (in path.c) */
-
-extern bool has_drive_prefix(const char *filename);
-extern char *first_dir_separator(const char *filename);
-extern char *last_dir_separator(const char *filename);
-extern char *first_path_var_separator(const char *pathlist);
-extern void join_path_components(char *ret_path,
- const char *head, const char *tail);
-extern void canonicalize_path(char *path);
-extern void make_native_path(char *path);
-extern void cleanup_path(char *path);
-extern bool path_contains_parent_reference(const char *path);
-extern bool path_is_relative_and_below_cwd(const char *path);
-extern bool path_is_prefix_of_path(const char *path1, const char *path2);
-extern char *make_absolute_path(const char *path);
-extern const char *get_progname(const char *argv0);
-extern void get_share_path(const char *my_exec_path, char *ret_path);
-extern void get_etc_path(const char *my_exec_path, char *ret_path);
-extern void get_include_path(const char *my_exec_path, char *ret_path);
-extern void get_pkginclude_path(const char *my_exec_path, char *ret_path);
-extern void get_includeserver_path(const char *my_exec_path, char *ret_path);
-extern void get_lib_path(const char *my_exec_path, char *ret_path);
-extern void get_pkglib_path(const char *my_exec_path, char *ret_path);
-extern void get_locale_path(const char *my_exec_path, char *ret_path);
-extern void get_doc_path(const char *my_exec_path, char *ret_path);
-extern void get_html_path(const char *my_exec_path, char *ret_path);
-extern void get_man_path(const char *my_exec_path, char *ret_path);
-extern bool get_home_path(char *ret_path);
-extern void get_parent_directory(char *path);
-
-/* common/pgfnames.c */
-extern char **pgfnames(const char *path);
-extern void pgfnames_cleanup(char **filenames);
-
-/*
- * is_absolute_path
- *
- * By making this a macro we avoid needing to include path.c in libpq.
- */
-#ifndef WIN32
-#define IS_DIR_SEP(ch) ((ch) == '/')
-
-#define is_absolute_path(filename) \
-( \
- IS_DIR_SEP((filename)[0]) \
-)
-#else
-#define IS_DIR_SEP(ch) ((ch) == '/' || (ch) == '\\')
-
-/* See path_is_relative_and_below_cwd() for how we handle 'E:abc'. */
-#define is_absolute_path(filename) \
-( \
- IS_DIR_SEP((filename)[0]) || \
- (isalpha((unsigned char) ((filename)[0])) && (filename)[1] == ':' && \
- IS_DIR_SEP((filename)[2])) \
-)
-#endif
-
-/*
- * This macro provides a centralized list of all errnos that identify
- * hard failure of a previously-established network connection.
- * The macro is intended to be used in a switch statement, in the form
- * "case ALL_CONNECTION_FAILURE_ERRNOS:".
- *
- * Note: this groups EPIPE and ECONNRESET, which we take to indicate a
- * probable server crash, with other errors that indicate loss of network
- * connectivity without proving much about the server's state. Places that
- * are actually reporting errors typically single out EPIPE and ECONNRESET,
- * while allowing the network failures to be reported generically.
- */
-#define ALL_CONNECTION_FAILURE_ERRNOS \
- EPIPE: \
- case ECONNRESET: \
- case ECONNABORTED: \
- case EHOSTDOWN: \
- case EHOSTUNREACH: \
- case ENETDOWN: \
- case ENETRESET: \
- case ENETUNREACH
-
-/* Portable locale initialization (in exec.c) */
-extern void set_pglocale_pgservice(const char *argv0, const char *app);
-
-/* Portable way to find and execute binaries (in exec.c) */
-extern int validate_exec(const char *path);
-extern int find_my_exec(const char *argv0, char *retpath);
-extern int find_other_exec(const char *argv0, const char *target,
- const char *versionstr, char *retpath);
-extern char *pipe_read_line(char *cmd, char *line, int maxsize);
-
-/* Doesn't belong here, but this is used with find_other_exec(), so... */
-#define PG_BACKEND_VERSIONSTR "postgres (PostgreSQL) " PG_VERSION "\n"
-
-
-#if defined(WIN32) || defined(__CYGWIN__)
-#define EXE ".exe"
-#else
-#define EXE ""
-#endif
-
-#if defined(WIN32) && !defined(__CYGWIN__)
-#define DEVNULL "nul"
-#else
-#define DEVNULL "/dev/null"
-#endif
-
-/* Portable delay handling */
-extern void pg_usleep(long microsec);
-
-/* Portable SQL-like case-independent comparisons and conversions */
-extern int pg_strcasecmp(const char *s1, const char *s2);
-extern int pg_strncasecmp(const char *s1, const char *s2, size_t n);
-extern unsigned char pg_toupper(unsigned char ch);
-extern unsigned char pg_tolower(unsigned char ch);
-extern unsigned char pg_ascii_toupper(unsigned char ch);
-extern unsigned char pg_ascii_tolower(unsigned char ch);
-
-/*
- * Beginning in v12, we always replace snprintf() and friends with our own
- * implementation. This symbol is no longer consulted by the core code,
- * but keep it defined anyway in case any extensions are looking at it.
- */
-#define USE_REPL_SNPRINTF 1
-
-/*
- * Versions of libintl >= 0.13 try to replace printf() and friends with
- * macros to their own versions that understand the %$ format. We do the
- * same, so disable their macros, if they exist.
- */
-#ifdef vsnprintf
-#undef vsnprintf
-#endif
-#ifdef snprintf
-#undef snprintf
-#endif
-#ifdef vsprintf
-#undef vsprintf
-#endif
-#ifdef sprintf
-#undef sprintf
-#endif
-#ifdef vfprintf
-#undef vfprintf
-#endif
-#ifdef fprintf
-#undef fprintf
-#endif
-#ifdef vprintf
-#undef vprintf
-#endif
-#ifdef printf
-#undef printf
-#endif
-
-extern int pg_vsnprintf(char *str, size_t count, const char *fmt, va_list args);
-extern int pg_snprintf(char *str, size_t count, const char *fmt,...) pg_attribute_printf(3, 4);
-extern int pg_vsprintf(char *str, const char *fmt, va_list args);
-extern int pg_sprintf(char *str, const char *fmt,...) pg_attribute_printf(2, 3);
-extern int pg_vfprintf(FILE *stream, const char *fmt, va_list args);
-extern int pg_fprintf(FILE *stream, const char *fmt,...) pg_attribute_printf(2, 3);
-extern int pg_vprintf(const char *fmt, va_list args);
-extern int pg_printf(const char *fmt,...) pg_attribute_printf(1, 2);
-
-/*
- * We use __VA_ARGS__ for printf to prevent replacing references to
- * the "printf" format archetype in format() attribute declarations.
- * That unfortunately means that taking a function pointer to printf
- * will not do what we'd wish. (If you need to do that, you must name
- * pg_printf explicitly.) For printf's sibling functions, use
- * parameterless macros so that function pointers will work unsurprisingly.
- */
-#define vsnprintf pg_vsnprintf
-#define snprintf pg_snprintf
-#define vsprintf pg_vsprintf
-#define sprintf pg_sprintf
-#define vfprintf pg_vfprintf
-#define fprintf pg_fprintf
-#define vprintf pg_vprintf
-#define printf(...) pg_printf(__VA_ARGS__)
-
-/* This is also provided by snprintf.c */
-extern int pg_strfromd(char *str, size_t count, int precision, double value);
-
-/* Replace strerror() with our own, somewhat more robust wrapper */
-extern char *pg_strerror(int errnum);
-#define strerror pg_strerror
-
-/* Likewise for strerror_r(); note we prefer the GNU API for that */
-extern char *pg_strerror_r(int errnum, char *buf, size_t buflen);
-#define strerror_r pg_strerror_r
-#define PG_STRERROR_R_BUFLEN 256 /* Recommended buffer size for strerror_r */
-
-/* Wrap strsignal(), or provide our own version if necessary */
-extern const char *pg_strsignal(int signum);
-
-extern int pclose_check(FILE *stream);
-
-/* Global variable holding time zone information. */
-#if defined(WIN32) || defined(__CYGWIN__)
-#define TIMEZONE_GLOBAL _timezone
-#define TZNAME_GLOBAL _tzname
-#else
-#define TIMEZONE_GLOBAL timezone
-#define TZNAME_GLOBAL tzname
-#endif
-
-#if defined(WIN32) || defined(__CYGWIN__)
-/*
- * Win32 doesn't have reliable rename/unlink during concurrent access.
- */
-extern int pgrename(const char *from, const char *to);
-extern int pgunlink(const char *path);
-
-/* Include this first so later includes don't see these defines */
-#ifdef _MSC_VER
-#include <io.h>
-#endif
-
-#define rename(from, to) pgrename(from, to)
-#define unlink(path) pgunlink(path)
-#endif /* defined(WIN32) || defined(__CYGWIN__) */
-
-/*
- * Win32 also doesn't have symlinks, but we can emulate them with
- * junction points on newer Win32 versions.
- *
- * Cygwin has its own symlinks which work on Win95/98/ME where
- * junction points don't, so use those instead. We have no way of
- * knowing what type of system Cygwin binaries will be run on.
- * Note: Some CYGWIN includes might #define WIN32.
- */
-#if defined(WIN32) && !defined(__CYGWIN__)
-extern int pgsymlink(const char *oldpath, const char *newpath);
-extern int pgreadlink(const char *path, char *buf, size_t size);
-extern bool pgwin32_is_junction(const char *path);
-
-#define symlink(oldpath, newpath) pgsymlink(oldpath, newpath)
-#define readlink(path, buf, size) pgreadlink(path, buf, size)
-#endif
-
-extern bool rmtree(const char *path, bool rmtopdir);
-
-#if defined(WIN32) && !defined(__CYGWIN__)
-
-/*
- * open() and fopen() replacements to allow deletion of open files and
- * passing of other special options.
- */
-#define O_DIRECT 0x80000000
-extern int pgwin32_open(const char *, int,...);
-extern FILE *pgwin32_fopen(const char *, const char *);
-#define open(a,b,c) pgwin32_open(a,b,c)
-#define fopen(a,b) pgwin32_fopen(a,b)
-
-/*
- * Mingw-w64 headers #define popen and pclose to _popen and _pclose. We want
- * to use our popen wrapper, rather than plain _popen, so override that. For
- * consistency, use our version of pclose, too.
- */
-#ifdef popen
-#undef popen
-#endif
-#ifdef pclose
-#undef pclose
-#endif
-
-/*
- * system() and popen() replacements to enclose the command in an extra
- * pair of quotes.
- */
-extern int pgwin32_system(const char *command);
-extern FILE *pgwin32_popen(const char *command, const char *type);
-
-#define system(a) pgwin32_system(a)
-#define popen(a,b) pgwin32_popen(a,b)
-#define pclose(a) _pclose(a)
-
-/* New versions of MingW have gettimeofday, old mingw and msvc don't */
-#ifndef HAVE_GETTIMEOFDAY
-/* Last parameter not used */
-extern int gettimeofday(struct timeval *tp, struct timezone *tzp);
-#endif
-#else /* !WIN32 */
-
-/*
- * Win32 requires a special close for sockets and pipes, while on Unix
- * close() does them all.
- */
-#define closesocket close
-#endif /* WIN32 */
-
-/*
- * On Windows, setvbuf() does not support _IOLBF mode, and interprets that
- * as _IOFBF. To add insult to injury, setvbuf(file, NULL, _IOFBF, 0)
- * crashes outright if "parameter validation" is enabled. Therefore, in
- * places where we'd like to select line-buffered mode, we fall back to
- * unbuffered mode instead on Windows. Always use PG_IOLBF not _IOLBF
- * directly in order to implement this behavior.
- */
-#ifndef WIN32
-#define PG_IOLBF _IOLBF
-#else
-#define PG_IOLBF _IONBF
-#endif
-
-/*
- * Default "extern" declarations or macro substitutes for library routines.
- * When necessary, these routines are provided by files in src/port/.
- */
-
-/* Type to use with fseeko/ftello */
-#ifndef WIN32 /* WIN32 is handled in port/win32_port.h */
-#define pgoff_t off_t
-#endif
-
-extern double pg_erand48(unsigned short xseed[3]);
-extern long pg_lrand48(void);
-extern long pg_jrand48(unsigned short xseed[3]);
-extern void pg_srand48(long seed);
-
-#ifndef HAVE_FLS
-extern int fls(int mask);
-#endif
-
-#ifndef HAVE_GETPEEREID
-/* On Windows, Perl might have incompatible definitions of uid_t and gid_t. */
-#ifndef PLPERL_HAVE_UID_GID
-extern int getpeereid(int sock, uid_t *uid, gid_t *gid);
-#endif
-#endif
-
-/*
- * Glibc doesn't use the builtin for clang due to a *gcc* bug in a version
- * newer than the gcc compatibility clang claims to have. This would cause a
- * *lot* of superfluous function calls, therefore revert when using clang. In
- * C++ there's issues with libc++ (not libstdc++), so disable as well.
- */
-#if defined(__clang__) && !defined(__cplusplus)
-/* needs to be separate to not confuse other compilers */
-#if __has_builtin(__builtin_isinf)
-/* need to include before, to avoid getting overwritten */
-#include <math.h>
-#undef isinf
-#define isinf __builtin_isinf
-#endif /* __has_builtin(isinf) */
-#endif /* __clang__ && !__cplusplus */
-
-#ifndef HAVE_EXPLICIT_BZERO
-extern void explicit_bzero(void *buf, size_t len);
-#endif
-
-#ifndef HAVE_STRTOF
-extern float strtof(const char *nptr, char **endptr);
-#endif
-
-#ifdef HAVE_BUGGY_STRTOF
-extern float pg_strtof(const char *nptr, char **endptr);
-#define strtof(a,b) (pg_strtof((a),(b)))
-#endif
-
-#ifndef HAVE_LINK
-extern int link(const char *src, const char *dst);
-#endif
-
-#ifndef HAVE_MKDTEMP
-extern char *mkdtemp(char *path);
-#endif
-
-#ifndef HAVE_INET_ATON
-#include <netinet/in.h>
-#include <arpa/inet.h>
-extern int inet_aton(const char *cp, struct in_addr *addr);
-#endif
-
-/*
- * Windows and older Unix don't have pread(2) and pwrite(2). We have
- * replacement functions, but they have slightly different semantics so we'll
- * use a name with a pg_ prefix to avoid confusion.
- */
-#ifdef HAVE_PREAD
-#define pg_pread pread
-#else
-extern ssize_t pg_pread(int fd, void *buf, size_t nbyte, off_t offset);
-#endif
-
-#ifdef HAVE_PWRITE
-#define pg_pwrite pwrite
-#else
-extern ssize_t pg_pwrite(int fd, const void *buf, size_t nbyte, off_t offset);
-#endif
-
-/* For pg_pwritev() and pg_preadv(), see port/pg_iovec.h. */
-
-#if !HAVE_DECL_STRLCAT
-extern size_t strlcat(char *dst, const char *src, size_t siz);
-#endif
-
-#if !HAVE_DECL_STRLCPY
-extern size_t strlcpy(char *dst, const char *src, size_t siz);
-#endif
-
-#if !HAVE_DECL_STRNLEN
-extern size_t strnlen(const char *str, size_t maxlen);
-#endif
-
-#if !defined(HAVE_RANDOM)
-extern long random(void);
-#endif
-
-#ifndef HAVE_SETENV
-extern int setenv(const char *name, const char *value, int overwrite);
-#endif
-
-#ifndef HAVE_UNSETENV
-extern int unsetenv(const char *name);
-#endif
-
-#ifndef HAVE_SRANDOM
-extern void srandom(unsigned int seed);
-#endif
-
-#ifndef HAVE_DLOPEN
-extern void *dlopen(const char *file, int mode);
-extern void *dlsym(void *handle, const char *symbol);
-extern int dlclose(void *handle);
-extern char *dlerror(void);
-#endif
-
-/*
- * In some older systems, the RTLD_NOW flag isn't defined and the mode
- * argument to dlopen must always be 1.
- */
-#if !HAVE_DECL_RTLD_NOW
-#define RTLD_NOW 1
-#endif
-
-/*
- * The RTLD_GLOBAL flag is wanted if available, but it doesn't exist
- * everywhere. If it doesn't exist, set it to 0 so it has no effect.
- */
-#if !HAVE_DECL_RTLD_GLOBAL
-#define RTLD_GLOBAL 0
-#endif
-
-/* thread.h */
-#ifndef WIN32
-extern int pqGetpwuid(uid_t uid, struct passwd *resultbuf, char *buffer,
- size_t buflen, struct passwd **result);
-#endif
-
-extern int pqGethostbyname(const char *name,
- struct hostent *resultbuf,
- char *buffer, size_t buflen,
- struct hostent **result,
- int *herrno);
-
-extern void pg_qsort(void *base, size_t nel, size_t elsize,
- int (*cmp) (const void *, const void *));
-extern int pg_qsort_strcmp(const void *a, const void *b);
-
-#define qsort(a,b,c,d) pg_qsort(a,b,c,d)
-
-typedef int (*qsort_arg_comparator) (const void *a, const void *b, void *arg);
-
-extern void qsort_arg(void *base, size_t nel, size_t elsize,
- qsort_arg_comparator cmp, void *arg);
-
-extern void *bsearch_arg(const void *key, const void *base,
- size_t nmemb, size_t size,
- int (*compar) (const void *, const void *, void *),
- void *arg);
-
-/* port/chklocale.c */
-extern int pg_get_encoding_from_locale(const char *ctype, bool write_message);
-
-#if defined(WIN32) && !defined(FRONTEND)
-extern int pg_codepage_to_encoding(UINT cp);
-#endif
-
-/* port/inet_net_ntop.c */
-extern char *pg_inet_net_ntop(int af, const void *src, int bits,
- char *dst, size_t size);
-
-/* port/pg_strong_random.c */
-extern void pg_strong_random_init(void);
-extern bool pg_strong_random(void *buf, size_t len);
-
-/*
- * pg_backend_random used to be a wrapper for pg_strong_random before
- * Postgres 12 for the backend code.
- */
-#define pg_backend_random pg_strong_random
-
-/* port/pgcheckdir.c */
-extern int pg_check_dir(const char *dir);
-
-/* port/pgmkdirp.c */
-extern int pg_mkdir_p(char *path, int omode);
-
-/* port/pqsignal.c */
-typedef void (*pqsigfunc) (int signo);
-extern pqsigfunc pqsignal(int signo, pqsigfunc func);
-
-/* port/quotes.c */
-extern char *escape_single_quotes_ascii(const char *src);
-
-/* common/wait_error.c */
-extern char *wait_result_to_str(int exit_status);
-extern bool wait_result_is_signal(int exit_status, int signum);
-extern bool wait_result_is_any_signal(int exit_status, bool include_command_not_found);
-
-#endif /* PG_PORT_H */
diff --git a/contrib/libs/libpq/src/include/port/aix.h b/contrib/libs/libpq/src/include/port/aix.h
deleted file mode 100644
index 5b1159c578..0000000000
--- a/contrib/libs/libpq/src/include/port/aix.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * src/include/port/aix.h
- */
-#define CLASS_CONFLICT
-#define DISABLE_XOPEN_NLS
-
-/*
- * "IBM XL C/C++ for AIX, V12.1" miscompiles, for 32-bit, some inline
- * expansions of ginCompareItemPointers() "long long" arithmetic. To take
- * advantage of inlining, build a 64-bit PostgreSQL.
- */
-#if defined(__ILP32__) && defined(__IBMC__)
-#define PG_FORCE_DISABLE_INLINE
-#endif
diff --git a/contrib/libs/libpq/src/include/port/atomics.h b/contrib/libs/libpq/src/include/port/atomics.h
deleted file mode 100644
index 856338f161..0000000000
--- a/contrib/libs/libpq/src/include/port/atomics.h
+++ /dev/null
@@ -1,524 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * atomics.h
- * Atomic operations.
- *
- * Hardware and compiler dependent functions for manipulating memory
- * atomically and dealing with cache coherency. Used to implement locking
- * facilities and lockless algorithms/data structures.
- *
- * To bring up postgres on a platform/compiler at the very least
- * implementations for the following operations should be provided:
- * * pg_compiler_barrier(), pg_write_barrier(), pg_read_barrier()
- * * pg_atomic_compare_exchange_u32(), pg_atomic_fetch_add_u32()
- * * pg_atomic_test_set_flag(), pg_atomic_init_flag(), pg_atomic_clear_flag()
- * * PG_HAVE_8BYTE_SINGLE_COPY_ATOMICITY should be defined if appropriate.
- *
- * There exist generic, hardware independent, implementations for several
- * compilers which might be sufficient, although possibly not optimal, for a
- * new platform. If no such generic implementation is available spinlocks (or
- * even OS provided semaphores) will be used to implement the API.
- *
- * Implement _u64 atomics if and only if your platform can use them
- * efficiently (and obviously correctly).
- *
- * Use higher level functionality (lwlocks, spinlocks, heavyweight locks)
- * whenever possible. Writing correct code using these facilities is hard.
- *
- * For an introduction to using memory barriers within the PostgreSQL backend,
- * see src/backend/storage/lmgr/README.barrier
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/port/atomics.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef ATOMICS_H
-#define ATOMICS_H
-
-#ifdef FRONTEND
-#error "atomics.h may not be included from frontend code"
-#endif
-
-#define INSIDE_ATOMICS_H
-
-#include <limits.h>
-
-/*
- * First a set of architecture specific files is included.
- *
- * These files can provide the full set of atomics or can do pretty much
- * nothing if all the compilers commonly used on these platforms provide
- * usable generics.
- *
- * Don't add an inline assembly of the actual atomic operations if all the
- * common implementations of your platform provide intrinsics. Intrinsics are
- * much easier to understand and potentially support more architectures.
- *
- * It will often make sense to define memory barrier semantics here, since
- * e.g. generic compiler intrinsics for x86 memory barriers can't know that
- * postgres doesn't need x86 read/write barriers do anything more than a
- * compiler barrier.
- *
- */
-#if defined(__arm__) || defined(__arm) || \
- defined(__aarch64__) || defined(__aarch64)
-#include "port/atomics/arch-arm.h"
-#elif defined(__i386__) || defined(__i386) || defined(__x86_64__)
-#include "port/atomics/arch-x86.h"
-#elif defined(__ia64__) || defined(__ia64)
-#include "port/atomics/arch-ia64.h"
-#elif defined(__ppc__) || defined(__powerpc__) || defined(__ppc64__) || defined(__powerpc64__)
-#include "port/atomics/arch-ppc.h"
-#elif defined(__hppa) || defined(__hppa__)
-#include "port/atomics/arch-hppa.h"
-#endif
-
-/*
- * Compiler specific, but architecture independent implementations.
- *
- * Provide architecture independent implementations of the atomic
- * facilities. At the very least compiler barriers should be provided, but a
- * full implementation of
- * * pg_compiler_barrier(), pg_write_barrier(), pg_read_barrier()
- * * pg_atomic_compare_exchange_u32(), pg_atomic_fetch_add_u32()
- * using compiler intrinsics are a good idea.
- */
-/*
- * gcc or compatible, including clang and icc. Exclude xlc. The ppc64le "IBM
- * XL C/C++ for Linux, V13.1.2" emulates gcc, but __sync_lock_test_and_set()
- * of one-byte types elicits SIGSEGV. That bug was gone by V13.1.5 (2016-12).
- */
-#if (defined(__GNUC__) || defined(__INTEL_COMPILER)) && !(defined(__IBMC__) || defined(__IBMCPP__))
-#include "port/atomics/generic-gcc.h"
-#elif defined(_MSC_VER)
-#include "port/atomics/generic-msvc.h"
-#elif defined(__hpux) && defined(__ia64) && !defined(__GNUC__)
-#include "port/atomics/generic-acc.h"
-#elif defined(__SUNPRO_C) && !defined(__GNUC__)
-#include "port/atomics/generic-sunpro.h"
-#else
-/*
- * Unsupported compiler, we'll likely use slower fallbacks... At least
- * compiler barriers should really be provided.
- */
-#endif
-
-/*
- * Provide a full fallback of the pg_*_barrier(), pg_atomic**_flag and
- * pg_atomic_* APIs for platforms without sufficient spinlock and/or atomics
- * support. In the case of spinlock backed atomics the emulation is expected
- * to be efficient, although less so than native atomics support.
- */
-#include "port/atomics/fallback.h"
-
-/*
- * Provide additional operations using supported infrastructure. These are
- * expected to be efficient if the underlying atomic operations are efficient.
- */
-#include "port/atomics/generic.h"
-
-
-/*
- * pg_compiler_barrier - prevent the compiler from moving code across
- *
- * A compiler barrier need not (and preferably should not) emit any actual
- * machine code, but must act as an optimization fence: the compiler must not
- * reorder loads or stores to main memory around the barrier. However, the
- * CPU may still reorder loads or stores at runtime, if the architecture's
- * memory model permits this.
- */
-#define pg_compiler_barrier() pg_compiler_barrier_impl()
-
-/*
- * pg_memory_barrier - prevent the CPU from reordering memory access
- *
- * A memory barrier must act as a compiler barrier, and in addition must
- * guarantee that all loads and stores issued prior to the barrier are
- * completed before any loads or stores issued after the barrier. Unless
- * loads and stores are totally ordered (which is not the case on most
- * architectures) this requires issuing some sort of memory fencing
- * instruction.
- */
-#define pg_memory_barrier() pg_memory_barrier_impl()
-
-/*
- * pg_(read|write)_barrier - prevent the CPU from reordering memory access
- *
- * A read barrier must act as a compiler barrier, and in addition must
- * guarantee that any loads issued prior to the barrier are completed before
- * any loads issued after the barrier. Similarly, a write barrier acts
- * as a compiler barrier, and also orders stores. Read and write barriers
- * are thus weaker than a full memory barrier, but stronger than a compiler
- * barrier. In practice, on machines with strong memory ordering, read and
- * write barriers may require nothing more than a compiler barrier.
- */
-#define pg_read_barrier() pg_read_barrier_impl()
-#define pg_write_barrier() pg_write_barrier_impl()
-
-/*
- * Spinloop delay - Allow CPU to relax in busy loops
- */
-#define pg_spin_delay() pg_spin_delay_impl()
-
-/*
- * pg_atomic_init_flag - initialize atomic flag.
- *
- * No barrier semantics.
- */
-static inline void
-pg_atomic_init_flag(volatile pg_atomic_flag *ptr)
-{
- pg_atomic_init_flag_impl(ptr);
-}
-
-/*
- * pg_atomic_test_set_flag - TAS()
- *
- * Returns true if the flag has successfully been set, false otherwise.
- *
- * Acquire (including read barrier) semantics.
- */
-static inline bool
-pg_atomic_test_set_flag(volatile pg_atomic_flag *ptr)
-{
- return pg_atomic_test_set_flag_impl(ptr);
-}
-
-/*
- * pg_atomic_unlocked_test_flag - Check if the lock is free
- *
- * Returns true if the flag currently is not set, false otherwise.
- *
- * No barrier semantics.
- */
-static inline bool
-pg_atomic_unlocked_test_flag(volatile pg_atomic_flag *ptr)
-{
- return pg_atomic_unlocked_test_flag_impl(ptr);
-}
-
-/*
- * pg_atomic_clear_flag - release lock set by TAS()
- *
- * Release (including write barrier) semantics.
- */
-static inline void
-pg_atomic_clear_flag(volatile pg_atomic_flag *ptr)
-{
- pg_atomic_clear_flag_impl(ptr);
-}
-
-
-/*
- * pg_atomic_init_u32 - initialize atomic variable
- *
- * Has to be done before any concurrent usage..
- *
- * No barrier semantics.
- */
-static inline void
-pg_atomic_init_u32(volatile pg_atomic_uint32 *ptr, uint32 val)
-{
- AssertPointerAlignment(ptr, 4);
-
- pg_atomic_init_u32_impl(ptr, val);
-}
-
-/*
- * pg_atomic_read_u32 - unlocked read from atomic variable.
- *
- * The read is guaranteed to return a value as it has been written by this or
- * another process at some point in the past. There's however no cache
- * coherency interaction guaranteeing the value hasn't since been written to
- * again.
- *
- * No barrier semantics.
- */
-static inline uint32
-pg_atomic_read_u32(volatile pg_atomic_uint32 *ptr)
-{
- AssertPointerAlignment(ptr, 4);
- return pg_atomic_read_u32_impl(ptr);
-}
-
-/*
- * pg_atomic_write_u32 - write to atomic variable.
- *
- * The write is guaranteed to succeed as a whole, i.e. it's not possible to
- * observe a partial write for any reader. Note that this correctly interacts
- * with pg_atomic_compare_exchange_u32, in contrast to
- * pg_atomic_unlocked_write_u32().
- *
- * No barrier semantics.
- */
-static inline void
-pg_atomic_write_u32(volatile pg_atomic_uint32 *ptr, uint32 val)
-{
- AssertPointerAlignment(ptr, 4);
-
- pg_atomic_write_u32_impl(ptr, val);
-}
-
-/*
- * pg_atomic_unlocked_write_u32 - unlocked write to atomic variable.
- *
- * The write is guaranteed to succeed as a whole, i.e. it's not possible to
- * observe a partial write for any reader. But note that writing this way is
- * not guaranteed to correctly interact with read-modify-write operations like
- * pg_atomic_compare_exchange_u32. This should only be used in cases where
- * minor performance regressions due to atomics emulation are unacceptable.
- *
- * No barrier semantics.
- */
-static inline void
-pg_atomic_unlocked_write_u32(volatile pg_atomic_uint32 *ptr, uint32 val)
-{
- AssertPointerAlignment(ptr, 4);
-
- pg_atomic_unlocked_write_u32_impl(ptr, val);
-}
-
-/*
- * pg_atomic_exchange_u32 - exchange newval with current value
- *
- * Returns the old value of 'ptr' before the swap.
- *
- * Full barrier semantics.
- */
-static inline uint32
-pg_atomic_exchange_u32(volatile pg_atomic_uint32 *ptr, uint32 newval)
-{
- AssertPointerAlignment(ptr, 4);
-
- return pg_atomic_exchange_u32_impl(ptr, newval);
-}
-
-/*
- * pg_atomic_compare_exchange_u32 - CAS operation
- *
- * Atomically compare the current value of ptr with *expected and store newval
- * iff ptr and *expected have the same value. The current value of *ptr will
- * always be stored in *expected.
- *
- * Return true if values have been exchanged, false otherwise.
- *
- * Full barrier semantics.
- */
-static inline bool
-pg_atomic_compare_exchange_u32(volatile pg_atomic_uint32 *ptr,
- uint32 *expected, uint32 newval)
-{
- AssertPointerAlignment(ptr, 4);
- AssertPointerAlignment(expected, 4);
-
- return pg_atomic_compare_exchange_u32_impl(ptr, expected, newval);
-}
-
-/*
- * pg_atomic_fetch_add_u32 - atomically add to variable
- *
- * Returns the value of ptr before the arithmetic operation.
- *
- * Full barrier semantics.
- */
-static inline uint32
-pg_atomic_fetch_add_u32(volatile pg_atomic_uint32 *ptr, int32 add_)
-{
- AssertPointerAlignment(ptr, 4);
- return pg_atomic_fetch_add_u32_impl(ptr, add_);
-}
-
-/*
- * pg_atomic_fetch_sub_u32 - atomically subtract from variable
- *
- * Returns the value of ptr before the arithmetic operation. Note that sub_
- * may not be INT_MIN due to platform limitations.
- *
- * Full barrier semantics.
- */
-static inline uint32
-pg_atomic_fetch_sub_u32(volatile pg_atomic_uint32 *ptr, int32 sub_)
-{
- AssertPointerAlignment(ptr, 4);
- Assert(sub_ != INT_MIN);
- return pg_atomic_fetch_sub_u32_impl(ptr, sub_);
-}
-
-/*
- * pg_atomic_fetch_and_u32 - atomically bit-and and_ with variable
- *
- * Returns the value of ptr before the arithmetic operation.
- *
- * Full barrier semantics.
- */
-static inline uint32
-pg_atomic_fetch_and_u32(volatile pg_atomic_uint32 *ptr, uint32 and_)
-{
- AssertPointerAlignment(ptr, 4);
- return pg_atomic_fetch_and_u32_impl(ptr, and_);
-}
-
-/*
- * pg_atomic_fetch_or_u32 - atomically bit-or or_ with variable
- *
- * Returns the value of ptr before the arithmetic operation.
- *
- * Full barrier semantics.
- */
-static inline uint32
-pg_atomic_fetch_or_u32(volatile pg_atomic_uint32 *ptr, uint32 or_)
-{
- AssertPointerAlignment(ptr, 4);
- return pg_atomic_fetch_or_u32_impl(ptr, or_);
-}
-
-/*
- * pg_atomic_add_fetch_u32 - atomically add to variable
- *
- * Returns the value of ptr after the arithmetic operation.
- *
- * Full barrier semantics.
- */
-static inline uint32
-pg_atomic_add_fetch_u32(volatile pg_atomic_uint32 *ptr, int32 add_)
-{
- AssertPointerAlignment(ptr, 4);
- return pg_atomic_add_fetch_u32_impl(ptr, add_);
-}
-
-/*
- * pg_atomic_sub_fetch_u32 - atomically subtract from variable
- *
- * Returns the value of ptr after the arithmetic operation. Note that sub_ may
- * not be INT_MIN due to platform limitations.
- *
- * Full barrier semantics.
- */
-static inline uint32
-pg_atomic_sub_fetch_u32(volatile pg_atomic_uint32 *ptr, int32 sub_)
-{
- AssertPointerAlignment(ptr, 4);
- Assert(sub_ != INT_MIN);
- return pg_atomic_sub_fetch_u32_impl(ptr, sub_);
-}
-
-/* ----
- * The 64 bit operations have the same semantics as their 32bit counterparts
- * if they are available. Check the corresponding 32bit function for
- * documentation.
- * ----
- */
-static inline void
-pg_atomic_init_u64(volatile pg_atomic_uint64 *ptr, uint64 val)
-{
- /*
- * Can't necessarily enforce alignment - and don't need it - when using
- * the spinlock based fallback implementation. Therefore only assert when
- * not using it.
- */
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- pg_atomic_init_u64_impl(ptr, val);
-}
-
-static inline uint64
-pg_atomic_read_u64(volatile pg_atomic_uint64 *ptr)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- return pg_atomic_read_u64_impl(ptr);
-}
-
-static inline void
-pg_atomic_write_u64(volatile pg_atomic_uint64 *ptr, uint64 val)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- pg_atomic_write_u64_impl(ptr, val);
-}
-
-static inline uint64
-pg_atomic_exchange_u64(volatile pg_atomic_uint64 *ptr, uint64 newval)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- return pg_atomic_exchange_u64_impl(ptr, newval);
-}
-
-static inline bool
-pg_atomic_compare_exchange_u64(volatile pg_atomic_uint64 *ptr,
- uint64 *expected, uint64 newval)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
- AssertPointerAlignment(expected, 8);
-#endif
- return pg_atomic_compare_exchange_u64_impl(ptr, expected, newval);
-}
-
-static inline uint64
-pg_atomic_fetch_add_u64(volatile pg_atomic_uint64 *ptr, int64 add_)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- return pg_atomic_fetch_add_u64_impl(ptr, add_);
-}
-
-static inline uint64
-pg_atomic_fetch_sub_u64(volatile pg_atomic_uint64 *ptr, int64 sub_)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- Assert(sub_ != PG_INT64_MIN);
- return pg_atomic_fetch_sub_u64_impl(ptr, sub_);
-}
-
-static inline uint64
-pg_atomic_fetch_and_u64(volatile pg_atomic_uint64 *ptr, uint64 and_)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- return pg_atomic_fetch_and_u64_impl(ptr, and_);
-}
-
-static inline uint64
-pg_atomic_fetch_or_u64(volatile pg_atomic_uint64 *ptr, uint64 or_)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- return pg_atomic_fetch_or_u64_impl(ptr, or_);
-}
-
-static inline uint64
-pg_atomic_add_fetch_u64(volatile pg_atomic_uint64 *ptr, int64 add_)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- return pg_atomic_add_fetch_u64_impl(ptr, add_);
-}
-
-static inline uint64
-pg_atomic_sub_fetch_u64(volatile pg_atomic_uint64 *ptr, int64 sub_)
-{
-#ifndef PG_HAVE_ATOMIC_U64_SIMULATION
- AssertPointerAlignment(ptr, 8);
-#endif
- Assert(sub_ != PG_INT64_MIN);
- return pg_atomic_sub_fetch_u64_impl(ptr, sub_);
-}
-
-#undef INSIDE_ATOMICS_H
-
-#endif /* ATOMICS_H */
diff --git a/contrib/libs/libpq/src/include/port/cygwin.h b/contrib/libs/libpq/src/include/port/cygwin.h
deleted file mode 100644
index 64d69936e5..0000000000
--- a/contrib/libs/libpq/src/include/port/cygwin.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* src/include/port/cygwin.h */
-
-#ifdef BUILDING_DLL
-#define PGDLLIMPORT __declspec (dllexport)
-#else
-#define PGDLLIMPORT __declspec (dllimport)
-#endif
-
-#define PGDLLEXPORT
-
-/*
- * Cygwin has a strtof() which is literally just (float)strtod(), which means
- * we get misrounding _and_ silent over/underflow. Using our wrapper doesn't
- * fix the misrounding but does fix the error checks, which cuts down on the
- * number of test variant files needed.
- */
-#define HAVE_BUGGY_STRTOF 1
diff --git a/contrib/libs/libpq/src/include/port/darwin.h b/contrib/libs/libpq/src/include/port/darwin.h
deleted file mode 100644
index 15fb69d6db..0000000000
--- a/contrib/libs/libpq/src/include/port/darwin.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* src/include/port/darwin.h */
-
-#define __darwin__ 1
-
-#if HAVE_DECL_F_FULLFSYNC /* not present before macOS 10.3 */
-#define HAVE_FSYNC_WRITETHROUGH
-
-#endif
diff --git a/contrib/libs/libpq/src/include/port/freebsd.h b/contrib/libs/libpq/src/include/port/freebsd.h
deleted file mode 100644
index 2e2e749a6b..0000000000
--- a/contrib/libs/libpq/src/include/port/freebsd.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* src/include/port/freebsd.h */
-
-/*
- * Set the default wal_sync_method to fdatasync. xlogdefs.h's normal rules
- * would prefer open_datasync on FreeBSD 13+, but that is not a good choice on
- * many systems.
- */
-#ifdef HAVE_FDATASYNC
-#define PLATFORM_DEFAULT_SYNC_METHOD SYNC_METHOD_FDATASYNC
-#endif
diff --git a/contrib/libs/libpq/src/include/port/hpux.h b/contrib/libs/libpq/src/include/port/hpux.h
deleted file mode 100644
index 4d1dcea70c..0000000000
--- a/contrib/libs/libpq/src/include/port/hpux.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* src/include/port/hpux.h */
-
-/* nothing needed */
diff --git a/contrib/libs/libpq/src/include/port/linux.h b/contrib/libs/libpq/src/include/port/linux.h
deleted file mode 100644
index 7a6e46cdbb..0000000000
--- a/contrib/libs/libpq/src/include/port/linux.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* src/include/port/linux.h */
-
-/*
- * As of July 2007, all known versions of the Linux kernel will sometimes
- * return EIDRM for a shmctl() operation when EINVAL is correct (it happens
- * when the low-order 15 bits of the supplied shm ID match the slot number
- * assigned to a newer shmem segment). We deal with this by assuming that
- * EIDRM means EINVAL in PGSharedMemoryIsInUse(). This is reasonably safe
- * since in fact Linux has no excuse for ever returning EIDRM; it doesn't
- * track removed segments in a way that would allow distinguishing them from
- * private ones. But someday that code might get upgraded, and we'd have
- * to have a kernel version test here.
- */
-#define HAVE_LINUX_EIDRM_BUG
-
-/*
- * Set the default wal_sync_method to fdatasync. With recent Linux versions,
- * xlogdefs.h's normal rules will prefer open_datasync, which (a) doesn't
- * perform better and (b) causes outright failures on ext4 data=journal
- * filesystems, because those don't support O_DIRECT.
- */
-#define PLATFORM_DEFAULT_SYNC_METHOD SYNC_METHOD_FDATASYNC
diff --git a/contrib/libs/libpq/src/include/port/netbsd.h b/contrib/libs/libpq/src/include/port/netbsd.h
deleted file mode 100644
index 590233fbdb..0000000000
--- a/contrib/libs/libpq/src/include/port/netbsd.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/netbsd.h */
diff --git a/contrib/libs/libpq/src/include/port/openbsd.h b/contrib/libs/libpq/src/include/port/openbsd.h
deleted file mode 100644
index 395319bd77..0000000000
--- a/contrib/libs/libpq/src/include/port/openbsd.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/openbsd.h */
diff --git a/contrib/libs/libpq/src/include/port/pg_bitutils.h b/contrib/libs/libpq/src/include/port/pg_bitutils.h
deleted file mode 100644
index 086bd08132..0000000000
--- a/contrib/libs/libpq/src/include/port/pg_bitutils.h
+++ /dev/null
@@ -1,272 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * pg_bitutils.h
- * Miscellaneous functions for bit-wise operations.
- *
- *
- * Copyright (c) 2019-2021, PostgreSQL Global Development Group
- *
- * src/include/port/pg_bitutils.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PG_BITUTILS_H
-#define PG_BITUTILS_H
-
-#ifndef FRONTEND
-extern PGDLLIMPORT const uint8 pg_leftmost_one_pos[256];
-extern PGDLLIMPORT const uint8 pg_rightmost_one_pos[256];
-extern PGDLLIMPORT const uint8 pg_number_of_ones[256];
-#else
-extern const uint8 pg_leftmost_one_pos[256];
-extern const uint8 pg_rightmost_one_pos[256];
-extern const uint8 pg_number_of_ones[256];
-#endif
-
-/*
- * pg_leftmost_one_pos32
- * Returns the position of the most significant set bit in "word",
- * measured from the least significant bit. word must not be 0.
- */
-static inline int
-pg_leftmost_one_pos32(uint32 word)
-{
-#ifdef HAVE__BUILTIN_CLZ
- Assert(word != 0);
-
- return 31 - __builtin_clz(word);
-#else
- int shift = 32 - 8;
-
- Assert(word != 0);
-
- while ((word >> shift) == 0)
- shift -= 8;
-
- return shift + pg_leftmost_one_pos[(word >> shift) & 255];
-#endif /* HAVE__BUILTIN_CLZ */
-}
-
-/*
- * pg_leftmost_one_pos64
- * As above, but for a 64-bit word.
- */
-static inline int
-pg_leftmost_one_pos64(uint64 word)
-{
-#ifdef HAVE__BUILTIN_CLZ
- Assert(word != 0);
-
-#if defined(HAVE_LONG_INT_64)
- return 63 - __builtin_clzl(word);
-#elif defined(HAVE_LONG_LONG_INT_64)
- return 63 - __builtin_clzll(word);
-#else
-#error must have a working 64-bit integer datatype
-#endif
-#else /* !HAVE__BUILTIN_CLZ */
- int shift = 64 - 8;
-
- Assert(word != 0);
-
- while ((word >> shift) == 0)
- shift -= 8;
-
- return shift + pg_leftmost_one_pos[(word >> shift) & 255];
-#endif /* HAVE__BUILTIN_CLZ */
-}
-
-/*
- * pg_rightmost_one_pos32
- * Returns the position of the least significant set bit in "word",
- * measured from the least significant bit. word must not be 0.
- */
-static inline int
-pg_rightmost_one_pos32(uint32 word)
-{
-#ifdef HAVE__BUILTIN_CTZ
- Assert(word != 0);
-
- return __builtin_ctz(word);
-#else
- int result = 0;
-
- Assert(word != 0);
-
- while ((word & 255) == 0)
- {
- word >>= 8;
- result += 8;
- }
- result += pg_rightmost_one_pos[word & 255];
- return result;
-#endif /* HAVE__BUILTIN_CTZ */
-}
-
-/*
- * pg_rightmost_one_pos64
- * As above, but for a 64-bit word.
- */
-static inline int
-pg_rightmost_one_pos64(uint64 word)
-{
-#ifdef HAVE__BUILTIN_CTZ
- Assert(word != 0);
-
-#if defined(HAVE_LONG_INT_64)
- return __builtin_ctzl(word);
-#elif defined(HAVE_LONG_LONG_INT_64)
- return __builtin_ctzll(word);
-#else
-#error must have a working 64-bit integer datatype
-#endif
-#else /* !HAVE__BUILTIN_CTZ */
- int result = 0;
-
- Assert(word != 0);
-
- while ((word & 255) == 0)
- {
- word >>= 8;
- result += 8;
- }
- result += pg_rightmost_one_pos[word & 255];
- return result;
-#endif /* HAVE__BUILTIN_CTZ */
-}
-
-/*
- * pg_nextpower2_32
- * Returns the next higher power of 2 above 'num', or 'num' if it's
- * already a power of 2.
- *
- * 'num' mustn't be 0 or be above PG_UINT32_MAX / 2 + 1.
- */
-static inline uint32
-pg_nextpower2_32(uint32 num)
-{
- Assert(num > 0 && num <= PG_UINT32_MAX / 2 + 1);
-
- /*
- * A power 2 number has only 1 bit set. Subtracting 1 from such a number
- * will turn on all previous bits resulting in no common bits being set
- * between num and num-1.
- */
- if ((num & (num - 1)) == 0)
- return num; /* already power 2 */
-
- return ((uint32) 1) << (pg_leftmost_one_pos32(num) + 1);
-}
-
-/*
- * pg_nextpower2_64
- * Returns the next higher power of 2 above 'num', or 'num' if it's
- * already a power of 2.
- *
- * 'num' mustn't be 0 or be above PG_UINT64_MAX / 2 + 1.
- */
-static inline uint64
-pg_nextpower2_64(uint64 num)
-{
- Assert(num > 0 && num <= PG_UINT64_MAX / 2 + 1);
-
- /*
- * A power 2 number has only 1 bit set. Subtracting 1 from such a number
- * will turn on all previous bits resulting in no common bits being set
- * between num and num-1.
- */
- if ((num & (num - 1)) == 0)
- return num; /* already power 2 */
-
- return ((uint64) 1) << (pg_leftmost_one_pos64(num) + 1);
-}
-
-/*
- * pg_nextpower2_size_t
- * Returns the next higher power of 2 above 'num', for a size_t input.
- */
-#if SIZEOF_SIZE_T == 4
-#define pg_nextpower2_size_t(num) pg_nextpower2_32(num)
-#else
-#define pg_nextpower2_size_t(num) pg_nextpower2_64(num)
-#endif
-
-/*
- * pg_prevpower2_32
- * Returns the next lower power of 2 below 'num', or 'num' if it's
- * already a power of 2.
- *
- * 'num' mustn't be 0.
- */
-static inline uint32
-pg_prevpower2_32(uint32 num)
-{
- return ((uint32) 1) << pg_leftmost_one_pos32(num);
-}
-
-/*
- * pg_prevpower2_64
- * Returns the next lower power of 2 below 'num', or 'num' if it's
- * already a power of 2.
- *
- * 'num' mustn't be 0.
- */
-static inline uint64
-pg_prevpower2_64(uint64 num)
-{
- return ((uint64) 1) << pg_leftmost_one_pos64(num);
-}
-
-/*
- * pg_prevpower2_size_t
- * Returns the next lower power of 2 below 'num', for a size_t input.
- */
-#if SIZEOF_SIZE_T == 4
-#define pg_prevpower2_size_t(num) pg_prevpower2_32(num)
-#else
-#define pg_prevpower2_size_t(num) pg_prevpower2_64(num)
-#endif
-
-/*
- * pg_ceil_log2_32
- * Returns equivalent of ceil(log2(num))
- */
-static inline uint32
-pg_ceil_log2_32(uint32 num)
-{
- if (num < 2)
- return 0;
- else
- return pg_leftmost_one_pos32(num - 1) + 1;
-}
-
-/*
- * pg_ceil_log2_64
- * Returns equivalent of ceil(log2(num))
- */
-static inline uint64
-pg_ceil_log2_64(uint64 num)
-{
- if (num < 2)
- return 0;
- else
- return pg_leftmost_one_pos64(num - 1) + 1;
-}
-
-/* Count the number of one-bits in a uint32 or uint64 */
-extern int (*pg_popcount32) (uint32 word);
-extern int (*pg_popcount64) (uint64 word);
-
-/* Count the number of one-bits in a byte array */
-extern uint64 pg_popcount(const char *buf, int bytes);
-
-/*
- * Rotate the bits of "word" to the right by n bits.
- */
-static inline uint32
-pg_rotate_right32(uint32 word, int n)
-{
- return (word >> n) | (word << (sizeof(word) * BITS_PER_BYTE - n));
-}
-
-#endif /* PG_BITUTILS_H */
diff --git a/contrib/libs/libpq/src/include/port/pg_bswap.h b/contrib/libs/libpq/src/include/port/pg_bswap.h
deleted file mode 100644
index 6dfa7757c6..0000000000
--- a/contrib/libs/libpq/src/include/port/pg_bswap.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * pg_bswap.h
- * Byte swapping.
- *
- * Macros for reversing the byte order of 16, 32 and 64-bit unsigned integers.
- * For example, 0xAABBCCDD becomes 0xDDCCBBAA. These are just wrappers for
- * built-in functions provided by the compiler where support exists.
- *
- * Note that all of these functions accept unsigned integers as arguments and
- * return the same. Use caution when using these wrapper macros with signed
- * integers.
- *
- * Copyright (c) 2015-2021, PostgreSQL Global Development Group
- *
- * src/include/port/pg_bswap.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PG_BSWAP_H
-#define PG_BSWAP_H
-
-
-/*
- * In all supported versions msvc provides _byteswap_* functions in stdlib.h,
- * already included by c.h.
- */
-
-
-/* implementation of uint16 pg_bswap16(uint16) */
-#if defined(HAVE__BUILTIN_BSWAP16)
-
-#define pg_bswap16(x) __builtin_bswap16(x)
-
-#elif defined(_MSC_VER)
-
-#define pg_bswap16(x) _byteswap_ushort(x)
-
-#else
-
-static inline uint16
-pg_bswap16(uint16 x)
-{
- return
- ((x << 8) & 0xff00) |
- ((x >> 8) & 0x00ff);
-}
-
-#endif /* HAVE__BUILTIN_BSWAP16 */
-
-
-/* implementation of uint32 pg_bswap32(uint32) */
-#if defined(HAVE__BUILTIN_BSWAP32)
-
-#define pg_bswap32(x) __builtin_bswap32(x)
-
-#elif defined(_MSC_VER)
-
-#define pg_bswap32(x) _byteswap_ulong(x)
-
-#else
-
-static inline uint32
-pg_bswap32(uint32 x)
-{
- return
- ((x << 24) & 0xff000000) |
- ((x << 8) & 0x00ff0000) |
- ((x >> 8) & 0x0000ff00) |
- ((x >> 24) & 0x000000ff);
-}
-
-#endif /* HAVE__BUILTIN_BSWAP32 */
-
-
-/* implementation of uint64 pg_bswap64(uint64) */
-#if defined(HAVE__BUILTIN_BSWAP64)
-
-#define pg_bswap64(x) __builtin_bswap64(x)
-
-
-#elif defined(_MSC_VER)
-
-#define pg_bswap64(x) _byteswap_uint64(x)
-
-#else
-
-static inline uint64
-pg_bswap64(uint64 x)
-{
- return
- ((x << 56) & UINT64CONST(0xff00000000000000)) |
- ((x << 40) & UINT64CONST(0x00ff000000000000)) |
- ((x << 24) & UINT64CONST(0x0000ff0000000000)) |
- ((x << 8) & UINT64CONST(0x000000ff00000000)) |
- ((x >> 8) & UINT64CONST(0x00000000ff000000)) |
- ((x >> 24) & UINT64CONST(0x0000000000ff0000)) |
- ((x >> 40) & UINT64CONST(0x000000000000ff00)) |
- ((x >> 56) & UINT64CONST(0x00000000000000ff));
-}
-#endif /* HAVE__BUILTIN_BSWAP64 */
-
-
-/*
- * Portable and fast equivalents for ntohs, ntohl, htons, htonl,
- * additionally extended to 64 bits.
- */
-#ifdef WORDS_BIGENDIAN
-
-#define pg_hton16(x) (x)
-#define pg_hton32(x) (x)
-#define pg_hton64(x) (x)
-
-#define pg_ntoh16(x) (x)
-#define pg_ntoh32(x) (x)
-#define pg_ntoh64(x) (x)
-
-#else
-
-#define pg_hton16(x) pg_bswap16(x)
-#define pg_hton32(x) pg_bswap32(x)
-#define pg_hton64(x) pg_bswap64(x)
-
-#define pg_ntoh16(x) pg_bswap16(x)
-#define pg_ntoh32(x) pg_bswap32(x)
-#define pg_ntoh64(x) pg_bswap64(x)
-
-#endif /* WORDS_BIGENDIAN */
-
-
-/*
- * Rearrange the bytes of a Datum from big-endian order into the native byte
- * order. On big-endian machines, this does nothing at all. Note that the C
- * type Datum is an unsigned integer type on all platforms.
- *
- * One possible application of the DatumBigEndianToNative() macro is to make
- * bitwise comparisons cheaper. A simple 3-way comparison of Datums
- * transformed by the macro (based on native, unsigned comparisons) will return
- * the same result as a memcmp() of the corresponding original Datums, but can
- * be much cheaper. It's generally safe to do this on big-endian systems
- * without any special transformation occurring first.
- *
- * If SIZEOF_DATUM is not defined, then postgres.h wasn't included and these
- * macros probably shouldn't be used, so we define nothing. Note that
- * SIZEOF_DATUM == 8 would evaluate as 0 == 8 in that case, potentially
- * leading to the wrong implementation being selected and confusing errors, so
- * defining nothing is safest.
- */
-#ifdef SIZEOF_DATUM
-#ifdef WORDS_BIGENDIAN
-#define DatumBigEndianToNative(x) (x)
-#else /* !WORDS_BIGENDIAN */
-#if SIZEOF_DATUM == 8
-#define DatumBigEndianToNative(x) pg_bswap64(x)
-#else /* SIZEOF_DATUM != 8 */
-#define DatumBigEndianToNative(x) pg_bswap32(x)
-#endif /* SIZEOF_DATUM == 8 */
-#endif /* WORDS_BIGENDIAN */
-#endif /* SIZEOF_DATUM */
-
-#endif /* PG_BSWAP_H */
diff --git a/contrib/libs/libpq/src/include/port/pg_crc32c.h b/contrib/libs/libpq/src/include/port/pg_crc32c.h
deleted file mode 100644
index f3c4107ff9..0000000000
--- a/contrib/libs/libpq/src/include/port/pg_crc32c.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * pg_crc32c.h
- * Routines for computing CRC-32C checksums.
- *
- * The speed of CRC-32C calculation has a big impact on performance, so we
- * jump through some hoops to get the best implementation for each
- * platform. Some CPU architectures have special instructions for speeding
- * up CRC calculations (e.g. Intel SSE 4.2), on other platforms we use the
- * Slicing-by-8 algorithm which uses lookup tables.
- *
- * The public interface consists of four macros:
- *
- * INIT_CRC32C(crc)
- * Initialize a CRC accumulator
- *
- * COMP_CRC32C(crc, data, len)
- * Accumulate some (more) bytes into a CRC
- *
- * FIN_CRC32C(crc)
- * Finish a CRC calculation
- *
- * EQ_CRC32C(c1, c2)
- * Check for equality of two CRCs.
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/port/pg_crc32c.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PG_CRC32C_H
-#define PG_CRC32C_H
-
-#include "port/pg_bswap.h"
-
-typedef uint32 pg_crc32c;
-
-/* The INIT and EQ macros are the same for all implementations. */
-#define INIT_CRC32C(crc) ((crc) = 0xFFFFFFFF)
-#define EQ_CRC32C(c1, c2) ((c1) == (c2))
-
-#if defined(USE_SSE42_CRC32C)
-/* Use Intel SSE4.2 instructions. */
-#define COMP_CRC32C(crc, data, len) \
- ((crc) = pg_comp_crc32c_sse42((crc), (data), (len)))
-#define FIN_CRC32C(crc) ((crc) ^= 0xFFFFFFFF)
-
-extern pg_crc32c pg_comp_crc32c_sse42(pg_crc32c crc, const void *data, size_t len);
-
-#elif defined(USE_ARMV8_CRC32C)
-/* Use ARMv8 CRC Extension instructions. */
-
-#define COMP_CRC32C(crc, data, len) \
- ((crc) = pg_comp_crc32c_armv8((crc), (data), (len)))
-#define FIN_CRC32C(crc) ((crc) ^= 0xFFFFFFFF)
-
-extern pg_crc32c pg_comp_crc32c_armv8(pg_crc32c crc, const void *data, size_t len);
-
-#elif defined(USE_SSE42_CRC32C_WITH_RUNTIME_CHECK) || defined(USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK)
-
-/*
- * Use Intel SSE 4.2 or ARMv8 instructions, but perform a runtime check first
- * to check that they are available.
- */
-#define COMP_CRC32C(crc, data, len) \
- ((crc) = pg_comp_crc32c((crc), (data), (len)))
-#define FIN_CRC32C(crc) ((crc) ^= 0xFFFFFFFF)
-
-extern pg_crc32c pg_comp_crc32c_sb8(pg_crc32c crc, const void *data, size_t len);
-extern pg_crc32c (*pg_comp_crc32c) (pg_crc32c crc, const void *data, size_t len);
-
-#ifdef USE_SSE42_CRC32C_WITH_RUNTIME_CHECK
-extern pg_crc32c pg_comp_crc32c_sse42(pg_crc32c crc, const void *data, size_t len);
-#endif
-#ifdef USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK
-extern pg_crc32c pg_comp_crc32c_armv8(pg_crc32c crc, const void *data, size_t len);
-#endif
-
-#else
-/*
- * Use slicing-by-8 algorithm.
- *
- * On big-endian systems, the intermediate value is kept in reverse byte
- * order, to avoid byte-swapping during the calculation. FIN_CRC32C reverses
- * the bytes to the final order.
- */
-#define COMP_CRC32C(crc, data, len) \
- ((crc) = pg_comp_crc32c_sb8((crc), (data), (len)))
-#ifdef WORDS_BIGENDIAN
-#define FIN_CRC32C(crc) ((crc) = pg_bswap32(crc) ^ 0xFFFFFFFF)
-#else
-#define FIN_CRC32C(crc) ((crc) ^= 0xFFFFFFFF)
-#endif
-
-extern pg_crc32c pg_comp_crc32c_sb8(pg_crc32c crc, const void *data, size_t len);
-
-#endif
-
-#endif /* PG_CRC32C_H */
diff --git a/contrib/libs/libpq/src/include/port/pg_iovec.h b/contrib/libs/libpq/src/include/port/pg_iovec.h
deleted file mode 100644
index 88f6615dbc..0000000000
--- a/contrib/libs/libpq/src/include/port/pg_iovec.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * pg_iovec.h
- * Header for vectored I/O functions, to use in place of <sys/uio.h>.
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/port/pg_iovec.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PG_IOVEC_H
-#define PG_IOVEC_H
-
-#include <limits.h>
-
-#ifdef HAVE_SYS_UIO_H
-#include <sys/uio.h>
-#endif
-
-/* If <sys/uio.h> is missing, define our own POSIX-compatible iovec struct. */
-#ifndef HAVE_SYS_UIO_H
-struct iovec
-{
- void *iov_base;
- size_t iov_len;
-};
-#endif
-
-/*
- * If <limits.h> didn't define IOV_MAX, define our own. POSIX requires at
- * least 16.
- */
-#ifndef IOV_MAX
-#define IOV_MAX 16
-#endif
-
-/* Define a reasonable maximum that is safe to use on the stack. */
-#define PG_IOV_MAX Min(IOV_MAX, 32)
-
-#if HAVE_DECL_PREADV
-#define pg_preadv preadv
-#else
-extern ssize_t pg_preadv(int fd, const struct iovec *iov, int iovcnt, off_t offset);
-#endif
-
-#if HAVE_DECL_PWRITEV
-#define pg_pwritev pwritev
-#else
-extern ssize_t pg_pwritev(int fd, const struct iovec *iov, int iovcnt, off_t offset);
-#endif
-
-#endif /* PG_IOVEC_H */
diff --git a/contrib/libs/libpq/src/include/port/pg_pthread.h b/contrib/libs/libpq/src/include/port/pg_pthread.h
deleted file mode 100644
index d102ce9d6f..0000000000
--- a/contrib/libs/libpq/src/include/port/pg_pthread.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * Declarations for missing POSIX thread components.
- *
- * Currently this supplies an implementation of pthread_barrier_t for the
- * benefit of macOS, which lacks it. These declarations are not in port.h,
- * because that'd require <pthread.h> to be included by every translation
- * unit.
- *
- *-------------------------------------------------------------------------
- */
-
-#ifndef PG_PTHREAD_H
-#define PG_PTHREAD_H
-
-#include <pthread.h>
-
-#ifndef HAVE_PTHREAD_BARRIER_WAIT
-
-#ifndef PTHREAD_BARRIER_SERIAL_THREAD
-#define PTHREAD_BARRIER_SERIAL_THREAD (-1)
-#endif
-
-typedef struct pg_pthread_barrier
-{
- bool sense; /* we only need a one bit phase */
- int count; /* number of threads expected */
- int arrived; /* number of threads that have arrived */
- pthread_mutex_t mutex;
- pthread_cond_t cond;
-} pthread_barrier_t;
-
-extern int pthread_barrier_init(pthread_barrier_t *barrier,
- const void *attr,
- int count);
-extern int pthread_barrier_wait(pthread_barrier_t *barrier);
-extern int pthread_barrier_destroy(pthread_barrier_t *barrier);
-
-#endif
-
-#endif
diff --git a/contrib/libs/libpq/src/include/port/solaris.h b/contrib/libs/libpq/src/include/port/solaris.h
deleted file mode 100644
index e63a3bd824..0000000000
--- a/contrib/libs/libpq/src/include/port/solaris.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* src/include/port/solaris.h */
-
-/*
- * Sort this out for all operating systems some time. The __xxx
- * symbols are defined on both GCC and Solaris CC, although GCC
- * doesn't document them. The __xxx__ symbols are only on GCC.
- */
-#if defined(__i386) && !defined(__i386__)
-#define __i386__
-#endif
-
-#if defined(__amd64) && !defined(__amd64__)
-#define __amd64__
-#endif
-
-#if defined(__x86_64) && !defined(__x86_64__)
-#define __x86_64__
-#endif
-
-#if defined(__sparc) && !defined(__sparc__)
-#define __sparc__
-#endif
-
-#if defined(__i386__)
-#include <sys/isa_defs.h>
-#endif
diff --git a/contrib/libs/libpq/src/include/port/win32.h b/contrib/libs/libpq/src/include/port/win32.h
deleted file mode 100644
index e31861fc24..0000000000
--- a/contrib/libs/libpq/src/include/port/win32.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* src/include/port/win32.h */
-#pragma once
-
-/*
- * We always rely on the WIN32 macro being set by our build system,
- * but _WIN32 is the compiler pre-defined macro. So make sure we define
- * WIN32 whenever _WIN32 is set, to facilitate standalone building.
- */
-#if defined(_WIN32) && !defined(WIN32)
-#define WIN32
-#endif
-
-/*
- * Make sure _WIN32_WINNT has the minimum required value.
- * Leave a higher value in place. When building with at least Visual
- * Studio 2015 the minimum requirement is Windows Vista (0x0600) to
- * get support for GetLocaleInfoEx() with locales. For everything else
- * the minimum version is Windows XP (0x0501).
- */
-#if defined(_MSC_VER) && _MSC_VER >= 1900
-#define MIN_WINNT 0x0600
-#else
-#define MIN_WINNT 0x0501
-#endif
-
-#if defined(_WIN32_WINNT) && _WIN32_WINNT < MIN_WINNT
-#undef _WIN32_WINNT
-#endif
-
-#ifndef _WIN32_WINNT
-#define _WIN32_WINNT MIN_WINNT
-#endif
-
-/*
- * We need to prevent <crtdefs.h> from defining a symbol conflicting with
- * our errcode() function. Since it's likely to get included by standard
- * system headers, pre-emptively include it now.
- */
-#if defined(_MSC_VER) || defined(HAVE_CRTDEFS_H)
-#define errcode __msvc_errcode
-#include <crtdefs.h>
-#undef errcode
-#endif
-
-/*
- * defines for dynamic linking on Win32 platform
- */
-
-#ifdef BUILDING_DLL
-#define PGDLLIMPORT __declspec (dllexport)
-#else
-#define PGDLLIMPORT __declspec (dllimport)
-#endif
-
-#ifdef _MSC_VER
-#define PGDLLEXPORT __declspec (dllexport)
-#else
-#define PGDLLEXPORT
-#endif
-
-/*
- * Windows headers don't define this structure, but you can define it yourself
- * to use the functionality.
- */
-struct sockaddr_un
-{
- unsigned short sun_family;
- char sun_path[108];
-};
-#define HAVE_STRUCT_SOCKADDR_UN 1
diff --git a/contrib/libs/libpq/src/include/port/win32/arpa/inet.h b/contrib/libs/libpq/src/include/port/win32/arpa/inet.h
deleted file mode 100644
index ad1803179c..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/arpa/inet.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* src/include/port/win32/arpa/inet.h */
-
-#include <sys/socket.h>
diff --git a/contrib/libs/libpq/src/include/port/win32/dlfcn.h b/contrib/libs/libpq/src/include/port/win32/dlfcn.h
deleted file mode 100644
index b6e43c091d..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/dlfcn.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/win32/dlfcn.h */
diff --git a/contrib/libs/libpq/src/include/port/win32/grp.h b/contrib/libs/libpq/src/include/port/win32/grp.h
deleted file mode 100644
index 8b4f21310e..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/grp.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/win32/grp.h */
diff --git a/contrib/libs/libpq/src/include/port/win32/netdb.h b/contrib/libs/libpq/src/include/port/win32/netdb.h
deleted file mode 100644
index ad0627e986..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/netdb.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/win32/netdb.h */
diff --git a/contrib/libs/libpq/src/include/port/win32/netinet/in.h b/contrib/libs/libpq/src/include/port/win32/netinet/in.h
deleted file mode 100644
index a4e22f89f4..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/netinet/in.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* src/include/port/win32/netinet/in.h */
-
-#include <sys/socket.h>
diff --git a/contrib/libs/libpq/src/include/port/win32/pwd.h b/contrib/libs/libpq/src/include/port/win32/pwd.h
deleted file mode 100644
index b8c7178fc0..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/pwd.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/*
- * src/include/port/win32/pwd.h
- */
diff --git a/contrib/libs/libpq/src/include/port/win32/sys/socket.h b/contrib/libs/libpq/src/include/port/win32/sys/socket.h
deleted file mode 100644
index 9b2cdf3b9b..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/sys/socket.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * src/include/port/win32/sys/socket.h
- */
-#ifndef WIN32_SYS_SOCKET_H
-#define WIN32_SYS_SOCKET_H
-
-/*
- * Unfortunately, <wingdi.h> of VC++ also defines ERROR.
- * To avoid the conflict, we include <windows.h> here and undefine ERROR
- * immediately.
- *
- * Note: Don't include <wingdi.h> directly. It causes compile errors.
- */
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#include <windows.h>
-
-#undef ERROR
-#undef small
-
-/* Restore old ERROR value */
-#ifdef PGERROR
-#define ERROR PGERROR
-#endif
-
-/*
- * we can't use the windows gai_strerror{AW} functions because
- * they are defined inline in the MS header files. So we'll use our
- * own
- */
-#undef gai_strerror
-
-#endif /* WIN32_SYS_SOCKET_H */
diff --git a/contrib/libs/libpq/src/include/port/win32/sys/wait.h b/contrib/libs/libpq/src/include/port/win32/sys/wait.h
deleted file mode 100644
index eaeb5661c9..0000000000
--- a/contrib/libs/libpq/src/include/port/win32/sys/wait.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/*
- * src/include/port/win32/sys/wait.h
- */
diff --git a/contrib/libs/libpq/src/include/port/win32_msvc/dirent.h b/contrib/libs/libpq/src/include/port/win32_msvc/dirent.h
deleted file mode 100644
index 62799db001..0000000000
--- a/contrib/libs/libpq/src/include/port/win32_msvc/dirent.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Headers for port/dirent.c, win32 native implementation of dirent functions
- *
- * src/include/port/win32_msvc/dirent.h
- */
-
-#ifndef _WIN32VC_DIRENT_H
-#define _WIN32VC_DIRENT_H
-struct dirent
-{
- long d_ino;
- unsigned short d_reclen;
- unsigned char d_type;
- unsigned short d_namlen;
- char d_name[MAX_PATH];
-};
-
-typedef struct DIR DIR;
-
-DIR *opendir(const char *);
-struct dirent *readdir(DIR *);
-int closedir(DIR *);
-
-/* File types for 'd_type'. */
-#define DT_UNKNOWN 0
-#define DT_FIFO 1
-#define DT_CHR 2
-#define DT_DIR 4
-#define DT_BLK 6
-#define DT_REG 8
-#define DT_LNK 10
-#define DT_SOCK 12
-#define DT_WHT 14
-#endif
diff --git a/contrib/libs/libpq/src/include/port/win32_msvc/sys/file.h b/contrib/libs/libpq/src/include/port/win32_msvc/sys/file.h
deleted file mode 100644
index 76be3e7774..0000000000
--- a/contrib/libs/libpq/src/include/port/win32_msvc/sys/file.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/win32_msvc/sys/file.h */
diff --git a/contrib/libs/libpq/src/include/port/win32_msvc/sys/param.h b/contrib/libs/libpq/src/include/port/win32_msvc/sys/param.h
deleted file mode 100644
index 160df3b25e..0000000000
--- a/contrib/libs/libpq/src/include/port/win32_msvc/sys/param.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/win32_msvc/sys/param.h */
diff --git a/contrib/libs/libpq/src/include/port/win32_msvc/sys/time.h b/contrib/libs/libpq/src/include/port/win32_msvc/sys/time.h
deleted file mode 100644
index 9d943ecc6f..0000000000
--- a/contrib/libs/libpq/src/include/port/win32_msvc/sys/time.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/win32_msvc/sys/time.h */
diff --git a/contrib/libs/libpq/src/include/port/win32_msvc/unistd.h b/contrib/libs/libpq/src/include/port/win32_msvc/unistd.h
deleted file mode 100644
index b63f4770a1..0000000000
--- a/contrib/libs/libpq/src/include/port/win32_msvc/unistd.h
+++ /dev/null
@@ -1 +0,0 @@
-/* src/include/port/win32_msvc/unistd.h */
diff --git a/contrib/libs/libpq/src/include/port/win32_msvc/utime.h b/contrib/libs/libpq/src/include/port/win32_msvc/utime.h
deleted file mode 100644
index c78e79c33d..0000000000
--- a/contrib/libs/libpq/src/include/port/win32_msvc/utime.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* src/include/port/win32_msvc/utime.h */
-
-#include <sys/utime.h> /* for non-unicode version */
diff --git a/contrib/libs/libpq/src/include/port/win32_port.h b/contrib/libs/libpq/src/include/port/win32_port.h
deleted file mode 100644
index 05c5a53442..0000000000
--- a/contrib/libs/libpq/src/include/port/win32_port.h
+++ /dev/null
@@ -1,546 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * win32_port.h
- * Windows-specific compatibility stuff.
- *
- * Note this is read in MinGW as well as native Windows builds,
- * but not in Cygwin builds.
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- * src/include/port/win32_port.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef PG_WIN32_PORT_H
-#define PG_WIN32_PORT_H
-
-/*
- * Always build with SSPI support. Keep it as a #define in case
- * we want a switch to disable it sometime in the future.
- */
-#define ENABLE_SSPI 1
-
-/* undefine and redefine after #include */
-#undef mkdir
-
-#undef ERROR
-
-/*
- * VS2013 and later issue warnings about using the old Winsock API,
- * which we don't really want to hear about.
- */
-#ifdef _MSC_VER
-#define _WINSOCK_DEPRECATED_NO_WARNINGS
-#endif
-
-/*
- * The MinGW64 headers choke if this is already defined - they
- * define it themselves.
- */
-#if !defined(__MINGW64_VERSION_MAJOR) || defined(_MSC_VER)
-#define _WINSOCKAPI_
-#endif
-
-#include <winsock2.h>
-#include <ws2tcpip.h>
-#include <windows.h>
-#undef small
-#include <process.h>
-#include <signal.h>
-#include <direct.h>
-#undef near
-
-/* needed before sys/stat hacking below: */
-#define fstat microsoft_native_fstat
-#define stat microsoft_native_stat
-#include <sys/stat.h>
-#undef fstat
-#undef stat
-
-/* Must be here to avoid conflicting with prototype in windows.h */
-#define mkdir(a,b) mkdir(a)
-
-#define ftruncate(a,b) chsize(a,b)
-
-/* Windows doesn't have fsync() as such, use _commit() */
-#define fsync(fd) _commit(fd)
-
-/*
- * For historical reasons, we allow setting wal_sync_method to
- * fsync_writethrough on Windows, even though it's really identical to fsync
- * (both code paths wind up at _commit()).
- */
-#define HAVE_FSYNC_WRITETHROUGH
-#define FSYNC_WRITETHROUGH_IS_FSYNC
-
-#define USES_WINSOCK
-
-/*
- * IPC defines
- */
-#undef HAVE_UNION_SEMUN
-#define HAVE_UNION_SEMUN 1
-
-#define IPC_RMID 256
-#define IPC_CREAT 512
-#define IPC_EXCL 1024
-#define IPC_PRIVATE 234564
-#define IPC_NOWAIT 2048
-#define IPC_STAT 4096
-
-#define EACCESS 2048
-#ifndef EIDRM
-#define EIDRM 4096
-#endif
-
-#define SETALL 8192
-#define GETNCNT 16384
-#define GETVAL 65536
-#define SETVAL 131072
-#define GETPID 262144
-
-
-/*
- * Signal stuff
- *
- * For WIN32, there is no wait() call so there are no wait() macros
- * to interpret the return value of system(). Instead, system()
- * return values < 0x100 are used for exit() termination, and higher
- * values are used to indicate non-exit() termination, which is
- * similar to a unix-style signal exit (think SIGSEGV ==
- * STATUS_ACCESS_VIOLATION). Return values are broken up into groups:
- *
- * https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/using-ntstatus-values
- *
- * NT_SUCCESS 0 - 0x3FFFFFFF
- * NT_INFORMATION 0x40000000 - 0x7FFFFFFF
- * NT_WARNING 0x80000000 - 0xBFFFFFFF
- * NT_ERROR 0xC0000000 - 0xFFFFFFFF
- *
- * Effectively, we don't care on the severity of the return value from
- * system(), we just need to know if it was because of exit() or generated
- * by the system, and it seems values >= 0x100 are system-generated.
- * See this URL for a list of WIN32 STATUS_* values:
- *
- * Wine (URL used in our error messages) -
- * http://source.winehq.org/source/include/ntstatus.h
- * Descriptions -
- * https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55
- *
- * The comprehensive exception list is included in ntstatus.h from the
- * Windows Driver Kit (WDK). A subset of the list is also included in
- * winnt.h from the Windows SDK. Defining WIN32_NO_STATUS before including
- * windows.h helps to avoid any conflicts.
- *
- * Some day we might want to print descriptions for the most common
- * exceptions, rather than printing an include file name. We could use
- * RtlNtStatusToDosError() and pass to FormatMessage(), which can print
- * the text of error values, but MinGW does not support
- * RtlNtStatusToDosError().
- */
-#define WIFEXITED(w) (((w) & 0XFFFFFF00) == 0)
-#define WIFSIGNALED(w) (!WIFEXITED(w))
-#define WEXITSTATUS(w) (w)
-#define WTERMSIG(w) (w)
-
-#define sigmask(sig) ( 1 << ((sig)-1) )
-
-/* Signal function return values */
-#undef SIG_DFL
-#undef SIG_ERR
-#undef SIG_IGN
-#define SIG_DFL ((pqsigfunc)0)
-#define SIG_ERR ((pqsigfunc)-1)
-#define SIG_IGN ((pqsigfunc)1)
-
-/* Some extra signals */
-#define SIGHUP 1
-#define SIGQUIT 3
-#define SIGTRAP 5
-#define SIGABRT 22 /* Set to match W32 value -- not UNIX value */
-#define SIGKILL 9
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGSTOP 17
-#define SIGTSTP 18
-#define SIGCONT 19
-#define SIGCHLD 20
-#define SIGWINCH 28
-#define SIGUSR1 30
-#define SIGUSR2 31
-
-/*
- * New versions of MinGW have gettimeofday() and also declare
- * struct timezone to support it.
- */
-#ifndef HAVE_GETTIMEOFDAY
-struct timezone
-{
- int tz_minuteswest; /* Minutes west of GMT. */
- int tz_dsttime; /* Nonzero if DST is ever in effect. */
-};
-#endif
-
-/* for setitimer in backend/port/win32/timer.c */
-#define ITIMER_REAL 0
-struct itimerval
-{
- struct timeval it_interval;
- struct timeval it_value;
-};
-
-int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
-
-/*
- * WIN32 does not provide 64-bit off_t, but does provide the functions operating
- * with 64-bit offsets.
- */
-#define pgoff_t __int64
-
-#ifdef _MSC_VER
-#define fseeko(stream, offset, origin) _fseeki64(stream, offset, origin)
-#define ftello(stream) _ftelli64(stream)
-#else
-#ifndef fseeko
-#define fseeko(stream, offset, origin) fseeko64(stream, offset, origin)
-#endif
-#ifndef ftello
-#define ftello(stream) ftello64(stream)
-#endif
-#endif
-
-/*
- * Win32 also doesn't have symlinks, but we can emulate them with
- * junction points on newer Win32 versions.
- *
- * Cygwin has its own symlinks which work on Win95/98/ME where
- * junction points don't, so use those instead. We have no way of
- * knowing what type of system Cygwin binaries will be run on.
- * Note: Some CYGWIN includes might #define WIN32.
- */
-extern int pgsymlink(const char *oldpath, const char *newpath);
-extern int pgreadlink(const char *path, char *buf, size_t size);
-extern bool pgwin32_is_junction(const char *path);
-
-#define symlink(oldpath, newpath) pgsymlink(oldpath, newpath)
-#define readlink(path, buf, size) pgreadlink(path, buf, size)
-
-/*
- * Supplement to <sys/types.h>.
- *
- * Perl already has typedefs for uid_t and gid_t.
- */
-#ifndef PLPERL_HAVE_UID_GID
-typedef int uid_t;
-typedef int gid_t;
-#endif
-typedef long key_t;
-
-#ifdef _MSC_VER
-typedef int pid_t;
-#endif
-
-/*
- * Supplement to <sys/stat.h>.
- *
- * We must pull in sys/stat.h before this part, else our overrides lose.
- *
- * stat() is not guaranteed to set the st_size field on win32, so we
- * redefine it to our own implementation. See src/port/win32stat.c.
- *
- * The struct stat is 32 bit in MSVC, so we redefine it as a copy of
- * struct __stat64. This also fixes the struct size for MINGW builds.
- */
-struct stat /* This should match struct __stat64 */
-{
- _dev_t st_dev;
- _ino_t st_ino;
- unsigned short st_mode;
- short st_nlink;
- short st_uid;
- short st_gid;
- _dev_t st_rdev;
- __int64 st_size;
- __time64_t st_atime;
- __time64_t st_mtime;
- __time64_t st_ctime;
-};
-
-extern int _pgfstat64(int fileno, struct stat *buf);
-extern int _pgstat64(const char *name, struct stat *buf);
-
-#define fstat(fileno, sb) _pgfstat64(fileno, sb)
-#define stat(path, sb) _pgstat64(path, sb)
-#define lstat(path, sb) _pgstat64(path, sb)
-
-/* These macros are not provided by older MinGW, nor by MSVC */
-#ifndef S_IRUSR
-#define S_IRUSR _S_IREAD
-#endif
-#ifndef S_IWUSR
-#define S_IWUSR _S_IWRITE
-#endif
-#ifndef S_IXUSR
-#define S_IXUSR _S_IEXEC
-#endif
-#ifndef S_IRWXU
-#define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
-#endif
-#ifndef S_IRGRP
-#define S_IRGRP 0
-#endif
-#ifndef S_IWGRP
-#define S_IWGRP 0
-#endif
-#ifndef S_IXGRP
-#define S_IXGRP 0
-#endif
-#ifndef S_IRWXG
-#define S_IRWXG 0
-#endif
-#ifndef S_IROTH
-#define S_IROTH 0
-#endif
-#ifndef S_IWOTH
-#define S_IWOTH 0
-#endif
-#ifndef S_IXOTH
-#define S_IXOTH 0
-#endif
-#ifndef S_IRWXO
-#define S_IRWXO 0
-#endif
-#ifndef S_ISDIR
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#endif
-#ifndef S_ISREG
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#endif
-
-/*
- * Supplement to <fcntl.h>.
- * This is the same value as _O_NOINHERIT in the MS header file. This is
- * to ensure that we don't collide with a future definition. It means
- * we cannot use _O_NOINHERIT ourselves.
- */
-#define O_DSYNC 0x0080
-
-/*
- * Supplement to <errno.h>.
- *
- * We redefine network-related Berkeley error symbols as the corresponding WSA
- * constants. This allows strerror.c to recognize them as being in the Winsock
- * error code range and pass them off to win32_socket_strerror(), since
- * Windows' version of plain strerror() won't cope. Note that this will break
- * if these names are used for anything else besides Windows Sockets errors.
- * See TranslateSocketError() when changing this list.
- */
-#undef EAGAIN
-#define EAGAIN WSAEWOULDBLOCK
-#undef EINTR
-#define EINTR WSAEINTR
-#undef EMSGSIZE
-#define EMSGSIZE WSAEMSGSIZE
-#undef EAFNOSUPPORT
-#define EAFNOSUPPORT WSAEAFNOSUPPORT
-#undef EWOULDBLOCK
-#define EWOULDBLOCK WSAEWOULDBLOCK
-#undef ECONNABORTED
-#define ECONNABORTED WSAECONNABORTED
-#undef ECONNRESET
-#define ECONNRESET WSAECONNRESET
-#undef EINPROGRESS
-#define EINPROGRESS WSAEINPROGRESS
-#undef EISCONN
-#define EISCONN WSAEISCONN
-#undef ENOBUFS
-#define ENOBUFS WSAENOBUFS
-#undef EPROTONOSUPPORT
-#define EPROTONOSUPPORT WSAEPROTONOSUPPORT
-#undef ECONNREFUSED
-#define ECONNREFUSED WSAECONNREFUSED
-#undef ENOTSOCK
-#define ENOTSOCK WSAENOTSOCK
-#undef EOPNOTSUPP
-#define EOPNOTSUPP WSAEOPNOTSUPP
-#undef EADDRINUSE
-#define EADDRINUSE WSAEADDRINUSE
-#undef EADDRNOTAVAIL
-#define EADDRNOTAVAIL WSAEADDRNOTAVAIL
-#undef EHOSTDOWN
-#define EHOSTDOWN WSAEHOSTDOWN
-#undef EHOSTUNREACH
-#define EHOSTUNREACH WSAEHOSTUNREACH
-#undef ENETDOWN
-#define ENETDOWN WSAENETDOWN
-#undef ENETRESET
-#define ENETRESET WSAENETRESET
-#undef ENETUNREACH
-#define ENETUNREACH WSAENETUNREACH
-#undef ENOTCONN
-#define ENOTCONN WSAENOTCONN
-
-/*
- * Locale stuff.
- *
- * Extended locale functions with gratuitous underscore prefixes.
- * (These APIs are nevertheless fully documented by Microsoft.)
- */
-#define locale_t _locale_t
-#define tolower_l _tolower_l
-#define toupper_l _toupper_l
-#define towlower_l _towlower_l
-#define towupper_l _towupper_l
-#define isdigit_l _isdigit_l
-#define iswdigit_l _iswdigit_l
-#define isalpha_l _isalpha_l
-#define iswalpha_l _iswalpha_l
-#define isalnum_l _isalnum_l
-#define iswalnum_l _iswalnum_l
-#define isupper_l _isupper_l
-#define iswupper_l _iswupper_l
-#define islower_l _islower_l
-#define iswlower_l _iswlower_l
-#define isgraph_l _isgraph_l
-#define iswgraph_l _iswgraph_l
-#define isprint_l _isprint_l
-#define iswprint_l _iswprint_l
-#define ispunct_l _ispunct_l
-#define iswpunct_l _iswpunct_l
-#define isspace_l _isspace_l
-#define iswspace_l _iswspace_l
-#define strcoll_l _strcoll_l
-#define strxfrm_l _strxfrm_l
-#define wcscoll_l _wcscoll_l
-#define wcstombs_l _wcstombs_l
-#define mbstowcs_l _mbstowcs_l
-
-/*
- * Versions of libintl >= 0.18? try to replace setlocale() with a macro
- * to their own versions. Remove the macro, if it exists, because it
- * ends up calling the wrong version when the backend and libintl use
- * different versions of msvcrt.
- */
-#if defined(setlocale)
-#undef setlocale
-#endif
-
-/*
- * Define our own wrapper macro around setlocale() to work around bugs in
- * Windows' native setlocale() function.
- */
-extern char *pgwin32_setlocale(int category, const char *locale);
-
-#define setlocale(a,b) pgwin32_setlocale(a,b)
-
-
-/* In backend/port/win32/signal.c */
-extern PGDLLIMPORT volatile int pg_signal_queue;
-extern PGDLLIMPORT int pg_signal_mask;
-extern HANDLE pgwin32_signal_event;
-extern HANDLE pgwin32_initial_signal_pipe;
-
-#define UNBLOCKED_SIGNAL_QUEUE() (pg_signal_queue & ~pg_signal_mask)
-#define PG_SIGNAL_COUNT 32
-
-void pgwin32_signal_initialize(void);
-HANDLE pgwin32_create_signal_listener(pid_t pid);
-void pgwin32_dispatch_queued_signals(void);
-void pg_queue_signal(int signum);
-
-/* In src/port/kill.c */
-#define kill(pid,sig) pgkill(pid,sig)
-extern int pgkill(int pid, int sig);
-
-/* In backend/port/win32/socket.c */
-#ifndef FRONTEND
-#define socket(af, type, protocol) pgwin32_socket(af, type, protocol)
-#define bind(s, addr, addrlen) pgwin32_bind(s, addr, addrlen)
-#define listen(s, backlog) pgwin32_listen(s, backlog)
-#define accept(s, addr, addrlen) pgwin32_accept(s, addr, addrlen)
-#define connect(s, name, namelen) pgwin32_connect(s, name, namelen)
-#define select(n, r, w, e, timeout) pgwin32_select(n, r, w, e, timeout)
-#define recv(s, buf, len, flags) pgwin32_recv(s, buf, len, flags)
-#define send(s, buf, len, flags) pgwin32_send(s, buf, len, flags)
-
-SOCKET pgwin32_socket(int af, int type, int protocol);
-int pgwin32_bind(SOCKET s, struct sockaddr *addr, int addrlen);
-int pgwin32_listen(SOCKET s, int backlog);
-SOCKET pgwin32_accept(SOCKET s, struct sockaddr *addr, int *addrlen);
-int pgwin32_connect(SOCKET s, const struct sockaddr *name, int namelen);
-int pgwin32_select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, const struct timeval *timeout);
-int pgwin32_recv(SOCKET s, char *buf, int len, int flags);
-int pgwin32_send(SOCKET s, const void *buf, int len, int flags);
-int pgwin32_waitforsinglesocket(SOCKET s, int what, int timeout);
-
-extern int pgwin32_noblock;
-
-#endif /* FRONTEND */
-
-/* in backend/port/win32_shmem.c */
-extern int pgwin32_ReserveSharedMemoryRegion(HANDLE);
-
-/* in backend/port/win32/crashdump.c */
-extern void pgwin32_install_crashdump_handler(void);
-
-/* in port/win32error.c */
-extern void _dosmaperr(unsigned long);
-
-/* in port/win32env.c */
-extern int pgwin32_putenv(const char *);
-extern int pgwin32_setenv(const char *name, const char *value, int overwrite);
-extern int pgwin32_unsetenv(const char *name);
-
-#define putenv(x) pgwin32_putenv(x)
-#define setenv(x,y,z) pgwin32_setenv(x,y,z)
-#define unsetenv(x) pgwin32_unsetenv(x)
-
-/* in port/win32security.c */
-extern int pgwin32_is_service(void);
-extern int pgwin32_is_admin(void);
-
-/* Windows security token manipulation (in src/common/exec.c) */
-extern BOOL AddUserToTokenDacl(HANDLE hToken);
-
-/* Things that exist in MinGW headers, but need to be added to MSVC */
-#ifdef _MSC_VER
-
-#ifndef _WIN64
-typedef long ssize_t;
-#else
-typedef __int64 ssize_t;
-#endif
-
-typedef unsigned short mode_t;
-
-#define F_OK 0
-#define W_OK 2
-#define R_OK 4
-
-/* Pulled from Makefile.port in MinGW */
-#define DLSUFFIX ".dll"
-
-#endif /* _MSC_VER */
-
-#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || \
- defined(__MINGW32__) || defined(__MINGW64__)
-/*
- * VS2013 has a strtof() that seems to give correct answers for valid input,
- * even on the rounding edge cases, but which doesn't handle out-of-range
- * input correctly. Work around that.
- *
- * Mingw claims to have a strtof, and my reading of its source code suggests
- * that it ought to work (and not need this hack), but the regression test
- * results disagree with me; whether this is a version issue or not is not
- * clear. However, using our wrapper (and the misrounded-input variant file,
- * already required for supporting ancient systems) can't make things any
- * worse, except for a tiny performance loss when reading zeros.
- *
- * See also cygwin.h for another instance of this.
- */
-#define HAVE_BUGGY_STRTOF 1
-#endif
-
-#endif /* PG_WIN32_PORT_H */
diff --git a/contrib/libs/libpq/src/include/postgres.h b/contrib/libs/libpq/src/include/postgres.h
deleted file mode 100644
index 0446daa0e6..0000000000
--- a/contrib/libs/libpq/src/include/postgres.h
+++ /dev/null
@@ -1,808 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * postgres.h
- * Primary include file for PostgreSQL server .c files
- *
- * This should be the first file included by PostgreSQL backend modules.
- * Client-side code should include postgres_fe.h instead.
- *
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1995, Regents of the University of California
- *
- * src/include/postgres.h
- *
- *-------------------------------------------------------------------------
- */
-/*
- *----------------------------------------------------------------
- * TABLE OF CONTENTS
- *
- * When adding stuff to this file, please try to put stuff
- * into the relevant section, or add new sections as appropriate.
- *
- * section description
- * ------- ------------------------------------------------
- * 1) variable-length datatypes (TOAST support)
- * 2) Datum type + support macros
- *
- * NOTES
- *
- * In general, this file should contain declarations that are widely needed
- * in the backend environment, but are of no interest outside the backend.
- *
- * Simple type definitions live in c.h, where they are shared with
- * postgres_fe.h. We do that since those type definitions are needed by
- * frontend modules that want to deal with binary data transmission to or
- * from the backend. Type definitions in this file should be for
- * representations that never escape the backend, such as Datum or
- * TOASTed varlena objects.
- *
- *----------------------------------------------------------------
- */
-#ifndef POSTGRES_H
-#define POSTGRES_H
-
-#include "c.h"
-#include "utils/elog.h"
-#include "utils/palloc.h"
-
-/* ----------------------------------------------------------------
- * Section 1: variable-length datatypes (TOAST support)
- * ----------------------------------------------------------------
- */
-
-/*
- * struct varatt_external is a traditional "TOAST pointer", that is, the
- * information needed to fetch a Datum stored out-of-line in a TOAST table.
- * The data is compressed if and only if the external size stored in
- * va_extinfo is less than va_rawsize - VARHDRSZ.
- *
- * This struct must not contain any padding, because we sometimes compare
- * these pointers using memcmp.
- *
- * Note that this information is stored unaligned within actual tuples, so
- * you need to memcpy from the tuple into a local struct variable before
- * you can look at these fields! (The reason we use memcmp is to avoid
- * having to do that just to detect equality of two TOAST pointers...)
- */
-typedef struct varatt_external
-{
- int32 va_rawsize; /* Original data size (includes header) */
- uint32 va_extinfo; /* External saved size (without header) and
- * compression method */
- Oid va_valueid; /* Unique ID of value within TOAST table */
- Oid va_toastrelid; /* RelID of TOAST table containing it */
-} varatt_external;
-
-/*
- * These macros define the "saved size" portion of va_extinfo. Its remaining
- * two high-order bits identify the compression method.
- */
-#define VARLENA_EXTSIZE_BITS 30
-#define VARLENA_EXTSIZE_MASK ((1U << VARLENA_EXTSIZE_BITS) - 1)
-
-/*
- * struct varatt_indirect is a "TOAST pointer" representing an out-of-line
- * Datum that's stored in memory, not in an external toast relation.
- * The creator of such a Datum is entirely responsible that the referenced
- * storage survives for as long as referencing pointer Datums can exist.
- *
- * Note that just as for struct varatt_external, this struct is stored
- * unaligned within any containing tuple.
- */
-typedef struct varatt_indirect
-{
- struct varlena *pointer; /* Pointer to in-memory varlena */
-} varatt_indirect;
-
-/*
- * struct varatt_expanded is a "TOAST pointer" representing an out-of-line
- * Datum that is stored in memory, in some type-specific, not necessarily
- * physically contiguous format that is convenient for computation not
- * storage. APIs for this, in particular the definition of struct
- * ExpandedObjectHeader, are in src/include/utils/expandeddatum.h.
- *
- * Note that just as for struct varatt_external, this struct is stored
- * unaligned within any containing tuple.
- */
-typedef struct ExpandedObjectHeader ExpandedObjectHeader;
-
-typedef struct varatt_expanded
-{
- ExpandedObjectHeader *eohptr;
-} varatt_expanded;
-
-/*
- * Type tag for the various sorts of "TOAST pointer" datums. The peculiar
- * value for VARTAG_ONDISK comes from a requirement for on-disk compatibility
- * with a previous notion that the tag field was the pointer datum's length.
- */
-typedef enum vartag_external
-{
- VARTAG_INDIRECT = 1,
- VARTAG_EXPANDED_RO = 2,
- VARTAG_EXPANDED_RW = 3,
- VARTAG_ONDISK = 18
-} vartag_external;
-
-/* this test relies on the specific tag values above */
-#define VARTAG_IS_EXPANDED(tag) \
- (((tag) & ~1) == VARTAG_EXPANDED_RO)
-
-#define VARTAG_SIZE(tag) \
- ((tag) == VARTAG_INDIRECT ? sizeof(varatt_indirect) : \
- VARTAG_IS_EXPANDED(tag) ? sizeof(varatt_expanded) : \
- (tag) == VARTAG_ONDISK ? sizeof(varatt_external) : \
- TrapMacro(true, "unrecognized TOAST vartag"))
-
-/*
- * These structs describe the header of a varlena object that may have been
- * TOASTed. Generally, don't reference these structs directly, but use the
- * macros below.
- *
- * We use separate structs for the aligned and unaligned cases because the
- * compiler might otherwise think it could generate code that assumes
- * alignment while touching fields of a 1-byte-header varlena.
- */
-typedef union
-{
- struct /* Normal varlena (4-byte length) */
- {
- uint32 va_header;
- char va_data[FLEXIBLE_ARRAY_MEMBER];
- } va_4byte;
- struct /* Compressed-in-line format */
- {
- uint32 va_header;
- uint32 va_tcinfo; /* Original data size (excludes header) and
- * compression method; see va_extinfo */
- char va_data[FLEXIBLE_ARRAY_MEMBER]; /* Compressed data */
- } va_compressed;
-} varattrib_4b;
-
-typedef struct
-{
- uint8 va_header;
- char va_data[FLEXIBLE_ARRAY_MEMBER]; /* Data begins here */
-} varattrib_1b;
-
-/* TOAST pointers are a subset of varattrib_1b with an identifying tag byte */
-typedef struct
-{
- uint8 va_header; /* Always 0x80 or 0x01 */
- uint8 va_tag; /* Type of datum */
- char va_data[FLEXIBLE_ARRAY_MEMBER]; /* Type-specific data */
-} varattrib_1b_e;
-
-/*
- * Bit layouts for varlena headers on big-endian machines:
- *
- * 00xxxxxx 4-byte length word, aligned, uncompressed data (up to 1G)
- * 01xxxxxx 4-byte length word, aligned, *compressed* data (up to 1G)
- * 10000000 1-byte length word, unaligned, TOAST pointer
- * 1xxxxxxx 1-byte length word, unaligned, uncompressed data (up to 126b)
- *
- * Bit layouts for varlena headers on little-endian machines:
- *
- * xxxxxx00 4-byte length word, aligned, uncompressed data (up to 1G)
- * xxxxxx10 4-byte length word, aligned, *compressed* data (up to 1G)
- * 00000001 1-byte length word, unaligned, TOAST pointer
- * xxxxxxx1 1-byte length word, unaligned, uncompressed data (up to 126b)
- *
- * The "xxx" bits are the length field (which includes itself in all cases).
- * In the big-endian case we mask to extract the length, in the little-endian
- * case we shift. Note that in both cases the flag bits are in the physically
- * first byte. Also, it is not possible for a 1-byte length word to be zero;
- * this lets us disambiguate alignment padding bytes from the start of an
- * unaligned datum. (We now *require* pad bytes to be filled with zero!)
- *
- * In TOAST pointers the va_tag field (see varattrib_1b_e) is used to discern
- * the specific type and length of the pointer datum.
- */
-
-/*
- * Endian-dependent macros. These are considered internal --- use the
- * external macros below instead of using these directly.
- *
- * Note: IS_1B is true for external toast records but VARSIZE_1B will return 0
- * for such records. Hence you should usually check for IS_EXTERNAL before
- * checking for IS_1B.
- */
-
-#ifdef WORDS_BIGENDIAN
-
-#define VARATT_IS_4B(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0x80) == 0x00)
-#define VARATT_IS_4B_U(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0xC0) == 0x00)
-#define VARATT_IS_4B_C(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0xC0) == 0x40)
-#define VARATT_IS_1B(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0x80) == 0x80)
-#define VARATT_IS_1B_E(PTR) \
- ((((varattrib_1b *) (PTR))->va_header) == 0x80)
-#define VARATT_NOT_PAD_BYTE(PTR) \
- (*((uint8 *) (PTR)) != 0)
-
-/* VARSIZE_4B() should only be used on known-aligned data */
-#define VARSIZE_4B(PTR) \
- (((varattrib_4b *) (PTR))->va_4byte.va_header & 0x3FFFFFFF)
-#define VARSIZE_1B(PTR) \
- (((varattrib_1b *) (PTR))->va_header & 0x7F)
-#define VARTAG_1B_E(PTR) \
- (((varattrib_1b_e *) (PTR))->va_tag)
-
-#define SET_VARSIZE_4B(PTR,len) \
- (((varattrib_4b *) (PTR))->va_4byte.va_header = (len) & 0x3FFFFFFF)
-#define SET_VARSIZE_4B_C(PTR,len) \
- (((varattrib_4b *) (PTR))->va_4byte.va_header = ((len) & 0x3FFFFFFF) | 0x40000000)
-#define SET_VARSIZE_1B(PTR,len) \
- (((varattrib_1b *) (PTR))->va_header = (len) | 0x80)
-#define SET_VARTAG_1B_E(PTR,tag) \
- (((varattrib_1b_e *) (PTR))->va_header = 0x80, \
- ((varattrib_1b_e *) (PTR))->va_tag = (tag))
-
-#else /* !WORDS_BIGENDIAN */
-
-#define VARATT_IS_4B(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0x01) == 0x00)
-#define VARATT_IS_4B_U(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0x03) == 0x00)
-#define VARATT_IS_4B_C(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0x03) == 0x02)
-#define VARATT_IS_1B(PTR) \
- ((((varattrib_1b *) (PTR))->va_header & 0x01) == 0x01)
-#define VARATT_IS_1B_E(PTR) \
- ((((varattrib_1b *) (PTR))->va_header) == 0x01)
-#define VARATT_NOT_PAD_BYTE(PTR) \
- (*((uint8 *) (PTR)) != 0)
-
-/* VARSIZE_4B() should only be used on known-aligned data */
-#define VARSIZE_4B(PTR) \
- ((((varattrib_4b *) (PTR))->va_4byte.va_header >> 2) & 0x3FFFFFFF)
-#define VARSIZE_1B(PTR) \
- ((((varattrib_1b *) (PTR))->va_header >> 1) & 0x7F)
-#define VARTAG_1B_E(PTR) \
- (((varattrib_1b_e *) (PTR))->va_tag)
-
-#define SET_VARSIZE_4B(PTR,len) \
- (((varattrib_4b *) (PTR))->va_4byte.va_header = (((uint32) (len)) << 2))
-#define SET_VARSIZE_4B_C(PTR,len) \
- (((varattrib_4b *) (PTR))->va_4byte.va_header = (((uint32) (len)) << 2) | 0x02)
-#define SET_VARSIZE_1B(PTR,len) \
- (((varattrib_1b *) (PTR))->va_header = (((uint8) (len)) << 1) | 0x01)
-#define SET_VARTAG_1B_E(PTR,tag) \
- (((varattrib_1b_e *) (PTR))->va_header = 0x01, \
- ((varattrib_1b_e *) (PTR))->va_tag = (tag))
-
-#endif /* WORDS_BIGENDIAN */
-
-#define VARDATA_4B(PTR) (((varattrib_4b *) (PTR))->va_4byte.va_data)
-#define VARDATA_4B_C(PTR) (((varattrib_4b *) (PTR))->va_compressed.va_data)
-#define VARDATA_1B(PTR) (((varattrib_1b *) (PTR))->va_data)
-#define VARDATA_1B_E(PTR) (((varattrib_1b_e *) (PTR))->va_data)
-
-/*
- * Externally visible TOAST macros begin here.
- */
-
-#define VARHDRSZ_EXTERNAL offsetof(varattrib_1b_e, va_data)
-#define VARHDRSZ_COMPRESSED offsetof(varattrib_4b, va_compressed.va_data)
-#define VARHDRSZ_SHORT offsetof(varattrib_1b, va_data)
-
-#define VARATT_SHORT_MAX 0x7F
-#define VARATT_CAN_MAKE_SHORT(PTR) \
- (VARATT_IS_4B_U(PTR) && \
- (VARSIZE(PTR) - VARHDRSZ + VARHDRSZ_SHORT) <= VARATT_SHORT_MAX)
-#define VARATT_CONVERTED_SHORT_SIZE(PTR) \
- (VARSIZE(PTR) - VARHDRSZ + VARHDRSZ_SHORT)
-
-/*
- * In consumers oblivious to data alignment, call PG_DETOAST_DATUM_PACKED(),
- * VARDATA_ANY(), VARSIZE_ANY() and VARSIZE_ANY_EXHDR(). Elsewhere, call
- * PG_DETOAST_DATUM(), VARDATA() and VARSIZE(). Directly fetching an int16,
- * int32 or wider field in the struct representing the datum layout requires
- * aligned data. memcpy() is alignment-oblivious, as are most operations on
- * datatypes, such as text, whose layout struct contains only char fields.
- *
- * Code assembling a new datum should call VARDATA() and SET_VARSIZE().
- * (Datums begin life untoasted.)
- *
- * Other macros here should usually be used only by tuple assembly/disassembly
- * code and code that specifically wants to work with still-toasted Datums.
- */
-#define VARDATA(PTR) VARDATA_4B(PTR)
-#define VARSIZE(PTR) VARSIZE_4B(PTR)
-
-#define VARSIZE_SHORT(PTR) VARSIZE_1B(PTR)
-#define VARDATA_SHORT(PTR) VARDATA_1B(PTR)
-
-#define VARTAG_EXTERNAL(PTR) VARTAG_1B_E(PTR)
-#define VARSIZE_EXTERNAL(PTR) (VARHDRSZ_EXTERNAL + VARTAG_SIZE(VARTAG_EXTERNAL(PTR)))
-#define VARDATA_EXTERNAL(PTR) VARDATA_1B_E(PTR)
-
-#define VARATT_IS_COMPRESSED(PTR) VARATT_IS_4B_C(PTR)
-#define VARATT_IS_EXTERNAL(PTR) VARATT_IS_1B_E(PTR)
-#define VARATT_IS_EXTERNAL_ONDISK(PTR) \
- (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_ONDISK)
-#define VARATT_IS_EXTERNAL_INDIRECT(PTR) \
- (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_INDIRECT)
-#define VARATT_IS_EXTERNAL_EXPANDED_RO(PTR) \
- (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_EXPANDED_RO)
-#define VARATT_IS_EXTERNAL_EXPANDED_RW(PTR) \
- (VARATT_IS_EXTERNAL(PTR) && VARTAG_EXTERNAL(PTR) == VARTAG_EXPANDED_RW)
-#define VARATT_IS_EXTERNAL_EXPANDED(PTR) \
- (VARATT_IS_EXTERNAL(PTR) && VARTAG_IS_EXPANDED(VARTAG_EXTERNAL(PTR)))
-#define VARATT_IS_EXTERNAL_NON_EXPANDED(PTR) \
- (VARATT_IS_EXTERNAL(PTR) && !VARTAG_IS_EXPANDED(VARTAG_EXTERNAL(PTR)))
-#define VARATT_IS_SHORT(PTR) VARATT_IS_1B(PTR)
-#define VARATT_IS_EXTENDED(PTR) (!VARATT_IS_4B_U(PTR))
-
-#define SET_VARSIZE(PTR, len) SET_VARSIZE_4B(PTR, len)
-#define SET_VARSIZE_SHORT(PTR, len) SET_VARSIZE_1B(PTR, len)
-#define SET_VARSIZE_COMPRESSED(PTR, len) SET_VARSIZE_4B_C(PTR, len)
-
-#define SET_VARTAG_EXTERNAL(PTR, tag) SET_VARTAG_1B_E(PTR, tag)
-
-#define VARSIZE_ANY(PTR) \
- (VARATT_IS_1B_E(PTR) ? VARSIZE_EXTERNAL(PTR) : \
- (VARATT_IS_1B(PTR) ? VARSIZE_1B(PTR) : \
- VARSIZE_4B(PTR)))
-
-/* Size of a varlena data, excluding header */
-#define VARSIZE_ANY_EXHDR(PTR) \
- (VARATT_IS_1B_E(PTR) ? VARSIZE_EXTERNAL(PTR)-VARHDRSZ_EXTERNAL : \
- (VARATT_IS_1B(PTR) ? VARSIZE_1B(PTR)-VARHDRSZ_SHORT : \
- VARSIZE_4B(PTR)-VARHDRSZ))
-
-/* caution: this will not work on an external or compressed-in-line Datum */
-/* caution: this will return a possibly unaligned pointer */
-#define VARDATA_ANY(PTR) \
- (VARATT_IS_1B(PTR) ? VARDATA_1B(PTR) : VARDATA_4B(PTR))
-
-/* Decompressed size and compression method of a compressed-in-line Datum */
-#define VARDATA_COMPRESSED_GET_EXTSIZE(PTR) \
- (((varattrib_4b *) (PTR))->va_compressed.va_tcinfo & VARLENA_EXTSIZE_MASK)
-#define VARDATA_COMPRESSED_GET_COMPRESS_METHOD(PTR) \
- (((varattrib_4b *) (PTR))->va_compressed.va_tcinfo >> VARLENA_EXTSIZE_BITS)
-
-/* Same for external Datums; but note argument is a struct varatt_external */
-#define VARATT_EXTERNAL_GET_EXTSIZE(toast_pointer) \
- ((toast_pointer).va_extinfo & VARLENA_EXTSIZE_MASK)
-#define VARATT_EXTERNAL_GET_COMPRESS_METHOD(toast_pointer) \
- ((toast_pointer).va_extinfo >> VARLENA_EXTSIZE_BITS)
-
-#define VARATT_EXTERNAL_SET_SIZE_AND_COMPRESS_METHOD(toast_pointer, len, cm) \
- do { \
- Assert((cm) == TOAST_PGLZ_COMPRESSION_ID || \
- (cm) == TOAST_LZ4_COMPRESSION_ID); \
- ((toast_pointer).va_extinfo = \
- (len) | ((uint32) (cm) << VARLENA_EXTSIZE_BITS)); \
- } while (0)
-
-/*
- * Testing whether an externally-stored value is compressed now requires
- * comparing size stored in va_extinfo (the actual length of the external data)
- * to rawsize (the original uncompressed datum's size). The latter includes
- * VARHDRSZ overhead, the former doesn't. We never use compression unless it
- * actually saves space, so we expect either equality or less-than.
- */
-#define VARATT_EXTERNAL_IS_COMPRESSED(toast_pointer) \
- (VARATT_EXTERNAL_GET_EXTSIZE(toast_pointer) < \
- (toast_pointer).va_rawsize - VARHDRSZ)
-
-
-/* ----------------------------------------------------------------
- * Section 2: Datum type + support macros
- * ----------------------------------------------------------------
- */
-
-/*
- * A Datum contains either a value of a pass-by-value type or a pointer to a
- * value of a pass-by-reference type. Therefore, we require:
- *
- * sizeof(Datum) == sizeof(void *) == 4 or 8
- *
- * The macros below and the analogous macros for other types should be used to
- * convert between a Datum and the appropriate C type.
- */
-
-typedef uintptr_t Datum;
-
-/*
- * A NullableDatum is used in places where both a Datum and its nullness needs
- * to be stored. This can be more efficient than storing datums and nullness
- * in separate arrays, due to better spatial locality, even if more space may
- * be wasted due to padding.
- */
-typedef struct NullableDatum
-{
-#define FIELDNO_NULLABLE_DATUM_DATUM 0
- Datum value;
-#define FIELDNO_NULLABLE_DATUM_ISNULL 1
- bool isnull;
- /* due to alignment padding this could be used for flags for free */
-} NullableDatum;
-
-#define SIZEOF_DATUM SIZEOF_VOID_P
-
-/*
- * DatumGetBool
- * Returns boolean value of a datum.
- *
- * Note: any nonzero value will be considered true.
- */
-
-#define DatumGetBool(X) ((bool) ((X) != 0))
-
-/*
- * BoolGetDatum
- * Returns datum representation for a boolean.
- *
- * Note: any nonzero value will be considered true.
- */
-
-#define BoolGetDatum(X) ((Datum) ((X) ? 1 : 0))
-
-/*
- * DatumGetChar
- * Returns character value of a datum.
- */
-
-#define DatumGetChar(X) ((char) (X))
-
-/*
- * CharGetDatum
- * Returns datum representation for a character.
- */
-
-#define CharGetDatum(X) ((Datum) (X))
-
-/*
- * Int8GetDatum
- * Returns datum representation for an 8-bit integer.
- */
-
-#define Int8GetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetUInt8
- * Returns 8-bit unsigned integer value of a datum.
- */
-
-#define DatumGetUInt8(X) ((uint8) (X))
-
-/*
- * UInt8GetDatum
- * Returns datum representation for an 8-bit unsigned integer.
- */
-
-#define UInt8GetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetInt16
- * Returns 16-bit integer value of a datum.
- */
-
-#define DatumGetInt16(X) ((int16) (X))
-
-/*
- * Int16GetDatum
- * Returns datum representation for a 16-bit integer.
- */
-
-#define Int16GetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetUInt16
- * Returns 16-bit unsigned integer value of a datum.
- */
-
-#define DatumGetUInt16(X) ((uint16) (X))
-
-/*
- * UInt16GetDatum
- * Returns datum representation for a 16-bit unsigned integer.
- */
-
-#define UInt16GetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetInt32
- * Returns 32-bit integer value of a datum.
- */
-
-#define DatumGetInt32(X) ((int32) (X))
-
-/*
- * Int32GetDatum
- * Returns datum representation for a 32-bit integer.
- */
-
-#define Int32GetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetUInt32
- * Returns 32-bit unsigned integer value of a datum.
- */
-
-#define DatumGetUInt32(X) ((uint32) (X))
-
-/*
- * UInt32GetDatum
- * Returns datum representation for a 32-bit unsigned integer.
- */
-
-#define UInt32GetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetObjectId
- * Returns object identifier value of a datum.
- */
-
-#define DatumGetObjectId(X) ((Oid) (X))
-
-/*
- * ObjectIdGetDatum
- * Returns datum representation for an object identifier.
- */
-
-#define ObjectIdGetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetTransactionId
- * Returns transaction identifier value of a datum.
- */
-
-#define DatumGetTransactionId(X) ((TransactionId) (X))
-
-/*
- * TransactionIdGetDatum
- * Returns datum representation for a transaction identifier.
- */
-
-#define TransactionIdGetDatum(X) ((Datum) (X))
-
-/*
- * MultiXactIdGetDatum
- * Returns datum representation for a multixact identifier.
- */
-
-#define MultiXactIdGetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetCommandId
- * Returns command identifier value of a datum.
- */
-
-#define DatumGetCommandId(X) ((CommandId) (X))
-
-/*
- * CommandIdGetDatum
- * Returns datum representation for a command identifier.
- */
-
-#define CommandIdGetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetPointer
- * Returns pointer value of a datum.
- */
-
-#define DatumGetPointer(X) ((Pointer) (X))
-
-/*
- * PointerGetDatum
- * Returns datum representation for a pointer.
- */
-
-#define PointerGetDatum(X) ((Datum) (X))
-
-/*
- * DatumGetCString
- * Returns C string (null-terminated string) value of a datum.
- *
- * Note: C string is not a full-fledged Postgres type at present,
- * but type input functions use this conversion for their inputs.
- */
-
-#define DatumGetCString(X) ((char *) DatumGetPointer(X))
-
-/*
- * CStringGetDatum
- * Returns datum representation for a C string (null-terminated string).
- *
- * Note: C string is not a full-fledged Postgres type at present,
- * but type output functions use this conversion for their outputs.
- * Note: CString is pass-by-reference; caller must ensure the pointed-to
- * value has adequate lifetime.
- */
-
-#define CStringGetDatum(X) PointerGetDatum(X)
-
-/*
- * DatumGetName
- * Returns name value of a datum.
- */
-
-#define DatumGetName(X) ((Name) DatumGetPointer(X))
-
-/*
- * NameGetDatum
- * Returns datum representation for a name.
- *
- * Note: Name is pass-by-reference; caller must ensure the pointed-to
- * value has adequate lifetime.
- */
-
-#define NameGetDatum(X) CStringGetDatum(NameStr(*(X)))
-
-/*
- * DatumGetInt64
- * Returns 64-bit integer value of a datum.
- *
- * Note: this macro hides whether int64 is pass by value or by reference.
- */
-
-#ifdef USE_FLOAT8_BYVAL
-#define DatumGetInt64(X) ((int64) (X))
-#else
-#define DatumGetInt64(X) (* ((int64 *) DatumGetPointer(X)))
-#endif
-
-/*
- * Int64GetDatum
- * Returns datum representation for a 64-bit integer.
- *
- * Note: if int64 is pass by reference, this function returns a reference
- * to palloc'd space.
- */
-
-#ifdef USE_FLOAT8_BYVAL
-#define Int64GetDatum(X) ((Datum) (X))
-#else
-extern Datum Int64GetDatum(int64 X);
-#endif
-
-/*
- * DatumGetUInt64
- * Returns 64-bit unsigned integer value of a datum.
- *
- * Note: this macro hides whether int64 is pass by value or by reference.
- */
-
-#ifdef USE_FLOAT8_BYVAL
-#define DatumGetUInt64(X) ((uint64) (X))
-#else
-#define DatumGetUInt64(X) (* ((uint64 *) DatumGetPointer(X)))
-#endif
-
-/*
- * UInt64GetDatum
- * Returns datum representation for a 64-bit unsigned integer.
- *
- * Note: if int64 is pass by reference, this function returns a reference
- * to palloc'd space.
- */
-
-#ifdef USE_FLOAT8_BYVAL
-#define UInt64GetDatum(X) ((Datum) (X))
-#else
-#define UInt64GetDatum(X) Int64GetDatum((int64) (X))
-#endif
-
-/*
- * Float <-> Datum conversions
- *
- * These have to be implemented as inline functions rather than macros, when
- * passing by value, because many machines pass int and float function
- * parameters/results differently; so we need to play weird games with unions.
- */
-
-/*
- * DatumGetFloat4
- * Returns 4-byte floating point value of a datum.
- */
-static inline float4
-DatumGetFloat4(Datum X)
-{
- union
- {
- int32 value;
- float4 retval;
- } myunion;
-
- myunion.value = DatumGetInt32(X);
- return myunion.retval;
-}
-
-/*
- * Float4GetDatum
- * Returns datum representation for a 4-byte floating point number.
- */
-static inline Datum
-Float4GetDatum(float4 X)
-{
- union
- {
- float4 value;
- int32 retval;
- } myunion;
-
- myunion.value = X;
- return Int32GetDatum(myunion.retval);
-}
-
-/*
- * DatumGetFloat8
- * Returns 8-byte floating point value of a datum.
- *
- * Note: this macro hides whether float8 is pass by value or by reference.
- */
-
-#ifdef USE_FLOAT8_BYVAL
-static inline float8
-DatumGetFloat8(Datum X)
-{
- union
- {
- int64 value;
- float8 retval;
- } myunion;
-
- myunion.value = DatumGetInt64(X);
- return myunion.retval;
-}
-#else
-#define DatumGetFloat8(X) (* ((float8 *) DatumGetPointer(X)))
-#endif
-
-/*
- * Float8GetDatum
- * Returns datum representation for an 8-byte floating point number.
- *
- * Note: if float8 is pass by reference, this function returns a reference
- * to palloc'd space.
- */
-
-#ifdef USE_FLOAT8_BYVAL
-static inline Datum
-Float8GetDatum(float8 X)
-{
- union
- {
- float8 value;
- int64 retval;
- } myunion;
-
- myunion.value = X;
- return Int64GetDatum(myunion.retval);
-}
-#else
-extern Datum Float8GetDatum(float8 X);
-#endif
-
-
-/*
- * Int64GetDatumFast
- * Float8GetDatumFast
- *
- * These macros are intended to allow writing code that does not depend on
- * whether int64 and float8 are pass-by-reference types, while not
- * sacrificing performance when they are. The argument must be a variable
- * that will exist and have the same value for as long as the Datum is needed.
- * In the pass-by-ref case, the address of the variable is taken to use as
- * the Datum. In the pass-by-val case, these will be the same as the non-Fast
- * macros.
- */
-
-#ifdef USE_FLOAT8_BYVAL
-#define Int64GetDatumFast(X) Int64GetDatum(X)
-#define Float8GetDatumFast(X) Float8GetDatum(X)
-#else
-#define Int64GetDatumFast(X) PointerGetDatum(&(X))
-#define Float8GetDatumFast(X) PointerGetDatum(&(X))
-#endif
-
-#endif /* POSTGRES_H */
diff --git a/contrib/libs/libpq/src/include/postgres_ext.h b/contrib/libs/libpq/src/include/postgres_ext.h
deleted file mode 100644
index fdb61b7cf5..0000000000
--- a/contrib/libs/libpq/src/include/postgres_ext.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * postgres_ext.h
- *
- * This file contains declarations of things that are visible everywhere
- * in PostgreSQL *and* are visible to clients of frontend interface libraries.
- * For example, the Oid type is part of the API of libpq and other libraries.
- *
- * Declarations which are specific to a particular interface should
- * go in the header file for that interface (such as libpq-fe.h). This
- * file is only for fundamental Postgres declarations.
- *
- * User-written C functions don't count as "external to Postgres."
- * Those function much as local modifications to the backend itself, and
- * use header files that are otherwise internal to Postgres to interface
- * with the backend.
- *
- * src/include/postgres_ext.h
- *
- *-------------------------------------------------------------------------
- */
-
-#ifndef POSTGRES_EXT_H
-#define POSTGRES_EXT_H
-
-#include "pg_config_ext.h"
-
-/*
- * Object ID is a fundamental type in Postgres.
- */
-typedef unsigned int Oid;
-
-#ifdef __cplusplus
-#define InvalidOid (Oid(0))
-#else
-#define InvalidOid ((Oid) 0)
-#endif
-
-#define OID_MAX UINT_MAX
-/* you will need to include <limits.h> to use the above #define */
-
-#define atooid(x) ((Oid) strtoul((x), NULL, 10))
-/* the above needs <stdlib.h> */
-
-
-/* Define a signed 64-bit integer type for use in client API declarations. */
-typedef PG_INT64_TYPE pg_int64;
-
-
-/*
- * Identifiers of error message fields. Kept here to keep common
- * between frontend and backend, and also to export them to libpq
- * applications.
- */
-#define PG_DIAG_SEVERITY 'S'
-#define PG_DIAG_SEVERITY_NONLOCALIZED 'V'
-#define PG_DIAG_SQLSTATE 'C'
-#define PG_DIAG_MESSAGE_PRIMARY 'M'
-#define PG_DIAG_MESSAGE_DETAIL 'D'
-#define PG_DIAG_MESSAGE_HINT 'H'
-#define PG_DIAG_STATEMENT_POSITION 'P'
-#define PG_DIAG_INTERNAL_POSITION 'p'
-#define PG_DIAG_INTERNAL_QUERY 'q'
-#define PG_DIAG_CONTEXT 'W'
-#define PG_DIAG_SCHEMA_NAME 's'
-#define PG_DIAG_TABLE_NAME 't'
-#define PG_DIAG_COLUMN_NAME 'c'
-#define PG_DIAG_DATATYPE_NAME 'd'
-#define PG_DIAG_CONSTRAINT_NAME 'n'
-#define PG_DIAG_SOURCE_FILE 'F'
-#define PG_DIAG_SOURCE_LINE 'L'
-#define PG_DIAG_SOURCE_FUNCTION 'R'
-
-#endif /* POSTGRES_EXT_H */
diff --git a/contrib/libs/libpq/src/include/postgres_fe.h b/contrib/libs/libpq/src/include/postgres_fe.h
deleted file mode 100644
index 3cdb911faa..0000000000
--- a/contrib/libs/libpq/src/include/postgres_fe.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * postgres_fe.h
- * Primary include file for PostgreSQL client-side .c files
- *
- * This should be the first file included by PostgreSQL client libraries and
- * application programs --- but not by backend modules, which should include
- * postgres.h.
- *
- *
- * Portions Copyright (c) 1996-2021, PostgreSQL Global Development Group
- * Portions Copyright (c) 1995, Regents of the University of California
- *
- * src/include/postgres_fe.h
- *
- *-------------------------------------------------------------------------
- */
-#ifndef POSTGRES_FE_H
-#define POSTGRES_FE_H
-
-#ifndef FRONTEND
-#define FRONTEND 1
-#endif
-
-#include "c.h"
-
-#include "common/fe_memutils.h"
-
-#endif /* POSTGRES_FE_H */