From 450cbaa726def604174a135a2ecebdb2a4652d4a Mon Sep 17 00:00:00 2001
From: yi wang <48236141+my-vegetable-has-exploded@users.noreply.github.com>
Date: Thu, 14 Mar 2024 14:34:44 +0800
Subject: [PATCH 1/6] fix: relax veci8 test precision. (#423)
* fix: relax veci8 test precision.
Signed-off-by: my-vegetable-has-exploded
* reorder check.
Signed-off-by: my-vegetable-has-exploded
---------
Signed-off-by: my-vegetable-has-exploded
---
crates/base/src/vector/veci8.rs | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/crates/base/src/vector/veci8.rs b/crates/base/src/vector/veci8.rs
index 00c53d2a2..9fbdebb8f 100644
--- a/crates/base/src/vector/veci8.rs
+++ b/crates/base/src/vector/veci8.rs
@@ -549,7 +549,11 @@ mod tests_2 {
let y_owned = vec_to_owned(y);
let ref_y = y_owned.for_borrow();
let result = cosine_distance(&ref_x, &ref_y);
- assert!((result.0 - result_expected).abs() / result_expected < 0.25);
+ assert!(
+ result_expected < 0.01
+ || (result.0 - result_expected).abs() < 0.01
+ || (result.0 - result_expected).abs() / result_expected < 0.1
+ );
}
#[test]
@@ -576,6 +580,8 @@ mod tests_2 {
let y_owned = vec_to_owned(y);
let ref_y = y_owned.for_borrow();
let result = l2_distance(&ref_x, &ref_y);
- assert!((result.0 - result_expected).abs() / result_expected < 0.05);
+ assert!(
+ result_expected < 1.0 || (result.0 - result_expected).abs() / result_expected < 0.05
+ );
}
}
From 9435be3aefa9dc4f96de23c075a82d32c531bd6d Mon Sep 17 00:00:00 2001
From: cutecutecat
Date: Thu, 14 Mar 2024 15:09:03 +0800
Subject: [PATCH 2/6] chore: cherry back 0.2 branch (#424)
Signed-off-by: cutecutecat
---
.github/workflows/release.yml | 4 ++--
scripts/build_2.sh | 4 ++--
sql/upgrade/vectors--0.1.10--0.2.0.sql | 13 -------------
3 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 6c8fc1af3..ac52aedde 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -77,7 +77,7 @@ jobs:
GH_TOKEN: ${{ github.token }}
run: |
gh release upload --clobber ${{ github.event.inputs.tag }} ./build/vectors-pg${{ matrix.version }}_${{ matrix.arch }}-unknown-linux-gnu_${{ github.event.inputs.version }}.zip
- gh release upload --clobber ${{ github.event.inputs.tag }} ./build/vectors-pg${{ matrix.version }}_${{ github.event.inputs.version }}-1_${{ matrix.platform }}.deb
+ gh release upload --clobber ${{ github.event.inputs.tag }} ./build/vectors-pg${{ matrix.version }}_${{ github.event.inputs.version }}_${{ matrix.platform }}.deb
docker_binary_release:
needs: ["binary", "semver"]
strategy:
@@ -97,7 +97,7 @@ jobs:
env:
GH_TOKEN: ${{ github.token }}
run: |
- gh release download ${{ github.event.inputs.tag }} --pattern "vectors-pg${{ matrix.version }}_${{ github.event.inputs.version }}-1_${{ matrix.platform }}.deb" --output pgvecto-rs-binary-release.deb
+ gh release download ${{ github.event.inputs.tag }} --pattern "vectors-pg${{ matrix.version }}_${{ github.event.inputs.version }}_${{ matrix.platform }}.deb" --output pgvecto-rs-binary-release.deb
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
diff --git a/scripts/build_2.sh b/scripts/build_2.sh
index 92c78ba29..5c9f72d2c 100755
--- a/scripts/build_2.sh
+++ b/scripts/build_2.sh
@@ -13,7 +13,7 @@ cargo build --no-default-features --features pg$VERSION --release --target ${ARC
rm -rf ./build/dir_zip
rm -rf ./build/vectors-pg${VERSION}_${ARCH}-unknown-linux-gnu_${SEMVER}.zip
rm -rf ./build/dir_deb
-rm -rf ./build/vectors-pg${VERSION}_${SEMVER}-1_${PLATFORM}.deb
+rm -rf ./build/vectors-pg${VERSION}_${SEMVER}_${PLATFORM}.deb
mkdir -p ./build/dir_zip
cp -a ./sql/upgrade/. ./build/dir_zip/
@@ -46,4 +46,4 @@ Homepage: https://pgvecto.rs/
License: apache2" \
> ./build/dir_deb/DEBIAN/control
(cd ./build/dir_deb && md5sum usr/share/postgresql/$VERSION/extension/* usr/lib/postgresql/$VERSION/lib/*) > ./build/dir_deb/DEBIAN/md5sums
-dpkg --build ./build/dir_deb/ ./build/vectors-pg${VERSION}_${SEMVER}-1_${PLATFORM}.deb
+dpkg --build ./build/dir_deb/ ./build/vectors-pg${VERSION}_${SEMVER}_${PLATFORM}.deb
diff --git a/sql/upgrade/vectors--0.1.10--0.2.0.sql b/sql/upgrade/vectors--0.1.10--0.2.0.sql
index 3d62db3ae..a4f8e4b32 100644
--- a/sql/upgrade/vectors--0.1.10--0.2.0.sql
+++ b/sql/upgrade/vectors--0.1.10--0.2.0.sql
@@ -20,19 +20,6 @@ CREATE TYPE vector_index_stat AS (
idx_options TEXT
);
-CREATE VIEW pg_vector_index_info AS
- SELECT
- C.oid AS tablerelid,
- I.oid AS indexrelid,
- C.relname AS tablename,
- I.relname AS indexname,
- (vector_stat(I.oid)).*
- FROM pg_class C JOIN
- pg_index X ON C.oid = X.indrelid JOIN
- pg_class I ON I.oid = X.indexrelid JOIN
- pg_am A ON A.oid = I.relam
- WHERE A.amname = 'vectors';
-
-- List of shell types
CREATE TYPE vecf16;
From e1ec7d0b84fec9ce6266494a1d6aefdba664e6ef Mon Sep 17 00:00:00 2001
From: Jinjing Zhou
Date: Fri, 15 Mar 2024 09:44:24 +0800
Subject: [PATCH 3/6] Update pgvecto.rs README.md with new features and
documentation link (#425)
* Update pgvecto.rs README.md with new features and documentation link
Signed-off-by: Jinjing.Zhou
* Update pgvecto-rs Docker image version to pg16-v0.2.1
Signed-off-by: Jinjing.Zhou
---------
Signed-off-by: Jinjing.Zhou
---
README.md | 28 ++++++++++++++++++----------
1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/README.md b/README.md
index 6a1abd1a6..93e78166d 100644
--- a/README.md
+++ b/README.md
@@ -9,18 +9,26 @@
-pgvecto.rs is a Postgres extension that provides vector similarity search functions. It is written in Rust and based on [pgrx](https://github.com/tcdi/pgrx). It is currently in the beta status, we invite you to try it out in production and provide us with feedback. Read more at [📝our blog](https://blog.pgvecto.rs/pgvectors-02-unifying-relational-queries-and-vector-search-in-postgresql).
+pgvecto.rs is a Postgres extension that provides vector similarity search functions. It is written in Rust and based on [pgrx](https://github.com/tcdi/pgrx). Read more at [📝our blog](https://blog.pgvecto.rs/pgvectors-02-unifying-relational-queries-and-vector-search-in-postgresql).
## Why use pgvecto.rs
-- 💃 **User-Friendly**: Effortlessly incorporate pgvecto.rs into your existing database as a Postgres extension, streamlining integration with your current workflows and applications.
-- 🥅 **Join and Filter without Limitation**: Elevate your search capabilities in pgvecto.rs with VBASE filtering. Apply any filter conditions and join with other tables, achieving high recall and low latency, a distinctive edge over other vector databases.
-- 🌓 **Efficient FP16 Support**: Optimize your data storage with pgvecto.rs, supporting FP16 vector type to cut memory and storage usage by half, and boosting throughput.
-- 🧮 **Advanced Quantization**: Utilize scalar and product quantization in pgvecto.rs for up to 64x compression. Achieve up to 4x memory savings with less than 2% recall loss with scalar quantization.
-- 🔍 **Hybrid Search**: Leverage the full-text search functionality in PostgreSQL with pgvecto.rs to search text and vector data within a single query.
-- 🔗 **Async indexing**: The pgvecto.rs index is built asynchronously by background threads, allowing non-blocking inserts and always ready for new queries.
-- ⬆️ **Extended Vector Length**: pgvecto.rs supports vector length up to 65535, suitable for the latest models.
-- 🦀 **Rust-Powered Reliability**: Rust's strict compile-time checks ensure memory safety, reducing the risk of bugs and security issues commonly associated with C extensions.
+| Feature Category | Feature | |
+| -------------------------- | ------------------------- | ------------------------------------------------------------------------------------------ |
+| **Search Capabilities** | 🔍 Vector Search | Ultra-low-latency, high-precision vector search. |
+| | 🧩 Sparse Vector Search | Keyword-based vector search using SPLADE or BM25 algorithms. |
+| | 📄 Full-Text Search | Comprehensive text search across any language, powered by tsvector. |
+| **Data Handling** | ✔ Complete SQL Support | Full SQL support, enabling joins and filters without limitations or extra configuration. |
+| | 🔗 Async indexing | Non-blocking inserts with up-to-date query readiness. |
+| | 🔄 Easy Data Management | No need for syncing vectors and metadata with external vector DB, simplifying development. |
+| **Data Types** | 🔢 FP16/INT8 Data type | Supports FP16 and INT8 data types for improved storage and computational efficiency. |
+| | 🌓 Binary vector support | Vector indexing with binary vectors, and Jaccard distance support. |
+| | 🔪 Matryoshka embeddings | Subvector indexing, like vector[0:256], for enhanced Matryoshka embeddings. |
+| | ⬆️ Extended Vector Length | Vector lengths up to 65535 supported, ideal for the latest cutting-edge models. |
+| **System Performance** | 🚀 Production Ready | Battle-tested database ecosystem integrated with PostgreSQL. |
+| | ⚙️ High Availability | Logical replication support to ensure high availbility. |
+| | 💡 Resource Efficient | Efficient attribute storage leveraging PostgreSQL. |
+| **Security & Permissions** | 🔒 Permission Control | Easy access control like read-only roles, powered by PostgreSQL. |
## [Documentation](https://docs.pgvecto.rs/getting-started/overview.html)
@@ -45,7 +53,7 @@ docker run \
--name pgvecto-rs-demo \
-e POSTGRES_PASSWORD=mysecretpassword \
-p 5432:5432 \
- -d tensorchord/pgvecto-rs:pg16-v0.2.0
+ -d tensorchord/pgvecto-rs:pg16-v0.2.1
```
Then you can connect to the database using the `psql` command line tool. The default username is `postgres`, and the default password is `mysecretpassword`.
From ec36e62be774e5b6faf975b22c9126c08468e2c5 Mon Sep 17 00:00:00 2001
From: usamoi
Date: Fri, 15 Mar 2024 10:10:07 +0800
Subject: [PATCH 4/6] ci: vendored `pg_config` contents and pgrx_bindings
(#426)
chore: update vendor (#1)
---
.github/workflows/check.yml | 158 -
.github/workflows/psql_check.yml | 143 +
.github/workflows/release.yml | 92 +-
.github/workflows/rust_check.yml | 114 +
.github/workflows/update_vendor.yml | 48 +
.typos.toml | 3 +
Cargo.toml | 2 +-
build.envd | 56 +-
crates/base/src/vector/svecf32.rs | 11 +-
crates/base/src/vector/veci8.rs | 4 +-
scripts/build_0.sh | 39 -
scripts/build_1.sh | 15 -
scripts/ci_setup.sh | 30 -
scripts/envd.sh | 20 -
scripts/{build_2.sh => package.sh} | 6 +-
scripts/update_vendor.sh | 26 +
tools/pg_config.sh | 77 +
.../pg14_aarch64-unknown-linux-gnu.txt | 23 +
.../pg14_x86_64-unknown-linux-gnu.txt | 23 +
.../pg15_aarch64-unknown-linux-gnu.txt | 23 +
.../pg15_x86_64-unknown-linux-gnu.txt | 23 +
.../pg16_aarch64-unknown-linux-gnu.txt | 23 +
.../pg16_x86_64-unknown-linux-gnu.txt | 23 +
.../pg14_aarch64-unknown-linux-gnu.rs | 46243 +++++++++++++++
.../pg14_x86_64-unknown-linux-gnu.rs | 46168 +++++++++++++++
.../pg15_aarch64-unknown-linux-gnu.rs | 46731 +++++++++++++++
.../pg15_x86_64-unknown-linux-gnu.rs | 46659 +++++++++++++++
.../pg16_aarch64-unknown-linux-gnu.rs | 47797 ++++++++++++++++
.../pg16_x86_64-unknown-linux-gnu.rs | 47725 +++++++++++++++
29 files changed, 281981 insertions(+), 324 deletions(-)
delete mode 100644 .github/workflows/check.yml
create mode 100644 .github/workflows/psql_check.yml
create mode 100644 .github/workflows/rust_check.yml
create mode 100644 .github/workflows/update_vendor.yml
delete mode 100755 scripts/build_0.sh
delete mode 100755 scripts/build_1.sh
delete mode 100755 scripts/ci_setup.sh
delete mode 100755 scripts/envd.sh
rename scripts/{build_2.sh => package.sh} (85%)
create mode 100755 scripts/update_vendor.sh
create mode 100755 tools/pg_config.sh
create mode 100644 vendor/pg_config/pg14_aarch64-unknown-linux-gnu.txt
create mode 100644 vendor/pg_config/pg14_x86_64-unknown-linux-gnu.txt
create mode 100644 vendor/pg_config/pg15_aarch64-unknown-linux-gnu.txt
create mode 100644 vendor/pg_config/pg15_x86_64-unknown-linux-gnu.txt
create mode 100644 vendor/pg_config/pg16_aarch64-unknown-linux-gnu.txt
create mode 100644 vendor/pg_config/pg16_x86_64-unknown-linux-gnu.txt
create mode 100644 vendor/pgrx_binding/pg14_aarch64-unknown-linux-gnu.rs
create mode 100644 vendor/pgrx_binding/pg14_x86_64-unknown-linux-gnu.rs
create mode 100644 vendor/pgrx_binding/pg15_aarch64-unknown-linux-gnu.rs
create mode 100644 vendor/pgrx_binding/pg15_x86_64-unknown-linux-gnu.rs
create mode 100644 vendor/pgrx_binding/pg16_aarch64-unknown-linux-gnu.rs
create mode 100644 vendor/pgrx_binding/pg16_x86_64-unknown-linux-gnu.rs
diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml
deleted file mode 100644
index 5587477d4..000000000
--- a/.github/workflows/check.yml
+++ /dev/null
@@ -1,158 +0,0 @@
-name: Rust check
-
-on:
- push:
- branches: ["main"]
- paths:
- - ".cargo/**"
- - ".github/**"
- - "crates/**"
- - "scripts/**"
- - "src/**"
- - "tests/**"
- - "Cargo.lock"
- - "Cargo.toml"
- - "rust-toolchain.toml"
- - "vectors.control"
- pull_request:
- branches: ["main"]
- paths:
- - ".cargo/**"
- - ".github/**"
- - "crates/**"
- - "scripts/**"
- - "src/**"
- - "tests/**"
- - "Cargo.lock"
- - "Cargo.toml"
- - "rust-toolchain.toml"
- - "vectors.control"
- merge_group:
- workflow_dispatch:
-
-concurrency:
- group: ${{ github.ref }}-${{ github.workflow }}
- cancel-in-progress: true
-
-env:
- CARGO_TERM_COLOR: always
- RUST_BACKTRACE: 1
- SCCACHE_GHA_ENABLED: true
- RUSTC_WRAPPER: sccache
- RUSTFLAGS: "-Dwarnings"
-
-jobs:
- check:
- strategy:
- matrix:
- include:
- - { version: 14, os: "ubuntu-latest" }
- - { version: 15, os: "ubuntu-latest" }
- - { version: 16, os: "ubuntu-latest" }
- runs-on: ${{ matrix.os }}
- env:
- VERSION: ${{ matrix.version }}
- OS: ${{ matrix.os }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Set up Sccache
- uses: mozilla-actions/sccache-action@v0.0.4
- - name: Set up Cache
- uses: actions/cache/restore@v4
- id: cache
- with:
- path: |
- ~/.cargo/registry/index/
- ~/.cargo/registry/cache/
- ~/.cargo/git/db/
- key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.os }}-${{ hashFiles('./Cargo.lock') }}
- - name: Set up PostgreSQL
- run: ./scripts/ci_setup.sh
- - name: Set up Pgrx
- run: mkdir -p ~/.pgrx && echo "configs.pg$VERSION=\"$(which pg_config)\"" > ~/.pgrx/config.toml
- - name: Set up Python
- uses: actions/setup-python@v5
- with:
- python-version: "3.10"
- - name: Set up Binstall
- run: curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - name: Set up Sqllogictest
- run: cargo binstall sqllogictest-bin -y --force
- - name: Release build
- run: |
- cargo build --no-default-features --features "pg$VERSION" --release
- ./tools/schema.sh --no-default-features --features "pg$VERSION" --release | sudo tee "/usr/share/postgresql/$VERSION/extension/vectors--0.0.0.sql"
- sed -e "s/@CARGO_VERSION@/0.0.0/g" < ./vectors.control | sudo tee "/usr/share/postgresql/$VERSION/extension/vectors.control"
- cp ./target/release/libvectors.so "/usr/lib/postgresql/$VERSION/lib/vectors.so"
-
- psql -c 'ALTER SYSTEM SET shared_preload_libraries = "vectors.so"'
- psql -c 'ALTER SYSTEM SET search_path = "$user", public, vectors'
- psql -c 'ALTER SYSTEM SET logging_collector = on'
-
- if [ "$OS" == "ubuntu-latest" ]; then
- sudo systemctl restart postgresql
- pg_lsclusters
- fi
- - name: Test
- run: ./tests/tests.sh
- - name: Cache
- uses: actions/cache/save@v4
- if: ${{ !steps.cache.outputs.cache-hit }}
- with:
- path: |
- ~/.cargo/registry/index/
- ~/.cargo/registry/cache/
- ~/.cargo/git/db/
- key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.os }}-${{ hashFiles('./Cargo.lock') }}
- debug_check:
- strategy:
- matrix:
- include:
- - { version: 14, os: "ubuntu-latest" }
- - { version: 15, os: "ubuntu-latest" }
- - { version: 16, os: "ubuntu-latest" }
- runs-on: ${{ matrix.os }}
- env:
- VERSION: ${{ matrix.version }}
- OS: ${{ matrix.os }}
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- - name: Set up Sccache
- uses: mozilla-actions/sccache-action@v0.0.4
- - name: Set up Cache
- uses: actions/cache/restore@v4
- id: cache
- with:
- path: |
- ~/.cargo/registry/index/
- ~/.cargo/registry/cache/
- ~/.cargo/git/db/
- key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.os }}-${{ hashFiles('./Cargo.lock') }}
- - name: Set up PostgreSQL
- run: ./scripts/ci_setup.sh
- - name: Set up Pgrx
- run: mkdir -p ~/.pgrx && echo "configs.pg$VERSION=\"$(which pg_config)\"" > ~/.pgrx/config.toml
- - name: Set up Binstall
- run: curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
- - name: Semantic check
- run: |
- cargo clippy --no-default-features --features "pg${{ matrix.version }}" --target x86_64-unknown-linux-gnu
- cargo clippy --no-default-features --features "pg${{ matrix.version }}" --target aarch64-unknown-linux-gnu
- - name: Debug build
- run: |
- cargo build --no-default-features --features "pg${{ matrix.version }}" --target x86_64-unknown-linux-gnu
- cargo build --no-default-features --features "pg${{ matrix.version }}" --target aarch64-unknown-linux-gnu
- - name: Test
- run: |
- cargo test --all --no-fail-fast --no-default-features --features "pg${{ matrix.version }}" --target x86_64-unknown-linux-gnu -- --nocapture
- - name: Cache
- uses: actions/cache/save@v4
- if: ${{ !steps.cache.outputs.cache-hit }}
- with:
- path: |
- ~/.cargo/registry/index/
- ~/.cargo/registry/cache/
- ~/.cargo/git/db/
- key: ${{ github.job }}-${{ matrix.version }}-${{ matrix.os }}-${{ hashFiles('./Cargo.lock') }}
diff --git a/.github/workflows/psql_check.yml b/.github/workflows/psql_check.yml
new file mode 100644
index 000000000..4451c64e0
--- /dev/null
+++ b/.github/workflows/psql_check.yml
@@ -0,0 +1,143 @@
+name: PostgreSQL check
+
+on:
+ push:
+ branches: ["main"]
+ paths:
+ - ".cargo/**"
+ - ".github/**"
+ - "crates/**"
+ - "scripts/**"
+ - "src/**"
+ - "tests/**"
+ - "Cargo.lock"
+ - "Cargo.toml"
+ - "rust-toolchain.toml"
+ - "vectors.control"
+ - "vendor/**"
+ pull_request:
+ branches: ["main"]
+ paths:
+ - ".cargo/**"
+ - ".github/**"
+ - "crates/**"
+ - "scripts/**"
+ - "src/**"
+ - "tests/**"
+ - "Cargo.lock"
+ - "Cargo.toml"
+ - "rust-toolchain.toml"
+ - "vectors.control"
+ - "vendor/**"
+ merge_group:
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.ref }}-${{ github.workflow }}
+ cancel-in-progress: true
+
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: 1
+ SCCACHE_GHA_ENABLED: true
+ RUSTC_WRAPPER: sccache
+ RUSTFLAGS: "-Dwarnings"
+
+jobs:
+ check:
+ strategy:
+ matrix:
+ version: [14, 15, 16]
+ runs-on: ubuntu-latest
+ env:
+ SEMVER: "0.0.0"
+ VERSION: ${{ matrix.version }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Set up Environment
+ run: |
+ sudo apt-get remove -y '^postgres.*' '^libpq.*' '^clang.*' '^llvm.*' '^libclang.*' '^libllvm.*' '^mono-llvm.*'
+ sudo apt-get purge -y '^postgres.*' '^libpq.*' '^clang.*' '^llvm.*' '^libclang.*' '^libllvm.*' '^mono-llvm.*'
+ sudo apt-get update
+ sudo apt-get install -y build-essential crossbuild-essential-arm64
+ sudo apt-get install -y qemu-user-static
+ echo 'target.aarch64-unknown-linux-gnu.linker = "aarch64-linux-gnu-gcc"' | tee ~/.cargo/config.toml
+ - name: Set up Sccache
+ uses: mozilla-actions/sccache-action@v0.0.4
+ - name: Set up Cache
+ uses: actions/cache/restore@v4
+ id: cache
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ key: ${{ github.job }}-${{ hashFiles('./Cargo.lock') }}-${{ matrix.version }}
+ - name: Set up Clang-16
+ run: |
+ sudo sh -c 'echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-16 main" >> /etc/apt/sources.list'
+ wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
+ sudo apt-get update
+ sudo apt-get install -y clang-16
+ - name: Set up Pgrx
+ run: |
+ # pg_config
+ mkdir -p ~/.pg_config
+ touch ~/.pg_config/pg_config
+ chmod 777 ~/.pg_config/pg_config
+ echo "#!/usr/bin/env bash" >> ~/.pg_config/pg_config
+ echo "$(pwd)/tools/pg_config.sh \"\$@\" < $(pwd)/vendor/pg_config/pg${VERSION}_$(uname --machine)-unknown-linux-gnu.txt" >> ~/.pg_config/pg_config
+ mkdir -p ~/.pgrx && echo "configs.pg$VERSION=\"$HOME/.pg_config/pg_config\"" > ~/.pgrx/config.toml
+ # pgrx_binding
+ mkdir -p ~/.pgrx_binding
+ cp ./vendor/pgrx_binding/pg${VERSION}_$(uname --machine)-unknown-linux-gnu.rs ~/.pgrx_binding/pg${VERSION}_raw_bindings.rs
+ echo PGRX_TARGET_INFO_PATH_PG$VERSION=$HOME/.pgrx_binding >> "$GITHUB_ENV"
+ - name: Build Release
+ run: |
+ cargo build --no-default-features --features "pg$VERSION" --release
+ ./tools/schema.sh --no-default-features --features "pg$VERSION" --release | expand -t 4 > ./target/vectors--$SEMVER.sql
+ - name: Set up PostgreSQL
+ run: |
+ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
+ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
+ sudo apt-get update
+ sudo apt-get -y install postgresql-$VERSION
+
+ echo "local all all trust" | sudo tee /etc/postgresql/$VERSION/main/pg_hba.conf
+ echo "host all all 127.0.0.1/32 trust" | sudo tee -a /etc/postgresql/$VERSION/main/pg_hba.conf
+ echo "host all all ::1/128 trust" | sudo tee -a /etc/postgresql/$VERSION/main/pg_hba.conf
+ sudo systemctl restart postgresql
+
+ sudo -iu postgres createuser -s -r $USER
+ createdb
+ - name: Install Release
+ run: |
+ sudo cp ./target/vectors--$SEMVER.sql /usr/share/postgresql/$VERSION/extension/vectors--$SEMVER.sql
+ sudo cp ./target/release/libvectors.so "/usr/lib/postgresql/$VERSION/lib/vectors.so"
+ sed -e "s/@CARGO_VERSION@/$SEMVER/g" < ./vectors.control | sudo tee "/usr/share/postgresql/$VERSION/extension/vectors.control"
+
+ psql -c 'ALTER SYSTEM SET shared_preload_libraries = "vectors.so"'
+ psql -c 'ALTER SYSTEM SET search_path = "$user", public, vectors'
+ psql -c 'ALTER SYSTEM SET logging_collector = on'
+
+ sudo systemctl restart postgresql
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: "3.10"
+ - name: Set up cargo-binstall
+ uses: cargo-bins/cargo-binstall@main
+ - name: Set up Sqllogictest
+ run: cargo binstall sqllogictest-bin -y --force
+ - name: Test
+ run: ./tests/tests.sh
+ - name: Post Set up Cache
+ uses: actions/cache/save@v4
+ if: ${{ !steps.cache.outputs.cache-hit }}
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ key: ${{ github.job }}-${{ hashFiles('./Cargo.lock') }}-${{ matrix.version }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index ac52aedde..e496c3a10 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -41,54 +41,86 @@ jobs:
binary:
strategy:
matrix:
- include:
- - { version: 14, platform: amd64, arch: x86_64 }
- - { version: 14, platform: arm64, arch: aarch64 }
- - { version: 15, platform: amd64, arch: x86_64 }
- - { version: 15, platform: arm64, arch: aarch64 }
- - { version: 16, platform: amd64, arch: x86_64 }
- - { version: 16, platform: arm64, arch: aarch64 }
+ version: [14, 15, 16]
+ arch: ["x86_64", "aarch64"]
runs-on: ubuntu-20.04
+ env:
+ SEMVER: ${{ github.event.inputs.version }}
+ VERSION: ${{ matrix.version }}
+ ARCH: ${{ matrix.arch }}
needs: ["semver"]
steps:
- name: Checkout
uses: actions/checkout@v4
+ - name: Set up Environment
+ run: |
+ sudo apt-get remove -y '^postgres.*' '^libpq.*' '^clang.*' '^llvm.*' '^libclang.*' '^libllvm.*' '^mono-llvm.*'
+ sudo apt-get purge -y '^postgres.*' '^libpq.*' '^clang.*' '^llvm.*' '^libclang.*' '^libllvm.*' '^mono-llvm.*'
+ sudo apt-get update
+ sudo apt-get install -y build-essential crossbuild-essential-arm64
+ sudo apt-get install -y qemu-user-static
+ echo 'target.aarch64-unknown-linux-gnu.linker = "aarch64-linux-gnu-gcc"' | tee ~/.cargo/config.toml
- name: Set up Sccache
uses: mozilla-actions/sccache-action@v0.0.4
- - name: Set up Crossbuild
- if: ${{ matrix.arch == 'aarch64' }}
+ - name: Set up Cache
+ uses: actions/cache/restore@v4
+ id: cache
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ key: ${{ github.job }}-${{ hashFiles('./Cargo.lock') }}-${{ matrix.version }}-${{ matrix.arch }}
+ - name: Set up Clang-16
run: |
+ sudo sh -c 'echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-16 main" >> /etc/apt/sources.list'
+ wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update
- sudo apt-get -y install crossbuild-essential-arm64
- echo 'target.aarch64-unknown-linux-gnu.linker = "aarch64-linux-gnu-gcc"' | tee ~/.cargo/config.toml
- echo 'env.BINDGEN_EXTRA_CLANG_ARGS_aarch64_unknown_linux_gnu = "-isystem /usr/aarch64-linux-gnu/include/ -ccc-gcc-name aarch64-linux-gnu-gcc"' | tee -a ~/.cargo/config.toml
- - name: Build Release
+ sudo apt-get install -y clang-16
+ - name: Set up Pgrx
+ run: |
+ # pg_config
+ mkdir -p ~/.pg_config
+ touch ~/.pg_config/pg_config
+ chmod 777 ~/.pg_config/pg_config
+ echo "#!/usr/bin/env bash" >> ~/.pg_config/pg_config
+ echo "$(pwd)/tools/pg_config.sh \"\$@\" < $(pwd)/vendor/pg_config/pg${VERSION}_${ARCH}-unknown-linux-gnu.txt" >> ~/.pg_config/pg_config
+ mkdir -p ~/.pgrx && echo "configs.pg$VERSION=\"$HOME/.pg_config/pg_config\"" > ~/.pgrx/config.toml
+ # pgrx_binding
+ mkdir -p ~/.pgrx_binding
+ cp ./vendor/pgrx_binding/pg${VERSION}_$(uname --machine)-unknown-linux-gnu.rs ~/.pgrx_binding/pg${VERSION}_raw_bindings.rs
+ echo PGRX_TARGET_INFO_PATH_PG$VERSION=$HOME/.pgrx_binding >> "$GITHUB_ENV"
+ - name: Build
+ run: |
+ cargo build --no-default-features --features pg$VERSION --release --target $ARCH-unknown-linux-gnu
+ ./tools/schema.sh --no-default-features --features pg$VERSION --release --target $ARCH-unknown-linux-gnu | expand -t 4 > ./target/vectors--$SEMVER.sql
+ - name: Package
run: |
- export SEMVER=${{ github.event.inputs.version }}
- export VERSION=${{ matrix.version }}
- export ARCH=${{ matrix.arch }}
- export _PGRX=$(grep 'pgrx = {' Cargo.toml | cut -d '"' -f 2 | head -n 1)
- export _RUST=$(grep -oP 'channel = "\K[^"]+' ./rust-toolchain.toml)
- sudo -E ./scripts/build_0.sh
- ./scripts/build_1.sh
- ./scripts/build_2.sh
+ export PLATFORM=$(echo $ARCH | sed 's/aarch64/arm64/; s/x86_64/amd64/')
+ ./scripts/package.sh
- name: Upload
env:
GH_TOKEN: ${{ github.token }}
run: |
- gh release upload --clobber ${{ github.event.inputs.tag }} ./build/vectors-pg${{ matrix.version }}_${{ matrix.arch }}-unknown-linux-gnu_${{ github.event.inputs.version }}.zip
- gh release upload --clobber ${{ github.event.inputs.tag }} ./build/vectors-pg${{ matrix.version }}_${{ github.event.inputs.version }}_${{ matrix.platform }}.deb
+ export TAG=${{ github.event.inputs.tag }}
+ export PLATFORM=$(echo $ARCH | sed 's/aarch64/arm64/; s/x86_64/amd64/')
+ gh release upload --clobber $TAG ./build/vectors-pg${VERSION}_${ARCH}-unknown-linux-gnu_${SEMVER}.zip
+ gh release upload --clobber $TAG ./build/vectors-pg${VERSION}_${SEMVER}_${PLATFORM}.deb
+ - name: Post Set up Cache
+ uses: actions/cache/save@v4
+ if: ${{ !steps.cache.outputs.cache-hit }}
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ key: ${{ github.job }}-${{ hashFiles('./Cargo.lock') }}-${{ matrix.version }}-${{ matrix.arch }}
docker_binary_release:
needs: ["binary", "semver"]
strategy:
matrix:
- include:
- - { version: 14, platform: amd64, arch: x86_64 }
- - { version: 14, platform: arm64, arch: aarch64 }
- - { version: 15, platform: amd64, arch: x86_64 }
- - { version: 15, platform: arm64, arch: aarch64 }
- - { version: 16, platform: amd64, arch: x86_64 }
- - { version: 16, platform: arm64, arch: aarch64 }
+ version: [14, 15, 16]
+ platform: ["amd64", "arm64"]
runs-on: ubuntu-latest
steps:
- name: Checkout
diff --git a/.github/workflows/rust_check.yml b/.github/workflows/rust_check.yml
new file mode 100644
index 000000000..fb7ffabef
--- /dev/null
+++ b/.github/workflows/rust_check.yml
@@ -0,0 +1,114 @@
+name: Rust check
+
+on:
+ push:
+ branches: ["main"]
+ paths:
+ - ".cargo/**"
+ - ".github/**"
+ - "crates/**"
+ - "scripts/**"
+ - "src/**"
+ - "tests/**"
+ - "Cargo.lock"
+ - "Cargo.toml"
+ - "rust-toolchain.toml"
+ - "vectors.control"
+ - "vendor/**"
+ pull_request:
+ branches: ["main"]
+ paths:
+ - ".cargo/**"
+ - ".github/**"
+ - "crates/**"
+ - "scripts/**"
+ - "src/**"
+ - "tests/**"
+ - "Cargo.lock"
+ - "Cargo.toml"
+ - "rust-toolchain.toml"
+ - "vectors.control"
+ - "vendor/**"
+ merge_group:
+ workflow_dispatch:
+
+concurrency:
+ group: ${{ github.ref }}-${{ github.workflow }}
+ cancel-in-progress: true
+
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: 1
+ SCCACHE_GHA_ENABLED: true
+ RUSTC_WRAPPER: sccache
+ RUSTFLAGS: "-Dwarnings"
+
+jobs:
+ check:
+ strategy:
+ matrix:
+ version: [14, 15, 16]
+ arch: ["x86_64", "aarch64"]
+ runs-on: ubuntu-latest
+ env:
+ SEMVER: "0.0.0"
+ VERSION: ${{ matrix.version }}
+ ARCH: ${{ matrix.arch }}
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Set up Environment
+ run: |
+ sudo apt-get remove -y '^postgres.*' '^libpq.*' '^clang.*' '^llvm.*' '^libclang.*' '^libllvm.*' '^mono-llvm.*'
+ sudo apt-get purge -y '^postgres.*' '^libpq.*' '^clang.*' '^llvm.*' '^libclang.*' '^libllvm.*' '^mono-llvm.*'
+ sudo apt-get update
+ sudo apt-get install -y build-essential crossbuild-essential-arm64
+ sudo apt-get install -y qemu-user-static
+ touch ~/.cargo/config.toml
+ echo 'target.aarch64-unknown-linux-gnu.linker = "aarch64-linux-gnu-gcc"' >> ~/.cargo/config.toml
+ echo 'target.aarch64-unknown-linux-gnu.runner = ["qemu-aarch64-static", "-L", "/usr/aarch64-linux-gnu"]' >> ~/.cargo/config.toml
+ - name: Set up Sccache
+ uses: mozilla-actions/sccache-action@v0.0.4
+ - name: Set up Cache
+ uses: actions/cache/restore@v4
+ id: cache
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ key: ${{ github.job }}-${{ hashFiles('./Cargo.lock') }}-${{ matrix.version }}-${{ matrix.arch }}
+ - name: Set up Clang-16
+ run: |
+ sudo sh -c 'echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-16 main" >> /etc/apt/sources.list'
+ wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
+ sudo apt-get update
+ sudo apt-get install -y clang-16
+ - name: Set up Pgrx
+ run: |
+ # pg_config
+ mkdir -p ~/.pg_config
+ touch ~/.pg_config/pg_config
+ chmod 777 ~/.pg_config/pg_config
+ echo "#!/usr/bin/env bash" >> ~/.pg_config/pg_config
+ echo "$(pwd)/tools/pg_config.sh \"\$@\" < $(pwd)/vendor/pg_config/pg${VERSION}_${ARCH}-unknown-linux-gnu.txt" >> ~/.pg_config/pg_config
+ mkdir -p ~/.pgrx && echo "configs.pg$VERSION=\"$HOME/.pg_config/pg_config\"" > ~/.pgrx/config.toml
+ # pgrx_binding
+ mkdir -p ~/.pgrx_binding
+ cp ./vendor/pgrx_binding/pg${VERSION}_$(uname --machine)-unknown-linux-gnu.rs ~/.pgrx_binding/pg${VERSION}_raw_bindings.rs
+ echo PGRX_TARGET_INFO_PATH_PG$VERSION=$HOME/.pgrx_binding >> "$GITHUB_ENV"
+ - name: Clippy
+ run: cargo clippy --no-default-features --features "pg$VERSION" --target $ARCH-unknown-linux-gnu
+ - name: Build
+ run: cargo build --no-default-features --features "pg$VERSION" --target $ARCH-unknown-linux-gnu
+ - name: Test
+ run: cargo test --all --no-fail-fast --no-default-features --features "pg$VERSION" --target $ARCH-unknown-linux-gnu -- --nocapture
+ - name: Post Set up Cache
+ uses: actions/cache/save@v4
+ if: ${{ !steps.cache.outputs.cache-hit }}
+ with:
+ path: |
+ ~/.cargo/registry/index/
+ ~/.cargo/registry/cache/
+ ~/.cargo/git/db/
+ key: ${{ github.job }}-${{ hashFiles('./Cargo.lock') }}-${{ matrix.version }}-${{ matrix.arch }}
diff --git a/.github/workflows/update_vendor.yml b/.github/workflows/update_vendor.yml
new file mode 100644
index 000000000..44a2d4a54
--- /dev/null
+++ b/.github/workflows/update_vendor.yml
@@ -0,0 +1,48 @@
+name: Update Vendor
+
+on:
+ workflow_dispatch:
+
+env:
+ CARGO_TERM_COLOR: always
+ RUST_BACKTRACE: 1
+ SCCACHE_GHA_ENABLED: true
+ RUSTC_WRAPPER: sccache
+ RUSTFLAGS: "-Dwarnings"
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ generate:
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ - name: Generate
+ run: |
+ export PGRX=$(grep -o 'pgrx = { version = "=[^"]*' Cargo.toml | cut -d = -f 4)
+ docker run --rm --platform linux/amd64 -v ./:/mnt/build \
+ -e "VERSION=14" -e "PGRX=$PGRX" debian:buster bash /mnt/build/scripts/update_vendor.sh &
+ docker run --rm --platform linux/amd64 -v ./:/mnt/build \
+ -e "VERSION=15" -e "PGRX=$PGRX" debian:buster bash /mnt/build/scripts/update_vendor.sh &
+ docker run --rm --platform linux/amd64 -v ./:/mnt/build \
+ -e "VERSION=16" -e "PGRX=$PGRX" debian:buster bash /mnt/build/scripts/update_vendor.sh &
+ docker run --rm --platform linux/arm64 -v ./:/mnt/build \
+ -e "VERSION=14" -e "PGRX=$PGRX" debian:buster bash /mnt/build/scripts/update_vendor.sh &
+ docker run --rm --platform linux/arm64 -v ./:/mnt/build \
+ -e "VERSION=15" -e "PGRX=$PGRX" debian:buster bash /mnt/build/scripts/update_vendor.sh &
+ docker run --rm --platform linux/arm64 -v ./:/mnt/build \
+ -e "VERSION=16" -e "PGRX=$PGRX" debian:buster bash /mnt/build/scripts/update_vendor.sh &
+ wait
+ sudo chown -R $USER ./vendor
+ - name: Create Pull Request
+ uses: peter-evans/create-pull-request@v6
+ with:
+ commit-message: 'chore: update vendor'
+ title: 'chore: update vendor'
+ body: 'Update vendor: `pg_config` contents and pgrx bindings.'
+ branch: update-vendor
diff --git a/.typos.toml b/.typos.toml
index a835b47e1..ab72c12e2 100644
--- a/.typos.toml
+++ b/.typos.toml
@@ -1,2 +1,5 @@
[default.extend-words]
ND = "ND"
+
+[files]
+extend-exclude = ["vendor/pg_config/*.txt", "vendor/pgrx_binding/*.rs"]
diff --git a/Cargo.toml b/Cargo.toml
index 7b3c4f657..0ff221598 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -27,7 +27,7 @@ log.workspace = true
memmap2.workspace = true
num-traits.workspace = true
paste.workspace = true
-pgrx = { version = "0.12.0-alpha.1", default-features = false, features = [] }
+pgrx = { version = "=0.12.0-alpha.1", default-features = false, features = [] }
rand.workspace = true
rustix.workspace = true
serde.workspace = true
diff --git a/build.envd b/build.envd
index 8e431b981..2fb83e475 100644
--- a/build.envd
+++ b/build.envd
@@ -6,24 +6,44 @@ def build():
shell("zsh")
install.apt_packages(
name=[
- 'bison',
- 'build-essential',
- 'ccache',
- 'flex',
- 'gcc',
- 'git',
- 'gnupg',
- 'libreadline-dev',
- 'libssl-dev',
- 'libxml2-dev',
- 'libxml2-utils',
- 'libxslt-dev',
- 'lsb-release',
- 'pkg-config',
- 'tzdata',
- 'xsltproc',
- 'zlib1g-dev'
+ "bison",
+ "build-essential",
+ "ccache",
+ "flex",
+ "gcc",
+ "git",
+ "gnupg",
+ "libreadline-dev",
+ "libssl-dev",
+ "libxml2-dev",
+ "libxml2-utils",
+ "libxslt-dev",
+ "lsb-release",
+ "pkg-config",
+ "tzdata",
+ "xsltproc",
+ "zlib1g-dev",
+ ]
+ )
+ run(
+ commands=[
+ "echo 'deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-16 main' | sudo tee -a /etc/apt/sources.list",
+ "wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -",
+ "sudo apt-get update",
+ "sudo apt-get install -y clang-16",
]
)
runtime.environ(extra_path=["/home/envd/.cargo/bin"])
- run(commands=["bash ./scripts/envd.sh"], mount_host=True)
+ run(
+ commands=[
+ "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y",
+ ]
+ )
+ run(
+ commands=[
+ "export PGRX=$(grep -o \"pgrx = { version = \\\"=[^\\\"]*\" Cargo.toml | cut -d = -f 4)",
+ "cargo install cargo-pgrx --version $PGRX",
+ "cargo pgrx init",
+ ],
+ mount_host=True,
+ )
diff --git a/crates/base/src/vector/svecf32.rs b/crates/base/src/vector/svecf32.rs
index 772880f59..1df950ed6 100644
--- a/crates/base/src/vector/svecf32.rs
+++ b/crates/base/src/vector/svecf32.rs
@@ -841,12 +841,14 @@ unsafe fn emulate_mm512_2intersect_epi32(
}
}
+#[cfg(target_arch = "x86_64")]
#[cfg(test)]
mod tests {
use super::*;
const LHS_SIZE: usize = 300;
const RHS_SIZE: usize = 350;
+ const EPS: F32 = F32(1e-5);
pub fn random_svector(len: usize) -> SVecf32Owned {
use rand::Rng;
@@ -862,7 +864,6 @@ mod tests {
#[test]
fn test_cosine_svector() {
- const EP: F32 = F32(1e-5);
let x = random_svector(LHS_SIZE);
let y = random_svector(RHS_SIZE);
let cosine_fallback = cosine_fallback(x.for_borrow(), y.for_borrow());
@@ -870,7 +871,7 @@ mod tests {
if detect::x86_64::detect_v4() {
let cosine_v4 = unsafe { cosine_v4(x.for_borrow(), y.for_borrow()) };
assert!(
- cosine_fallback - cosine_v4 < EP,
+ cosine_fallback - cosine_v4 < EPS,
"cosine_fallback: {}, cosine_v4: {}",
cosine_fallback,
cosine_v4
@@ -880,7 +881,6 @@ mod tests {
#[test]
fn test_dot_svector() {
- const EP: F32 = F32(1e-5);
let x = random_svector(LHS_SIZE);
let y = random_svector(RHS_SIZE);
let dot_fallback = dot_fallback(x.for_borrow(), y.for_borrow());
@@ -888,7 +888,7 @@ mod tests {
if detect::x86_64::detect_v4() {
let dot_v4 = unsafe { dot_v4(x.for_borrow(), y.for_borrow()) };
assert!(
- dot_fallback - dot_v4 < EP,
+ dot_fallback - dot_v4 < EPS,
"dot_fallback: {}, dot_v4: {}",
dot_fallback,
dot_v4
@@ -898,7 +898,6 @@ mod tests {
#[test]
fn test_sl2_svector() {
- const EP: F32 = F32(1e-5);
let x = random_svector(LHS_SIZE);
let y = random_svector(RHS_SIZE);
let sl2_fallback = sl2_fallback(x.for_borrow(), y.for_borrow());
@@ -906,7 +905,7 @@ mod tests {
if detect::x86_64::detect_v4() {
let sl2_v4 = unsafe { sl2_v4(x.for_borrow(), y.for_borrow()) };
assert!(
- sl2_fallback - sl2_v4 < EP,
+ sl2_fallback - sl2_v4 < EPS,
"sl2_fallback: {}, sl2_v4: {}",
sl2_fallback,
sl2_v4
diff --git a/crates/base/src/vector/veci8.rs b/crates/base/src/vector/veci8.rs
index 9fbdebb8f..73810f05d 100644
--- a/crates/base/src/vector/veci8.rs
+++ b/crates/base/src/vector/veci8.rs
@@ -338,7 +338,7 @@ pub fn i8_precompute(data: &[I8], alpha: F32, offset: F32) -> (F32, F32) {
}
#[cfg(test)]
-mod tests {
+mod tests_0 {
use super::*;
#[test]
@@ -499,7 +499,7 @@ pub fn dot_2<'a>(lhs: Veci8Borrowed<'a>, rhs: &[F32]) -> F32 {
}
#[cfg(test)]
-mod tests_2 {
+mod tests_1 {
use super::*;
fn new_random_vec_f32(size: usize) -> Vec {
diff --git a/scripts/build_0.sh b/scripts/build_0.sh
deleted file mode 100755
index bae8fa244..000000000
--- a/scripts/build_0.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-printf "VERSION = ${VERSION}\n"
-
-apt-get update
-DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y --no-install-recommends \
- bison \
- build-essential \
- ccache \
- curl \
- flex \
- gcc \
- git \
- gnupg \
- libreadline-dev \
- libssl-dev \
- libxml2-dev \
- libxml2-utils \
- libxslt-dev \
- lsb-release \
- pkg-config \
- tzdata \
- wget \
- xsltproc \
- zlib1g-dev \
- zip \
- qemu-user-static
-apt-get install -y --no-install-recommends sudo ca-certificates
-
-echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
-wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
-sudo apt-get update
-sudo apt-get install -y --no-install-recommends postgresql-${VERSION} postgresql-server-dev-${VERSION}
-
-sudo sh -c 'echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-16 main" >> /etc/apt/sources.list'
-wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
-sudo apt-get update
-sudo apt-get install -y --no-install-recommends clang-16
diff --git a/scripts/build_1.sh b/scripts/build_1.sh
deleted file mode 100755
index 800cca300..000000000
--- a/scripts/build_1.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-printf "VERSION = ${VERSION}\n"
-printf "_PGRX = ${_PGRX}\n"
-printf "_RUST = ${_RUST}\n"
-
-if ! command -v rustup &> /dev/null; then
- curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain nightly
- source "$HOME/.cargo/env"
-fi
-rustup toolchain install $_RUST
-
-cargo +$_RUST install cargo-pgrx@$_PGRX --debug
-cargo pgrx init --pg${VERSION}=/usr/lib/postgresql/${VERSION}/bin/pg_config
diff --git a/scripts/ci_setup.sh b/scripts/ci_setup.sh
deleted file mode 100755
index 03d2d3196..000000000
--- a/scripts/ci_setup.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-if [ "$OS" == "ubuntu-latest" ]; then
- if [ $VERSION != 14 ]; then
- sudo pg_dropcluster 14 main
- fi
- sudo apt-get remove -y '^postgres.*' '^libpq.*' '^clang.*' '^llvm.*' '^libclang.*' '^libllvm.*' '^mono-llvm.*'
- sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
- sudo sh -c 'echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-16 main" >> /etc/apt/sources.list'
- wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
- wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
- sudo apt-get update
- sudo apt-get -y install build-essential libpq-dev postgresql-$VERSION postgresql-server-dev-$VERSION
- sudo apt-get -y install clang-16
- sudo apt-get -y install crossbuild-essential-arm64
- echo 'target.aarch64-unknown-linux-gnu.linker = "aarch64-linux-gnu-gcc"' | tee ~/.cargo/config.toml
- echo 'env.BINDGEN_EXTRA_CLANG_ARGS_aarch64_unknown_linux_gnu = "-isystem /usr/aarch64-linux-gnu/include/ -ccc-gcc-name aarch64-linux-gnu-gcc"' | tee -a ~/.cargo/config.toml
- echo "local all all trust" | sudo tee /etc/postgresql/$VERSION/main/pg_hba.conf
- echo "host all all 127.0.0.1/32 trust" | sudo tee -a /etc/postgresql/$VERSION/main/pg_hba.conf
- echo "host all all ::1/128 trust" | sudo tee -a /etc/postgresql/$VERSION/main/pg_hba.conf
- pg_lsclusters
- sudo systemctl restart postgresql
- pg_lsclusters
- sudo -iu postgres createuser -s -r runner
- createdb
-fi
-
-sudo chmod -R 777 `pg_config --pkglibdir`
-sudo chmod -R 777 `pg_config --sharedir`/extension
diff --git a/scripts/envd.sh b/scripts/envd.sh
deleted file mode 100755
index d3c99f841..000000000
--- a/scripts/envd.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/usr/bin/bash
-set -e
-
-echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
-wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
-sudo apt-get update
-sudo apt-get install -y --no-install-recommends postgresql-15 postgresql-server-dev-15
-
-sudo sh -c 'echo "deb http://apt.llvm.org/$(lsb_release -cs)/ llvm-toolchain-$(lsb_release -cs)-16 main" >> /etc/apt/sources.list'
-wget --quiet -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
-sudo apt-get update
-sudo apt-get install -y --no-install-recommends clang-16
-
-curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain none
-
-cargo install cargo-pgrx@$(grep 'pgrx = {' Cargo.toml | cut -d '"' -f 2 | head -n 1)
-cargo pgrx init
-
-sudo chmod 777 /usr/share/postgresql/15/extension/
-sudo chmod 777 /usr/lib/postgresql/15/lib/
diff --git a/scripts/build_2.sh b/scripts/package.sh
similarity index 85%
rename from scripts/build_2.sh
rename to scripts/package.sh
index 5c9f72d2c..4df334de2 100755
--- a/scripts/build_2.sh
+++ b/scripts/package.sh
@@ -4,11 +4,7 @@ set -e
printf "SEMVER = ${SEMVER}\n"
printf "VERSION = ${VERSION}\n"
printf "ARCH = ${ARCH}\n"
-
-export PLATFORM=$(echo $ARCH | sed 's/aarch64/arm64/; s/x86_64/amd64/')
-
-cargo build --no-default-features --features pg$VERSION --release --target ${ARCH}-unknown-linux-gnu
-./tools/schema.sh --no-default-features --features pg$VERSION --release --target ${ARCH}-unknown-linux-gnu | expand -t 4 > ./target/vectors--$SEMVER.sql
+printf "PLATFORM = ${PLATFORM}\n"
rm -rf ./build/dir_zip
rm -rf ./build/vectors-pg${VERSION}_${ARCH}-unknown-linux-gnu_${SEMVER}.zip
diff --git a/scripts/update_vendor.sh b/scripts/update_vendor.sh
new file mode 100755
index 000000000..76786a996
--- /dev/null
+++ b/scripts/update_vendor.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+set -e
+
+printf "VERSION = ${VERSION}\n"
+printf "PGRX = ${PGRX}\n"
+
+apt-get update
+apt-get install -y --no-install-recommends ca-certificates curl build-essential gnupg lsb-release wget
+
+echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | tee -a /etc/apt/sources.list.d/pgdg.list
+wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -
+apt-get update
+apt-get install -y --no-install-recommends postgresql-${VERSION} postgresql-server-dev-${VERSION}
+
+curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+source ~/.cargo/env
+
+cd $(mktemp -d)
+
+cargo init --lib --name vectors
+cargo add pgrx-pg-sys@=$PGRX --no-default-features --features pg$VERSION
+PGRX_PG_CONFIG_PATH=$(which pg_config) PGRX_PG_SYS_EXTRA_OUTPUT_PATH=$(pwd)/pgrx-binding.rs cargo build
+rustfmt ./pgrx-binding.rs
+
+cp ./pgrx-binding.rs /mnt/build/vendor/pgrx_binding/pg${VERSION}_$(uname --machine)-unknown-linux-gnu.rs
+pg_config > /mnt/build/vendor/pg_config/pg${VERSION}_$(uname --machine)-unknown-linux-gnu.txt
diff --git a/tools/pg_config.sh b/tools/pg_config.sh
new file mode 100755
index 000000000..b805ee603
--- /dev/null
+++ b/tools/pg_config.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env bash
+set -e
+
+source=$(cat -)
+
+if [ -z "$source" ]; then
+ echo "pg_config: could't find configuration file"
+ exit 1
+fi
+
+for arg in "$@"; do
+ if [ "$arg" = "--help" ] || [ "$arg" = "-?" ]; then
+ cat <.
+PostgreSQL home page:
+EOF
+ exit 0
+ fi
+done
+
+if [ $# -eq 0 ]; then
+ echo "$source"
+ exit 0
+fi
+
+for arg in "$@"; do
+ res=""
+
+ if [[ "$arg" == --* ]]; then
+ var=$(echo "$arg" | cut -c 3- | tr '[:lower:]' '[:upper:]')
+ res=$(printf "%s" "$source" | grep -E "^$var = " - | cut -d "=" -f "2-")
+ fi
+
+ if [ -z "$res" ]; then
+ echo "pg_config: invalid argument: $arg"
+ echo "Try "pg_config --help" for more information."
+ exit 1
+ fi
+
+ echo $res
+done
diff --git a/vendor/pg_config/pg14_aarch64-unknown-linux-gnu.txt b/vendor/pg_config/pg14_aarch64-unknown-linux-gnu.txt
new file mode 100644
index 000000000..20fd08045
--- /dev/null
+++ b/vendor/pg_config/pg14_aarch64-unknown-linux-gnu.txt
@@ -0,0 +1,23 @@
+BINDIR = /usr/lib/postgresql/14/bin
+DOCDIR = /usr/share/doc/postgresql-doc-14
+HTMLDIR = /usr/share/doc/postgresql-doc-14
+INCLUDEDIR = /usr/include/postgresql
+PKGINCLUDEDIR = /usr/include/postgresql
+INCLUDEDIR-SERVER = /usr/include/postgresql/14/server
+LIBDIR = /usr/lib/aarch64-linux-gnu
+PKGLIBDIR = /usr/lib/postgresql/14/lib
+LOCALEDIR = /usr/share/locale
+MANDIR = /usr/share/postgresql/14/man
+SHAREDIR = /usr/share/postgresql/14
+SYSCONFDIR = /etc/postgresql-common
+PGXS = /usr/lib/postgresql/14/lib/pgxs/src/makefiles/pgxs.mk
+CONFIGURE = '--build=aarch64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/aarch64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--mandir=/usr/share/postgresql/14/man' '--docdir=/usr/share/doc/postgresql-doc-14' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/14' '--bindir=/usr/lib/postgresql/14/bin' '--libdir=/usr/lib/aarch64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--with-extra-version= (Debian 14.11-1.pgdg100+1)' '--enable-nls' '--enable-thread-safety' '--enable-debug' '--enable-dtrace' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-gssapi' '--with-ldap' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'AWK=mawk' 'MKDIR_P=/bin/mkdir -p' 'PROVE=/usr/bin/prove' 'PYTHON=/usr/bin/python3' 'TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' '--enable-tap-tests' '--with-icu' '--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-13' 'CLANG=/usr/bin/clang-13' '--with-lz4' '--with-systemd' '--with-selinux' 'build_alias=aarch64-linux-gnu' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'
+CC = gcc
+CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2
+CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
+CFLAGS_SL = -fPIC
+LDFLAGS = -Wl,-z,relro -Wl,-z,now -L/usr/lib/llvm-13/lib -Wl,--as-needed
+LDFLAGS_EX =
+LDFLAGS_SL =
+LIBS = -lpgcommon -lpgport -lselinux -llz4 -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm
+VERSION = PostgreSQL 14.11 (Debian 14.11-1.pgdg100+1)
diff --git a/vendor/pg_config/pg14_x86_64-unknown-linux-gnu.txt b/vendor/pg_config/pg14_x86_64-unknown-linux-gnu.txt
new file mode 100644
index 000000000..d9f5a1f78
--- /dev/null
+++ b/vendor/pg_config/pg14_x86_64-unknown-linux-gnu.txt
@@ -0,0 +1,23 @@
+BINDIR = /usr/lib/postgresql/14/bin
+DOCDIR = /usr/share/doc/postgresql-doc-14
+HTMLDIR = /usr/share/doc/postgresql-doc-14
+INCLUDEDIR = /usr/include/postgresql
+PKGINCLUDEDIR = /usr/include/postgresql
+INCLUDEDIR-SERVER = /usr/include/postgresql/14/server
+LIBDIR = /usr/lib/x86_64-linux-gnu
+PKGLIBDIR = /usr/lib/postgresql/14/lib
+LOCALEDIR = /usr/share/locale
+MANDIR = /usr/share/postgresql/14/man
+SHAREDIR = /usr/share/postgresql/14
+SYSCONFDIR = /etc/postgresql-common
+PGXS = /usr/lib/postgresql/14/lib/pgxs/src/makefiles/pgxs.mk
+CONFIGURE = '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--mandir=/usr/share/postgresql/14/man' '--docdir=/usr/share/doc/postgresql-doc-14' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/14' '--bindir=/usr/lib/postgresql/14/bin' '--libdir=/usr/lib/x86_64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--with-extra-version= (Debian 14.11-1.pgdg100+1)' '--enable-nls' '--enable-thread-safety' '--enable-debug' '--enable-dtrace' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-gssapi' '--with-ldap' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'AWK=mawk' 'MKDIR_P=/bin/mkdir -p' 'PROVE=/usr/bin/prove' 'PYTHON=/usr/bin/python3' 'TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' '--enable-tap-tests' '--with-icu' '--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-13' 'CLANG=/usr/bin/clang-13' '--with-lz4' '--with-systemd' '--with-selinux' 'build_alias=x86_64-linux-gnu' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'
+CC = gcc
+CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2
+CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer
+CFLAGS_SL = -fPIC
+LDFLAGS = -Wl,-z,relro -Wl,-z,now -L/usr/lib/llvm-13/lib -Wl,--as-needed
+LDFLAGS_EX =
+LDFLAGS_SL =
+LIBS = -lpgcommon -lpgport -lselinux -llz4 -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm
+VERSION = PostgreSQL 14.11 (Debian 14.11-1.pgdg100+1)
diff --git a/vendor/pg_config/pg15_aarch64-unknown-linux-gnu.txt b/vendor/pg_config/pg15_aarch64-unknown-linux-gnu.txt
new file mode 100644
index 000000000..80a2a3693
--- /dev/null
+++ b/vendor/pg_config/pg15_aarch64-unknown-linux-gnu.txt
@@ -0,0 +1,23 @@
+BINDIR = /usr/lib/postgresql/15/bin
+DOCDIR = /usr/share/doc/postgresql-doc-15
+HTMLDIR = /usr/share/doc/postgresql-doc-15
+INCLUDEDIR = /usr/include/postgresql
+PKGINCLUDEDIR = /usr/include/postgresql
+INCLUDEDIR-SERVER = /usr/include/postgresql/15/server
+LIBDIR = /usr/lib/aarch64-linux-gnu
+PKGLIBDIR = /usr/lib/postgresql/15/lib
+LOCALEDIR = /usr/share/locale
+MANDIR = /usr/share/postgresql/15/man
+SHAREDIR = /usr/share/postgresql/15
+SYSCONFDIR = /etc/postgresql-common
+PGXS = /usr/lib/postgresql/15/lib/pgxs/src/makefiles/pgxs.mk
+CONFIGURE = '--build=aarch64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/aarch64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--mandir=/usr/share/postgresql/15/man' '--docdir=/usr/share/doc/postgresql-doc-15' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/15' '--bindir=/usr/lib/postgresql/15/bin' '--libdir=/usr/lib/aarch64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--with-extra-version= (Debian 15.6-1.pgdg100+1)' '--enable-nls' '--enable-thread-safety' '--enable-debug' '--enable-dtrace' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-gssapi' '--with-ldap' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'AWK=mawk' 'MKDIR_P=/bin/mkdir -p' 'PROVE=/usr/bin/prove' 'PYTHON=/usr/bin/python3' 'TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' '--enable-tap-tests' '--with-icu' '--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-13' 'CLANG=/usr/bin/clang-13' '--with-lz4' '--with-systemd' '--with-selinux' 'build_alias=aarch64-linux-gnu' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'
+CC = gcc
+CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2
+CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
+CFLAGS_SL = -fPIC
+LDFLAGS = -Wl,-z,relro -Wl,-z,now -L/usr/lib/llvm-13/lib -Wl,--as-needed
+LDFLAGS_EX =
+LDFLAGS_SL =
+LIBS = -lpgcommon -lpgport -lselinux -llz4 -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm
+VERSION = PostgreSQL 15.6 (Debian 15.6-1.pgdg100+1)
diff --git a/vendor/pg_config/pg15_x86_64-unknown-linux-gnu.txt b/vendor/pg_config/pg15_x86_64-unknown-linux-gnu.txt
new file mode 100644
index 000000000..8b7cb8f6c
--- /dev/null
+++ b/vendor/pg_config/pg15_x86_64-unknown-linux-gnu.txt
@@ -0,0 +1,23 @@
+BINDIR = /usr/lib/postgresql/15/bin
+DOCDIR = /usr/share/doc/postgresql-doc-15
+HTMLDIR = /usr/share/doc/postgresql-doc-15
+INCLUDEDIR = /usr/include/postgresql
+PKGINCLUDEDIR = /usr/include/postgresql
+INCLUDEDIR-SERVER = /usr/include/postgresql/15/server
+LIBDIR = /usr/lib/x86_64-linux-gnu
+PKGLIBDIR = /usr/lib/postgresql/15/lib
+LOCALEDIR = /usr/share/locale
+MANDIR = /usr/share/postgresql/15/man
+SHAREDIR = /usr/share/postgresql/15
+SYSCONFDIR = /etc/postgresql-common
+PGXS = /usr/lib/postgresql/15/lib/pgxs/src/makefiles/pgxs.mk
+CONFIGURE = '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--mandir=/usr/share/postgresql/15/man' '--docdir=/usr/share/doc/postgresql-doc-15' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/15' '--bindir=/usr/lib/postgresql/15/bin' '--libdir=/usr/lib/x86_64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--with-extra-version= (Debian 15.6-1.pgdg100+1)' '--enable-nls' '--enable-thread-safety' '--enable-debug' '--enable-dtrace' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-gssapi' '--with-ldap' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'AWK=mawk' 'MKDIR_P=/bin/mkdir -p' 'PROVE=/usr/bin/prove' 'PYTHON=/usr/bin/python3' 'TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' '--enable-tap-tests' '--with-icu' '--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-13' 'CLANG=/usr/bin/clang-13' '--with-lz4' '--with-systemd' '--with-selinux' 'build_alias=x86_64-linux-gnu' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'
+CC = gcc
+CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2
+CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer
+CFLAGS_SL = -fPIC
+LDFLAGS = -Wl,-z,relro -Wl,-z,now -L/usr/lib/llvm-13/lib -Wl,--as-needed
+LDFLAGS_EX =
+LDFLAGS_SL =
+LIBS = -lpgcommon -lpgport -lselinux -llz4 -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm
+VERSION = PostgreSQL 15.6 (Debian 15.6-1.pgdg100+1)
diff --git a/vendor/pg_config/pg16_aarch64-unknown-linux-gnu.txt b/vendor/pg_config/pg16_aarch64-unknown-linux-gnu.txt
new file mode 100644
index 000000000..63cab4fe3
--- /dev/null
+++ b/vendor/pg_config/pg16_aarch64-unknown-linux-gnu.txt
@@ -0,0 +1,23 @@
+BINDIR = /usr/lib/postgresql/16/bin
+DOCDIR = /usr/share/doc/postgresql-doc-16
+HTMLDIR = /usr/share/doc/postgresql-doc-16
+INCLUDEDIR = /usr/include/postgresql
+PKGINCLUDEDIR = /usr/include/postgresql
+INCLUDEDIR-SERVER = /usr/include/postgresql/16/server
+LIBDIR = /usr/lib/aarch64-linux-gnu
+PKGLIBDIR = /usr/lib/postgresql/16/lib
+LOCALEDIR = /usr/share/locale
+MANDIR = /usr/share/postgresql/16/man
+SHAREDIR = /usr/share/postgresql/16
+SYSCONFDIR = /etc/postgresql-common
+PGXS = /usr/lib/postgresql/16/lib/pgxs/src/makefiles/pgxs.mk
+CONFIGURE = '--build=aarch64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/aarch64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--mandir=/usr/share/postgresql/16/man' '--docdir=/usr/share/doc/postgresql-doc-16' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/16' '--bindir=/usr/lib/postgresql/16/bin' '--libdir=/usr/lib/aarch64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--with-extra-version= (Debian 16.2-1.pgdg100+1)' '--enable-nls' '--enable-thread-safety' '--enable-debug' '--enable-dtrace' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-gssapi' '--with-ldap' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'AWK=mawk' 'MKDIR_P=/bin/mkdir -p' 'PROVE=/usr/bin/prove' 'PYTHON=/usr/bin/python3' 'TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' '--enable-tap-tests' '--with-icu' '--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-13' 'CLANG=/usr/bin/clang-13' '--with-lz4' '--with-systemd' '--with-selinux' 'build_alias=aarch64-linux-gnu' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'
+CC = gcc
+CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2
+CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security
+CFLAGS_SL = -fPIC
+LDFLAGS = -Wl,-z,relro -Wl,-z,now -L/usr/lib/llvm-13/lib -Wl,--as-needed
+LDFLAGS_EX =
+LDFLAGS_SL =
+LIBS = -lpgcommon -lpgport -lselinux -llz4 -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm
+VERSION = PostgreSQL 16.2 (Debian 16.2-1.pgdg100+1)
diff --git a/vendor/pg_config/pg16_x86_64-unknown-linux-gnu.txt b/vendor/pg_config/pg16_x86_64-unknown-linux-gnu.txt
new file mode 100644
index 000000000..9258e1850
--- /dev/null
+++ b/vendor/pg_config/pg16_x86_64-unknown-linux-gnu.txt
@@ -0,0 +1,23 @@
+BINDIR = /usr/lib/postgresql/16/bin
+DOCDIR = /usr/share/doc/postgresql-doc-16
+HTMLDIR = /usr/share/doc/postgresql-doc-16
+INCLUDEDIR = /usr/include/postgresql
+PKGINCLUDEDIR = /usr/include/postgresql
+INCLUDEDIR-SERVER = /usr/include/postgresql/16/server
+LIBDIR = /usr/lib/x86_64-linux-gnu
+PKGLIBDIR = /usr/lib/postgresql/16/lib
+LOCALEDIR = /usr/share/locale
+MANDIR = /usr/share/postgresql/16/man
+SHAREDIR = /usr/share/postgresql/16
+SYSCONFDIR = /etc/postgresql-common
+PGXS = /usr/lib/postgresql/16/lib/pgxs/src/makefiles/pgxs.mk
+CONFIGURE = '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/x86_64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--mandir=/usr/share/postgresql/16/man' '--docdir=/usr/share/doc/postgresql-doc-16' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/16' '--bindir=/usr/lib/postgresql/16/bin' '--libdir=/usr/lib/x86_64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--with-extra-version= (Debian 16.2-1.pgdg100+1)' '--enable-nls' '--enable-thread-safety' '--enable-debug' '--enable-dtrace' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-gssapi' '--with-ldap' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'AWK=mawk' 'MKDIR_P=/bin/mkdir -p' 'PROVE=/usr/bin/prove' 'PYTHON=/usr/bin/python3' 'TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' '--enable-tap-tests' '--with-icu' '--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-13' 'CLANG=/usr/bin/clang-13' '--with-lz4' '--with-systemd' '--with-selinux' 'build_alias=x86_64-linux-gnu' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'
+CC = gcc
+CPPFLAGS = -Wdate-time -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -I/usr/include/libxml2
+CFLAGS = -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wshadow=compatible-local -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fno-omit-frame-pointer
+CFLAGS_SL = -fPIC
+LDFLAGS = -Wl,-z,relro -Wl,-z,now -L/usr/lib/llvm-13/lib -Wl,--as-needed
+LDFLAGS_EX =
+LDFLAGS_SL =
+LIBS = -lpgcommon -lpgport -lselinux -llz4 -lxslt -lxml2 -lpam -lssl -lcrypto -lgssapi_krb5 -lz -lreadline -lpthread -lrt -ldl -lm
+VERSION = PostgreSQL 16.2 (Debian 16.2-1.pgdg100+1)
diff --git a/vendor/pgrx_binding/pg14_aarch64-unknown-linux-gnu.rs b/vendor/pgrx_binding/pg14_aarch64-unknown-linux-gnu.rs
new file mode 100644
index 000000000..ebe405165
--- /dev/null
+++ b/vendor/pgrx_binding/pg14_aarch64-unknown-linux-gnu.rs
@@ -0,0 +1,46243 @@
+/* automatically generated by rust-bindgen 0.69.4 */
+
+#[repr(C)]
+#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
+pub struct __BindgenBitfieldUnit {
+ storage: Storage,
+}
+impl __BindgenBitfieldUnit {
+ #[inline]
+ pub const fn new(storage: Storage) -> Self {
+ Self { storage }
+ }
+}
+impl __BindgenBitfieldUnit
+where
+ Storage: AsRef<[u8]> + AsMut<[u8]>,
+{
+ #[inline]
+ pub fn get_bit(&self, index: usize) -> bool {
+ debug_assert!(index / 8 < self.storage.as_ref().len());
+ let byte_index = index / 8;
+ let byte = self.storage.as_ref()[byte_index];
+ let bit_index = if cfg!(target_endian = "big") {
+ 7 - (index % 8)
+ } else {
+ index % 8
+ };
+ let mask = 1 << bit_index;
+ byte & mask == mask
+ }
+ #[inline]
+ pub fn set_bit(&mut self, index: usize, val: bool) {
+ debug_assert!(index / 8 < self.storage.as_ref().len());
+ let byte_index = index / 8;
+ let byte = &mut self.storage.as_mut()[byte_index];
+ let bit_index = if cfg!(target_endian = "big") {
+ 7 - (index % 8)
+ } else {
+ index % 8
+ };
+ let mask = 1 << bit_index;
+ if val {
+ *byte |= mask;
+ } else {
+ *byte &= !mask;
+ }
+ }
+ #[inline]
+ pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
+ debug_assert!(bit_width <= 64);
+ debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
+ debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
+ let mut val = 0;
+ for i in 0..(bit_width as usize) {
+ if self.get_bit(i + bit_offset) {
+ let index = if cfg!(target_endian = "big") {
+ bit_width as usize - 1 - i
+ } else {
+ i
+ };
+ val |= 1 << index;
+ }
+ }
+ val
+ }
+ #[inline]
+ pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
+ debug_assert!(bit_width <= 64);
+ debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
+ debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
+ for i in 0..(bit_width as usize) {
+ let mask = 1 << i;
+ let val_bit_is_set = val & mask == mask;
+ let index = if cfg!(target_endian = "big") {
+ bit_width as usize - 1 - i
+ } else {
+ i
+ };
+ self.set_bit(index + bit_offset, val_bit_is_set);
+ }
+ }
+}
+#[repr(C)]
+#[derive(Default)]
+pub struct __IncompleteArrayField(::std::marker::PhantomData, [T; 0]);
+impl __IncompleteArrayField {
+ #[inline]
+ pub const fn new() -> Self {
+ __IncompleteArrayField(::std::marker::PhantomData, [])
+ }
+ #[inline]
+ pub fn as_ptr(&self) -> *const T {
+ self as *const _ as *const T
+ }
+ #[inline]
+ pub fn as_mut_ptr(&mut self) -> *mut T {
+ self as *mut _ as *mut T
+ }
+ #[inline]
+ pub unsafe fn as_slice(&self, len: usize) -> &[T] {
+ ::std::slice::from_raw_parts(self.as_ptr(), len)
+ }
+ #[inline]
+ pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
+ ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
+ }
+}
+impl ::std::fmt::Debug for __IncompleteArrayField {
+ fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
+ fmt.write_str("__IncompleteArrayField")
+ }
+}
+pub const PG_DIAG_SEVERITY: u8 = 83u8;
+pub const PG_DIAG_SEVERITY_NONLOCALIZED: u8 = 86u8;
+pub const PG_DIAG_SQLSTATE: u8 = 67u8;
+pub const PG_DIAG_MESSAGE_PRIMARY: u8 = 77u8;
+pub const PG_DIAG_MESSAGE_DETAIL: u8 = 68u8;
+pub const PG_DIAG_MESSAGE_HINT: u8 = 72u8;
+pub const PG_DIAG_STATEMENT_POSITION: u8 = 80u8;
+pub const PG_DIAG_INTERNAL_POSITION: u8 = 112u8;
+pub const PG_DIAG_INTERNAL_QUERY: u8 = 113u8;
+pub const PG_DIAG_CONTEXT: u8 = 87u8;
+pub const PG_DIAG_SCHEMA_NAME: u8 = 115u8;
+pub const PG_DIAG_TABLE_NAME: u8 = 116u8;
+pub const PG_DIAG_COLUMN_NAME: u8 = 99u8;
+pub const PG_DIAG_DATATYPE_NAME: u8 = 100u8;
+pub const PG_DIAG_CONSTRAINT_NAME: u8 = 110u8;
+pub const PG_DIAG_SOURCE_FILE: u8 = 70u8;
+pub const PG_DIAG_SOURCE_LINE: u8 = 76u8;
+pub const PG_DIAG_SOURCE_FUNCTION: u8 = 82u8;
+pub const ALIGNOF_DOUBLE: u32 = 8;
+pub const ALIGNOF_INT: u32 = 4;
+pub const ALIGNOF_LONG: u32 = 8;
+pub const ALIGNOF_PG_INT128_TYPE: u32 = 16;
+pub const ALIGNOF_SHORT: u32 = 2;
+pub const BLCKSZ: u32 = 8192;
+pub const CONFIGURE_ARGS : & [u8 ; 1598] = b" '--build=aarch64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--disable-silent-rules' '--libdir=${prefix}/lib/aarch64-linux-gnu' '--runstatedir=/run' '--disable-maintainer-mode' '--disable-dependency-tracking' '--with-tcl' '--with-perl' '--with-python' '--with-pam' '--with-openssl' '--with-libxml' '--with-libxslt' '--mandir=/usr/share/postgresql/14/man' '--docdir=/usr/share/doc/postgresql-doc-14' '--sysconfdir=/etc/postgresql-common' '--datarootdir=/usr/share/' '--datadir=/usr/share/postgresql/14' '--bindir=/usr/lib/postgresql/14/bin' '--libdir=/usr/lib/aarch64-linux-gnu/' '--libexecdir=/usr/lib/postgresql/' '--includedir=/usr/include/postgresql/' '--with-extra-version= (Debian 14.11-1.pgdg100+1)' '--enable-nls' '--enable-thread-safety' '--enable-debug' '--enable-dtrace' '--disable-rpath' '--with-uuid=e2fs' '--with-gnu-ld' '--with-gssapi' '--with-ldap' '--with-pgport=5432' '--with-system-tzdata=/usr/share/zoneinfo' 'AWK=mawk' 'MKDIR_P=/bin/mkdir -p' 'PROVE=/usr/bin/prove' 'PYTHON=/usr/bin/python3' 'TAR=/bin/tar' 'XSLTPROC=xsltproc --nonet' 'CFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security' 'LDFLAGS=-Wl,-z,relro -Wl,-z,now' '--enable-tap-tests' '--with-icu' '--with-llvm' 'LLVM_CONFIG=/usr/bin/llvm-config-13' 'CLANG=/usr/bin/clang-13' '--with-lz4' '--with-systemd' '--with-selinux' 'build_alias=aarch64-linux-gnu' 'CPPFLAGS=-Wdate-time -D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fstack-protector-strong -Wformat -Werror=format-security'\0" ;
+pub const DEF_PGPORT: u32 = 5432;
+pub const DEF_PGPORT_STR: &[u8; 5] = b"5432\0";
+pub const ENABLE_GSS: u32 = 1;
+pub const ENABLE_NLS: u32 = 1;
+pub const ENABLE_THREAD_SAFETY: u32 = 1;
+pub const HAVE_APPEND_HISTORY: u32 = 1;
+pub const HAVE_ASN1_STRING_GET0_DATA: u32 = 1;
+pub const HAVE_ATOMICS: u32 = 1;
+pub const HAVE_BACKTRACE_SYMBOLS: u32 = 1;
+pub const HAVE_BIO_METH_NEW: u32 = 1;
+pub const HAVE_CLOCK_GETTIME: u32 = 1;
+pub const HAVE_COMPUTED_GOTO: u32 = 1;
+pub const HAVE_DECL_FDATASYNC: u32 = 1;
+pub const HAVE_DECL_F_FULLFSYNC: u32 = 0;
+pub const HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER: u32 = 1;
+pub const HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER: u32 = 1;
+pub const HAVE_DECL_LLVMGETHOSTCPUFEATURES: u32 = 1;
+pub const HAVE_DECL_LLVMGETHOSTCPUNAME: u32 = 1;
+pub const HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN: u32 = 0;
+pub const HAVE_DECL_POSIX_FADVISE: u32 = 1;
+pub const HAVE_DECL_PREADV: u32 = 1;
+pub const HAVE_DECL_PWRITEV: u32 = 1;
+pub const HAVE_DECL_RTLD_GLOBAL: u32 = 1;
+pub const HAVE_DECL_RTLD_NOW: u32 = 1;
+pub const HAVE_DECL_STRLCAT: u32 = 0;
+pub const HAVE_DECL_STRLCPY: u32 = 0;
+pub const HAVE_DECL_STRNLEN: u32 = 1;
+pub const HAVE_DECL_STRTOLL: u32 = 1;
+pub const HAVE_DECL_STRTOULL: u32 = 1;
+pub const HAVE_DLOPEN: u32 = 1;
+pub const HAVE_EXECINFO_H: u32 = 1;
+pub const HAVE_EXPLICIT_BZERO: u32 = 1;
+pub const HAVE_FDATASYNC: u32 = 1;
+pub const HAVE_FSEEKO: u32 = 1;
+pub const HAVE_FUNCNAME__FUNC: u32 = 1;
+pub const HAVE_GCC__ATOMIC_INT32_CAS: u32 = 1;
+pub const HAVE_GCC__ATOMIC_INT64_CAS: u32 = 1;
+pub const HAVE_GCC__SYNC_CHAR_TAS: u32 = 1;
+pub const HAVE_GCC__SYNC_INT32_CAS: u32 = 1;
+pub const HAVE_GCC__SYNC_INT32_TAS: u32 = 1;
+pub const HAVE_GCC__SYNC_INT64_CAS: u32 = 1;
+pub const HAVE_GETADDRINFO: u32 = 1;
+pub const HAVE_GETHOSTBYNAME_R: u32 = 1;
+pub const HAVE_GETIFADDRS: u32 = 1;
+pub const HAVE_GETOPT: u32 = 1;
+pub const HAVE_GETOPT_H: u32 = 1;
+pub const HAVE_GETOPT_LONG: u32 = 1;
+pub const HAVE_GETPWUID_R: u32 = 1;
+pub const HAVE_GETRLIMIT: u32 = 1;
+pub const HAVE_GETRUSAGE: u32 = 1;
+pub const HAVE_GSSAPI_GSSAPI_H: u32 = 1;
+pub const HAVE_HISTORY_TRUNCATE_FILE: u32 = 1;
+pub const HAVE_HMAC_CTX_FREE: u32 = 1;
+pub const HAVE_HMAC_CTX_NEW: u32 = 1;
+pub const HAVE_IFADDRS_H: u32 = 1;
+pub const HAVE_INET_ATON: u32 = 1;
+pub const HAVE_INTTYPES_H: u32 = 1;
+pub const HAVE_INT_OPTERR: u32 = 1;
+pub const HAVE_INT_TIMEZONE: u32 = 1;
+pub const HAVE_IPV6: u32 = 1;
+pub const HAVE_LANGINFO_H: u32 = 1;
+pub const HAVE_LDAP_H: u32 = 1;
+pub const HAVE_LDAP_INITIALIZE: u32 = 1;
+pub const HAVE_LIBCRYPTO: u32 = 1;
+pub const HAVE_LIBLDAP: u32 = 1;
+pub const HAVE_LIBLZ4: u32 = 1;
+pub const HAVE_LIBM: u32 = 1;
+pub const HAVE_LIBPAM: u32 = 1;
+pub const HAVE_LIBREADLINE: u32 = 1;
+pub const HAVE_LIBSELINUX: u32 = 1;
+pub const HAVE_LIBSSL: u32 = 1;
+pub const HAVE_LIBXML2: u32 = 1;
+pub const HAVE_LIBXSLT: u32 = 1;
+pub const HAVE_LIBZ: u32 = 1;
+pub const HAVE_LINK: u32 = 1;
+pub const HAVE_LOCALE_T: u32 = 1;
+pub const HAVE_LONG_INT_64: u32 = 1;
+pub const HAVE_LZ4_H: u32 = 1;
+pub const HAVE_MEMORY_H: u32 = 1;
+pub const HAVE_MKDTEMP: u32 = 1;
+pub const HAVE_NETINET_TCP_H: u32 = 1;
+pub const HAVE_NET_IF_H: u32 = 1;
+pub const HAVE_OPENSSL_INIT_SSL: u32 = 1;
+pub const HAVE_POLL: u32 = 1;
+pub const HAVE_POLL_H: u32 = 1;
+pub const HAVE_POSIX_FADVISE: u32 = 1;
+pub const HAVE_POSIX_FALLOCATE: u32 = 1;
+pub const HAVE_PPOLL: u32 = 1;
+pub const HAVE_PREAD: u32 = 1;
+pub const HAVE_PTHREAD: u32 = 1;
+pub const HAVE_PTHREAD_BARRIER_WAIT: u32 = 1;
+pub const HAVE_PTHREAD_PRIO_INHERIT: u32 = 1;
+pub const HAVE_PWRITE: u32 = 1;
+pub const HAVE_RANDOM: u32 = 1;
+pub const HAVE_READLINE_HISTORY_H: u32 = 1;
+pub const HAVE_READLINE_READLINE_H: u32 = 1;
+pub const HAVE_READLINK: u32 = 1;
+pub const HAVE_READV: u32 = 1;
+pub const HAVE_RL_COMPLETION_APPEND_CHARACTER: u32 = 1;
+pub const HAVE_RL_COMPLETION_MATCHES: u32 = 1;
+pub const HAVE_RL_COMPLETION_SUPPRESS_QUOTE: u32 = 1;
+pub const HAVE_RL_FILENAME_COMPLETION_FUNCTION: u32 = 1;
+pub const HAVE_RL_FILENAME_QUOTE_CHARACTERS: u32 = 1;
+pub const HAVE_RL_FILENAME_QUOTING_FUNCTION: u32 = 1;
+pub const HAVE_RL_RESET_SCREEN_SIZE: u32 = 1;
+pub const HAVE_SECURITY_PAM_APPL_H: u32 = 1;
+pub const HAVE_SETENV: u32 = 1;
+pub const HAVE_SETSID: u32 = 1;
+pub const HAVE_SHM_OPEN: u32 = 1;
+pub const HAVE_SPINLOCKS: u32 = 1;
+pub const HAVE_SRANDOM: u32 = 1;
+pub const HAVE_STDBOOL_H: u32 = 1;
+pub const HAVE_STDINT_H: u32 = 1;
+pub const HAVE_STDLIB_H: u32 = 1;
+pub const HAVE_STRCHRNUL: u32 = 1;
+pub const HAVE_STRERROR_R: u32 = 1;
+pub const HAVE_STRINGS_H: u32 = 1;
+pub const HAVE_STRING_H: u32 = 1;
+pub const HAVE_STRNLEN: u32 = 1;
+pub const HAVE_STRSIGNAL: u32 = 1;
+pub const HAVE_STRTOF: u32 = 1;
+pub const HAVE_STRTOLL: u32 = 1;
+pub const HAVE_STRTOULL: u32 = 1;
+pub const HAVE_STRUCT_ADDRINFO: u32 = 1;
+pub const HAVE_STRUCT_OPTION: u32 = 1;
+pub const HAVE_STRUCT_SOCKADDR_STORAGE: u32 = 1;
+pub const HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY: u32 = 1;
+pub const HAVE_STRUCT_SOCKADDR_UN: u32 = 1;
+pub const HAVE_STRUCT_TM_TM_ZONE: u32 = 1;
+pub const HAVE_SYMLINK: u32 = 1;
+pub const HAVE_SYNCFS: u32 = 1;
+pub const HAVE_SYNC_FILE_RANGE: u32 = 1;
+pub const HAVE_SYSLOG: u32 = 1;
+pub const HAVE_SYS_EPOLL_H: u32 = 1;
+pub const HAVE_SYS_IPC_H: u32 = 1;
+pub const HAVE_SYS_PERSONALITY_H: u32 = 1;
+pub const HAVE_SYS_PRCTL_H: u32 = 1;
+pub const HAVE_SYS_RESOURCE_H: u32 = 1;
+pub const HAVE_SYS_SELECT_H: u32 = 1;
+pub const HAVE_SYS_SEM_H: u32 = 1;
+pub const HAVE_SYS_SHM_H: u32 = 1;
+pub const HAVE_SYS_SIGNALFD_H: u32 = 1;
+pub const HAVE_SYS_STAT_H: u32 = 1;
+pub const HAVE_SYS_TYPES_H: u32 = 1;
+pub const HAVE_SYS_UIO_H: u32 = 1;
+pub const HAVE_SYS_UN_H: u32 = 1;
+pub const HAVE_TERMIOS_H: u32 = 1;
+pub const HAVE_TYPEOF: u32 = 1;
+pub const HAVE_UNISTD_H: u32 = 1;
+pub const HAVE_UNSETENV: u32 = 1;
+pub const HAVE_USELOCALE: u32 = 1;
+pub const HAVE_UUID_E2FS: u32 = 1;
+pub const HAVE_UUID_UUID_H: u32 = 1;
+pub const HAVE_WCTYPE_H: u32 = 1;
+pub const HAVE_WRITEV: u32 = 1;
+pub const HAVE_X509_GET_SIGNATURE_INFO: u32 = 1;
+pub const HAVE_X509_GET_SIGNATURE_NID: u32 = 1;
+pub const HAVE__BOOL: u32 = 1;
+pub const HAVE__BUILTIN_BSWAP16: u32 = 1;
+pub const HAVE__BUILTIN_BSWAP32: u32 = 1;
+pub const HAVE__BUILTIN_BSWAP64: u32 = 1;
+pub const HAVE__BUILTIN_CLZ: u32 = 1;
+pub const HAVE__BUILTIN_CONSTANT_P: u32 = 1;
+pub const HAVE__BUILTIN_CTZ: u32 = 1;
+pub const HAVE__BUILTIN_FRAME_ADDRESS: u32 = 1;
+pub const HAVE__BUILTIN_OP_OVERFLOW: u32 = 1;
+pub const HAVE__BUILTIN_POPCOUNT: u32 = 1;
+pub const HAVE__BUILTIN_TYPES_COMPATIBLE_P: u32 = 1;
+pub const HAVE__BUILTIN_UNREACHABLE: u32 = 1;
+pub const HAVE__STATIC_ASSERT: u32 = 1;
+pub const INT64_MODIFIER: &[u8; 2] = b"l\0";
+pub const MAXIMUM_ALIGNOF: u32 = 8;
+pub const MEMSET_LOOP_LIMIT: u32 = 1024;
+pub const OPENSSL_API_COMPAT: u32 = 268439552;
+pub const PACKAGE_BUGREPORT: &[u8; 32] = b"pgsql-bugs@lists.postgresql.org\0";
+pub const PACKAGE_NAME: &[u8; 11] = b"PostgreSQL\0";
+pub const PACKAGE_STRING: &[u8; 17] = b"PostgreSQL 14.11\0";
+pub const PACKAGE_TARNAME: &[u8; 11] = b"postgresql\0";
+pub const PACKAGE_URL: &[u8; 28] = b"https://www.postgresql.org/\0";
+pub const PACKAGE_VERSION: &[u8; 6] = b"14.11\0";
+pub const PG_KRB_SRVNAM: &[u8; 9] = b"postgres\0";
+pub const PG_MAJORVERSION: &[u8; 3] = b"14\0";
+pub const PG_MAJORVERSION_NUM: u32 = 14;
+pub const PG_MINORVERSION_NUM: u32 = 11;
+pub const PG_USE_STDBOOL: u32 = 1;
+pub const PG_VERSION: &[u8; 33] = b"14.11 (Debian 14.11-1.pgdg100+1)\0";
+pub const PG_VERSION_NUM: u32 = 140011;
+pub const PG_VERSION_STR : & [u8 ; 121] = b"PostgreSQL 14.11 (Debian 14.11-1.pgdg100+1) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit\0" ;
+pub const RELSEG_SIZE: u32 = 131072;
+pub const SIZEOF_BOOL: u32 = 1;
+pub const SIZEOF_LONG: u32 = 8;
+pub const SIZEOF_OFF_T: u32 = 8;
+pub const SIZEOF_SIZE_T: u32 = 8;
+pub const SIZEOF_VOID_P: u32 = 8;
+pub const STDC_HEADERS: u32 = 1;
+pub const USE_ARMV8_CRC32C_WITH_RUNTIME_CHECK: u32 = 1;
+pub const USE_ICU: u32 = 1;
+pub const USE_LDAP: u32 = 1;
+pub const USE_LIBXML: u32 = 1;
+pub const USE_LIBXSLT: u32 = 1;
+pub const USE_LLVM: u32 = 1;
+pub const USE_LZ4: u32 = 1;
+pub const USE_OPENSSL: u32 = 1;
+pub const USE_PAM: u32 = 1;
+pub const USE_SYSTEMD: u32 = 1;
+pub const USE_SYSV_SHARED_MEMORY: u32 = 1;
+pub const USE_UNNAMED_POSIX_SEMAPHORES: u32 = 1;
+pub const XLOG_BLCKSZ: u32 = 8192;
+pub const DEFAULT_XLOG_SEG_SIZE: u32 = 16777216;
+pub const NAMEDATALEN: u32 = 64;
+pub const FUNC_MAX_ARGS: u32 = 100;
+pub const INDEX_MAX_KEYS: u32 = 32;
+pub const PARTITION_MAX_KEYS: u32 = 32;
+pub const USE_FLOAT8_BYVAL: u32 = 1;
+pub const NUM_SPINLOCK_SEMAPHORES: u32 = 128;
+pub const NUM_ATOMICS_SEMAPHORES: u32 = 64;
+pub const MAXPGPATH: u32 = 1024;
+pub const PG_SOMAXCONN: u32 = 10000;
+pub const BITS_PER_BYTE: u32 = 8;
+pub const ALIGNOF_BUFFER: u32 = 32;
+pub const HAVE_WORKING_LINK: u32 = 1;
+pub const DEFAULT_BACKEND_FLUSH_AFTER: u32 = 0;
+pub const DEFAULT_BGWRITER_FLUSH_AFTER: u32 = 64;
+pub const DEFAULT_CHECKPOINT_FLUSH_AFTER: u32 = 32;
+pub const WRITEBACK_MAX_PENDING_FLUSHES: u32 = 256;
+pub const DEFAULT_PGSOCKET_DIR: &[u8; 20] = b"/var/run/postgresql\0";
+pub const DEFAULT_EVENT_SOURCE: &[u8; 11] = b"PostgreSQL\0";
+pub const PG_CACHE_LINE_SIZE: u32 = 128;
+pub const TRACE_SORT: u32 = 1;
+pub const _STDIO_H: u32 = 1;
+pub const _FEATURES_H: u32 = 1;
+pub const _DEFAULT_SOURCE: u32 = 1;
+pub const __USE_ISOC11: u32 = 1;
+pub const __USE_ISOC99: u32 = 1;
+pub const __USE_ISOC95: u32 = 1;
+pub const __USE_POSIX_IMPLICITLY: u32 = 1;
+pub const _POSIX_SOURCE: u32 = 1;
+pub const _POSIX_C_SOURCE: u32 = 200809;
+pub const __USE_POSIX: u32 = 1;
+pub const __USE_POSIX2: u32 = 1;
+pub const __USE_POSIX199309: u32 = 1;
+pub const __USE_POSIX199506: u32 = 1;
+pub const __USE_XOPEN2K: u32 = 1;
+pub const __USE_XOPEN2K8: u32 = 1;
+pub const _ATFILE_SOURCE: u32 = 1;
+pub const __USE_MISC: u32 = 1;
+pub const __USE_ATFILE: u32 = 1;
+pub const __USE_FORTIFY_LEVEL: u32 = 0;
+pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
+pub const _STDC_PREDEF_H: u32 = 1;
+pub const __STDC_IEC_559__: u32 = 1;
+pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
+pub const __STDC_ISO_10646__: u32 = 201706;
+pub const __GNU_LIBRARY__: u32 = 6;
+pub const __GLIBC__: u32 = 2;
+pub const __GLIBC_MINOR__: u32 = 28;
+pub const _SYS_CDEFS_H: u32 = 1;
+pub const __glibc_c99_flexarr_available: u32 = 1;
+pub const __WORDSIZE: u32 = 64;
+pub const __WORDSIZE_TIME64_COMPAT32: u32 = 0;
+pub const __HAVE_GENERIC_SELECTION: u32 = 1;
+pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
+pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
+pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
+pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
+pub const __GNUC_VA_LIST: u32 = 1;
+pub const _BITS_TYPES_H: u32 = 1;
+pub const _BITS_TYPESIZES_H: u32 = 1;
+pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
+pub const __INO_T_MATCHES_INO64_T: u32 = 1;
+pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
+pub const __FD_SETSIZE: u32 = 1024;
+pub const _____fpos_t_defined: u32 = 1;
+pub const ____mbstate_t_defined: u32 = 1;
+pub const _____fpos64_t_defined: u32 = 1;
+pub const ____FILE_defined: u32 = 1;
+pub const __FILE_defined: u32 = 1;
+pub const __struct_FILE_defined: u32 = 1;
+pub const _IO_EOF_SEEN: u32 = 16;
+pub const _IO_ERR_SEEN: u32 = 32;
+pub const _IO_USER_LOCK: u32 = 32768;
+pub const _IOFBF: u32 = 0;
+pub const _IOLBF: u32 = 1;
+pub const _IONBF: u32 = 2;
+pub const BUFSIZ: u32 = 8192;
+pub const EOF: i32 = -1;
+pub const SEEK_SET: u32 = 0;
+pub const SEEK_CUR: u32 = 1;
+pub const SEEK_END: u32 = 2;
+pub const P_tmpdir: &[u8; 5] = b"/tmp\0";
+pub const _BITS_STDIO_LIM_H: u32 = 1;
+pub const L_tmpnam: u32 = 20;
+pub const TMP_MAX: u32 = 238328;
+pub const FILENAME_MAX: u32 = 4096;
+pub const L_ctermid: u32 = 9;
+pub const FOPEN_MAX: u32 = 16;
+pub const _STDLIB_H: u32 = 1;
+pub const WNOHANG: u32 = 1;
+pub const WUNTRACED: u32 = 2;
+pub const WSTOPPED: u32 = 2;
+pub const WEXITED: u32 = 4;
+pub const WCONTINUED: u32 = 8;
+pub const WNOWAIT: u32 = 16777216;
+pub const __WNOTHREAD: u32 = 536870912;
+pub const __WALL: u32 = 1073741824;
+pub const __WCLONE: u32 = 2147483648;
+pub const __ENUM_IDTYPE_T: u32 = 1;
+pub const __W_CONTINUED: u32 = 65535;
+pub const __WCOREFLAG: u32 = 128;
+pub const __HAVE_FLOAT128: u32 = 1;
+pub const __HAVE_DISTINCT_FLOAT128: u32 = 0;
+pub const __HAVE_FLOAT64X: u32 = 1;
+pub const __HAVE_FLOAT64X_LONG_DOUBLE: u32 = 1;
+pub const __HAVE_FLOAT16: u32 = 0;
+pub const __HAVE_FLOAT32: u32 = 1;
+pub const __HAVE_FLOAT64: u32 = 1;
+pub const __HAVE_FLOAT32X: u32 = 1;
+pub const __HAVE_FLOAT128X: u32 = 0;
+pub const __HAVE_DISTINCT_FLOAT16: u32 = 0;
+pub const __HAVE_DISTINCT_FLOAT32: u32 = 0;
+pub const __HAVE_DISTINCT_FLOAT64: u32 = 0;
+pub const __HAVE_DISTINCT_FLOAT32X: u32 = 0;
+pub const __HAVE_DISTINCT_FLOAT64X: u32 = 0;
+pub const __HAVE_DISTINCT_FLOAT128X: u32 = 0;
+pub const __HAVE_FLOATN_NOT_TYPEDEF: u32 = 0;
+pub const __ldiv_t_defined: u32 = 1;
+pub const __lldiv_t_defined: u32 = 1;
+pub const RAND_MAX: u32 = 2147483647;
+pub const EXIT_FAILURE: u32 = 1;
+pub const EXIT_SUCCESS: u32 = 0;
+pub const _SYS_TYPES_H: u32 = 1;
+pub const __clock_t_defined: u32 = 1;
+pub const __clockid_t_defined: u32 = 1;
+pub const __time_t_defined: u32 = 1;
+pub const __timer_t_defined: u32 = 1;
+pub const _BITS_STDINT_INTN_H: u32 = 1;
+pub const __BIT_TYPES_DEFINED__: u32 = 1;
+pub const _ENDIAN_H: u32 = 1;
+pub const __LITTLE_ENDIAN: u32 = 1234;
+pub const __BIG_ENDIAN: u32 = 4321;
+pub const __PDP_ENDIAN: u32 = 3412;
+pub const __BYTE_ORDER: u32 = 1234;
+pub const __FLOAT_WORD_ORDER: u32 = 1234;
+pub const LITTLE_ENDIAN: u32 = 1234;
+pub const BIG_ENDIAN: u32 = 4321;
+pub const PDP_ENDIAN: u32 = 3412;
+pub const BYTE_ORDER: u32 = 1234;
+pub const _BITS_BYTESWAP_H: u32 = 1;
+pub const _BITS_UINTN_IDENTITY_H: u32 = 1;
+pub const _SYS_SELECT_H: u32 = 1;
+pub const __sigset_t_defined: u32 = 1;
+pub const __timeval_defined: u32 = 1;
+pub const _STRUCT_TIMESPEC: u32 = 1;
+pub const FD_SETSIZE: u32 = 1024;
+pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1;
+pub const _THREAD_SHARED_TYPES_H: u32 = 1;
+pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1;
+pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 64;
+pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 48;
+pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 8;
+pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 8;
+pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56;
+pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32;
+pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 8;
+pub const __SIZEOF_PTHREAD_COND_T: u32 = 48;
+pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8;
+pub const __PTHREAD_MUTEX_LOCK_ELISION: u32 = 0;
+pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND: u32 = 0;
+pub const __PTHREAD_MUTEX_USE_UNION: u32 = 0;
+pub const __PTHREAD_RWLOCK_ELISION_EXTRA: u32 = 0;
+pub const __PTHREAD_SPINS: u32 = 0;
+pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1;
+pub const __have_pthread_attr_t: u32 = 1;
+pub const _ALLOCA_H: u32 = 1;
+pub const _STRING_H: u32 = 1;
+pub const _BITS_TYPES_LOCALE_T_H: u32 = 1;
+pub const _BITS_TYPES___LOCALE_T_H: u32 = 1;
+pub const _STRINGS_H: u32 = 1;
+pub const _STDINT_H: u32 = 1;
+pub const _BITS_WCHAR_H: u32 = 1;
+pub const _BITS_STDINT_UINTN_H: u32 = 1;
+pub const INT8_MIN: i32 = -128;
+pub const INT16_MIN: i32 = -32768;
+pub const INT32_MIN: i32 = -2147483648;
+pub const INT8_MAX: u32 = 127;
+pub const INT16_MAX: u32 = 32767;
+pub const INT32_MAX: u32 = 2147483647;
+pub const UINT8_MAX: u32 = 255;
+pub const UINT16_MAX: u32 = 65535;
+pub const UINT32_MAX: u32 = 4294967295;
+pub const INT_LEAST8_MIN: i32 = -128;
+pub const INT_LEAST16_MIN: i32 = -32768;
+pub const INT_LEAST32_MIN: i32 = -2147483648;
+pub const INT_LEAST8_MAX: u32 = 127;
+pub const INT_LEAST16_MAX: u32 = 32767;
+pub const INT_LEAST32_MAX: u32 = 2147483647;
+pub const UINT_LEAST8_MAX: u32 = 255;
+pub const UINT_LEAST16_MAX: u32 = 65535;
+pub const UINT_LEAST32_MAX: u32 = 4294967295;
+pub const INT_FAST8_MIN: i32 = -128;
+pub const INT_FAST16_MIN: i64 = -9223372036854775808;
+pub const INT_FAST32_MIN: i64 = -9223372036854775808;
+pub const INT_FAST8_MAX: u32 = 127;
+pub const INT_FAST16_MAX: u64 = 9223372036854775807;
+pub const INT_FAST32_MAX: u64 = 9223372036854775807;
+pub const UINT_FAST8_MAX: u32 = 255;
+pub const UINT_FAST16_MAX: i32 = -1;
+pub const UINT_FAST32_MAX: i32 = -1;
+pub const INTPTR_MIN: i64 = -9223372036854775808;
+pub const INTPTR_MAX: u64 = 9223372036854775807;
+pub const UINTPTR_MAX: i32 = -1;
+pub const PTRDIFF_MIN: i64 = -9223372036854775808;
+pub const PTRDIFF_MAX: u64 = 9223372036854775807;
+pub const SIG_ATOMIC_MIN: i32 = -2147483648;
+pub const SIG_ATOMIC_MAX: u32 = 2147483647;
+pub const SIZE_MAX: i32 = -1;
+pub const WINT_MIN: u32 = 0;
+pub const WINT_MAX: u32 = 4294967295;
+pub const _ERRNO_H: u32 = 1;
+pub const _BITS_ERRNO_H: u32 = 1;
+pub const EPERM: u32 = 1;
+pub const ENOENT: u32 = 2;
+pub const ESRCH: u32 = 3;
+pub const EINTR: u32 = 4;
+pub const EIO: u32 = 5;
+pub const ENXIO: u32 = 6;
+pub const E2BIG: u32 = 7;
+pub const ENOEXEC: u32 = 8;
+pub const EBADF: u32 = 9;
+pub const ECHILD: u32 = 10;
+pub const EAGAIN: u32 = 11;
+pub const ENOMEM: u32 = 12;
+pub const EACCES: u32 = 13;
+pub const EFAULT: u32 = 14;
+pub const ENOTBLK: u32 = 15;
+pub const EBUSY: u32 = 16;
+pub const EEXIST: u32 = 17;
+pub const EXDEV: u32 = 18;
+pub const ENODEV: u32 = 19;
+pub const ENOTDIR: u32 = 20;
+pub const EISDIR: u32 = 21;
+pub const EINVAL: u32 = 22;
+pub const ENFILE: u32 = 23;
+pub const EMFILE: u32 = 24;
+pub const ENOTTY: u32 = 25;
+pub const ETXTBSY: u32 = 26;
+pub const EFBIG: u32 = 27;
+pub const ENOSPC: u32 = 28;
+pub const ESPIPE: u32 = 29;
+pub const EROFS: u32 = 30;
+pub const EMLINK: u32 = 31;
+pub const EPIPE: u32 = 32;
+pub const EDOM: u32 = 33;
+pub const ERANGE: u32 = 34;
+pub const EDEADLK: u32 = 35;
+pub const ENAMETOOLONG: u32 = 36;
+pub const ENOLCK: u32 = 37;
+pub const ENOSYS: u32 = 38;
+pub const ENOTEMPTY: u32 = 39;
+pub const ELOOP: u32 = 40;
+pub const EWOULDBLOCK: u32 = 11;
+pub const ENOMSG: u32 = 42;
+pub const EIDRM: u32 = 43;
+pub const ECHRNG: u32 = 44;
+pub const EL2NSYNC: u32 = 45;
+pub const EL3HLT: u32 = 46;
+pub const EL3RST: u32 = 47;
+pub const ELNRNG: u32 = 48;
+pub const EUNATCH: u32 = 49;
+pub const ENOCSI: u32 = 50;
+pub const EL2HLT: u32 = 51;
+pub const EBADE: u32 = 52;
+pub const EBADR: u32 = 53;
+pub const EXFULL: u32 = 54;
+pub const ENOANO: u32 = 55;
+pub const EBADRQC: u32 = 56;
+pub const EBADSLT: u32 = 57;
+pub const EDEADLOCK: u32 = 35;
+pub const EBFONT: u32 = 59;
+pub const ENOSTR: u32 = 60;
+pub const ENODATA: u32 = 61;
+pub const ETIME: u32 = 62;
+pub const ENOSR: u32 = 63;
+pub const ENONET: u32 = 64;
+pub const ENOPKG: u32 = 65;
+pub const EREMOTE: u32 = 66;
+pub const ENOLINK: u32 = 67;
+pub const EADV: u32 = 68;
+pub const ESRMNT: u32 = 69;
+pub const ECOMM: u32 = 70;
+pub const EPROTO: u32 = 71;
+pub const EMULTIHOP: u32 = 72;
+pub const EDOTDOT: u32 = 73;
+pub const EBADMSG: u32 = 74;
+pub const EOVERFLOW: u32 = 75;
+pub const ENOTUNIQ: u32 = 76;
+pub const EBADFD: u32 = 77;
+pub const EREMCHG: u32 = 78;
+pub const ELIBACC: u32 = 79;
+pub const ELIBBAD: u32 = 80;
+pub const ELIBSCN: u32 = 81;
+pub const ELIBMAX: u32 = 82;
+pub const ELIBEXEC: u32 = 83;
+pub const EILSEQ: u32 = 84;
+pub const ERESTART: u32 = 85;
+pub const ESTRPIPE: u32 = 86;
+pub const EUSERS: u32 = 87;
+pub const ENOTSOCK: u32 = 88;
+pub const EDESTADDRREQ: u32 = 89;
+pub const EMSGSIZE: u32 = 90;
+pub const EPROTOTYPE: u32 = 91;
+pub const ENOPROTOOPT: u32 = 92;
+pub const EPROTONOSUPPORT: u32 = 93;
+pub const ESOCKTNOSUPPORT: u32 = 94;
+pub const EOPNOTSUPP: u32 = 95;
+pub const EPFNOSUPPORT: u32 = 96;
+pub const EAFNOSUPPORT: u32 = 97;
+pub const EADDRINUSE: u32 = 98;
+pub const EADDRNOTAVAIL: u32 = 99;
+pub const ENETDOWN: u32 = 100;
+pub const ENETUNREACH: u32 = 101;
+pub const ENETRESET: u32 = 102;
+pub const ECONNABORTED: u32 = 103;
+pub const ECONNRESET: u32 = 104;
+pub const ENOBUFS: u32 = 105;
+pub const EISCONN: u32 = 106;
+pub const ENOTCONN: u32 = 107;
+pub const ESHUTDOWN: u32 = 108;
+pub const ETOOMANYREFS: u32 = 109;
+pub const ETIMEDOUT: u32 = 110;
+pub const ECONNREFUSED: u32 = 111;
+pub const EHOSTDOWN: u32 = 112;
+pub const EHOSTUNREACH: u32 = 113;
+pub const EALREADY: u32 = 114;
+pub const EINPROGRESS: u32 = 115;
+pub const ESTALE: u32 = 116;
+pub const EUCLEAN: u32 = 117;
+pub const ENOTNAM: u32 = 118;
+pub const ENAVAIL: u32 = 119;
+pub const EISNAM: u32 = 120;
+pub const EREMOTEIO: u32 = 121;
+pub const EDQUOT: u32 = 122;
+pub const ENOMEDIUM: u32 = 123;
+pub const EMEDIUMTYPE: u32 = 124;
+pub const ECANCELED: u32 = 125;
+pub const ENOKEY: u32 = 126;
+pub const EKEYEXPIRED: u32 = 127;
+pub const EKEYREVOKED: u32 = 128;
+pub const EKEYREJECTED: u32 = 129;
+pub const EOWNERDEAD: u32 = 130;
+pub const ENOTRECOVERABLE: u32 = 131;
+pub const ERFKILL: u32 = 132;
+pub const EHWPOISON: u32 = 133;
+pub const ENOTSUP: u32 = 95;
+pub const _LOCALE_H: u32 = 1;
+pub const _BITS_LOCALE_H: u32 = 1;
+pub const __LC_CTYPE: u32 = 0;
+pub const __LC_NUMERIC: u32 = 1;
+pub const __LC_TIME: u32 = 2;
+pub const __LC_COLLATE: u32 = 3;
+pub const __LC_MONETARY: u32 = 4;
+pub const __LC_MESSAGES: u32 = 5;
+pub const __LC_ALL: u32 = 6;
+pub const __LC_PAPER: u32 = 7;
+pub const __LC_NAME: u32 = 8;
+pub const __LC_ADDRESS: u32 = 9;
+pub const __LC_TELEPHONE: u32 = 10;
+pub const __LC_MEASUREMENT: u32 = 11;
+pub const __LC_IDENTIFICATION: u32 = 12;
+pub const LC_CTYPE: u32 = 0;
+pub const LC_NUMERIC: u32 = 1;
+pub const LC_TIME: u32 = 2;
+pub const LC_COLLATE: u32 = 3;
+pub const LC_MONETARY: u32 = 4;
+pub const LC_MESSAGES: u32 = 5;
+pub const LC_ALL: u32 = 6;
+pub const LC_PAPER: u32 = 7;
+pub const LC_NAME: u32 = 8;
+pub const LC_ADDRESS: u32 = 9;
+pub const LC_TELEPHONE: u32 = 10;
+pub const LC_MEASUREMENT: u32 = 11;
+pub const LC_IDENTIFICATION: u32 = 12;
+pub const LC_CTYPE_MASK: u32 = 1;
+pub const LC_NUMERIC_MASK: u32 = 2;
+pub const LC_TIME_MASK: u32 = 4;
+pub const LC_COLLATE_MASK: u32 = 8;
+pub const LC_MONETARY_MASK: u32 = 16;
+pub const LC_MESSAGES_MASK: u32 = 32;
+pub const LC_PAPER_MASK: u32 = 128;
+pub const LC_NAME_MASK: u32 = 256;
+pub const LC_ADDRESS_MASK: u32 = 512;
+pub const LC_TELEPHONE_MASK: u32 = 1024;
+pub const LC_MEASUREMENT_MASK: u32 = 2048;
+pub const LC_IDENTIFICATION_MASK: u32 = 4096;
+pub const LC_ALL_MASK: u32 = 8127;
+pub const _LIBINTL_H: u32 = 1;
+pub const __USE_GNU_GETTEXT: u32 = 1;
+pub const HAVE_PG_ATTRIBUTE_NORETURN: u32 = 1;
+pub const HAVE_PRAGMA_GCC_SYSTEM_HEADER: u32 = 1;
+pub const true_: u32 = 1;
+pub const false_: u32 = 0;
+pub const __bool_true_false_are_defined: u32 = 1;
+pub const INT64_FORMAT: &[u8; 4] = b"%ld\0";
+pub const UINT64_FORMAT: &[u8; 4] = b"%lu\0";
+pub const HAVE_INT128: u32 = 1;
+pub const PG_INT8_MIN: i32 = -128;
+pub const PG_INT8_MAX: u32 = 127;
+pub const PG_UINT8_MAX: u32 = 255;
+pub const PG_INT16_MIN: i32 = -32768;
+pub const PG_INT16_MAX: u32 = 32767;
+pub const PG_UINT16_MAX: u32 = 65535;
+pub const PG_INT32_MIN: i32 = -2147483648;
+pub const PG_INT32_MAX: u32 = 2147483647;
+pub const PG_UINT32_MAX: u32 = 4294967295;
+pub const FLOAT8PASSBYVAL: u32 = 1;
+pub const HAVE_UNIX_SOCKETS: u32 = 1;
+pub const HIGHBIT: u32 = 128;
+pub const ESCAPE_STRING_SYNTAX: u8 = 69u8;
+pub const STATUS_OK: u32 = 0;
+pub const STATUS_ERROR: i32 = -1;
+pub const STATUS_EOF: i32 = -2;
+pub const PG_BINARY: u32 = 0;
+pub const PG_BINARY_A: &[u8; 2] = b"a\0";
+pub const PG_BINARY_R: &[u8; 2] = b"r\0";
+pub const PG_BINARY_W: &[u8; 2] = b"w\0";
+pub const _CTYPE_H: u32 = 1;
+pub const _NETDB_H: u32 = 1;
+pub const _NETINET_IN_H: u32 = 1;
+pub const _SYS_SOCKET_H: u32 = 1;
+pub const __iovec_defined: u32 = 1;
+pub const PF_UNSPEC: u32 = 0;
+pub const PF_LOCAL: u32 = 1;
+pub const PF_UNIX: u32 = 1;
+pub const PF_FILE: u32 = 1;
+pub const PF_INET: u32 = 2;
+pub const PF_AX25: u32 = 3;
+pub const PF_IPX: u32 = 4;
+pub const PF_APPLETALK: u32 = 5;
+pub const PF_NETROM: u32 = 6;
+pub const PF_BRIDGE: u32 = 7;
+pub const PF_ATMPVC: u32 = 8;
+pub const PF_X25: u32 = 9;
+pub const PF_INET6: u32 = 10;
+pub const PF_ROSE: u32 = 11;
+pub const PF_DECnet: u32 = 12;
+pub const PF_NETBEUI: u32 = 13;
+pub const PF_SECURITY: u32 = 14;
+pub const PF_KEY: u32 = 15;
+pub const PF_NETLINK: u32 = 16;
+pub const PF_ROUTE: u32 = 16;
+pub const PF_PACKET: u32 = 17;
+pub const PF_ASH: u32 = 18;
+pub const PF_ECONET: u32 = 19;
+pub const PF_ATMSVC: u32 = 20;
+pub const PF_RDS: u32 = 21;
+pub const PF_SNA: u32 = 22;
+pub const PF_IRDA: u32 = 23;
+pub const PF_PPPOX: u32 = 24;
+pub const PF_WANPIPE: u32 = 25;
+pub const PF_LLC: u32 = 26;
+pub const PF_IB: u32 = 27;
+pub const PF_MPLS: u32 = 28;
+pub const PF_CAN: u32 = 29;
+pub const PF_TIPC: u32 = 30;
+pub const PF_BLUETOOTH: u32 = 31;
+pub const PF_IUCV: u32 = 32;
+pub const PF_RXRPC: u32 = 33;
+pub const PF_ISDN: u32 = 34;
+pub const PF_PHONET: u32 = 35;
+pub const PF_IEEE802154: u32 = 36;
+pub const PF_CAIF: u32 = 37;
+pub const PF_ALG: u32 = 38;
+pub const PF_NFC: u32 = 39;
+pub const PF_VSOCK: u32 = 40;
+pub const PF_KCM: u32 = 41;
+pub const PF_QIPCRTR: u32 = 42;
+pub const PF_SMC: u32 = 43;
+pub const PF_MAX: u32 = 44;
+pub const AF_UNSPEC: u32 = 0;
+pub const AF_LOCAL: u32 = 1;
+pub const AF_UNIX: u32 = 1;
+pub const AF_FILE: u32 = 1;
+pub const AF_INET: u32 = 2;
+pub const AF_AX25: u32 = 3;
+pub const AF_IPX: u32 = 4;
+pub const AF_APPLETALK: u32 = 5;
+pub const AF_NETROM: u32 = 6;
+pub const AF_BRIDGE: u32 = 7;
+pub const AF_ATMPVC: u32 = 8;
+pub const AF_X25: u32 = 9;
+pub const AF_INET6: u32 = 10;
+pub const AF_ROSE: u32 = 11;
+pub const AF_DECnet: u32 = 12;
+pub const AF_NETBEUI: u32 = 13;
+pub const AF_SECURITY: u32 = 14;
+pub const AF_KEY: u32 = 15;
+pub const AF_NETLINK: u32 = 16;
+pub const AF_ROUTE: u32 = 16;
+pub const AF_PACKET: u32 = 17;
+pub const AF_ASH: u32 = 18;
+pub const AF_ECONET: u32 = 19;
+pub const AF_ATMSVC: u32 = 20;
+pub const AF_RDS: u32 = 21;
+pub const AF_SNA: u32 = 22;
+pub const AF_IRDA: u32 = 23;
+pub const AF_PPPOX: u32 = 24;
+pub const AF_WANPIPE: u32 = 25;
+pub const AF_LLC: u32 = 26;
+pub const AF_IB: u32 = 27;
+pub const AF_MPLS: u32 = 28;
+pub const AF_CAN: u32 = 29;
+pub const AF_TIPC: u32 = 30;
+pub const AF_BLUETOOTH: u32 = 31;
+pub const AF_IUCV: u32 = 32;
+pub const AF_RXRPC: u32 = 33;
+pub const AF_ISDN: u32 = 34;
+pub const AF_PHONET: u32 = 35;
+pub const AF_IEEE802154: u32 = 36;
+pub const AF_CAIF: u32 = 37;
+pub const AF_ALG: u32 = 38;
+pub const AF_NFC: u32 = 39;
+pub const AF_VSOCK: u32 = 40;
+pub const AF_KCM: u32 = 41;
+pub const AF_QIPCRTR: u32 = 42;
+pub const AF_SMC: u32 = 43;
+pub const AF_MAX: u32 = 44;
+pub const SOL_RAW: u32 = 255;
+pub const SOL_DECNET: u32 = 261;
+pub const SOL_X25: u32 = 262;
+pub const SOL_PACKET: u32 = 263;
+pub const SOL_ATM: u32 = 264;
+pub const SOL_AAL: u32 = 265;
+pub const SOL_IRDA: u32 = 266;
+pub const SOL_NETBEUI: u32 = 267;
+pub const SOL_LLC: u32 = 268;
+pub const SOL_DCCP: u32 = 269;
+pub const SOL_NETLINK: u32 = 270;
+pub const SOL_TIPC: u32 = 271;
+pub const SOL_RXRPC: u32 = 272;
+pub const SOL_PPPOL2TP: u32 = 273;
+pub const SOL_BLUETOOTH: u32 = 274;
+pub const SOL_PNPIPE: u32 = 275;
+pub const SOL_RDS: u32 = 276;
+pub const SOL_IUCV: u32 = 277;
+pub const SOL_CAIF: u32 = 278;
+pub const SOL_ALG: u32 = 279;
+pub const SOL_NFC: u32 = 280;
+pub const SOL_KCM: u32 = 281;
+pub const SOL_TLS: u32 = 282;
+pub const SOMAXCONN: u32 = 128;
+pub const _BITS_SOCKADDR_H: u32 = 1;
+pub const _SS_SIZE: u32 = 128;
+pub const FIOSETOWN: u32 = 35073;
+pub const SIOCSPGRP: u32 = 35074;
+pub const FIOGETOWN: u32 = 35075;
+pub const SIOCGPGRP: u32 = 35076;
+pub const SIOCATMARK: u32 = 35077;
+pub const SIOCGSTAMP: u32 = 35078;
+pub const SIOCGSTAMPNS: u32 = 35079;
+pub const SOL_SOCKET: u32 = 1;
+pub const SO_DEBUG: u32 = 1;
+pub const SO_REUSEADDR: u32 = 2;
+pub const SO_TYPE: u32 = 3;
+pub const SO_ERROR: u32 = 4;
+pub const SO_DONTROUTE: u32 = 5;
+pub const SO_BROADCAST: u32 = 6;
+pub const SO_SNDBUF: u32 = 7;
+pub const SO_RCVBUF: u32 = 8;
+pub const SO_SNDBUFFORCE: u32 = 32;
+pub const SO_RCVBUFFORCE: u32 = 33;
+pub const SO_KEEPALIVE: u32 = 9;
+pub const SO_OOBINLINE: u32 = 10;
+pub const SO_NO_CHECK: u32 = 11;
+pub const SO_PRIORITY: u32 = 12;
+pub const SO_LINGER: u32 = 13;
+pub const SO_BSDCOMPAT: u32 = 14;
+pub const SO_REUSEPORT: u32 = 15;
+pub const SO_PASSCRED: u32 = 16;
+pub const SO_PEERCRED: u32 = 17;
+pub const SO_RCVLOWAT: u32 = 18;
+pub const SO_SNDLOWAT: u32 = 19;
+pub const SO_RCVTIMEO: u32 = 20;
+pub const SO_SNDTIMEO: u32 = 21;
+pub const SO_SECURITY_AUTHENTICATION: u32 = 22;
+pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23;
+pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24;
+pub const SO_BINDTODEVICE: u32 = 25;
+pub const SO_ATTACH_FILTER: u32 = 26;
+pub const SO_DETACH_FILTER: u32 = 27;
+pub const SO_GET_FILTER: u32 = 26;
+pub const SO_PEERNAME: u32 = 28;
+pub const SO_TIMESTAMP: u32 = 29;
+pub const SCM_TIMESTAMP: u32 = 29;
+pub const SO_ACCEPTCONN: u32 = 30;
+pub const SO_PEERSEC: u32 = 31;
+pub const SO_PASSSEC: u32 = 34;
+pub const SO_TIMESTAMPNS: u32 = 35;
+pub const SCM_TIMESTAMPNS: u32 = 35;
+pub const SO_MARK: u32 = 36;
+pub const SO_TIMESTAMPING: u32 = 37;
+pub const SCM_TIMESTAMPING: u32 = 37;
+pub const SO_PROTOCOL: u32 = 38;
+pub const SO_DOMAIN: u32 = 39;
+pub const SO_RXQ_OVFL: u32 = 40;
+pub const SO_WIFI_STATUS: u32 = 41;
+pub const SCM_WIFI_STATUS: u32 = 41;
+pub const SO_PEEK_OFF: u32 = 42;
+pub const SO_NOFCS: u32 = 43;
+pub const SO_LOCK_FILTER: u32 = 44;
+pub const SO_SELECT_ERR_QUEUE: u32 = 45;
+pub const SO_BUSY_POLL: u32 = 46;
+pub const SO_MAX_PACING_RATE: u32 = 47;
+pub const SO_BPF_EXTENSIONS: u32 = 48;
+pub const SO_INCOMING_CPU: u32 = 49;
+pub const SO_ATTACH_BPF: u32 = 50;
+pub const SO_DETACH_BPF: u32 = 27;
+pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51;
+pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52;
+pub const SO_CNX_ADVICE: u32 = 53;
+pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54;
+pub const SO_MEMINFO: u32 = 55;
+pub const SO_INCOMING_NAPI_ID: u32 = 56;
+pub const SO_COOKIE: u32 = 57;
+pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58;
+pub const SO_PEERGROUPS: u32 = 59;
+pub const SO_ZEROCOPY: u32 = 60;
+pub const SO_TXTIME: u32 = 61;
+pub const SCM_TXTIME: u32 = 61;
+pub const __osockaddr_defined: u32 = 1;
+pub const __USE_KERNEL_IPV6_DEFS: u32 = 0;
+pub const IP_OPTIONS: u32 = 4;
+pub const IP_HDRINCL: u32 = 3;
+pub const IP_TOS: u32 = 1;
+pub const IP_TTL: u32 = 2;
+pub const IP_RECVOPTS: u32 = 6;
+pub const IP_RETOPTS: u32 = 7;
+pub const IP_MULTICAST_IF: u32 = 32;
+pub const IP_MULTICAST_TTL: u32 = 33;
+pub const IP_MULTICAST_LOOP: u32 = 34;
+pub const IP_ADD_MEMBERSHIP: u32 = 35;
+pub const IP_DROP_MEMBERSHIP: u32 = 36;
+pub const IP_UNBLOCK_SOURCE: u32 = 37;
+pub const IP_BLOCK_SOURCE: u32 = 38;
+pub const IP_ADD_SOURCE_MEMBERSHIP: u32 = 39;
+pub const IP_DROP_SOURCE_MEMBERSHIP: u32 = 40;
+pub const IP_MSFILTER: u32 = 41;
+pub const MCAST_JOIN_GROUP: u32 = 42;
+pub const MCAST_BLOCK_SOURCE: u32 = 43;
+pub const MCAST_UNBLOCK_SOURCE: u32 = 44;
+pub const MCAST_LEAVE_GROUP: u32 = 45;
+pub const MCAST_JOIN_SOURCE_GROUP: u32 = 46;
+pub const MCAST_LEAVE_SOURCE_GROUP: u32 = 47;
+pub const MCAST_MSFILTER: u32 = 48;
+pub const IP_MULTICAST_ALL: u32 = 49;
+pub const IP_UNICAST_IF: u32 = 50;
+pub const MCAST_EXCLUDE: u32 = 0;
+pub const MCAST_INCLUDE: u32 = 1;
+pub const IP_ROUTER_ALERT: u32 = 5;
+pub const IP_PKTINFO: u32 = 8;
+pub const IP_PKTOPTIONS: u32 = 9;
+pub const IP_PMTUDISC: u32 = 10;
+pub const IP_MTU_DISCOVER: u32 = 10;
+pub const IP_RECVERR: u32 = 11;
+pub const IP_RECVTTL: u32 = 12;
+pub const IP_RECVTOS: u32 = 13;
+pub const IP_MTU: u32 = 14;
+pub const IP_FREEBIND: u32 = 15;
+pub const IP_IPSEC_POLICY: u32 = 16;
+pub const IP_XFRM_POLICY: u32 = 17;
+pub const IP_PASSSEC: u32 = 18;
+pub const IP_TRANSPARENT: u32 = 19;
+pub const IP_ORIGDSTADDR: u32 = 20;
+pub const IP_RECVORIGDSTADDR: u32 = 20;
+pub const IP_MINTTL: u32 = 21;
+pub const IP_NODEFRAG: u32 = 22;
+pub const IP_CHECKSUM: u32 = 23;
+pub const IP_BIND_ADDRESS_NO_PORT: u32 = 24;
+pub const IP_RECVFRAGSIZE: u32 = 25;
+pub const IP_PMTUDISC_DONT: u32 = 0;
+pub const IP_PMTUDISC_WANT: u32 = 1;
+pub const IP_PMTUDISC_DO: u32 = 2;
+pub const IP_PMTUDISC_PROBE: u32 = 3;
+pub const IP_PMTUDISC_INTERFACE: u32 = 4;
+pub const IP_PMTUDISC_OMIT: u32 = 5;
+pub const SOL_IP: u32 = 0;
+pub const IP_DEFAULT_MULTICAST_TTL: u32 = 1;
+pub const IP_DEFAULT_MULTICAST_LOOP: u32 = 1;
+pub const IP_MAX_MEMBERSHIPS: u32 = 20;
+pub const IPV6_ADDRFORM: u32 = 1;
+pub const IPV6_2292PKTINFO: u32 = 2;
+pub const IPV6_2292HOPOPTS: u32 = 3;
+pub const IPV6_2292DSTOPTS: u32 = 4;
+pub const IPV6_2292RTHDR: u32 = 5;
+pub const IPV6_2292PKTOPTIONS: u32 = 6;
+pub const IPV6_CHECKSUM: u32 = 7;
+pub const IPV6_2292HOPLIMIT: u32 = 8;
+pub const IPV6_NEXTHOP: u32 = 9;
+pub const IPV6_AUTHHDR: u32 = 10;
+pub const IPV6_UNICAST_HOPS: u32 = 16;
+pub const IPV6_MULTICAST_IF: u32 = 17;
+pub const IPV6_MULTICAST_HOPS: u32 = 18;
+pub const IPV6_MULTICAST_LOOP: u32 = 19;
+pub const IPV6_JOIN_GROUP: u32 = 20;
+pub const IPV6_LEAVE_GROUP: u32 = 21;
+pub const IPV6_ROUTER_ALERT: u32 = 22;
+pub const IPV6_MTU_DISCOVER: u32 = 23;
+pub const IPV6_MTU: u32 = 24;
+pub const IPV6_RECVERR: u32 = 25;
+pub const IPV6_V6ONLY: u32 = 26;
+pub const IPV6_JOIN_ANYCAST: u32 = 27;
+pub const IPV6_LEAVE_ANYCAST: u32 = 28;
+pub const IPV6_IPSEC_POLICY: u32 = 34;
+pub const IPV6_XFRM_POLICY: u32 = 35;
+pub const IPV6_HDRINCL: u32 = 36;
+pub const IPV6_RECVPKTINFO: u32 = 49;
+pub const IPV6_PKTINFO: u32 = 50;
+pub const IPV6_RECVHOPLIMIT: u32 = 51;
+pub const IPV6_HOPLIMIT: u32 = 52;
+pub const IPV6_RECVHOPOPTS: u32 = 53;
+pub const IPV6_HOPOPTS: u32 = 54;
+pub const IPV6_RTHDRDSTOPTS: u32 = 55;
+pub const IPV6_RECVRTHDR: u32 = 56;
+pub const IPV6_RTHDR: u32 = 57;
+pub const IPV6_RECVDSTOPTS: u32 = 58;
+pub const IPV6_DSTOPTS: u32 = 59;
+pub const IPV6_RECVPATHMTU: u32 = 60;
+pub const IPV6_PATHMTU: u32 = 61;
+pub const IPV6_DONTFRAG: u32 = 62;
+pub const IPV6_RECVTCLASS: u32 = 66;
+pub const IPV6_TCLASS: u32 = 67;
+pub const IPV6_AUTOFLOWLABEL: u32 = 70;
+pub const IPV6_ADDR_PREFERENCES: u32 = 72;
+pub const IPV6_MINHOPCOUNT: u32 = 73;
+pub const IPV6_ORIGDSTADDR: u32 = 74;
+pub const IPV6_RECVORIGDSTADDR: u32 = 74;
+pub const IPV6_TRANSPARENT: u32 = 75;
+pub const IPV6_UNICAST_IF: u32 = 76;
+pub const IPV6_RECVFRAGSIZE: u32 = 77;
+pub const IPV6_FREEBIND: u32 = 78;
+pub const IPV6_ADD_MEMBERSHIP: u32 = 20;
+pub const IPV6_DROP_MEMBERSHIP: u32 = 21;
+pub const IPV6_RXHOPOPTS: u32 = 54;
+pub const IPV6_RXDSTOPTS: u32 = 59;
+pub const IPV6_PMTUDISC_DONT: u32 = 0;
+pub const IPV6_PMTUDISC_WANT: u32 = 1;
+pub const IPV6_PMTUDISC_DO: u32 = 2;
+pub const IPV6_PMTUDISC_PROBE: u32 = 3;
+pub const IPV6_PMTUDISC_INTERFACE: u32 = 4;
+pub const IPV6_PMTUDISC_OMIT: u32 = 5;
+pub const SOL_IPV6: u32 = 41;
+pub const SOL_ICMPV6: u32 = 58;
+pub const IPV6_RTHDR_LOOSE: u32 = 0;
+pub const IPV6_RTHDR_STRICT: u32 = 1;
+pub const IPV6_RTHDR_TYPE_0: u32 = 0;
+pub const IN_CLASSA_NET: u32 = 4278190080;
+pub const IN_CLASSA_NSHIFT: u32 = 24;
+pub const IN_CLASSA_HOST: u32 = 16777215;
+pub const IN_CLASSA_MAX: u32 = 128;
+pub const IN_CLASSB_NET: u32 = 4294901760;
+pub const IN_CLASSB_NSHIFT: u32 = 16;
+pub const IN_CLASSB_HOST: u32 = 65535;
+pub const IN_CLASSB_MAX: u32 = 65536;
+pub const IN_CLASSC_NET: u32 = 4294967040;
+pub const IN_CLASSC_NSHIFT: u32 = 8;
+pub const IN_CLASSC_HOST: u32 = 255;
+pub const IN_LOOPBACKNET: u32 = 127;
+pub const INET_ADDRSTRLEN: u32 = 16;
+pub const INET6_ADDRSTRLEN: u32 = 46;
+pub const _RPC_NETDB_H: u32 = 1;
+pub const _PATH_HEQUIV: &[u8; 17] = b"/etc/hosts.equiv\0";
+pub const _PATH_HOSTS: &[u8; 11] = b"/etc/hosts\0";
+pub const _PATH_NETWORKS: &[u8; 14] = b"/etc/networks\0";
+pub const _PATH_NSSWITCH_CONF: &[u8; 19] = b"/etc/nsswitch.conf\0";
+pub const _PATH_PROTOCOLS: &[u8; 15] = b"/etc/protocols\0";
+pub const _PATH_SERVICES: &[u8; 14] = b"/etc/services\0";
+pub const HOST_NOT_FOUND: u32 = 1;
+pub const TRY_AGAIN: u32 = 2;
+pub const NO_RECOVERY: u32 = 3;
+pub const NO_DATA: u32 = 4;
+pub const NETDB_INTERNAL: i32 = -1;
+pub const NETDB_SUCCESS: u32 = 0;
+pub const NO_ADDRESS: u32 = 4;
+pub const AI_PASSIVE: u32 = 1;
+pub const AI_CANONNAME: u32 = 2;
+pub const AI_NUMERICHOST: u32 = 4;
+pub const AI_V4MAPPED: u32 = 8;
+pub const AI_ALL: u32 = 16;
+pub const AI_ADDRCONFIG: u32 = 32;
+pub const AI_NUMERICSERV: u32 = 1024;
+pub const EAI_BADFLAGS: i32 = -1;
+pub const EAI_NONAME: i32 = -2;
+pub const EAI_AGAIN: i32 = -3;
+pub const EAI_FAIL: i32 = -4;
+pub const EAI_FAMILY: i32 = -6;
+pub const EAI_SOCKTYPE: i32 = -7;
+pub const EAI_SERVICE: i32 = -8;
+pub const EAI_MEMORY: i32 = -10;
+pub const EAI_SYSTEM: i32 = -11;
+pub const EAI_OVERFLOW: i32 = -12;
+pub const NI_MAXHOST: u32 = 1025;
+pub const NI_MAXSERV: u32 = 32;
+pub const NI_NUMERICHOST: u32 = 1;
+pub const NI_NUMERICSERV: u32 = 2;
+pub const NI_NOFQDN: u32 = 4;
+pub const NI_NAMEREQD: u32 = 8;
+pub const NI_DGRAM: u32 = 16;
+pub const _PWD_H: u32 = 1;
+pub const NSS_BUFLEN_PASSWD: u32 = 1024;
+pub const PGINVALID_SOCKET: i32 = -1;
+pub const PG_BACKEND_VERSIONSTR: &[u8; 56] =
+ b"postgres (PostgreSQL) 14.11 (Debian 14.11-1.pgdg100+1)\n\0";
+pub const EXE: &[u8; 1] = b"\0";
+pub const DEVNULL: &[u8; 10] = b"/dev/null\0";
+pub const USE_REPL_SNPRINTF: u32 = 1;
+pub const PG_STRERROR_R_BUFLEN: u32 = 256;
+pub const PG_IOLBF: u32 = 1;
+pub const _MATH_H: u32 = 1;
+pub const _BITS_LIBM_SIMD_DECL_STUBS_H: u32 = 1;
+pub const __FP_LOGB0_IS_MIN: u32 = 0;
+pub const __FP_LOGBNAN_IS_MIN: u32 = 0;
+pub const FP_ILOGB0: i32 = -2147483647;
+pub const FP_ILOGBNAN: u32 = 2147483647;
+pub const FP_FAST_FMA: u32 = 1;
+pub const FP_FAST_FMAF: u32 = 1;
+pub const __MATH_DECLARING_DOUBLE: u32 = 1;
+pub const __MATH_DECLARING_FLOATN: u32 = 0;
+pub const __MATH_DECLARE_LDOUBLE: u32 = 1;
+pub const MATH_ERRNO: u32 = 1;
+pub const MATH_ERREXCEPT: u32 = 2;
+pub const math_errhandling: u32 = 3;
+pub const _SETJMP_H: u32 = 1;
+pub const _BITS_SETJMP_H: u32 = 1;
+pub const DEBUG5: u32 = 10;
+pub const DEBUG4: u32 = 11;
+pub const DEBUG3: u32 = 12;
+pub const DEBUG2: u32 = 13;
+pub const DEBUG1: u32 = 14;
+pub const LOG: u32 = 15;
+pub const LOG_SERVER_ONLY: u32 = 16;
+pub const COMMERROR: u32 = 16;
+pub const INFO: u32 = 17;
+pub const NOTICE: u32 = 18;
+pub const WARNING: u32 = 19;
+pub const PGWARNING: u32 = 19;
+pub const WARNING_CLIENT_ONLY: u32 = 20;
+pub const ERROR: u32 = 21;
+pub const PGERROR: u32 = 21;
+pub const FATAL: u32 = 22;
+pub const PANIC: u32 = 23;
+pub const LOG_DESTINATION_STDERR: u32 = 1;
+pub const LOG_DESTINATION_SYSLOG: u32 = 2;
+pub const LOG_DESTINATION_EVENTLOG: u32 = 4;
+pub const LOG_DESTINATION_CSVLOG: u32 = 8;
+pub const MCXT_ALLOC_HUGE: u32 = 1;
+pub const MCXT_ALLOC_NO_OOM: u32 = 2;
+pub const MCXT_ALLOC_ZERO: u32 = 4;
+pub const VARLENA_EXTSIZE_BITS: u32 = 30;
+pub const VARLENA_EXTSIZE_MASK: u32 = 1073741823;
+pub const VARATT_SHORT_MAX: u32 = 127;
+pub const FIELDNO_NULLABLE_DATUM_DATUM: u32 = 0;
+pub const FIELDNO_NULLABLE_DATUM_ISNULL: u32 = 1;
+pub const SIZEOF_DATUM: u32 = 8;
+pub const InvalidAttrNumber: u32 = 0;
+pub const MaxAttrNumber: u32 = 32767;
+pub const AttributeRelationId: u32 = 1249;
+pub const AttributeRelation_Rowtype_Id: u32 = 75;
+pub const Anum_pg_attribute_attrelid: u32 = 1;
+pub const Anum_pg_attribute_attname: u32 = 2;
+pub const Anum_pg_attribute_atttypid: u32 = 3;
+pub const Anum_pg_attribute_attstattarget: u32 = 4;
+pub const Anum_pg_attribute_attlen: u32 = 5;
+pub const Anum_pg_attribute_attnum: u32 = 6;
+pub const Anum_pg_attribute_attndims: u32 = 7;
+pub const Anum_pg_attribute_attcacheoff: u32 = 8;
+pub const Anum_pg_attribute_atttypmod: u32 = 9;
+pub const Anum_pg_attribute_attbyval: u32 = 10;
+pub const Anum_pg_attribute_attalign: u32 = 11;
+pub const Anum_pg_attribute_attstorage: u32 = 12;
+pub const Anum_pg_attribute_attcompression: u32 = 13;
+pub const Anum_pg_attribute_attnotnull: u32 = 14;
+pub const Anum_pg_attribute_atthasdef: u32 = 15;
+pub const Anum_pg_attribute_atthasmissing: u32 = 16;
+pub const Anum_pg_attribute_attidentity: u32 = 17;
+pub const Anum_pg_attribute_attgenerated: u32 = 18;
+pub const Anum_pg_attribute_attisdropped: u32 = 19;
+pub const Anum_pg_attribute_attislocal: u32 = 20;
+pub const Anum_pg_attribute_attinhcount: u32 = 21;
+pub const Anum_pg_attribute_attcollation: u32 = 22;
+pub const Anum_pg_attribute_attacl: u32 = 23;
+pub const Anum_pg_attribute_attoptions: u32 = 24;
+pub const Anum_pg_attribute_attfdwoptions: u32 = 25;
+pub const Anum_pg_attribute_attmissingval: u32 = 26;
+pub const Natts_pg_attribute: u32 = 26;
+pub const ATTRIBUTE_IDENTITY_ALWAYS: u8 = 97u8;
+pub const ATTRIBUTE_IDENTITY_BY_DEFAULT: u8 = 100u8;
+pub const ATTRIBUTE_GENERATED_STORED: u8 = 115u8;
+pub const AttributeRelidNameIndexId: u32 = 2658;
+pub const AttributeRelidNumIndexId: u32 = 2659;
+pub const AGGSPLITOP_COMBINE: u32 = 1;
+pub const AGGSPLITOP_SKIPFINAL: u32 = 2;
+pub const AGGSPLITOP_SERIALIZE: u32 = 4;
+pub const AGGSPLITOP_DESERIALIZE: u32 = 8;
+pub const LP_UNUSED: u32 = 0;
+pub const LP_NORMAL: u32 = 1;
+pub const LP_REDIRECT: u32 = 2;
+pub const LP_DEAD: u32 = 3;
+pub const SpecTokenOffsetNumber: u32 = 65534;
+pub const MovedPartitionsOffsetNumber: u32 = 65533;
+pub const FIELDNO_HEAPTUPLEDATA_DATA: u32 = 3;
+pub const _FCNTL_H: u32 = 1;
+pub const __O_DIRECTORY: u32 = 16384;
+pub const __O_NOFOLLOW: u32 = 32768;
+pub const __O_DIRECT: u32 = 65536;
+pub const __O_LARGEFILE: u32 = 0;
+pub const F_GETLK64: u32 = 5;
+pub const F_SETLK64: u32 = 6;
+pub const F_SETLKW64: u32 = 7;
+pub const O_ACCMODE: u32 = 3;
+pub const O_RDONLY: u32 = 0;
+pub const O_WRONLY: u32 = 1;
+pub const O_RDWR: u32 = 2;
+pub const O_CREAT: u32 = 64;
+pub const O_EXCL: u32 = 128;
+pub const O_NOCTTY: u32 = 256;
+pub const O_TRUNC: u32 = 512;
+pub const O_APPEND: u32 = 1024;
+pub const O_NONBLOCK: u32 = 2048;
+pub const O_NDELAY: u32 = 2048;
+pub const O_SYNC: u32 = 1052672;
+pub const O_FSYNC: u32 = 1052672;
+pub const O_ASYNC: u32 = 8192;
+pub const __O_CLOEXEC: u32 = 524288;
+pub const __O_NOATIME: u32 = 262144;
+pub const __O_PATH: u32 = 2097152;
+pub const __O_DSYNC: u32 = 4096;
+pub const __O_TMPFILE: u32 = 4210688;
+pub const F_GETLK: u32 = 5;
+pub const F_SETLK: u32 = 6;
+pub const F_SETLKW: u32 = 7;
+pub const O_DIRECTORY: u32 = 16384;
+pub const O_NOFOLLOW: u32 = 32768;
+pub const O_CLOEXEC: u32 = 524288;
+pub const O_DSYNC: u32 = 4096;
+pub const O_RSYNC: u32 = 1052672;
+pub const F_DUPFD: u32 = 0;
+pub const F_GETFD: u32 = 1;
+pub const F_SETFD: u32 = 2;
+pub const F_GETFL: u32 = 3;
+pub const F_SETFL: u32 = 4;
+pub const __F_SETOWN: u32 = 8;
+pub const __F_GETOWN: u32 = 9;
+pub const F_SETOWN: u32 = 8;
+pub const F_GETOWN: u32 = 9;
+pub const __F_SETSIG: u32 = 10;
+pub const __F_GETSIG: u32 = 11;
+pub const __F_SETOWN_EX: u32 = 15;
+pub const __F_GETOWN_EX: u32 = 16;
+pub const F_DUPFD_CLOEXEC: u32 = 1030;
+pub const FD_CLOEXEC: u32 = 1;
+pub const F_RDLCK: u32 = 0;
+pub const F_WRLCK: u32 = 1;
+pub const F_UNLCK: u32 = 2;
+pub const F_EXLCK: u32 = 4;
+pub const F_SHLCK: u32 = 8;
+pub const LOCK_SH: u32 = 1;
+pub const LOCK_EX: u32 = 2;
+pub const LOCK_NB: u32 = 4;
+pub const LOCK_UN: u32 = 8;
+pub const FAPPEND: u32 = 1024;
+pub const FFSYNC: u32 = 1052672;
+pub const FASYNC: u32 = 8192;
+pub const FNONBLOCK: u32 = 2048;
+pub const FNDELAY: u32 = 2048;
+pub const __POSIX_FADV_DONTNEED: u32 = 4;
+pub const __POSIX_FADV_NOREUSE: u32 = 5;
+pub const POSIX_FADV_NORMAL: u32 = 0;
+pub const POSIX_FADV_RANDOM: u32 = 1;
+pub const POSIX_FADV_SEQUENTIAL: u32 = 2;
+pub const POSIX_FADV_WILLNEED: u32 = 3;
+pub const POSIX_FADV_DONTNEED: u32 = 4;
+pub const POSIX_FADV_NOREUSE: u32 = 5;
+pub const AT_FDCWD: i32 = -100;
+pub const AT_SYMLINK_NOFOLLOW: u32 = 256;
+pub const AT_REMOVEDIR: u32 = 512;
+pub const AT_SYMLINK_FOLLOW: u32 = 1024;
+pub const AT_EACCESS: u32 = 512;
+pub const _BITS_STAT_H: u32 = 1;
+pub const _STAT_VER_KERNEL: u32 = 0;
+pub const _STAT_VER_LINUX: u32 = 0;
+pub const _STAT_VER: u32 = 0;
+pub const _MKNOD_VER_LINUX: u32 = 0;
+pub const __S_IFMT: u32 = 61440;
+pub const __S_IFDIR: u32 = 16384;
+pub const __S_IFCHR: u32 = 8192;
+pub const __S_IFBLK: u32 = 24576;
+pub const __S_IFREG: u32 = 32768;
+pub const __S_IFIFO: u32 = 4096;
+pub const __S_IFLNK: u32 = 40960;
+pub const __S_IFSOCK: u32 = 49152;
+pub const __S_ISUID: u32 = 2048;
+pub const __S_ISGID: u32 = 1024;
+pub const __S_ISVTX: u32 = 512;
+pub const __S_IREAD: u32 = 256;
+pub const __S_IWRITE: u32 = 128;
+pub const __S_IEXEC: u32 = 64;
+pub const UTIME_NOW: u32 = 1073741823;
+pub const UTIME_OMIT: u32 = 1073741822;
+pub const S_IFMT: u32 = 61440;
+pub const S_IFDIR: u32 = 16384;
+pub const S_IFCHR: u32 = 8192;
+pub const S_IFBLK: u32 = 24576;
+pub const S_IFREG: u32 = 32768;
+pub const S_IFIFO: u32 = 4096;
+pub const S_IFLNK: u32 = 40960;
+pub const S_IFSOCK: u32 = 49152;
+pub const S_ISUID: u32 = 2048;
+pub const S_ISGID: u32 = 1024;
+pub const S_ISVTX: u32 = 512;
+pub const S_IRUSR: u32 = 256;
+pub const S_IWUSR: u32 = 128;
+pub const S_IXUSR: u32 = 64;
+pub const S_IRWXU: u32 = 448;
+pub const S_IRGRP: u32 = 32;
+pub const S_IWGRP: u32 = 16;
+pub const S_IXGRP: u32 = 8;
+pub const S_IRWXG: u32 = 56;
+pub const S_IROTH: u32 = 4;
+pub const S_IWOTH: u32 = 2;
+pub const S_IXOTH: u32 = 1;
+pub const S_IRWXO: u32 = 7;
+pub const R_OK: u32 = 4;
+pub const W_OK: u32 = 2;
+pub const X_OK: u32 = 1;
+pub const F_OK: u32 = 0;
+pub const F_ULOCK: u32 = 0;
+pub const F_LOCK: u32 = 1;
+pub const F_TLOCK: u32 = 2;
+pub const F_TEST: u32 = 3;
+pub const InvalidXLogRecPtr: u32 = 0;
+pub const PG_O_DIRECT: u32 = 0;
+pub const OPEN_SYNC_FLAG: u32 = 1052672;
+pub const OPEN_DATASYNC_FLAG: u32 = 4096;
+pub const FirstGenbkiObjectId: u32 = 10000;
+pub const FirstBootstrapObjectId: u32 = 12000;
+pub const FirstNormalObjectId: u32 = 16384;
+pub const TypeRelationId: u32 = 1247;
+pub const TypeRelation_Rowtype_Id: u32 = 71;
+pub const Anum_pg_type_oid: u32 = 1;
+pub const Anum_pg_type_typname: u32 = 2;
+pub const Anum_pg_type_typnamespace: u32 = 3;
+pub const Anum_pg_type_typowner: u32 = 4;
+pub const Anum_pg_type_typlen: u32 = 5;
+pub const Anum_pg_type_typbyval: u32 = 6;
+pub const Anum_pg_type_typtype: u32 = 7;
+pub const Anum_pg_type_typcategory: u32 = 8;
+pub const Anum_pg_type_typispreferred: u32 = 9;
+pub const Anum_pg_type_typisdefined: u32 = 10;
+pub const Anum_pg_type_typdelim: u32 = 11;
+pub const Anum_pg_type_typrelid: u32 = 12;
+pub const Anum_pg_type_typsubscript: u32 = 13;
+pub const Anum_pg_type_typelem: u32 = 14;
+pub const Anum_pg_type_typarray: u32 = 15;
+pub const Anum_pg_type_typinput: u32 = 16;
+pub const Anum_pg_type_typoutput: u32 = 17;
+pub const Anum_pg_type_typreceive: u32 = 18;
+pub const Anum_pg_type_typsend: u32 = 19;
+pub const Anum_pg_type_typmodin: u32 = 20;
+pub const Anum_pg_type_typmodout: u32 = 21;
+pub const Anum_pg_type_typanalyze: u32 = 22;
+pub const Anum_pg_type_typalign: u32 = 23;
+pub const Anum_pg_type_typstorage: u32 = 24;
+pub const Anum_pg_type_typnotnull: u32 = 25;
+pub const Anum_pg_type_typbasetype: u32 = 26;
+pub const Anum_pg_type_typtypmod: u32 = 27;
+pub const Anum_pg_type_typndims: u32 = 28;
+pub const Anum_pg_type_typcollation: u32 = 29;
+pub const Anum_pg_type_typdefaultbin: u32 = 30;
+pub const Anum_pg_type_typdefault: u32 = 31;
+pub const Anum_pg_type_typacl: u32 = 32;
+pub const Natts_pg_type: u32 = 32;
+pub const TYPTYPE_BASE: u8 = 98u8;
+pub const TYPTYPE_COMPOSITE: u8 = 99u8;
+pub const TYPTYPE_DOMAIN: u8 = 100u8;
+pub const TYPTYPE_ENUM: u8 = 101u8;
+pub const TYPTYPE_MULTIRANGE: u8 = 109u8;
+pub const TYPTYPE_PSEUDO: u8 = 112u8;
+pub const TYPTYPE_RANGE: u8 = 114u8;
+pub const TYPCATEGORY_INVALID: u8 = 0u8;
+pub const TYPCATEGORY_ARRAY: u8 = 65u8;
+pub const TYPCATEGORY_BOOLEAN: u8 = 66u8;
+pub const TYPCATEGORY_COMPOSITE: u8 = 67u8;
+pub const TYPCATEGORY_DATETIME: u8 = 68u8;
+pub const TYPCATEGORY_ENUM: u8 = 69u8;
+pub const TYPCATEGORY_GEOMETRIC: u8 = 71u8;
+pub const TYPCATEGORY_NETWORK: u8 = 73u8;
+pub const TYPCATEGORY_NUMERIC: u8 = 78u8;
+pub const TYPCATEGORY_PSEUDOTYPE: u8 = 80u8;
+pub const TYPCATEGORY_RANGE: u8 = 82u8;
+pub const TYPCATEGORY_STRING: u8 = 83u8;
+pub const TYPCATEGORY_TIMESPAN: u8 = 84u8;
+pub const TYPCATEGORY_USER: u8 = 85u8;
+pub const TYPCATEGORY_BITSTRING: u8 = 86u8;
+pub const TYPCATEGORY_UNKNOWN: u8 = 88u8;
+pub const TYPALIGN_CHAR: u8 = 99u8;
+pub const TYPALIGN_SHORT: u8 = 115u8;
+pub const TYPALIGN_INT: u8 = 105u8;
+pub const TYPALIGN_DOUBLE: u8 = 100u8;
+pub const TYPSTORAGE_PLAIN: u8 = 112u8;
+pub const TYPSTORAGE_EXTERNAL: u8 = 101u8;
+pub const TYPSTORAGE_EXTENDED: u8 = 120u8;
+pub const TYPSTORAGE_MAIN: u8 = 109u8;
+pub const BOOLOID: u32 = 16;
+pub const BYTEAOID: u32 = 17;
+pub const CHAROID: u32 = 18;
+pub const NAMEOID: u32 = 19;
+pub const INT8OID: u32 = 20;
+pub const INT2OID: u32 = 21;
+pub const INT2VECTOROID: u32 = 22;
+pub const INT4OID: u32 = 23;
+pub const REGPROCOID: u32 = 24;
+pub const TEXTOID: u32 = 25;
+pub const OIDOID: u32 = 26;
+pub const TIDOID: u32 = 27;
+pub const XIDOID: u32 = 28;
+pub const CIDOID: u32 = 29;
+pub const OIDVECTOROID: u32 = 30;
+pub const JSONOID: u32 = 114;
+pub const XMLOID: u32 = 142;
+pub const PG_NODE_TREEOID: u32 = 194;
+pub const PG_NDISTINCTOID: u32 = 3361;
+pub const PG_DEPENDENCIESOID: u32 = 3402;
+pub const PG_MCV_LISTOID: u32 = 5017;
+pub const PG_DDL_COMMANDOID: u32 = 32;
+pub const XID8OID: u32 = 5069;
+pub const POINTOID: u32 = 600;
+pub const LSEGOID: u32 = 601;
+pub const PATHOID: u32 = 602;
+pub const BOXOID: u32 = 603;
+pub const POLYGONOID: u32 = 604;
+pub const LINEOID: u32 = 628;
+pub const FLOAT4OID: u32 = 700;
+pub const FLOAT8OID: u32 = 701;
+pub const UNKNOWNOID: u32 = 705;
+pub const CIRCLEOID: u32 = 718;
+pub const MONEYOID: u32 = 790;
+pub const MACADDROID: u32 = 829;
+pub const INETOID: u32 = 869;
+pub const CIDROID: u32 = 650;
+pub const MACADDR8OID: u32 = 774;
+pub const ACLITEMOID: u32 = 1033;
+pub const BPCHAROID: u32 = 1042;
+pub const VARCHAROID: u32 = 1043;
+pub const DATEOID: u32 = 1082;
+pub const TIMEOID: u32 = 1083;
+pub const TIMESTAMPOID: u32 = 1114;
+pub const TIMESTAMPTZOID: u32 = 1184;
+pub const INTERVALOID: u32 = 1186;
+pub const TIMETZOID: u32 = 1266;
+pub const BITOID: u32 = 1560;
+pub const VARBITOID: u32 = 1562;
+pub const NUMERICOID: u32 = 1700;
+pub const REFCURSOROID: u32 = 1790;
+pub const REGPROCEDUREOID: u32 = 2202;
+pub const REGOPEROID: u32 = 2203;
+pub const REGOPERATOROID: u32 = 2204;
+pub const REGCLASSOID: u32 = 2205;
+pub const REGCOLLATIONOID: u32 = 4191;
+pub const REGTYPEOID: u32 = 2206;
+pub const REGROLEOID: u32 = 4096;
+pub const REGNAMESPACEOID: u32 = 4089;
+pub const UUIDOID: u32 = 2950;
+pub const PG_LSNOID: u32 = 3220;
+pub const TSVECTOROID: u32 = 3614;
+pub const GTSVECTOROID: u32 = 3642;
+pub const TSQUERYOID: u32 = 3615;
+pub const REGCONFIGOID: u32 = 3734;
+pub const REGDICTIONARYOID: u32 = 3769;
+pub const JSONBOID: u32 = 3802;
+pub const JSONPATHOID: u32 = 4072;
+pub const TXID_SNAPSHOTOID: u32 = 2970;
+pub const PG_SNAPSHOTOID: u32 = 5038;
+pub const INT4RANGEOID: u32 = 3904;
+pub const NUMRANGEOID: u32 = 3906;
+pub const TSRANGEOID: u32 = 3908;
+pub const TSTZRANGEOID: u32 = 3910;
+pub const DATERANGEOID: u32 = 3912;
+pub const INT8RANGEOID: u32 = 3926;
+pub const INT4MULTIRANGEOID: u32 = 4451;
+pub const NUMMULTIRANGEOID: u32 = 4532;
+pub const TSMULTIRANGEOID: u32 = 4533;
+pub const TSTZMULTIRANGEOID: u32 = 4534;
+pub const DATEMULTIRANGEOID: u32 = 4535;
+pub const INT8MULTIRANGEOID: u32 = 4536;
+pub const RECORDOID: u32 = 2249;
+pub const RECORDARRAYOID: u32 = 2287;
+pub const CSTRINGOID: u32 = 2275;
+pub const ANYOID: u32 = 2276;
+pub const ANYARRAYOID: u32 = 2277;
+pub const VOIDOID: u32 = 2278;
+pub const TRIGGEROID: u32 = 2279;
+pub const EVENT_TRIGGEROID: u32 = 3838;
+pub const LANGUAGE_HANDLEROID: u32 = 2280;
+pub const INTERNALOID: u32 = 2281;
+pub const ANYELEMENTOID: u32 = 2283;
+pub const ANYNONARRAYOID: u32 = 2776;
+pub const ANYENUMOID: u32 = 3500;
+pub const FDW_HANDLEROID: u32 = 3115;
+pub const INDEX_AM_HANDLEROID: u32 = 325;
+pub const TSM_HANDLEROID: u32 = 3310;
+pub const TABLE_AM_HANDLEROID: u32 = 269;
+pub const ANYRANGEOID: u32 = 3831;
+pub const ANYCOMPATIBLEOID: u32 = 5077;
+pub const ANYCOMPATIBLEARRAYOID: u32 = 5078;
+pub const ANYCOMPATIBLENONARRAYOID: u32 = 5079;
+pub const ANYCOMPATIBLERANGEOID: u32 = 5080;
+pub const ANYMULTIRANGEOID: u32 = 4537;
+pub const ANYCOMPATIBLEMULTIRANGEOID: u32 = 4538;
+pub const PG_BRIN_BLOOM_SUMMARYOID: u32 = 4600;
+pub const PG_BRIN_MINMAX_MULTI_SUMMARYOID: u32 = 4601;
+pub const BOOLARRAYOID: u32 = 1000;
+pub const BYTEAARRAYOID: u32 = 1001;
+pub const CHARARRAYOID: u32 = 1002;
+pub const NAMEARRAYOID: u32 = 1003;
+pub const INT8ARRAYOID: u32 = 1016;
+pub const INT2ARRAYOID: u32 = 1005;
+pub const INT2VECTORARRAYOID: u32 = 1006;
+pub const INT4ARRAYOID: u32 = 1007;
+pub const REGPROCARRAYOID: u32 = 1008;
+pub const TEXTARRAYOID: u32 = 1009;
+pub const OIDARRAYOID: u32 = 1028;
+pub const TIDARRAYOID: u32 = 1010;
+pub const XIDARRAYOID: u32 = 1011;
+pub const CIDARRAYOID: u32 = 1012;
+pub const OIDVECTORARRAYOID: u32 = 1013;
+pub const PG_TYPEARRAYOID: u32 = 210;
+pub const PG_ATTRIBUTEARRAYOID: u32 = 270;
+pub const PG_PROCARRAYOID: u32 = 272;
+pub const PG_CLASSARRAYOID: u32 = 273;
+pub const JSONARRAYOID: u32 = 199;
+pub const XMLARRAYOID: u32 = 143;
+pub const XID8ARRAYOID: u32 = 271;
+pub const POINTARRAYOID: u32 = 1017;
+pub const LSEGARRAYOID: u32 = 1018;
+pub const PATHARRAYOID: u32 = 1019;
+pub const BOXARRAYOID: u32 = 1020;
+pub const POLYGONARRAYOID: u32 = 1027;
+pub const LINEARRAYOID: u32 = 629;
+pub const FLOAT4ARRAYOID: u32 = 1021;
+pub const FLOAT8ARRAYOID: u32 = 1022;
+pub const CIRCLEARRAYOID: u32 = 719;
+pub const MONEYARRAYOID: u32 = 791;
+pub const MACADDRARRAYOID: u32 = 1040;
+pub const INETARRAYOID: u32 = 1041;
+pub const CIDRARRAYOID: u32 = 651;
+pub const MACADDR8ARRAYOID: u32 = 775;
+pub const ACLITEMARRAYOID: u32 = 1034;
+pub const BPCHARARRAYOID: u32 = 1014;
+pub const VARCHARARRAYOID: u32 = 1015;
+pub const DATEARRAYOID: u32 = 1182;
+pub const TIMEARRAYOID: u32 = 1183;
+pub const TIMESTAMPARRAYOID: u32 = 1115;
+pub const TIMESTAMPTZARRAYOID: u32 = 1185;
+pub const INTERVALARRAYOID: u32 = 1187;
+pub const TIMETZARRAYOID: u32 = 1270;
+pub const BITARRAYOID: u32 = 1561;
+pub const VARBITARRAYOID: u32 = 1563;
+pub const NUMERICARRAYOID: u32 = 1231;
+pub const REFCURSORARRAYOID: u32 = 2201;
+pub const REGPROCEDUREARRAYOID: u32 = 2207;
+pub const REGOPERARRAYOID: u32 = 2208;
+pub const REGOPERATORARRAYOID: u32 = 2209;
+pub const REGCLASSARRAYOID: u32 = 2210;
+pub const REGCOLLATIONARRAYOID: u32 = 4192;
+pub const REGTYPEARRAYOID: u32 = 2211;
+pub const REGROLEARRAYOID: u32 = 4097;
+pub const REGNAMESPACEARRAYOID: u32 = 4090;
+pub const UUIDARRAYOID: u32 = 2951;
+pub const PG_LSNARRAYOID: u32 = 3221;
+pub const TSVECTORARRAYOID: u32 = 3643;
+pub const GTSVECTORARRAYOID: u32 = 3644;
+pub const TSQUERYARRAYOID: u32 = 3645;
+pub const REGCONFIGARRAYOID: u32 = 3735;
+pub const REGDICTIONARYARRAYOID: u32 = 3770;
+pub const JSONBARRAYOID: u32 = 3807;
+pub const JSONPATHARRAYOID: u32 = 4073;
+pub const TXID_SNAPSHOTARRAYOID: u32 = 2949;
+pub const PG_SNAPSHOTARRAYOID: u32 = 5039;
+pub const INT4RANGEARRAYOID: u32 = 3905;
+pub const NUMRANGEARRAYOID: u32 = 3907;
+pub const TSRANGEARRAYOID: u32 = 3909;
+pub const TSTZRANGEARRAYOID: u32 = 3911;
+pub const DATERANGEARRAYOID: u32 = 3913;
+pub const INT8RANGEARRAYOID: u32 = 3927;
+pub const INT4MULTIRANGEARRAYOID: u32 = 6150;
+pub const NUMMULTIRANGEARRAYOID: u32 = 6151;
+pub const TSMULTIRANGEARRAYOID: u32 = 6152;
+pub const TSTZMULTIRANGEARRAYOID: u32 = 6153;
+pub const DATEMULTIRANGEARRAYOID: u32 = 6155;
+pub const INT8MULTIRANGEARRAYOID: u32 = 6157;
+pub const CSTRINGARRAYOID: u32 = 1263;
+pub const PD_HAS_FREE_LINES: u32 = 1;
+pub const PD_PAGE_FULL: u32 = 2;
+pub const PD_ALL_VISIBLE: u32 = 4;
+pub const PD_VALID_FLAG_BITS: u32 = 7;
+pub const PG_PAGE_LAYOUT_VERSION: u32 = 4;
+pub const PG_DATA_CHECKSUM_VERSION: u32 = 1;
+pub const PAI_OVERWRITE: u32 = 1;
+pub const PAI_IS_HEAP: u32 = 2;
+pub const PIV_LOG_WARNING: u32 = 1;
+pub const PIV_REPORT_STAT: u32 = 2;
+pub const MaxTupleAttributeNumber: u32 = 1664;
+pub const MaxHeapAttributeNumber: u32 = 1600;
+pub const FIELDNO_HEAPTUPLEHEADERDATA_INFOMASK2: u32 = 2;
+pub const FIELDNO_HEAPTUPLEHEADERDATA_INFOMASK: u32 = 3;
+pub const FIELDNO_HEAPTUPLEHEADERDATA_HOFF: u32 = 4;
+pub const FIELDNO_HEAPTUPLEHEADERDATA_BITS: u32 = 5;
+pub const HEAP_HASNULL: u32 = 1;
+pub const HEAP_HASVARWIDTH: u32 = 2;
+pub const HEAP_HASEXTERNAL: u32 = 4;
+pub const HEAP_HASOID_OLD: u32 = 8;
+pub const HEAP_XMAX_KEYSHR_LOCK: u32 = 16;
+pub const HEAP_COMBOCID: u32 = 32;
+pub const HEAP_XMAX_EXCL_LOCK: u32 = 64;
+pub const HEAP_XMAX_LOCK_ONLY: u32 = 128;
+pub const HEAP_XMAX_SHR_LOCK: u32 = 80;
+pub const HEAP_LOCK_MASK: u32 = 80;
+pub const HEAP_XMIN_COMMITTED: u32 = 256;
+pub const HEAP_XMIN_INVALID: u32 = 512;
+pub const HEAP_XMIN_FROZEN: u32 = 768;
+pub const HEAP_XMAX_COMMITTED: u32 = 1024;
+pub const HEAP_XMAX_INVALID: u32 = 2048;
+pub const HEAP_XMAX_IS_MULTI: u32 = 4096;
+pub const HEAP_UPDATED: u32 = 8192;
+pub const HEAP_MOVED_OFF: u32 = 16384;
+pub const HEAP_MOVED_IN: u32 = 32768;
+pub const HEAP_MOVED: u32 = 49152;
+pub const HEAP_XACT_MASK: u32 = 65520;
+pub const HEAP_XMAX_BITS: u32 = 7376;
+pub const HEAP_NATTS_MASK: u32 = 2047;
+pub const HEAP_KEYS_UPDATED: u32 = 8192;
+pub const HEAP_HOT_UPDATED: u32 = 16384;
+pub const HEAP_ONLY_TUPLE: u32 = 32768;
+pub const HEAP2_XACT_MASK: u32 = 57344;
+pub const HEAP_TUPLE_HAS_MATCH: u32 = 32768;
+pub const MaxAttrSize: u32 = 10485760;
+pub const SelfItemPointerAttributeNumber: i32 = -1;
+pub const MinTransactionIdAttributeNumber: i32 = -2;
+pub const MinCommandIdAttributeNumber: i32 = -3;
+pub const MaxTransactionIdAttributeNumber: i32 = -4;
+pub const MaxCommandIdAttributeNumber: i32 = -5;
+pub const TableOidAttributeNumber: i32 = -6;
+pub const FirstLowInvalidHeapAttributeNumber: i32 = -7;
+pub const InvalidBuffer: u32 = 0;
+pub const TTS_FLAG_EMPTY: u32 = 2;
+pub const TTS_FLAG_SHOULDFREE: u32 = 4;
+pub const TTS_FLAG_SLOW: u32 = 8;
+pub const TTS_FLAG_FIXED: u32 = 16;
+pub const FIELDNO_TUPLETABLESLOT_FLAGS: u32 = 1;
+pub const FIELDNO_TUPLETABLESLOT_NVALID: u32 = 2;
+pub const FIELDNO_TUPLETABLESLOT_TUPLEDESCRIPTOR: u32 = 4;
+pub const FIELDNO_TUPLETABLESLOT_VALUES: u32 = 5;
+pub const FIELDNO_TUPLETABLESLOT_ISNULL: u32 = 6;
+pub const FIELDNO_HEAPTUPLETABLESLOT_TUPLE: u32 = 1;
+pub const FIELDNO_HEAPTUPLETABLESLOT_OFF: u32 = 2;
+pub const FIELDNO_MINIMALTUPLETABLESLOT_TUPLE: u32 = 1;
+pub const FIELDNO_MINIMALTUPLETABLESLOT_OFF: u32 = 4;
+pub const BITS_PER_BITMAPWORD: u32 = 64;
+pub const _TIME_H: u32 = 1;
+pub const _BITS_TIME_H: u32 = 1;
+pub const CLOCK_REALTIME: u32 = 0;
+pub const CLOCK_MONOTONIC: u32 = 1;
+pub const CLOCK_PROCESS_CPUTIME_ID: u32 = 2;
+pub const CLOCK_THREAD_CPUTIME_ID: u32 = 3;
+pub const CLOCK_MONOTONIC_RAW: u32 = 4;
+pub const CLOCK_REALTIME_COARSE: u32 = 5;
+pub const CLOCK_MONOTONIC_COARSE: u32 = 6;
+pub const CLOCK_BOOTTIME: u32 = 7;
+pub const CLOCK_REALTIME_ALARM: u32 = 8;
+pub const CLOCK_BOOTTIME_ALARM: u32 = 9;
+pub const CLOCK_TAI: u32 = 11;
+pub const TIMER_ABSTIME: u32 = 1;
+pub const __struct_tm_defined: u32 = 1;
+pub const __itimerspec_defined: u32 = 1;
+pub const TIME_UTC: u32 = 1;
+pub const PG_INSTR_CLOCK: u32 = 1;
+pub const FIELDNO_FUNCTIONCALLINFODATA_ISNULL: u32 = 4;
+pub const FIELDNO_FUNCTIONCALLINFODATA_ARGS: u32 = 6;
+pub const PG_MAGIC_FUNCTION_NAME_STRING: &[u8; 14] = b"Pg_magic_func\0";
+pub const AGG_CONTEXT_AGGREGATE: u32 = 1;
+pub const AGG_CONTEXT_WINDOW: u32 = 2;
+pub const PARAM_FLAG_CONST: u32 = 1;
+pub const BTLessStrategyNumber: u32 = 1;
+pub const BTLessEqualStrategyNumber: u32 = 2;
+pub const BTEqualStrategyNumber: u32 = 3;
+pub const BTGreaterEqualStrategyNumber: u32 = 4;
+pub const BTGreaterStrategyNumber: u32 = 5;
+pub const BTMaxStrategyNumber: u32 = 5;
+pub const HTEqualStrategyNumber: u32 = 1;
+pub const HTMaxStrategyNumber: u32 = 1;
+pub const RTLeftStrategyNumber: u32 = 1;
+pub const RTOverLeftStrategyNumber: u32 = 2;
+pub const RTOverlapStrategyNumber: u32 = 3;
+pub const RTOverRightStrategyNumber: u32 = 4;
+pub const RTRightStrategyNumber: u32 = 5;
+pub const RTSameStrategyNumber: u32 = 6;
+pub const RTContainsStrategyNumber: u32 = 7;
+pub const RTContainedByStrategyNumber: u32 = 8;
+pub const RTOverBelowStrategyNumber: u32 = 9;
+pub const RTBelowStrategyNumber: u32 = 10;
+pub const RTAboveStrategyNumber: u32 = 11;
+pub const RTOverAboveStrategyNumber: u32 = 12;
+pub const RTOldContainsStrategyNumber: u32 = 13;
+pub const RTOldContainedByStrategyNumber: u32 = 14;
+pub const RTKNNSearchStrategyNumber: u32 = 15;
+pub const RTContainsElemStrategyNumber: u32 = 16;
+pub const RTAdjacentStrategyNumber: u32 = 17;
+pub const RTEqualStrategyNumber: u32 = 18;
+pub const RTNotEqualStrategyNumber: u32 = 19;
+pub const RTLessStrategyNumber: u32 = 20;
+pub const RTLessEqualStrategyNumber: u32 = 21;
+pub const RTGreaterStrategyNumber: u32 = 22;
+pub const RTGreaterEqualStrategyNumber: u32 = 23;
+pub const RTSubStrategyNumber: u32 = 24;
+pub const RTSubEqualStrategyNumber: u32 = 25;
+pub const RTSuperStrategyNumber: u32 = 26;
+pub const RTSuperEqualStrategyNumber: u32 = 27;
+pub const RTPrefixStrategyNumber: u32 = 28;
+pub const RTOldBelowStrategyNumber: u32 = 29;
+pub const RTOldAboveStrategyNumber: u32 = 30;
+pub const RTMaxStrategyNumber: u32 = 30;
+pub const INNER_VAR: u32 = 65000;
+pub const OUTER_VAR: u32 = 65001;
+pub const INDEX_VAR: u32 = 65002;
+pub const ROWID_VAR: u32 = 65003;
+pub const PRS2_OLD_VARNO: u32 = 1;
+pub const PRS2_NEW_VARNO: u32 = 2;
+pub const _LIBC_LIMITS_H_: u32 = 1;
+pub const MB_LEN_MAX: u32 = 16;
+pub const _BITS_POSIX1_LIM_H: u32 = 1;
+pub const _POSIX_AIO_LISTIO_MAX: u32 = 2;
+pub const _POSIX_AIO_MAX: u32 = 1;
+pub const _POSIX_ARG_MAX: u32 = 4096;
+pub const _POSIX_CHILD_MAX: u32 = 25;
+pub const _POSIX_DELAYTIMER_MAX: u32 = 32;
+pub const _POSIX_HOST_NAME_MAX: u32 = 255;
+pub const _POSIX_LINK_MAX: u32 = 8;
+pub const _POSIX_LOGIN_NAME_MAX: u32 = 9;
+pub const _POSIX_MAX_CANON: u32 = 255;
+pub const _POSIX_MAX_INPUT: u32 = 255;
+pub const _POSIX_MQ_OPEN_MAX: u32 = 8;
+pub const _POSIX_MQ_PRIO_MAX: u32 = 32;
+pub const _POSIX_NAME_MAX: u32 = 14;
+pub const _POSIX_NGROUPS_MAX: u32 = 8;
+pub const _POSIX_OPEN_MAX: u32 = 20;
+pub const _POSIX_PATH_MAX: u32 = 256;
+pub const _POSIX_PIPE_BUF: u32 = 512;
+pub const _POSIX_RE_DUP_MAX: u32 = 255;
+pub const _POSIX_RTSIG_MAX: u32 = 8;
+pub const _POSIX_SEM_NSEMS_MAX: u32 = 256;
+pub const _POSIX_SEM_VALUE_MAX: u32 = 32767;
+pub const _POSIX_SIGQUEUE_MAX: u32 = 32;
+pub const _POSIX_SSIZE_MAX: u32 = 32767;
+pub const _POSIX_STREAM_MAX: u32 = 8;
+pub const _POSIX_SYMLINK_MAX: u32 = 255;
+pub const _POSIX_SYMLOOP_MAX: u32 = 8;
+pub const _POSIX_TIMER_MAX: u32 = 32;
+pub const _POSIX_TTY_NAME_MAX: u32 = 9;
+pub const _POSIX_TZNAME_MAX: u32 = 6;
+pub const _POSIX_CLOCKRES_MIN: u32 = 20000000;
+pub const NR_OPEN: u32 = 1024;
+pub const NGROUPS_MAX: u32 = 65536;
+pub const ARG_MAX: u32 = 131072;
+pub const LINK_MAX: u32 = 127;
+pub const MAX_CANON: u32 = 255;
+pub const MAX_INPUT: u32 = 255;
+pub const NAME_MAX: u32 = 255;
+pub const PATH_MAX: u32 = 4096;
+pub const PIPE_BUF: u32 = 4096;
+pub const XATTR_NAME_MAX: u32 = 255;
+pub const XATTR_SIZE_MAX: u32 = 65536;
+pub const XATTR_LIST_MAX: u32 = 65536;
+pub const RTSIG_MAX: u32 = 32;
+pub const _POSIX_THREAD_KEYS_MAX: u32 = 128;
+pub const PTHREAD_KEYS_MAX: u32 = 1024;
+pub const _POSIX_THREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
+pub const PTHREAD_DESTRUCTOR_ITERATIONS: u32 = 4;
+pub const _POSIX_THREAD_THREADS_MAX: u32 = 64;
+pub const AIO_PRIO_DELTA_MAX: u32 = 20;
+pub const PTHREAD_STACK_MIN: u32 = 131072;
+pub const DELAYTIMER_MAX: u32 = 2147483647;
+pub const TTY_NAME_MAX: u32 = 32;
+pub const LOGIN_NAME_MAX: u32 = 256;
+pub const HOST_NAME_MAX: u32 = 64;
+pub const MQ_PRIO_MAX: u32 = 32768;
+pub const SEM_VALUE_MAX: u32 = 2147483647;
+pub const _BITS_POSIX2_LIM_H: u32 = 1;
+pub const _POSIX2_BC_BASE_MAX: u32 = 99;
+pub const _POSIX2_BC_DIM_MAX: u32 = 2048;
+pub const _POSIX2_BC_SCALE_MAX: u32 = 99;
+pub const _POSIX2_BC_STRING_MAX: u32 = 1000;
+pub const _POSIX2_COLL_WEIGHTS_MAX: u32 = 2;
+pub const _POSIX2_EXPR_NEST_MAX: u32 = 32;
+pub const _POSIX2_LINE_MAX: u32 = 2048;
+pub const _POSIX2_RE_DUP_MAX: u32 = 255;
+pub const _POSIX2_CHARCLASS_NAME_MAX: u32 = 14;
+pub const BC_BASE_MAX: u32 = 99;
+pub const BC_DIM_MAX: u32 = 2048;
+pub const BC_SCALE_MAX: u32 = 99;
+pub const BC_STRING_MAX: u32 = 1000;
+pub const COLL_WEIGHTS_MAX: u32 = 255;
+pub const EXPR_NEST_MAX: u32 = 32;
+pub const LINE_MAX: u32 = 2048;
+pub const CHARCLASS_NAME_MAX: u32 = 2048;
+pub const RE_DUP_MAX: u32 = 32767;
+pub const CHAR_MIN: u32 = 0;
+pub const DSM_IMPL_POSIX: u32 = 1;
+pub const DSM_IMPL_SYSV: u32 = 2;
+pub const DSM_IMPL_WINDOWS: u32 = 3;
+pub const DSM_IMPL_MMAP: u32 = 4;
+pub const DEFAULT_DYNAMIC_SHARED_MEMORY_TYPE: u32 = 1;
+pub const PG_DYNSHMEM_DIR: &[u8; 12] = b"pg_dynshmem\0";
+pub const PG_DYNSHMEM_MMAP_FILE_PREFIX: &[u8; 6] = b"mmap.\0";
+pub const DSM_CREATE_NULL_IF_MAXSEGMENTS: u32 = 1;
+pub const DSM_HANDLE_INVALID: u32 = 0;
+pub const SIZEOF_DSA_POINTER: u32 = 8;
+pub const DSA_POINTER_FORMAT: &[u8; 7] = b"%016lx\0";
+pub const DSA_ALLOC_HUGE: u32 = 1;
+pub const DSA_ALLOC_NO_OOM: u32 = 2;
+pub const DSA_ALLOC_ZERO: u32 = 4;
+pub const DEFAULT_SPINS_PER_DELAY: u32 = 100;
+pub const HASH_PARTITION: u32 = 1;
+pub const HASH_SEGMENT: u32 = 2;
+pub const HASH_DIRSIZE: u32 = 4;
+pub const HASH_ELEM: u32 = 8;
+pub const HASH_STRINGS: u32 = 16;
+pub const HASH_BLOBS: u32 = 32;
+pub const HASH_FUNCTION: u32 = 64;
+pub const HASH_COMPARE: u32 = 128;
+pub const HASH_KEYCOPY: u32 = 256;
+pub const HASH_ALLOC: u32 = 512;
+pub const HASH_CONTEXT: u32 = 1024;
+pub const HASH_SHARED_MEM: u32 = 2048;
+pub const HASH_ATTACH: u32 = 4096;
+pub const HASH_FIXED_SIZE: u32 = 8192;
+pub const NO_MAX_DSIZE: i32 = -1;
+pub const _DIRENT_H: u32 = 1;
+pub const _DIRENT_MATCHES_DIRENT64: u32 = 1;
+pub const MAXNAMLEN: u32 = 255;
+pub const PG_TEMP_FILES_DIR: &[u8; 10] = b"pgsql_tmp\0";
+pub const PG_TEMP_FILE_PREFIX: &[u8; 10] = b"pgsql_tmp\0";
+pub const SHARED_TUPLESTORE_SINGLE_PASS: u32 = 1;
+pub const MAX_TIMESTAMP_PRECISION: u32 = 6;
+pub const MAX_INTERVAL_PRECISION: u32 = 6;
+pub const TS_PREC_INV: f64 = 1000000.0;
+pub const DAYS_PER_YEAR: f64 = 365.25;
+pub const MONTHS_PER_YEAR: u32 = 12;
+pub const DAYS_PER_MONTH: u32 = 30;
+pub const HOURS_PER_DAY: u32 = 24;
+pub const SECS_PER_YEAR: u32 = 31557600;
+pub const SECS_PER_DAY: u32 = 86400;
+pub const SECS_PER_HOUR: u32 = 3600;
+pub const SECS_PER_MINUTE: u32 = 60;
+pub const MINS_PER_HOUR: u32 = 60;
+pub const MAX_TZDISP_HOUR: u32 = 15;
+pub const TZDISP_LIMIT: u32 = 57600;
+pub const JULIAN_MINYEAR: i32 = -4713;
+pub const JULIAN_MINMONTH: u32 = 11;
+pub const JULIAN_MINDAY: u32 = 24;
+pub const JULIAN_MAXYEAR: u32 = 5874898;
+pub const JULIAN_MAXMONTH: u32 = 6;
+pub const JULIAN_MAXDAY: u32 = 3;
+pub const UNIX_EPOCH_JDATE: u32 = 2440588;
+pub const POSTGRES_EPOCH_JDATE: u32 = 2451545;
+pub const DATETIME_MIN_JULIAN: u32 = 0;
+pub const DATE_END_JULIAN: u32 = 2147483494;
+pub const TIMESTAMP_END_JULIAN: u32 = 109203528;
+pub const RELCACHE_INIT_FILENAME: &[u8; 17] = b"pg_internal.init\0";
+pub const INDEX_SIZE_MASK: u32 = 8191;
+pub const INDEX_AM_RESERVED_BIT: u32 = 8192;
+pub const INDEX_VAR_MASK: u32 = 16384;
+pub const INDEX_NULL_MASK: u32 = 32768;
+pub const NUM_TUPLESORTMETHODS: u32 = 4;
+pub const EEO_FLAG_IS_QUAL: u32 = 1;
+pub const FIELDNO_EXPRSTATE_RESNULL: u32 = 2;
+pub const FIELDNO_EXPRSTATE_RESVALUE: u32 = 3;
+pub const FIELDNO_EXPRSTATE_RESULTSLOT: u32 = 4;
+pub const FIELDNO_EXPRSTATE_PARENT: u32 = 11;
+pub const FIELDNO_EXPRCONTEXT_SCANTUPLE: u32 = 1;
+pub const FIELDNO_EXPRCONTEXT_INNERTUPLE: u32 = 2;
+pub const FIELDNO_EXPRCONTEXT_OUTERTUPLE: u32 = 3;
+pub const FIELDNO_EXPRCONTEXT_AGGVALUES: u32 = 8;
+pub const FIELDNO_EXPRCONTEXT_AGGNULLS: u32 = 9;
+pub const FIELDNO_EXPRCONTEXT_CASEDATUM: u32 = 10;
+pub const FIELDNO_EXPRCONTEXT_CASENULL: u32 = 11;
+pub const FIELDNO_EXPRCONTEXT_DOMAINDATUM: u32 = 12;
+pub const FIELDNO_EXPRCONTEXT_DOMAINNULL: u32 = 13;
+pub const FIELDNO_AGGSTATE_CURAGGCONTEXT: u32 = 14;
+pub const FIELDNO_AGGSTATE_CURPERTRANS: u32 = 16;
+pub const FIELDNO_AGGSTATE_CURRENT_SET: u32 = 20;
+pub const FIELDNO_AGGSTATE_ALL_PERGROUPS: u32 = 53;
+pub const COMPLETION_TAG_BUFSIZE: u32 = 64;
+pub const ACL_INSERT: u32 = 1;
+pub const ACL_SELECT: u32 = 2;
+pub const ACL_UPDATE: u32 = 4;
+pub const ACL_DELETE: u32 = 8;
+pub const ACL_TRUNCATE: u32 = 16;
+pub const ACL_REFERENCES: u32 = 32;
+pub const ACL_TRIGGER: u32 = 64;
+pub const ACL_EXECUTE: u32 = 128;
+pub const ACL_USAGE: u32 = 256;
+pub const ACL_CREATE: u32 = 512;
+pub const ACL_CREATE_TEMP: u32 = 1024;
+pub const ACL_CONNECT: u32 = 2048;
+pub const N_ACL_RIGHTS: u32 = 12;
+pub const ACL_NO_RIGHTS: u32 = 0;
+pub const ACL_SELECT_FOR_UPDATE: u32 = 4;
+pub const FRAMEOPTION_NONDEFAULT: u32 = 1;
+pub const FRAMEOPTION_RANGE: u32 = 2;
+pub const FRAMEOPTION_ROWS: u32 = 4;
+pub const FRAMEOPTION_GROUPS: u32 = 8;
+pub const FRAMEOPTION_BETWEEN: u32 = 16;
+pub const FRAMEOPTION_START_UNBOUNDED_PRECEDING: u32 = 32;
+pub const FRAMEOPTION_END_UNBOUNDED_PRECEDING: u32 = 64;
+pub const FRAMEOPTION_START_UNBOUNDED_FOLLOWING: u32 = 128;
+pub const FRAMEOPTION_END_UNBOUNDED_FOLLOWING: u32 = 256;
+pub const FRAMEOPTION_START_CURRENT_ROW: u32 = 512;
+pub const FRAMEOPTION_END_CURRENT_ROW: u32 = 1024;
+pub const FRAMEOPTION_START_OFFSET_PRECEDING: u32 = 2048;
+pub const FRAMEOPTION_END_OFFSET_PRECEDING: u32 = 4096;
+pub const FRAMEOPTION_START_OFFSET_FOLLOWING: u32 = 8192;
+pub const FRAMEOPTION_END_OFFSET_FOLLOWING: u32 = 16384;
+pub const FRAMEOPTION_EXCLUDE_CURRENT_ROW: u32 = 32768;
+pub const FRAMEOPTION_EXCLUDE_GROUP: u32 = 65536;
+pub const FRAMEOPTION_EXCLUDE_TIES: u32 = 131072;
+pub const FRAMEOPTION_START_OFFSET: u32 = 10240;
+pub const FRAMEOPTION_END_OFFSET: u32 = 20480;
+pub const FRAMEOPTION_EXCLUSION: u32 = 229376;
+pub const FRAMEOPTION_DEFAULTS: u32 = 1058;
+pub const PARTITION_STRATEGY_HASH: u8 = 104u8;
+pub const PARTITION_STRATEGY_LIST: u8 = 108u8;
+pub const PARTITION_STRATEGY_RANGE: u8 = 114u8;
+pub const FKCONSTR_ACTION_NOACTION: u8 = 97u8;
+pub const FKCONSTR_ACTION_RESTRICT: u8 = 114u8;
+pub const FKCONSTR_ACTION_CASCADE: u8 = 99u8;
+pub const FKCONSTR_ACTION_SETNULL: u8 = 110u8;
+pub const FKCONSTR_ACTION_SETDEFAULT: u8 = 100u8;
+pub const FKCONSTR_MATCH_FULL: u8 = 102u8;
+pub const FKCONSTR_MATCH_PARTIAL: u8 = 112u8;
+pub const FKCONSTR_MATCH_SIMPLE: u8 = 115u8;
+pub const OPCLASS_ITEM_OPERATOR: u32 = 1;
+pub const OPCLASS_ITEM_FUNCTION: u32 = 2;
+pub const OPCLASS_ITEM_STORAGETYPE: u32 = 3;
+pub const CURSOR_OPT_BINARY: u32 = 1;
+pub const CURSOR_OPT_SCROLL: u32 = 2;
+pub const CURSOR_OPT_NO_SCROLL: u32 = 4;
+pub const CURSOR_OPT_INSENSITIVE: u32 = 8;
+pub const CURSOR_OPT_ASENSITIVE: u32 = 16;
+pub const CURSOR_OPT_HOLD: u32 = 32;
+pub const CURSOR_OPT_FAST_PLAN: u32 = 256;
+pub const CURSOR_OPT_GENERIC_PLAN: u32 = 512;
+pub const CURSOR_OPT_CUSTOM_PLAN: u32 = 1024;
+pub const CURSOR_OPT_PARALLEL_OK: u32 = 2048;
+pub const MaxAllocHugeSize: u32 = 0;
+pub const ALLOCSET_DEFAULT_MINSIZE: u32 = 0;
+pub const ALLOCSET_DEFAULT_INITSIZE: u32 = 8192;
+pub const ALLOCSET_DEFAULT_MAXSIZE: u32 = 8388608;
+pub const ALLOCSET_SMALL_MINSIZE: u32 = 0;
+pub const ALLOCSET_SMALL_INITSIZE: u32 = 1024;
+pub const ALLOCSET_SMALL_MAXSIZE: u32 = 8192;
+pub const ALLOCSET_SEPARATE_THRESHOLD: u32 = 8192;
+pub const SLAB_DEFAULT_BLOCK_SIZE: u32 = 8192;
+pub const SLAB_LARGE_BLOCK_SIZE: u32 = 8388608;
+pub const EXEC_FLAG_EXPLAIN_ONLY: u32 = 1;
+pub const EXEC_FLAG_REWIND: u32 = 2;
+pub const EXEC_FLAG_BACKWARD: u32 = 4;
+pub const EXEC_FLAG_MARK: u32 = 8;
+pub const EXEC_FLAG_SKIP_TRIGGERS: u32 = 16;
+pub const EXEC_FLAG_WITH_NO_DATA: u32 = 32;
+pub const _BITS_SIGNUM_H: u32 = 1;
+pub const _BITS_SIGNUM_GENERIC_H: u32 = 1;
+pub const SIGINT: u32 = 2;
+pub const SIGILL: u32 = 4;
+pub const SIGABRT: u32 = 6;
+pub const SIGFPE: u32 = 8;
+pub const SIGSEGV: u32 = 11;
+pub const SIGTERM: u32 = 15;
+pub const SIGHUP: u32 = 1;
+pub const SIGQUIT: u32 = 3;
+pub const SIGTRAP: u32 = 5;
+pub const SIGKILL: u32 = 9;
+pub const SIGBUS: u32 = 10;
+pub const SIGSYS: u32 = 12;
+pub const SIGPIPE: u32 = 13;
+pub const SIGALRM: u32 = 14;
+pub const SIGURG: u32 = 16;
+pub const SIGSTOP: u32 = 17;
+pub const SIGTSTP: u32 = 18;
+pub const SIGCONT: u32 = 19;
+pub const SIGCHLD: u32 = 20;
+pub const SIGTTIN: u32 = 21;
+pub const SIGTTOU: u32 = 22;
+pub const SIGPOLL: u32 = 23;
+pub const SIGXCPU: u32 = 24;
+pub const SIGXFSZ: u32 = 25;
+pub const SIGVTALRM: u32 = 26;
+pub const SIGPROF: u32 = 27;
+pub const SIGUSR1: u32 = 30;
+pub const SIGUSR2: u32 = 31;
+pub const SIGWINCH: u32 = 28;
+pub const SIGIO: u32 = 23;
+pub const SIGIOT: u32 = 6;
+pub const SIGCLD: u32 = 20;
+pub const __SIGRTMIN: u32 = 32;
+pub const __SIGRTMAX: u32 = 32;
+pub const _NSIG: u32 = 33;
+pub const SIGSTKFLT: u32 = 16;
+pub const SIGPWR: u32 = 30;
+pub const __sig_atomic_t_defined: u32 = 1;
+pub const __siginfo_t_defined: u32 = 1;
+pub const __SI_MAX_SIZE: u32 = 128;
+pub const _BITS_SIGINFO_ARCH_H: u32 = 1;
+pub const __SI_ERRNO_THEN_CODE: u32 = 1;
+pub const __SI_HAVE_SIGSYS: u32 = 1;
+pub const _BITS_SIGINFO_CONSTS_H: u32 = 1;
+pub const __SI_ASYNCIO_AFTER_SIGIO: u32 = 1;
+pub const __sigevent_t_defined: u32 = 1;
+pub const __SIGEV_MAX_SIZE: u32 = 64;
+pub const _BITS_SIGEVENT_CONSTS_H: u32 = 1;
+pub const NSIG: u32 = 33;
+pub const _BITS_SIGACTION_H: u32 = 1;
+pub const SA_NOCLDSTOP: u32 = 1;
+pub const SA_NOCLDWAIT: u32 = 2;
+pub const SA_SIGINFO: u32 = 4;
+pub const SA_ONSTACK: u32 = 134217728;
+pub const SA_RESTART: u32 = 268435456;
+pub const SA_NODEFER: u32 = 1073741824;
+pub const SA_RESETHAND: u32 = 2147483648;
+pub const SA_INTERRUPT: u32 = 536870912;
+pub const SA_NOMASK: u32 = 1073741824;
+pub const SA_ONESHOT: u32 = 2147483648;
+pub const SA_STACK: u32 = 134217728;
+pub const SIG_BLOCK: u32 = 0;
+pub const SIG_UNBLOCK: u32 = 1;
+pub const SIG_SETMASK: u32 = 2;
+pub const _BITS_SIGCONTEXT_H: u32 = 1;
+pub const __BITS_PER_LONG: u32 = 64;
+pub const FPSIMD_MAGIC: u32 = 1179680769;
+pub const ESR_MAGIC: u32 = 1163088385;
+pub const EXTRA_MAGIC: u32 = 1163416577;
+pub const SVE_MAGIC: u32 = 1398162689;
+pub const SVE_VQ_BYTES: u32 = 16;
+pub const SVE_VQ_MIN: u32 = 1;
+pub const SVE_VQ_MAX: u32 = 512;
+pub const SVE_VL_MIN: u32 = 16;
+pub const SVE_VL_MAX: u32 = 8192;
+pub const SVE_NUM_ZREGS: u32 = 32;
+pub const SVE_NUM_PREGS: u32 = 16;
+pub const __stack_t_defined: u32 = 1;
+pub const _SYS_UCONTEXT_H: u32 = 1;
+pub const _SYS_PROCFS_H: u32 = 1;
+pub const _SYS_TIME_H: u32 = 1;
+pub const _SYS_USER_H: u32 = 1;
+pub const ELF_PRARGSZ: u32 = 80;
+pub const _BITS_SIGSTACK_H: u32 = 1;
+pub const MINSIGSTKSZ: u32 = 5120;
+pub const SIGSTKSZ: u32 = 16384;
+pub const _BITS_SS_FLAGS_H: u32 = 1;
+pub const __sigstack_defined: u32 = 1;
+pub const _BITS_SIGTHREAD_H: u32 = 1;
+pub const TZ_STRLEN_MAX: u32 = 255;
+pub const InvalidPid: i32 = -1;
+pub const USE_POSTGRES_DATES: u32 = 0;
+pub const USE_ISO_DATES: u32 = 1;
+pub const USE_SQL_DATES: u32 = 2;
+pub const USE_GERMAN_DATES: u32 = 3;
+pub const USE_XSD_DATES: u32 = 4;
+pub const DATEORDER_YMD: u32 = 0;
+pub const DATEORDER_DMY: u32 = 1;
+pub const DATEORDER_MDY: u32 = 2;
+pub const INTSTYLE_POSTGRES: u32 = 0;
+pub const INTSTYLE_POSTGRES_VERBOSE: u32 = 1;
+pub const INTSTYLE_SQL_STANDARD: u32 = 2;
+pub const INTSTYLE_ISO_8601: u32 = 3;
+pub const MAXTZLEN: u32 = 10;
+pub const SECURITY_LOCAL_USERID_CHANGE: u32 = 1;
+pub const SECURITY_RESTRICTED_OPERATION: u32 = 2;
+pub const SECURITY_NOFORCE_RLS: u32 = 4;
+pub const MIN_XFN_CHARS: u32 = 16;
+pub const MAX_XFN_CHARS: u32 = 40;
+pub const VALID_XFN_CHARS: &[u8; 40] = b"0123456789ABCDEF.history.backup.partial\0";
+pub const PGSTAT_NUM_PROGRESS_PARAM: u32 = 20;
+pub const _SYS_UN_H: u32 = 1;
+pub const MAX_STARTUP_PACKET_LENGTH: u32 = 10000;
+pub const AUTH_REQ_OK: u32 = 0;
+pub const AUTH_REQ_KRB4: u32 = 1;
+pub const AUTH_REQ_KRB5: u32 = 2;
+pub const AUTH_REQ_PASSWORD: u32 = 3;
+pub const AUTH_REQ_CRYPT: u32 = 4;
+pub const AUTH_REQ_MD5: u32 = 5;
+pub const AUTH_REQ_SCM_CREDS: u32 = 6;
+pub const AUTH_REQ_GSS: u32 = 7;
+pub const AUTH_REQ_GSS_CONT: u32 = 8;
+pub const AUTH_REQ_SSPI: u32 = 9;
+pub const AUTH_REQ_SASL: u32 = 10;
+pub const AUTH_REQ_SASL_CONT: u32 = 11;
+pub const AUTH_REQ_SASL_FIN: u32 = 12;
+pub const PG_WAIT_LWLOCK: u32 = 16777216;
+pub const PG_WAIT_LOCK: u32 = 50331648;
+pub const PG_WAIT_BUFFER_PIN: u32 = 67108864;
+pub const PG_WAIT_ACTIVITY: u32 = 83886080;
+pub const PG_WAIT_CLIENT: u32 = 100663296;
+pub const PG_WAIT_EXTENSION: u32 = 117440512;
+pub const PG_WAIT_IPC: u32 = 134217728;
+pub const PG_WAIT_TIMEOUT: u32 = 150994944;
+pub const PG_WAIT_IO: u32 = 167772160;
+pub const PGSTAT_STAT_PERMANENT_DIRECTORY: &[u8; 8] = b"pg_stat\0";
+pub const PGSTAT_STAT_PERMANENT_FILENAME: &[u8; 20] = b"pg_stat/global.stat\0";
+pub const PGSTAT_STAT_PERMANENT_TMPFILE: &[u8; 19] = b"pg_stat/global.tmp\0";
+pub const PG_STAT_TMP_DIR: &[u8; 12] = b"pg_stat_tmp\0";
+pub const PGSTAT_MAX_MSG_SIZE: u32 = 1000;
+pub const PGSTAT_FILE_FORMAT_ID: u32 = 27638946;
+pub const SK_ISNULL: u32 = 1;
+pub const SK_UNARY: u32 = 2;
+pub const SK_ROW_HEADER: u32 = 4;
+pub const SK_ROW_MEMBER: u32 = 8;
+pub const SK_ROW_END: u32 = 16;
+pub const SK_SEARCHARRAY: u32 = 32;
+pub const SK_SEARCHNULL: u32 = 64;
+pub const SK_SEARCHNOTNULL: u32 = 128;
+pub const SK_ORDER_BY: u32 = 256;
+pub const NoLock: u32 = 0;
+pub const AccessShareLock: u32 = 1;
+pub const RowShareLock: u32 = 2;
+pub const RowExclusiveLock: u32 = 3;
+pub const ShareUpdateExclusiveLock: u32 = 4;
+pub const ShareLock: u32 = 5;
+pub const ShareRowExclusiveLock: u32 = 6;
+pub const ExclusiveLock: u32 = 7;
+pub const AccessExclusiveLock: u32 = 8;
+pub const MaxLockMode: u32 = 8;
+pub const CATALOG_VERSION_NO: u32 = 202107181;
+pub const OIDCHARS: u32 = 10;
+pub const FORKNAMECHARS: u32 = 4;
+pub const InvalidBackendId: i32 = -1;
+pub const XLR_NORMAL_MAX_BLOCK_ID: u32 = 4;
+pub const XLR_NORMAL_RDATAS: u32 = 20;
+pub const REGBUF_FORCE_IMAGE: u32 = 1;
+pub const REGBUF_NO_IMAGE: u32 = 2;
+pub const REGBUF_WILL_INIT: u32 = 6;
+pub const REGBUF_STANDARD: u32 = 8;
+pub const REGBUF_KEEP_DATA: u32 = 16;
+pub const XLR_INFO_MASK: u32 = 15;
+pub const XLR_RMGR_INFO_MASK: u32 = 240;
+pub const XLR_SPECIAL_REL_UPDATE: u32 = 1;
+pub const XLR_CHECK_CONSISTENCY: u32 = 2;
+pub const BKPIMAGE_HAS_HOLE: u32 = 1;
+pub const BKPIMAGE_IS_COMPRESSED: u32 = 2;
+pub const BKPIMAGE_APPLY: u32 = 4;
+pub const BKPBLOCK_FORK_MASK: u32 = 15;
+pub const BKPBLOCK_FLAG_MASK: u32 = 240;
+pub const BKPBLOCK_HAS_IMAGE: u32 = 16;
+pub const BKPBLOCK_HAS_DATA: u32 = 32;
+pub const BKPBLOCK_WILL_INIT: u32 = 64;
+pub const BKPBLOCK_SAME_REL: u32 = 128;
+pub const XLR_MAX_BLOCK_ID: u32 = 32;
+pub const XLR_BLOCK_ID_DATA_SHORT: u32 = 255;
+pub const XLR_BLOCK_ID_DATA_LONG: u32 = 254;
+pub const XLR_BLOCK_ID_ORIGIN: u32 = 253;
+pub const XLR_BLOCK_ID_TOPLEVEL_XID: u32 = 252;
+pub const SYNC_METHOD_FSYNC: u32 = 0;
+pub const SYNC_METHOD_FDATASYNC: u32 = 1;
+pub const SYNC_METHOD_OPEN: u32 = 2;
+pub const SYNC_METHOD_FSYNC_WRITETHROUGH: u32 = 3;
+pub const SYNC_METHOD_OPEN_DSYNC: u32 = 4;
+pub const CHECKPOINT_IS_SHUTDOWN: u32 = 1;
+pub const CHECKPOINT_END_OF_RECOVERY: u32 = 2;
+pub const CHECKPOINT_IMMEDIATE: u32 = 4;
+pub const CHECKPOINT_FORCE: u32 = 8;
+pub const CHECKPOINT_FLUSH_ALL: u32 = 16;
+pub const CHECKPOINT_WAIT: u32 = 32;
+pub const CHECKPOINT_REQUESTED: u32 = 64;
+pub const CHECKPOINT_CAUSE_XLOG: u32 = 128;
+pub const CHECKPOINT_CAUSE_TIME: u32 = 256;
+pub const XLOG_INCLUDE_ORIGIN: u32 = 1;
+pub const XLOG_MARK_UNIMPORTANT: u32 = 2;
+pub const XLOG_INCLUDE_XID: u32 = 4;
+pub const RECOVERY_SIGNAL_FILE: &[u8; 16] = b"recovery.signal\0";
+pub const STANDBY_SIGNAL_FILE: &[u8; 15] = b"standby.signal\0";
+pub const BACKUP_LABEL_FILE: &[u8; 13] = b"backup_label\0";
+pub const BACKUP_LABEL_OLD: &[u8; 17] = b"backup_label.old\0";
+pub const TABLESPACE_MAP: &[u8; 15] = b"tablespace_map\0";
+pub const TABLESPACE_MAP_OLD: &[u8; 19] = b"tablespace_map.old\0";
+pub const PROMOTE_SIGNAL_FILE: &[u8; 8] = b"promote\0";
+pub const XLOG_PAGE_MAGIC: u32 = 53517;
+pub const XLP_FIRST_IS_CONTRECORD: u32 = 1;
+pub const XLP_LONG_HEADER: u32 = 2;
+pub const XLP_BKP_REMOVABLE: u32 = 4;
+pub const XLP_FIRST_IS_OVERWRITE_CONTRECORD: u32 = 8;
+pub const XLP_ALL_FLAGS: u32 = 15;
+pub const WalSegMinSize: u32 = 1048576;
+pub const WalSegMaxSize: u32 = 1073741824;
+pub const DEFAULT_MIN_WAL_SEGS: u32 = 5;
+pub const DEFAULT_MAX_WAL_SEGS: u32 = 64;
+pub const XLOGDIR: &[u8; 7] = b"pg_wal\0";
+pub const XLOG_CONTROL_FILE: &[u8; 18] = b"global/pg_control\0";
+pub const MAXFNAMELEN: u32 = 64;
+pub const XLOG_FNAME_LEN: u32 = 24;
+pub const RelationRelationId: u32 = 1259;
+pub const RelationRelation_Rowtype_Id: u32 = 83;
+pub const Anum_pg_class_oid: u32 = 1;
+pub const Anum_pg_class_relname: u32 = 2;
+pub const Anum_pg_class_relnamespace: u32 = 3;
+pub const Anum_pg_class_reltype: u32 = 4;
+pub const Anum_pg_class_reloftype: u32 = 5;
+pub const Anum_pg_class_relowner: u32 = 6;
+pub const Anum_pg_class_relam: u32 = 7;
+pub const Anum_pg_class_relfilenode: u32 = 8;
+pub const Anum_pg_class_reltablespace: u32 = 9;
+pub const Anum_pg_class_relpages: u32 = 10;
+pub const Anum_pg_class_reltuples: u32 = 11;
+pub const Anum_pg_class_relallvisible: u32 = 12;
+pub const Anum_pg_class_reltoastrelid: u32 = 13;
+pub const Anum_pg_class_relhasindex: u32 = 14;
+pub const Anum_pg_class_relisshared: u32 = 15;
+pub const Anum_pg_class_relpersistence: u32 = 16;
+pub const Anum_pg_class_relkind: u32 = 17;
+pub const Anum_pg_class_relnatts: u32 = 18;
+pub const Anum_pg_class_relchecks: u32 = 19;
+pub const Anum_pg_class_relhasrules: u32 = 20;
+pub const Anum_pg_class_relhastriggers: u32 = 21;
+pub const Anum_pg_class_relhassubclass: u32 = 22;
+pub const Anum_pg_class_relrowsecurity: u32 = 23;
+pub const Anum_pg_class_relforcerowsecurity: u32 = 24;
+pub const Anum_pg_class_relispopulated: u32 = 25;
+pub const Anum_pg_class_relreplident: u32 = 26;
+pub const Anum_pg_class_relispartition: u32 = 27;
+pub const Anum_pg_class_relrewrite: u32 = 28;
+pub const Anum_pg_class_relfrozenxid: u32 = 29;
+pub const Anum_pg_class_relminmxid: u32 = 30;
+pub const Anum_pg_class_relacl: u32 = 31;
+pub const Anum_pg_class_reloptions: u32 = 32;
+pub const Anum_pg_class_relpartbound: u32 = 33;
+pub const Natts_pg_class: u32 = 33;
+pub const RELKIND_RELATION: u8 = 114u8;
+pub const RELKIND_INDEX: u8 = 105u8;
+pub const RELKIND_SEQUENCE: u8 = 83u8;
+pub const RELKIND_TOASTVALUE: u8 = 116u8;
+pub const RELKIND_VIEW: u8 = 118u8;
+pub const RELKIND_MATVIEW: u8 = 109u8;
+pub const RELKIND_COMPOSITE_TYPE: u8 = 99u8;
+pub const RELKIND_FOREIGN_TABLE: u8 = 102u8;
+pub const RELKIND_PARTITIONED_TABLE: u8 = 112u8;
+pub const RELKIND_PARTITIONED_INDEX: u8 = 73u8;
+pub const RELPERSISTENCE_PERMANENT: u8 = 112u8;
+pub const RELPERSISTENCE_UNLOGGED: u8 = 117u8;
+pub const RELPERSISTENCE_TEMP: u8 = 116u8;
+pub const REPLICA_IDENTITY_DEFAULT: u8 = 100u8;
+pub const REPLICA_IDENTITY_NOTHING: u8 = 110u8;
+pub const REPLICA_IDENTITY_FULL: u8 = 102u8;
+pub const REPLICA_IDENTITY_INDEX: u8 = 105u8;
+pub const ClassOidIndexId: u32 = 2662;
+pub const ClassNameNspIndexId: u32 = 2663;
+pub const ClassTblspcRelfilenodeIndexId: u32 = 3455;
+pub const IndexRelationId: u32 = 2610;
+pub const Anum_pg_index_indexrelid: u32 = 1;
+pub const Anum_pg_index_indrelid: u32 = 2;
+pub const Anum_pg_index_indnatts: u32 = 3;
+pub const Anum_pg_index_indnkeyatts: u32 = 4;
+pub const Anum_pg_index_indisunique: u32 = 5;
+pub const Anum_pg_index_indisprimary: u32 = 6;
+pub const Anum_pg_index_indisexclusion: u32 = 7;
+pub const Anum_pg_index_indimmediate: u32 = 8;
+pub const Anum_pg_index_indisclustered: u32 = 9;
+pub const Anum_pg_index_indisvalid: u32 = 10;
+pub const Anum_pg_index_indcheckxmin: u32 = 11;
+pub const Anum_pg_index_indisready: u32 = 12;
+pub const Anum_pg_index_indislive: u32 = 13;
+pub const Anum_pg_index_indisreplident: u32 = 14;
+pub const Anum_pg_index_indkey: u32 = 15;
+pub const Anum_pg_index_indcollation: u32 = 16;
+pub const Anum_pg_index_indclass: u32 = 17;
+pub const Anum_pg_index_indoption: u32 = 18;
+pub const Anum_pg_index_indexprs: u32 = 19;
+pub const Anum_pg_index_indpred: u32 = 20;
+pub const Natts_pg_index: u32 = 20;
+pub const INDOPTION_DESC: u32 = 1;
+pub const INDOPTION_NULLS_FIRST: u32 = 2;
+pub const IndexIndrelidIndexId: u32 = 2678;
+pub const IndexRelidIndexId: u32 = 2679;
+pub const PublicationRelationId: u32 = 6104;
+pub const Anum_pg_publication_oid: u32 = 1;
+pub const Anum_pg_publication_pubname: u32 = 2;
+pub const Anum_pg_publication_pubowner: u32 = 3;
+pub const Anum_pg_publication_puballtables: u32 = 4;
+pub const Anum_pg_publication_pubinsert: u32 = 5;
+pub const Anum_pg_publication_pubupdate: u32 = 6;
+pub const Anum_pg_publication_pubdelete: u32 = 7;
+pub const Anum_pg_publication_pubtruncate: u32 = 8;
+pub const Anum_pg_publication_pubviaroot: u32 = 9;
+pub const Natts_pg_publication: u32 = 9;
+pub const PublicationObjectIndexId: u32 = 6110;
+pub const PublicationNameIndexId: u32 = 6111;
+pub const HEAP_MIN_FILLFACTOR: u32 = 10;
+pub const HEAP_DEFAULT_FILLFACTOR: u32 = 100;
+pub const MAX_GENERIC_XLOG_PAGES: u32 = 4;
+pub const GENERIC_XLOG_FULL_IMAGE: u32 = 1;
+pub const GIN_COMPARE_PROC: u32 = 1;
+pub const GIN_EXTRACTVALUE_PROC: u32 = 2;
+pub const GIN_EXTRACTQUERY_PROC: u32 = 3;
+pub const GIN_CONSISTENT_PROC: u32 = 4;
+pub const GIN_COMPARE_PARTIAL_PROC: u32 = 5;
+pub const GIN_TRICONSISTENT_PROC: u32 = 6;
+pub const GIN_OPTIONS_PROC: u32 = 7;
+pub const GINNProcs: u32 = 7;
+pub const GIN_SEARCH_MODE_DEFAULT: u32 = 0;
+pub const GIN_SEARCH_MODE_INCLUDE_EMPTY: u32 = 1;
+pub const GIN_SEARCH_MODE_ALL: u32 = 2;
+pub const GIN_SEARCH_MODE_EVERYTHING: u32 = 3;
+pub const GIN_FALSE: u32 = 0;
+pub const GIN_TRUE: u32 = 1;
+pub const GIN_MAYBE: u32 = 2;
+pub const GIST_CONSISTENT_PROC: u32 = 1;
+pub const GIST_UNION_PROC: u32 = 2;
+pub const GIST_COMPRESS_PROC: u32 = 3;
+pub const GIST_DECOMPRESS_PROC: u32 = 4;
+pub const GIST_PENALTY_PROC: u32 = 5;
+pub const GIST_PICKSPLIT_PROC: u32 = 6;
+pub const GIST_EQUAL_PROC: u32 = 7;
+pub const GIST_DISTANCE_PROC: u32 = 8;
+pub const GIST_FETCH_PROC: u32 = 9;
+pub const GIST_OPTIONS_PROC: u32 = 10;
+pub const GIST_SORTSUPPORT_PROC: u32 = 11;
+pub const GISTNProcs: u32 = 11;
+pub const F_LEAF: u32 = 1;
+pub const F_DELETED: u32 = 2;
+pub const F_TUPLES_DELETED: u32 = 4;
+pub const F_FOLLOW_RIGHT: u32 = 8;
+pub const F_HAS_GARBAGE: u32 = 16;
+pub const GIST_PAGE_ID: u32 = 65409;
+pub const SHAREDINVALCATALOG_ID: i32 = -1;
+pub const SHAREDINVALRELCACHE_ID: i32 = -2;
+pub const SHAREDINVALSMGR_ID: i32 = -3;
+pub const SHAREDINVALRELMAP_ID: i32 = -4;
+pub const SHAREDINVALSNAPSHOT_ID: i32 = -5;
+pub const GIDSIZE: u32 = 200;
+pub const XACT_READ_UNCOMMITTED: u32 = 0;
+pub const XACT_READ_COMMITTED: u32 = 1;
+pub const XACT_REPEATABLE_READ: u32 = 2;
+pub const XACT_SERIALIZABLE: u32 = 3;
+pub const XACT_FLAGS_ACCESSEDTEMPNAMESPACE: u32 = 1;
+pub const XACT_FLAGS_ACQUIREDACCESSEXCLUSIVELOCK: u32 = 2;
+pub const XACT_FLAGS_NEEDIMMEDIATECOMMIT: u32 = 4;
+pub const XACT_FLAGS_PIPELINING: u32 = 8;
+pub const XLOG_XACT_COMMIT: u32 = 0;
+pub const XLOG_XACT_PREPARE: u32 = 16;
+pub const XLOG_XACT_ABORT: u32 = 32;
+pub const XLOG_XACT_COMMIT_PREPARED: u32 = 48;
+pub const XLOG_XACT_ABORT_PREPARED: u32 = 64;
+pub const XLOG_XACT_ASSIGNMENT: u32 = 80;
+pub const XLOG_XACT_INVALIDATIONS: u32 = 96;
+pub const XLOG_XACT_OPMASK: u32 = 112;
+pub const XLOG_XACT_HAS_INFO: u32 = 128;
+pub const XACT_XINFO_HAS_DBINFO: u32 = 1;
+pub const XACT_XINFO_HAS_SUBXACTS: u32 = 2;
+pub const XACT_XINFO_HAS_RELFILENODES: u32 = 4;
+pub const XACT_XINFO_HAS_INVALS: u32 = 8;
+pub const XACT_XINFO_HAS_TWOPHASE: u32 = 16;
+pub const XACT_XINFO_HAS_ORIGIN: u32 = 32;
+pub const XACT_XINFO_HAS_AE_LOCKS: u32 = 64;
+pub const XACT_XINFO_HAS_GID: u32 = 128;
+pub const XACT_COMPLETION_APPLY_FEEDBACK: u32 = 536870912;
+pub const XACT_COMPLETION_UPDATE_RELCACHE_FILE: u32 = 1073741824;
+pub const XACT_COMPLETION_FORCE_SYNC_COMMIT: u32 = 2147483648;
+pub const EOH_HEADER_MAGIC: i32 = -1;
+pub const MAXDIM: u32 = 6;
+pub const EA_MAGIC: u32 = 689375833;
+pub const PG_AUTOCONF_FILENAME: &[u8; 21] = b"postgresql.auto.conf\0";
+pub const GUC_QUALIFIER_SEPARATOR: u8 = 46u8;
+pub const GUC_LIST_INPUT: u32 = 1;
+pub const GUC_LIST_QUOTE: u32 = 2;
+pub const GUC_NO_SHOW_ALL: u32 = 4;
+pub const GUC_NO_RESET_ALL: u32 = 8;
+pub const GUC_REPORT: u32 = 16;
+pub const GUC_NOT_IN_SAMPLE: u32 = 32;
+pub const GUC_DISALLOW_IN_FILE: u32 = 64;
+pub const GUC_CUSTOM_PLACEHOLDER: u32 = 128;
+pub const GUC_SUPERUSER_ONLY: u32 = 256;
+pub const GUC_IS_NAME: u32 = 512;
+pub const GUC_NOT_WHILE_SEC_REST: u32 = 1024;
+pub const GUC_DISALLOW_IN_AUTO_FILE: u32 = 2048;
+pub const GUC_UNIT_KB: u32 = 4096;
+pub const GUC_UNIT_BLOCKS: u32 = 8192;
+pub const GUC_UNIT_XBLOCKS: u32 = 12288;
+pub const GUC_UNIT_MB: u32 = 16384;
+pub const GUC_UNIT_BYTE: u32 = 32768;
+pub const GUC_UNIT_MEMORY: u32 = 61440;
+pub const GUC_UNIT_MS: u32 = 65536;
+pub const GUC_UNIT_S: u32 = 131072;
+pub const GUC_UNIT_MIN: u32 = 196608;
+pub const GUC_UNIT_TIME: u32 = 983040;
+pub const GUC_EXPLAIN: u32 = 1048576;
+pub const GUC_UNIT: u32 = 1044480;
+pub const DEFAULT_TABLE_ACCESS_METHOD: &[u8; 5] = b"heap\0";
+pub const TABLE_INSERT_SKIP_FSM: u32 = 2;
+pub const TABLE_INSERT_FROZEN: u32 = 4;
+pub const TABLE_INSERT_NO_LOGICAL: u32 = 8;
+pub const TUPLE_LOCK_FLAG_LOCK_UPDATE_IN_PROGRESS: u32 = 1;
+pub const TUPLE_LOCK_FLAG_FIND_LAST_VERSION: u32 = 2;
+pub const SHMEM_INDEX_KEYSIZE: u32 = 48;
+pub const SHMEM_INDEX_SIZE: u32 = 64;
+pub const HEAP_INSERT_SKIP_FSM: u32 = 2;
+pub const HEAP_INSERT_FROZEN: u32 = 4;
+pub const HEAP_INSERT_NO_LOGICAL: u32 = 8;
+pub const HEAP_INSERT_SPECULATIVE: u32 = 16;
+pub const NUM_MULTIXACTOFFSET_BUFFERS: u32 = 8;
+pub const NUM_MULTIXACTMEMBER_BUFFERS: u32 = 16;
+pub const XLOG_MULTIXACT_ZERO_OFF_PAGE: u32 = 0;
+pub const XLOG_MULTIXACT_ZERO_MEM_PAGE: u32 = 16;
+pub const XLOG_MULTIXACT_CREATE_ID: u32 = 32;
+pub const XLOG_MULTIXACT_TRUNCATE_ID: u32 = 48;
+pub const LWLOCK_PADDED_SIZE: u32 = 128;
+pub const NUM_INDIVIDUAL_LWLOCKS: u32 = 48;
+pub const NUM_BUFFER_PARTITIONS: u32 = 128;
+pub const LOG2_NUM_LOCK_PARTITIONS: u32 = 4;
+pub const NUM_LOCK_PARTITIONS: u32 = 16;
+pub const LOG2_NUM_PREDICATELOCK_PARTITIONS: u32 = 4;
+pub const NUM_PREDICATELOCK_PARTITIONS: u32 = 16;
+pub const BUFFER_MAPPING_LWLOCK_OFFSET: u32 = 48;
+pub const LOCK_MANAGER_LWLOCK_OFFSET: u32 = 176;
+pub const PREDICATELOCK_MANAGER_LWLOCK_OFFSET: u32 = 192;
+pub const NUM_FIXED_LWLOCKS: u32 = 208;
+pub const INTERVAL_FULL_RANGE: u32 = 32767;
+pub const INTERVAL_RANGE_MASK: u32 = 32767;
+pub const INTERVAL_FULL_PRECISION: u32 = 65535;
+pub const INTERVAL_PRECISION_MASK: u32 = 65535;
+pub const InvalidLocalTransactionId: u32 = 0;
+pub const MAX_LOCKMODES: u32 = 10;
+pub const DEFAULT_LOCKMETHOD: u32 = 1;
+pub const USER_LOCKMETHOD: u32 = 2;
+pub const PERFORM_DELETION_INTERNAL: u32 = 1;
+pub const PERFORM_DELETION_CONCURRENTLY: u32 = 2;
+pub const PERFORM_DELETION_QUIETLY: u32 = 4;
+pub const PERFORM_DELETION_SKIP_ORIGINAL: u32 = 8;
+pub const PERFORM_DELETION_SKIP_EXTENSIONS: u32 = 16;
+pub const PERFORM_DELETION_CONCURRENT_LOCK: u32 = 32;
+pub const DEFAULT_INDEX_TYPE: &[u8; 6] = b"btree\0";
+pub const REINDEXOPT_VERBOSE: u32 = 1;
+pub const REINDEXOPT_REPORT_PROGRESS: u32 = 2;
+pub const REINDEXOPT_MISSING_OK: u32 = 4;
+pub const REINDEXOPT_CONCURRENTLY: u32 = 8;
+pub const INDEX_CREATE_IS_PRIMARY: u32 = 1;
+pub const INDEX_CREATE_ADD_CONSTRAINT: u32 = 2;
+pub const INDEX_CREATE_SKIP_BUILD: u32 = 4;
+pub const INDEX_CREATE_CONCURRENT: u32 = 8;
+pub const INDEX_CREATE_IF_NOT_EXISTS: u32 = 16;
+pub const INDEX_CREATE_PARTITIONED: u32 = 32;
+pub const INDEX_CREATE_INVALID: u32 = 64;
+pub const INDEX_CONSTR_CREATE_MARK_AS_PRIMARY: u32 = 1;
+pub const INDEX_CONSTR_CREATE_DEFERRABLE: u32 = 2;
+pub const INDEX_CONSTR_CREATE_INIT_DEFERRED: u32 = 4;
+pub const INDEX_CONSTR_CREATE_UPDATE_INDEX: u32 = 8;
+pub const INDEX_CONSTR_CREATE_REMOVE_OLD_DEPS: u32 = 16;
+pub const REINDEX_REL_PROCESS_TOAST: u32 = 1;
+pub const REINDEX_REL_SUPPRESS_INDEX_USE: u32 = 2;
+pub const REINDEX_REL_CHECK_CONSTRAINTS: u32 = 4;
+pub const REINDEX_REL_FORCE_INDEXES_UNLOGGED: u32 = 8;
+pub const REINDEX_REL_FORCE_INDEXES_PERMANENT: u32 = 16;
+pub const MAX_CATALOG_MULTI_INSERT_BYTES: u32 = 65535;
+pub const AccessMethodRelationId: u32 = 2601;
+pub const Anum_pg_am_oid: u32 = 1;
+pub const Anum_pg_am_amname: u32 = 2;
+pub const Anum_pg_am_amhandler: u32 = 3;
+pub const Anum_pg_am_amtype: u32 = 4;
+pub const Natts_pg_am: u32 = 4;
+pub const AMTYPE_INDEX: u8 = 105u8;
+pub const AMTYPE_TABLE: u8 = 116u8;
+pub const HEAP_TABLE_AM_OID: u32 = 2;
+pub const BTREE_AM_OID: u32 = 403;
+pub const HASH_AM_OID: u32 = 405;
+pub const GIST_AM_OID: u32 = 783;
+pub const GIN_AM_OID: u32 = 2742;
+pub const SPGIST_AM_OID: u32 = 4000;
+pub const BRIN_AM_OID: u32 = 3580;
+pub const AmNameIndexId: u32 = 2651;
+pub const AmOidIndexId: u32 = 2652;
+pub const AccessMethodOperatorRelationId: u32 = 2602;
+pub const Anum_pg_amop_oid: u32 = 1;
+pub const Anum_pg_amop_amopfamily: u32 = 2;
+pub const Anum_pg_amop_amoplefttype: u32 = 3;
+pub const Anum_pg_amop_amoprighttype: u32 = 4;
+pub const Anum_pg_amop_amopstrategy: u32 = 5;
+pub const Anum_pg_amop_amoppurpose: u32 = 6;
+pub const Anum_pg_amop_amopopr: u32 = 7;
+pub const Anum_pg_amop_amopmethod: u32 = 8;
+pub const Anum_pg_amop_amopsortfamily: u32 = 9;
+pub const Natts_pg_amop: u32 = 9;
+pub const AMOP_SEARCH: u8 = 115u8;
+pub const AMOP_ORDER: u8 = 111u8;
+pub const AccessMethodStrategyIndexId: u32 = 2653;
+pub const AccessMethodOperatorIndexId: u32 = 2654;
+pub const AccessMethodOperatorOidIndexId: u32 = 2756;
+pub const AccessMethodProcedureRelationId: u32 = 2603;
+pub const Anum_pg_amproc_oid: u32 = 1;
+pub const Anum_pg_amproc_amprocfamily: u32 = 2;
+pub const Anum_pg_amproc_amproclefttype: u32 = 3;
+pub const Anum_pg_amproc_amprocrighttype: u32 = 4;
+pub const Anum_pg_amproc_amprocnum: u32 = 5;
+pub const Anum_pg_amproc_amproc: u32 = 6;
+pub const Natts_pg_amproc: u32 = 6;
+pub const AccessMethodProcedureIndexId: u32 = 2655;
+pub const AccessMethodProcedureOidIndexId: u32 = 2757;
+pub const AuthIdRelationId: u32 = 1260;
+pub const AuthIdRelation_Rowtype_Id: u32 = 2842;
+pub const Anum_pg_authid_oid: u32 = 1;
+pub const Anum_pg_authid_rolname: u32 = 2;
+pub const Anum_pg_authid_rolsuper: u32 = 3;
+pub const Anum_pg_authid_rolinherit: u32 = 4;
+pub const Anum_pg_authid_rolcreaterole: u32 = 5;
+pub const Anum_pg_authid_rolcreatedb: u32 = 6;
+pub const Anum_pg_authid_rolcanlogin: u32 = 7;
+pub const Anum_pg_authid_rolreplication: u32 = 8;
+pub const Anum_pg_authid_rolbypassrls: u32 = 9;
+pub const Anum_pg_authid_rolconnlimit: u32 = 10;
+pub const Anum_pg_authid_rolpassword: u32 = 11;
+pub const Anum_pg_authid_rolvaliduntil: u32 = 12;
+pub const Natts_pg_authid: u32 = 12;
+pub const BOOTSTRAP_SUPERUSERID: u32 = 10;
+pub const ROLE_PG_DATABASE_OWNER: u32 = 6171;
+pub const ROLE_PG_READ_ALL_DATA: u32 = 6181;
+pub const ROLE_PG_WRITE_ALL_DATA: u32 = 6182;
+pub const ROLE_PG_MONITOR: u32 = 3373;
+pub const ROLE_PG_READ_ALL_SETTINGS: u32 = 3374;
+pub const ROLE_PG_READ_ALL_STATS: u32 = 3375;
+pub const ROLE_PG_STAT_SCAN_TABLES: u32 = 3377;
+pub const ROLE_PG_READ_SERVER_FILES: u32 = 4569;
+pub const ROLE_PG_WRITE_SERVER_FILES: u32 = 4570;
+pub const ROLE_PG_EXECUTE_SERVER_PROGRAM: u32 = 4571;
+pub const ROLE_PG_SIGNAL_BACKEND: u32 = 4200;
+pub const PgAuthidToastTable: u32 = 4175;
+pub const PgAuthidToastIndex: u32 = 4176;
+pub const AuthIdRolnameIndexId: u32 = 2676;
+pub const AuthIdOidIndexId: u32 = 2677;
+pub const CollationRelationId: u32 = 3456;
+pub const Anum_pg_collation_oid: u32 = 1;
+pub const Anum_pg_collation_collname: u32 = 2;
+pub const Anum_pg_collation_collnamespace: u32 = 3;
+pub const Anum_pg_collation_collowner: u32 = 4;
+pub const Anum_pg_collation_collprovider: u32 = 5;
+pub const Anum_pg_collation_collisdeterministic: u32 = 6;
+pub const Anum_pg_collation_collencoding: u32 = 7;
+pub const Anum_pg_collation_collcollate: u32 = 8;
+pub const Anum_pg_collation_collctype: u32 = 9;
+pub const Anum_pg_collation_collversion: u32 = 10;
+pub const Natts_pg_collation: u32 = 10;
+pub const COLLPROVIDER_DEFAULT: u8 = 100u8;
+pub const COLLPROVIDER_ICU: u8 = 105u8;
+pub const COLLPROVIDER_LIBC: u8 = 99u8;
+pub const DEFAULT_COLLATION_OID: u32 = 100;
+pub const C_COLLATION_OID: u32 = 950;
+pub const POSIX_COLLATION_OID: u32 = 951;
+pub const CollationNameEncNspIndexId: u32 = 3164;
+pub const CollationOidIndexId: u32 = 3085;
+pub const DatabaseRelationId: u32 = 1262;
+pub const DatabaseRelation_Rowtype_Id: u32 = 1248;
+pub const Anum_pg_database_oid: u32 = 1;
+pub const Anum_pg_database_datname: u32 = 2;
+pub const Anum_pg_database_datdba: u32 = 3;
+pub const Anum_pg_database_encoding: u32 = 4;
+pub const Anum_pg_database_datcollate: u32 = 5;
+pub const Anum_pg_database_datctype: u32 = 6;
+pub const Anum_pg_database_datistemplate: u32 = 7;
+pub const Anum_pg_database_datallowconn: u32 = 8;
+pub const Anum_pg_database_datconnlimit: u32 = 9;
+pub const Anum_pg_database_datlastsysoid: u32 = 10;
+pub const Anum_pg_database_datfrozenxid: u32 = 11;
+pub const Anum_pg_database_datminmxid: u32 = 12;
+pub const Anum_pg_database_dattablespace: u32 = 13;
+pub const Anum_pg_database_datacl: u32 = 14;
+pub const Natts_pg_database: u32 = 14;
+pub const TemplateDbOid: u32 = 1;
+pub const PgDatabaseToastTable: u32 = 4177;
+pub const PgDatabaseToastIndex: u32 = 4178;
+pub const DatabaseNameIndexId: u32 = 2671;
+pub const DatabaseOidIndexId: u32 = 2672;
+pub const DATCONNLIMIT_UNLIMITED: i32 = -1;
+pub const DATCONNLIMIT_INVALID_DB: i32 = -2;
+pub const EnumRelationId: u32 = 3501;
+pub const Anum_pg_enum_oid: u32 = 1;
+pub const Anum_pg_enum_enumtypid: u32 = 2;
+pub const Anum_pg_enum_enumsortorder: u32 = 3;
+pub const Anum_pg_enum_enumlabel: u32 = 4;
+pub const Natts_pg_enum: u32 = 4;
+pub const EnumOidIndexId: u32 = 3502;
+pub const EnumTypIdLabelIndexId: u32 = 3503;
+pub const EnumTypIdSortOrderIndexId: u32 = 3534;
+pub const ExtensionRelationId: u32 = 3079;
+pub const Anum_pg_extension_oid: u32 = 1;
+pub const Anum_pg_extension_extname: u32 = 2;
+pub const Anum_pg_extension_extowner: u32 = 3;
+pub const Anum_pg_extension_extnamespace: u32 = 4;
+pub const Anum_pg_extension_extrelocatable: u32 = 5;
+pub const Anum_pg_extension_extversion: u32 = 6;
+pub const Anum_pg_extension_extconfig: u32 = 7;
+pub const Anum_pg_extension_extcondition: u32 = 8;
+pub const Natts_pg_extension: u32 = 8;
+pub const ExtensionOidIndexId: u32 = 3080;
+pub const ExtensionNameIndexId: u32 = 3081;
+pub const ForeignDataWrapperRelationId: u32 = 2328;
+pub const Anum_pg_foreign_data_wrapper_oid: u32 = 1;
+pub const Anum_pg_foreign_data_wrapper_fdwname: u32 = 2;
+pub const Anum_pg_foreign_data_wrapper_fdwowner: u32 = 3;
+pub const Anum_pg_foreign_data_wrapper_fdwhandler: u32 = 4;
+pub const Anum_pg_foreign_data_wrapper_fdwvalidator: u32 = 5;
+pub const Anum_pg_foreign_data_wrapper_fdwacl: u32 = 6;
+pub const Anum_pg_foreign_data_wrapper_fdwoptions: u32 = 7;
+pub const Natts_pg_foreign_data_wrapper: u32 = 7;
+pub const ForeignDataWrapperOidIndexId: u32 = 112;
+pub const ForeignDataWrapperNameIndexId: u32 = 548;
+pub const ForeignServerRelationId: u32 = 1417;
+pub const Anum_pg_foreign_server_oid: u32 = 1;
+pub const Anum_pg_foreign_server_srvname: u32 = 2;
+pub const Anum_pg_foreign_server_srvowner: u32 = 3;
+pub const Anum_pg_foreign_server_srvfdw: u32 = 4;
+pub const Anum_pg_foreign_server_srvtype: u32 = 5;
+pub const Anum_pg_foreign_server_srvversion: u32 = 6;
+pub const Anum_pg_foreign_server_srvacl: u32 = 7;
+pub const Anum_pg_foreign_server_srvoptions: u32 = 8;
+pub const Natts_pg_foreign_server: u32 = 8;
+pub const ForeignServerOidIndexId: u32 = 113;
+pub const ForeignServerNameIndexId: u32 = 549;
+pub const ForeignTableRelationId: u32 = 3118;
+pub const Anum_pg_foreign_table_ftrelid: u32 = 1;
+pub const Anum_pg_foreign_table_ftserver: u32 = 2;
+pub const Anum_pg_foreign_table_ftoptions: u32 = 3;
+pub const Natts_pg_foreign_table: u32 = 3;
+pub const ForeignTableRelidIndexId: u32 = 3119;
+pub const OperatorRelationId: u32 = 2617;
+pub const Anum_pg_operator_oid: u32 = 1;
+pub const Anum_pg_operator_oprname: u32 = 2;
+pub const Anum_pg_operator_oprnamespace: u32 = 3;
+pub const Anum_pg_operator_oprowner: u32 = 4;
+pub const Anum_pg_operator_oprkind: u32 = 5;
+pub const Anum_pg_operator_oprcanmerge: u32 = 6;
+pub const Anum_pg_operator_oprcanhash: u32 = 7;
+pub const Anum_pg_operator_oprleft: u32 = 8;
+pub const Anum_pg_operator_oprright: u32 = 9;
+pub const Anum_pg_operator_oprresult: u32 = 10;
+pub const Anum_pg_operator_oprcom: u32 = 11;
+pub const Anum_pg_operator_oprnegate: u32 = 12;
+pub const Anum_pg_operator_oprcode: u32 = 13;
+pub const Anum_pg_operator_oprrest: u32 = 14;
+pub const Anum_pg_operator_oprjoin: u32 = 15;
+pub const Natts_pg_operator: u32 = 15;
+pub const BooleanNotEqualOperator: u32 = 85;
+pub const BooleanEqualOperator: u32 = 91;
+pub const Int4EqualOperator: u32 = 96;
+pub const Int4LessOperator: u32 = 97;
+pub const TextEqualOperator: u32 = 98;
+pub const NameEqualTextOperator: u32 = 254;
+pub const NameLessTextOperator: u32 = 255;
+pub const NameGreaterEqualTextOperator: u32 = 257;
+pub const TIDEqualOperator: u32 = 387;
+pub const TIDLessOperator: u32 = 2799;
+pub const TIDGreaterOperator: u32 = 2800;
+pub const TIDLessEqOperator: u32 = 2801;
+pub const TIDGreaterEqOperator: u32 = 2802;
+pub const Int8LessOperator: u32 = 412;
+pub const OID_NAME_REGEXEQ_OP: u32 = 639;
+pub const OID_TEXT_REGEXEQ_OP: u32 = 641;
+pub const TextLessOperator: u32 = 664;
+pub const TextGreaterEqualOperator: u32 = 667;
+pub const Float8LessOperator: u32 = 672;
+pub const BpcharEqualOperator: u32 = 1054;
+pub const OID_BPCHAR_REGEXEQ_OP: u32 = 1055;
+pub const BpcharLessOperator: u32 = 1058;
+pub const BpcharGreaterEqualOperator: u32 = 1061;
+pub const ARRAY_EQ_OP: u32 = 1070;
+pub const ARRAY_LT_OP: u32 = 1072;
+pub const ARRAY_GT_OP: u32 = 1073;
+pub const OID_NAME_LIKE_OP: u32 = 1207;
+pub const OID_TEXT_LIKE_OP: u32 = 1209;
+pub const OID_BPCHAR_LIKE_OP: u32 = 1211;
+pub const OID_NAME_ICREGEXEQ_OP: u32 = 1226;
+pub const OID_TEXT_ICREGEXEQ_OP: u32 = 1228;
+pub const OID_BPCHAR_ICREGEXEQ_OP: u32 = 1234;
+pub const OID_INET_SUB_OP: u32 = 931;
+pub const OID_INET_SUBEQ_OP: u32 = 932;
+pub const OID_INET_SUP_OP: u32 = 933;
+pub const OID_INET_SUPEQ_OP: u32 = 934;
+pub const OID_INET_OVERLAP_OP: u32 = 3552;
+pub const OID_NAME_ICLIKE_OP: u32 = 1625;
+pub const OID_TEXT_ICLIKE_OP: u32 = 1627;
+pub const OID_BPCHAR_ICLIKE_OP: u32 = 1629;
+pub const ByteaEqualOperator: u32 = 1955;
+pub const ByteaLessOperator: u32 = 1957;
+pub const ByteaGreaterEqualOperator: u32 = 1960;
+pub const OID_BYTEA_LIKE_OP: u32 = 2016;
+pub const TextPatternLessOperator: u32 = 2314;
+pub const TextPatternGreaterEqualOperator: u32 = 2317;
+pub const BpcharPatternLessOperator: u32 = 2326;
+pub const BpcharPatternGreaterEqualOperator: u32 = 2329;
+pub const OID_ARRAY_OVERLAP_OP: u32 = 2750;
+pub const OID_ARRAY_CONTAINS_OP: u32 = 2751;
+pub const OID_ARRAY_CONTAINED_OP: u32 = 2752;
+pub const RECORD_EQ_OP: u32 = 2988;
+pub const RECORD_LT_OP: u32 = 2990;
+pub const RECORD_GT_OP: u32 = 2991;
+pub const OID_RANGE_LESS_OP: u32 = 3884;
+pub const OID_RANGE_LESS_EQUAL_OP: u32 = 3885;
+pub const OID_RANGE_GREATER_EQUAL_OP: u32 = 3886;
+pub const OID_RANGE_GREATER_OP: u32 = 3887;
+pub const OID_RANGE_OVERLAP_OP: u32 = 3888;
+pub const OID_RANGE_CONTAINS_ELEM_OP: u32 = 3889;
+pub const OID_RANGE_CONTAINS_OP: u32 = 3890;
+pub const OID_RANGE_ELEM_CONTAINED_OP: u32 = 3891;
+pub const OID_RANGE_CONTAINED_OP: u32 = 3892;
+pub const OID_RANGE_LEFT_OP: u32 = 3893;
+pub const OID_RANGE_RIGHT_OP: u32 = 3894;
+pub const OID_RANGE_OVERLAPS_LEFT_OP: u32 = 3895;
+pub const OID_RANGE_OVERLAPS_RIGHT_OP: u32 = 3896;
+pub const OID_MULTIRANGE_LESS_OP: u32 = 2862;
+pub const OID_MULTIRANGE_LESS_EQUAL_OP: u32 = 2863;
+pub const OID_MULTIRANGE_GREATER_EQUAL_OP: u32 = 2864;
+pub const OID_MULTIRANGE_GREATER_OP: u32 = 2865;
+pub const OID_RANGE_OVERLAPS_MULTIRANGE_OP: u32 = 2866;
+pub const OID_MULTIRANGE_OVERLAPS_RANGE_OP: u32 = 2867;
+pub const OID_MULTIRANGE_OVERLAPS_MULTIRANGE_OP: u32 = 2868;
+pub const OID_MULTIRANGE_CONTAINS_ELEM_OP: u32 = 2869;
+pub const OID_MULTIRANGE_CONTAINS_RANGE_OP: u32 = 2870;
+pub const OID_MULTIRANGE_CONTAINS_MULTIRANGE_OP: u32 = 2871;
+pub const OID_MULTIRANGE_ELEM_CONTAINED_OP: u32 = 2872;
+pub const OID_MULTIRANGE_RANGE_CONTAINED_OP: u32 = 2873;
+pub const OID_MULTIRANGE_MULTIRANGE_CONTAINED_OP: u32 = 2874;
+pub const OID_RANGE_CONTAINS_MULTIRANGE_OP: u32 = 4539;
+pub const OID_RANGE_MULTIRANGE_CONTAINED_OP: u32 = 4540;
+pub const OID_RANGE_OVERLAPS_LEFT_MULTIRANGE_OP: u32 = 2875;
+pub const OID_MULTIRANGE_OVERLAPS_LEFT_RANGE_OP: u32 = 2876;
+pub const OID_MULTIRANGE_OVERLAPS_LEFT_MULTIRANGE_OP: u32 = 2877;
+pub const OID_RANGE_OVERLAPS_RIGHT_MULTIRANGE_OP: u32 = 3585;
+pub const OID_MULTIRANGE_OVERLAPS_RIGHT_RANGE_OP: u32 = 4035;
+pub const OID_MULTIRANGE_OVERLAPS_RIGHT_MULTIRANGE_OP: u32 = 4142;
+pub const OID_RANGE_ADJACENT_MULTIRANGE_OP: u32 = 4179;
+pub const OID_MULTIRANGE_ADJACENT_RANGE_OP: u32 = 4180;
+pub const OID_MULTIRANGE_ADJACENT_MULTIRANGE_OP: u32 = 4198;
+pub const OID_RANGE_LEFT_MULTIRANGE_OP: u32 = 4395;
+pub const OID_MULTIRANGE_LEFT_RANGE_OP: u32 = 4396;
+pub const OID_MULTIRANGE_LEFT_MULTIRANGE_OP: u32 = 4397;
+pub const OID_RANGE_RIGHT_MULTIRANGE_OP: u32 = 4398;
+pub const OID_MULTIRANGE_RIGHT_RANGE_OP: u32 = 4399;
+pub const OID_MULTIRANGE_RIGHT_MULTIRANGE_OP: u32 = 4400;
+pub const OperatorOidIndexId: u32 = 2688;
+pub const OperatorNameNspIndexId: u32 = 2689;
+pub const OperatorClassRelationId: u32 = 2616;
+pub const Anum_pg_opclass_oid: u32 = 1;
+pub const Anum_pg_opclass_opcmethod: u32 = 2;
+pub const Anum_pg_opclass_opcname: u32 = 3;
+pub const Anum_pg_opclass_opcnamespace: u32 = 4;
+pub const Anum_pg_opclass_opcowner: u32 = 5;
+pub const Anum_pg_opclass_opcfamily: u32 = 6;
+pub const Anum_pg_opclass_opcintype: u32 = 7;
+pub const Anum_pg_opclass_opcdefault: u32 = 8;
+pub const Anum_pg_opclass_opckeytype: u32 = 9;
+pub const Natts_pg_opclass: u32 = 9;
+pub const DATE_BTREE_OPS_OID: u32 = 3122;
+pub const FLOAT8_BTREE_OPS_OID: u32 = 3123;
+pub const INT2_BTREE_OPS_OID: u32 = 1979;
+pub const INT4_BTREE_OPS_OID: u32 = 1978;
+pub const INT8_BTREE_OPS_OID: u32 = 3124;
+pub const NUMERIC_BTREE_OPS_OID: u32 = 3125;
+pub const OID_BTREE_OPS_OID: u32 = 1981;
+pub const TEXT_BTREE_OPS_OID: u32 = 3126;
+pub const TIMESTAMPTZ_BTREE_OPS_OID: u32 = 3127;
+pub const TIMESTAMP_BTREE_OPS_OID: u32 = 3128;
+pub const TEXT_BTREE_PATTERN_OPS_OID: u32 = 4217;
+pub const VARCHAR_BTREE_PATTERN_OPS_OID: u32 = 4218;
+pub const BPCHAR_BTREE_PATTERN_OPS_OID: u32 = 4219;
+pub const OpclassAmNameNspIndexId: u32 = 2686;
+pub const OpclassOidIndexId: u32 = 2687;
+pub const OperatorFamilyRelationId: u32 = 2753;
+pub const Anum_pg_opfamily_oid: u32 = 1;
+pub const Anum_pg_opfamily_opfmethod: u32 = 2;
+pub const Anum_pg_opfamily_opfname: u32 = 3;
+pub const Anum_pg_opfamily_opfnamespace: u32 = 4;
+pub const Anum_pg_opfamily_opfowner: u32 = 5;
+pub const Natts_pg_opfamily: u32 = 5;
+pub const BOOL_BTREE_FAM_OID: u32 = 424;
+pub const BPCHAR_BTREE_FAM_OID: u32 = 426;
+pub const BYTEA_BTREE_FAM_OID: u32 = 428;
+pub const NETWORK_BTREE_FAM_OID: u32 = 1974;
+pub const INTEGER_BTREE_FAM_OID: u32 = 1976;
+pub const INTERVAL_BTREE_FAM_OID: u32 = 1982;
+pub const OID_BTREE_FAM_OID: u32 = 1989;
+pub const TEXT_BTREE_FAM_OID: u32 = 1994;
+pub const TEXT_PATTERN_BTREE_FAM_OID: u32 = 2095;
+pub const BPCHAR_PATTERN_BTREE_FAM_OID: u32 = 2097;
+pub const BOOL_HASH_FAM_OID: u32 = 2222;
+pub const TEXT_SPGIST_FAM_OID: u32 = 4017;
+pub const OpfamilyAmNameNspIndexId: u32 = 2754;
+pub const OpfamilyOidIndexId: u32 = 2755;
+pub const ProcedureRelationId: u32 = 1255;
+pub const ProcedureRelation_Rowtype_Id: u32 = 81;
+pub const Anum_pg_proc_oid: u32 = 1;
+pub const Anum_pg_proc_proname: u32 = 2;
+pub const Anum_pg_proc_pronamespace: u32 = 3;
+pub const Anum_pg_proc_proowner: u32 = 4;
+pub const Anum_pg_proc_prolang: u32 = 5;
+pub const Anum_pg_proc_procost: u32 = 6;
+pub const Anum_pg_proc_prorows: u32 = 7;
+pub const Anum_pg_proc_provariadic: u32 = 8;
+pub const Anum_pg_proc_prosupport: u32 = 9;
+pub const Anum_pg_proc_prokind: u32 = 10;
+pub const Anum_pg_proc_prosecdef: u32 = 11;
+pub const Anum_pg_proc_proleakproof: u32 = 12;
+pub const Anum_pg_proc_proisstrict: u32 = 13;
+pub const Anum_pg_proc_proretset: u32 = 14;
+pub const Anum_pg_proc_provolatile: u32 = 15;
+pub const Anum_pg_proc_proparallel: u32 = 16;
+pub const Anum_pg_proc_pronargs: u32 = 17;
+pub const Anum_pg_proc_pronargdefaults: u32 = 18;
+pub const Anum_pg_proc_prorettype: u32 = 19;
+pub const Anum_pg_proc_proargtypes: u32 = 20;
+pub const Anum_pg_proc_proallargtypes: u32 = 21;
+pub const Anum_pg_proc_proargmodes: u32 = 22;
+pub const Anum_pg_proc_proargnames: u32 = 23;
+pub const Anum_pg_proc_proargdefaults: u32 = 24;
+pub const Anum_pg_proc_protrftypes: u32 = 25;
+pub const Anum_pg_proc_prosrc: u32 = 26;
+pub const Anum_pg_proc_probin: u32 = 27;
+pub const Anum_pg_proc_prosqlbody: u32 = 28;
+pub const Anum_pg_proc_proconfig: u32 = 29;
+pub const Anum_pg_proc_proacl: u32 = 30;
+pub const Natts_pg_proc: u32 = 30;
+pub const PROKIND_FUNCTION: u8 = 102u8;
+pub const PROKIND_AGGREGATE: u8 = 97u8;
+pub const PROKIND_WINDOW: u8 = 119u8;
+pub const PROKIND_PROCEDURE: u8 = 112u8;
+pub const PROVOLATILE_IMMUTABLE: u8 = 105u8;
+pub const PROVOLATILE_STABLE: u8 = 115u8;
+pub const PROVOLATILE_VOLATILE: u8 = 118u8;
+pub const PROPARALLEL_SAFE: u8 = 115u8;
+pub const PROPARALLEL_RESTRICTED: u8 = 114u8;
+pub const PROPARALLEL_UNSAFE: u8 = 117u8;
+pub const PROARGMODE_IN: u8 = 105u8;
+pub const PROARGMODE_OUT: u8 = 111u8;
+pub const PROARGMODE_INOUT: u8 = 98u8;
+pub const PROARGMODE_VARIADIC: u8 = 118u8;
+pub const PROARGMODE_TABLE: u8 = 116u8;
+pub const ProcedureOidIndexId: u32 = 2690;
+pub const ProcedureNameArgsNspIndexId: u32 = 2691;
+pub const NamespaceRelationId: u32 = 2615;
+pub const Anum_pg_namespace_oid: u32 = 1;
+pub const Anum_pg_namespace_nspname: u32 = 2;
+pub const Anum_pg_namespace_nspowner: u32 = 3;
+pub const Anum_pg_namespace_nspacl: u32 = 4;
+pub const Natts_pg_namespace: u32 = 4;
+pub const PG_CATALOG_NAMESPACE: u32 = 11;
+pub const PG_TOAST_NAMESPACE: u32 = 99;
+pub const PG_PUBLIC_NAMESPACE: u32 = 2200;
+pub const ACL_ID_PUBLIC: u32 = 0;
+pub const ACL_MODECHG_ADD: u32 = 1;
+pub const ACL_MODECHG_DEL: u32 = 2;
+pub const ACL_MODECHG_EQL: u32 = 3;
+pub const ACL_INSERT_CHR: u8 = 97u8;
+pub const ACL_SELECT_CHR: u8 = 114u8;
+pub const ACL_UPDATE_CHR: u8 = 119u8;
+pub const ACL_DELETE_CHR: u8 = 100u8;
+pub const ACL_TRUNCATE_CHR: u8 = 68u8;
+pub const ACL_REFERENCES_CHR: u8 = 120u8;
+pub const ACL_TRIGGER_CHR: u8 = 116u8;
+pub const ACL_EXECUTE_CHR: u8 = 88u8;
+pub const ACL_USAGE_CHR: u8 = 85u8;
+pub const ACL_CREATE_CHR: u8 = 67u8;
+pub const ACL_CREATE_TEMP_CHR: u8 = 84u8;
+pub const ACL_CONNECT_CHR: u8 = 99u8;
+pub const ACL_ALL_RIGHTS_STR: &[u8; 13] = b"arwdDxtXUCTc\0";
+pub const ACL_ALL_RIGHTS_COLUMN: u32 = 39;
+pub const ACL_ALL_RIGHTS_RELATION: u32 = 127;
+pub const ACL_ALL_RIGHTS_SEQUENCE: u32 = 262;
+pub const ACL_ALL_RIGHTS_DATABASE: u32 = 3584;
+pub const ACL_ALL_RIGHTS_FDW: u32 = 256;
+pub const ACL_ALL_RIGHTS_FOREIGN_SERVER: u32 = 256;
+pub const ACL_ALL_RIGHTS_FUNCTION: u32 = 128;
+pub const ACL_ALL_RIGHTS_LANGUAGE: u32 = 256;
+pub const ACL_ALL_RIGHTS_LARGEOBJECT: u32 = 6;
+pub const ACL_ALL_RIGHTS_SCHEMA: u32 = 768;
+pub const ACL_ALL_RIGHTS_TABLESPACE: u32 = 512;
+pub const ACL_ALL_RIGHTS_TYPE: u32 = 256;
+pub const NamespaceNameIndexId: u32 = 2684;
+pub const NamespaceOidIndexId: u32 = 2685;
+pub const TableSpaceRelationId: u32 = 1213;
+pub const Anum_pg_tablespace_oid: u32 = 1;
+pub const Anum_pg_tablespace_spcname: u32 = 2;
+pub const Anum_pg_tablespace_spcowner: u32 = 3;
+pub const Anum_pg_tablespace_spcacl: u32 = 4;
+pub const Anum_pg_tablespace_spcoptions: u32 = 5;
+pub const Natts_pg_tablespace: u32 = 5;
+pub const DEFAULTTABLESPACE_OID: u32 = 1663;
+pub const GLOBALTABLESPACE_OID: u32 = 1664;
+pub const PgTablespaceToastTable: u32 = 4185;
+pub const PgTablespaceToastIndex: u32 = 4186;
+pub const TablespaceOidIndexId: u32 = 2697;
+pub const TablespaceNameIndexId: u32 = 2698;
+pub const TriggerRelationId: u32 = 2620;
+pub const Anum_pg_trigger_oid: u32 = 1;
+pub const Anum_pg_trigger_tgrelid: u32 = 2;
+pub const Anum_pg_trigger_tgparentid: u32 = 3;
+pub const Anum_pg_trigger_tgname: u32 = 4;
+pub const Anum_pg_trigger_tgfoid: u32 = 5;
+pub const Anum_pg_trigger_tgtype: u32 = 6;
+pub const Anum_pg_trigger_tgenabled: u32 = 7;
+pub const Anum_pg_trigger_tgisinternal: u32 = 8;
+pub const Anum_pg_trigger_tgconstrrelid: u32 = 9;
+pub const Anum_pg_trigger_tgconstrindid: u32 = 10;
+pub const Anum_pg_trigger_tgconstraint: u32 = 11;
+pub const Anum_pg_trigger_tgdeferrable: u32 = 12;
+pub const Anum_pg_trigger_tginitdeferred: u32 = 13;
+pub const Anum_pg_trigger_tgnargs: u32 = 14;
+pub const Anum_pg_trigger_tgattr: u32 = 15;
+pub const Anum_pg_trigger_tgargs: u32 = 16;
+pub const Anum_pg_trigger_tgqual: u32 = 17;
+pub const Anum_pg_trigger_tgoldtable: u32 = 18;
+pub const Anum_pg_trigger_tgnewtable: u32 = 19;
+pub const Natts_pg_trigger: u32 = 19;
+pub const TRIGGER_TYPE_ROW: u32 = 1;
+pub const TRIGGER_TYPE_BEFORE: u32 = 2;
+pub const TRIGGER_TYPE_INSERT: u32 = 4;
+pub const TRIGGER_TYPE_DELETE: u32 = 8;
+pub const TRIGGER_TYPE_UPDATE: u32 = 16;
+pub const TRIGGER_TYPE_TRUNCATE: u32 = 32;
+pub const TRIGGER_TYPE_INSTEAD: u32 = 64;
+pub const TRIGGER_TYPE_LEVEL_MASK: u32 = 1;
+pub const TRIGGER_TYPE_STATEMENT: u32 = 0;
+pub const TRIGGER_TYPE_TIMING_MASK: u32 = 66;
+pub const TRIGGER_TYPE_AFTER: u32 = 0;
+pub const TRIGGER_TYPE_EVENT_MASK: u32 = 60;
+pub const TriggerConstraintIndexId: u32 = 2699;
+pub const TriggerRelidNameIndexId: u32 = 2701;
+pub const TriggerOidIndexId: u32 = 2702;
+pub const TypeOidIndexId: u32 = 2703;
+pub const TypeNameNspIndexId: u32 = 2704;
+pub const EventTriggerRelationId: u32 = 3466;
+pub const Anum_pg_event_trigger_oid: u32 = 1;
+pub const Anum_pg_event_trigger_evtname: u32 = 2;
+pub const Anum_pg_event_trigger_evtevent: u32 = 3;
+pub const Anum_pg_event_trigger_evtowner: u32 = 4;
+pub const Anum_pg_event_trigger_evtfoid: u32 = 5;
+pub const Anum_pg_event_trigger_evtenabled: u32 = 6;
+pub const Anum_pg_event_trigger_evttags: u32 = 7;
+pub const Natts_pg_event_trigger: u32 = 7;
+pub const EventTriggerNameIndexId: u32 = 3467;
+pub const EventTriggerOidIndexId: u32 = 3468;
+pub const AT_REWRITE_ALTER_PERSISTENCE: u32 = 1;
+pub const AT_REWRITE_DEFAULT_VAL: u32 = 2;
+pub const AT_REWRITE_COLUMN_REWRITE: u32 = 4;
+pub const XLOG_TBLSPC_CREATE: u32 = 0;
+pub const XLOG_TBLSPC_DROP: u32 = 16;
+pub const TRIGGER_EVENT_INSERT: u32 = 0;
+pub const TRIGGER_EVENT_DELETE: u32 = 1;
+pub const TRIGGER_EVENT_UPDATE: u32 = 2;
+pub const TRIGGER_EVENT_TRUNCATE: u32 = 3;
+pub const TRIGGER_EVENT_OPMASK: u32 = 3;
+pub const TRIGGER_EVENT_ROW: u32 = 4;
+pub const TRIGGER_EVENT_BEFORE: u32 = 8;
+pub const TRIGGER_EVENT_AFTER: u32 = 0;
+pub const TRIGGER_EVENT_INSTEAD: u32 = 16;
+pub const TRIGGER_EVENT_TIMINGMASK: u32 = 24;
+pub const AFTER_TRIGGER_DEFERRABLE: u32 = 32;
+pub const AFTER_TRIGGER_INITDEFERRED: u32 = 64;
+pub const SESSION_REPLICATION_ROLE_ORIGIN: u32 = 0;
+pub const SESSION_REPLICATION_ROLE_REPLICA: u32 = 1;
+pub const SESSION_REPLICATION_ROLE_LOCAL: u32 = 2;
+pub const TRIGGER_FIRES_ON_ORIGIN: u8 = 79u8;
+pub const TRIGGER_FIRES_ALWAYS: u8 = 65u8;
+pub const TRIGGER_FIRES_ON_REPLICA: u8 = 82u8;
+pub const TRIGGER_DISABLED: u8 = 68u8;
+pub const RI_TRIGGER_PK: u32 = 1;
+pub const RI_TRIGGER_FK: u32 = 2;
+pub const RI_TRIGGER_NONE: u32 = 0;
+pub const StatisticRelationId: u32 = 2619;
+pub const Anum_pg_statistic_starelid: u32 = 1;
+pub const Anum_pg_statistic_staattnum: u32 = 2;
+pub const Anum_pg_statistic_stainherit: u32 = 3;
+pub const Anum_pg_statistic_stanullfrac: u32 = 4;
+pub const Anum_pg_statistic_stawidth: u32 = 5;
+pub const Anum_pg_statistic_stadistinct: u32 = 6;
+pub const Anum_pg_statistic_stakind1: u32 = 7;
+pub const Anum_pg_statistic_stakind2: u32 = 8;
+pub const Anum_pg_statistic_stakind3: u32 = 9;
+pub const Anum_pg_statistic_stakind4: u32 = 10;
+pub const Anum_pg_statistic_stakind5: u32 = 11;
+pub const Anum_pg_statistic_staop1: u32 = 12;
+pub const Anum_pg_statistic_staop2: u32 = 13;
+pub const Anum_pg_statistic_staop3: u32 = 14;
+pub const Anum_pg_statistic_staop4: u32 = 15;
+pub const Anum_pg_statistic_staop5: u32 = 16;
+pub const Anum_pg_statistic_stacoll1: u32 = 17;
+pub const Anum_pg_statistic_stacoll2: u32 = 18;
+pub const Anum_pg_statistic_stacoll3: u32 = 19;
+pub const Anum_pg_statistic_stacoll4: u32 = 20;
+pub const Anum_pg_statistic_stacoll5: u32 = 21;
+pub const Anum_pg_statistic_stanumbers1: u32 = 22;
+pub const Anum_pg_statistic_stanumbers2: u32 = 23;
+pub const Anum_pg_statistic_stanumbers3: u32 = 24;
+pub const Anum_pg_statistic_stanumbers4: u32 = 25;
+pub const Anum_pg_statistic_stanumbers5: u32 = 26;
+pub const Anum_pg_statistic_stavalues1: u32 = 27;
+pub const Anum_pg_statistic_stavalues2: u32 = 28;
+pub const Anum_pg_statistic_stavalues3: u32 = 29;
+pub const Anum_pg_statistic_stavalues4: u32 = 30;
+pub const Anum_pg_statistic_stavalues5: u32 = 31;
+pub const Natts_pg_statistic: u32 = 31;
+pub const STATISTIC_KIND_MCV: u32 = 1;
+pub const STATISTIC_KIND_HISTOGRAM: u32 = 2;
+pub const STATISTIC_KIND_CORRELATION: u32 = 3;
+pub const STATISTIC_KIND_MCELEM: u32 = 4;
+pub const STATISTIC_KIND_DECHIST: u32 = 5;
+pub const STATISTIC_KIND_RANGE_LENGTH_HISTOGRAM: u32 = 6;
+pub const STATISTIC_KIND_BOUNDS_HISTOGRAM: u32 = 7;
+pub const STATISTIC_NUM_SLOTS: u32 = 5;
+pub const StatisticRelidAttnumInhIndexId: u32 = 2696;
+pub const VACUUM_OPTION_NO_PARALLEL: u32 = 0;
+pub const VACUUM_OPTION_PARALLEL_BULKDEL: u32 = 1;
+pub const VACUUM_OPTION_PARALLEL_COND_CLEANUP: u32 = 2;
+pub const VACUUM_OPTION_PARALLEL_CLEANUP: u32 = 4;
+pub const VACUUM_OPTION_MAX_VALID_VALUE: u32 = 7;
+pub const VACOPT_VACUUM: u32 = 1;
+pub const VACOPT_ANALYZE: u32 = 2;
+pub const VACOPT_VERBOSE: u32 = 4;
+pub const VACOPT_FREEZE: u32 = 8;
+pub const VACOPT_FULL: u32 = 16;
+pub const VACOPT_SKIP_LOCKED: u32 = 32;
+pub const VACOPT_PROCESS_TOAST: u32 = 64;
+pub const VACOPT_DISABLE_PAGE_SKIPPING: u32 = 128;
+pub const PG_CONTROL_VERSION: u32 = 1300;
+pub const MOCK_AUTH_NONCE_LEN: u32 = 32;
+pub const XLOG_CHECKPOINT_SHUTDOWN: u32 = 0;
+pub const XLOG_CHECKPOINT_ONLINE: u32 = 16;
+pub const XLOG_NOOP: u32 = 32;
+pub const XLOG_NEXTOID: u32 = 48;
+pub const XLOG_SWITCH: u32 = 64;
+pub const XLOG_BACKUP_END: u32 = 80;
+pub const XLOG_PARAMETER_CHANGE: u32 = 96;
+pub const XLOG_RESTORE_POINT: u32 = 112;
+pub const XLOG_FPW_CHANGE: u32 = 128;
+pub const XLOG_END_OF_RECOVERY: u32 = 144;
+pub const XLOG_FPI_FOR_HINT: u32 = 160;
+pub const XLOG_FPI: u32 = 176;
+pub const XLOG_OVERWRITE_CONTRECORD: u32 = 208;
+pub const FLOATFORMAT_VALUE: f64 = 1234567.0;
+pub const PG_CONTROL_MAX_SAFE_SIZE: u32 = 512;
+pub const PG_CONTROL_FILE_SIZE: u32 = 8192;
+pub const BGWORKER_SHMEM_ACCESS: u32 = 1;
+pub const BGWORKER_BACKEND_DATABASE_CONNECTION: u32 = 2;
+pub const BGWORKER_CLASS_PARALLEL: u32 = 16;
+pub const BGW_DEFAULT_RESTART_INTERVAL: u32 = 60;
+pub const BGW_NEVER_RESTART: i32 = -1;
+pub const BGW_MAXLEN: u32 = 96;
+pub const BGW_EXTRALEN: u32 = 128;
+pub const BGWORKER_BYPASS_ALLOWCONN: u32 = 1;
+pub const TRANSACTION_STATUS_IN_PROGRESS: u32 = 0;
+pub const TRANSACTION_STATUS_COMMITTED: u32 = 1;
+pub const TRANSACTION_STATUS_ABORTED: u32 = 2;
+pub const TRANSACTION_STATUS_SUB_COMMITTED: u32 = 3;
+pub const CLOG_ZEROPAGE: u32 = 0;
+pub const CLOG_TRUNCATE: u32 = 16;
+pub const WL_LATCH_SET: u32 = 1;
+pub const WL_SOCKET_READABLE: u32 = 2;
+pub const WL_SOCKET_WRITEABLE: u32 = 4;
+pub const WL_TIMEOUT: u32 = 8;
+pub const WL_POSTMASTER_DEATH: u32 = 16;
+pub const WL_EXIT_ON_PM_DEATH: u32 = 32;
+pub const WL_SOCKET_CONNECTED: u32 = 4;
+pub const WL_SOCKET_MASK: u32 = 6;
+pub const PGPROC_MAX_CACHED_SUBXIDS: u32 = 64;
+pub const PROC_IS_AUTOVACUUM: u32 = 1;
+pub const PROC_IN_VACUUM: u32 = 2;
+pub const PROC_IN_SAFE_IC: u32 = 4;
+pub const PROC_VACUUM_FOR_WRAPAROUND: u32 = 8;
+pub const PROC_IN_LOGICAL_DECODING: u32 = 16;
+pub const PROC_VACUUM_STATE_MASK: u32 = 14;
+pub const PROC_XMIN_FLAGS: u32 = 6;
+pub const FP_LOCK_SLOTS_PER_BACKEND: u32 = 16;
+pub const INVALID_PGPROCNO: u32 = 2147483647;
+pub const DELAY_CHKPT_START: u32 = 1;
+pub const DELAY_CHKPT_COMPLETE: u32 = 2;
+pub const NUM_AUXILIARY_PROCS: u32 = 5;
+pub const FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUE: u32 = 0;
+pub const FIELDNO_AGGSTATEPERGROUPDATA_TRANSVALUEISNULL: u32 = 1;
+pub const FIELDNO_AGGSTATEPERGROUPDATA_NOTRANSVALUE: u32 = 2;
+pub const EEO_FLAG_INTERPRETER_INITIALIZED: u32 = 2;
+pub const EEO_FLAG_DIRECT_THREADED: u32 = 4;
+pub const CACHEDPLANSOURCE_MAGIC: u32 = 195726186;
+pub const CACHEDPLAN_MAGIC: u32 = 953717834;
+pub const CACHEDEXPR_MAGIC: u32 = 838275847;
+pub const SPI_ERROR_CONNECT: i32 = -1;
+pub const SPI_ERROR_COPY: i32 = -2;
+pub const SPI_ERROR_OPUNKNOWN: i32 = -3;
+pub const SPI_ERROR_UNCONNECTED: i32 = -4;
+pub const SPI_ERROR_CURSOR: i32 = -5;
+pub const SPI_ERROR_ARGUMENT: i32 = -6;
+pub const SPI_ERROR_PARAM: i32 = -7;
+pub const SPI_ERROR_TRANSACTION: i32 = -8;
+pub const SPI_ERROR_NOATTRIBUTE: i32 = -9;
+pub const SPI_ERROR_NOOUTFUNC: i32 = -10;
+pub const SPI_ERROR_TYPUNKNOWN: i32 = -11;
+pub const SPI_ERROR_REL_DUPLICATE: i32 = -12;
+pub const SPI_ERROR_REL_NOT_FOUND: i32 = -13;
+pub const SPI_OK_CONNECT: u32 = 1;
+pub const SPI_OK_FINISH: u32 = 2;
+pub const SPI_OK_FETCH: u32 = 3;
+pub const SPI_OK_UTILITY: u32 = 4;
+pub const SPI_OK_SELECT: u32 = 5;
+pub const SPI_OK_SELINTO: u32 = 6;
+pub const SPI_OK_INSERT: u32 = 7;
+pub const SPI_OK_DELETE: u32 = 8;
+pub const SPI_OK_UPDATE: u32 = 9;
+pub const SPI_OK_CURSOR: u32 = 10;
+pub const SPI_OK_INSERT_RETURNING: u32 = 11;
+pub const SPI_OK_DELETE_RETURNING: u32 = 12;
+pub const SPI_OK_UPDATE_RETURNING: u32 = 13;
+pub const SPI_OK_REWRITTEN: u32 = 14;
+pub const SPI_OK_REL_REGISTER: u32 = 15;
+pub const SPI_OK_REL_UNREGISTER: u32 = 16;
+pub const SPI_OK_TD_REGISTER: u32 = 17;
+pub const SPI_OPT_NONATOMIC: u32 = 1;
+pub const HAVE_PLANNERINFO_TYPEDEF: u32 = 1;
+pub const AMFLAG_HAS_TID_RANGE: u32 = 1;
+pub const HAVE_INDEXOPTINFO_TYPEDEF: u32 = 1;
+pub const HAVE_SPECIALJOININFO_TYPEDEF: u32 = 1;
+pub const GROUPING_CAN_USE_SORT: u32 = 1;
+pub const GROUPING_CAN_USE_HASH: u32 = 2;
+pub const GROUPING_CAN_PARTIAL_AGG: u32 = 4;
+pub const FSV_MISSING_OK: u32 = 1;
+pub const FDW_MISSING_OK: u32 = 1;
+pub const MAX_MULTIBYTE_CHAR_LEN: u32 = 4;
+pub const SS2: u32 = 142;
+pub const SS3: u32 = 143;
+pub const LC_ISO8859_1: u32 = 129;
+pub const LC_ISO8859_2: u32 = 130;
+pub const LC_ISO8859_3: u32 = 131;
+pub const LC_ISO8859_4: u32 = 132;
+pub const LC_TIS620: u32 = 133;
+pub const LC_ISO8859_7: u32 = 134;
+pub const LC_ISO8859_6: u32 = 135;
+pub const LC_ISO8859_8: u32 = 136;
+pub const LC_JISX0201K: u32 = 137;
+pub const LC_JISX0201R: u32 = 138;
+pub const LC_KOI8_R: u32 = 139;
+pub const LC_ISO8859_5: u32 = 140;
+pub const LC_ISO8859_9: u32 = 141;
+pub const LC_ISO8859_15: u32 = 142;
+pub const LC_JISX0208_1978: u32 = 144;
+pub const LC_GB2312_80: u32 = 145;
+pub const LC_JISX0208: u32 = 146;
+pub const LC_KS5601: u32 = 147;
+pub const LC_JISX0212: u32 = 148;
+pub const LC_CNS11643_1: u32 = 149;
+pub const LC_CNS11643_2: u32 = 150;
+pub const LC_JISX0213_1: u32 = 151;
+pub const LC_BIG5_1: u32 = 152;
+pub const LC_BIG5_2: u32 = 153;
+pub const LCPRV1_A: u32 = 154;
+pub const LCPRV1_B: u32 = 155;
+pub const LCPRV2_A: u32 = 156;
+pub const LCPRV2_B: u32 = 157;
+pub const LC_SISHENG: u32 = 160;
+pub const LC_IPA: u32 = 161;
+pub const LC_VISCII_LOWER: u32 = 162;
+pub const LC_VISCII_UPPER: u32 = 163;
+pub const LC_ARABIC_DIGIT: u32 = 164;
+pub const LC_ARABIC_1_COLUMN: u32 = 165;
+pub const LC_ASCII_RIGHT_TO_LEFT: u32 = 166;
+pub const LC_LAO: u32 = 167;
+pub const LC_ARABIC_2_COLUMN: u32 = 168;
+pub const LC_INDIAN_1_COLUMN: u32 = 240;
+pub const LC_TIBETAN_1_COLUMN: u32 = 241;
+pub const LC_UNICODE_SUBSET_2: u32 = 242;
+pub const LC_UNICODE_SUBSET_3: u32 = 243;
+pub const LC_UNICODE_SUBSET: u32 = 244;
+pub const LC_ETHIOPIC: u32 = 245;
+pub const LC_CNS11643_3: u32 = 246;
+pub const LC_CNS11643_4: u32 = 247;
+pub const LC_CNS11643_5: u32 = 248;
+pub const LC_CNS11643_6: u32 = 249;
+pub const LC_CNS11643_7: u32 = 250;
+pub const LC_INDIAN_2_COLUMN: u32 = 251;
+pub const LC_TIBETAN: u32 = 252;
+pub const MAX_CONVERSION_GROWTH: u32 = 4;
+pub const MAX_CONVERSION_INPUT_LENGTH: u32 = 16;
+pub const MAX_UNICODE_EQUIVALENT_STRING: u32 = 16;
+pub const EXTNODENAME_MAX_LEN: u32 = 64;
+pub const CUSTOMPATH_SUPPORT_BACKWARD_SCAN: u32 = 1;
+pub const CUSTOMPATH_SUPPORT_MARK_RESTORE: u32 = 2;
+pub const QTW_IGNORE_RT_SUBQUERIES: u32 = 1;
+pub const QTW_IGNORE_CTE_SUBQUERIES: u32 = 2;
+pub const QTW_IGNORE_RC_SUBQUERIES: u32 = 3;
+pub const QTW_IGNORE_JOINALIASES: u32 = 4;
+pub const QTW_IGNORE_RANGE_TABLE: u32 = 8;
+pub const QTW_EXAMINE_RTES_BEFORE: u32 = 16;
+pub const QTW_EXAMINE_RTES_AFTER: u32 = 32;
+pub const QTW_DONT_COPY_QUERY: u32 = 64;
+pub const QTW_EXAMINE_SORTGROUP: u32 = 128;
+pub const DEFAULT_SEQ_PAGE_COST: f64 = 1.0;
+pub const DEFAULT_RANDOM_PAGE_COST: f64 = 4.0;
+pub const DEFAULT_CPU_TUPLE_COST: f64 = 0.01;
+pub const DEFAULT_CPU_INDEX_TUPLE_COST: f64 = 0.005;
+pub const DEFAULT_CPU_OPERATOR_COST: f64 = 0.0025;
+pub const DEFAULT_PARALLEL_TUPLE_COST: f64 = 0.1;
+pub const DEFAULT_PARALLEL_SETUP_COST: f64 = 1000.0;
+pub const DEFAULT_EFFECTIVE_CACHE_SIZE: u32 = 524288;
+pub const PVC_INCLUDE_AGGREGATES: u32 = 1;
+pub const PVC_RECURSE_AGGREGATES: u32 = 2;
+pub const PVC_INCLUDE_WINDOWFUNCS: u32 = 4;
+pub const PVC_RECURSE_WINDOWFUNCS: u32 = 8;
+pub const PVC_INCLUDE_PLACEHOLDERS: u32 = 16;
+pub const PVC_RECURSE_PLACEHOLDERS: u32 = 32;
+pub const DEFAULT_CURSOR_TUPLE_FRACTION: f64 = 0.1;
+pub const JUMBLE_SIZE: u32 = 1024;
+pub const ER_MAGIC: u32 = 1384727874;
+pub const ER_FLAG_FVALUE_VALID: u32 = 1;
+pub const ER_FLAG_FVALUE_ALLOCED: u32 = 2;
+pub const ER_FLAG_DVALUES_VALID: u32 = 4;
+pub const ER_FLAG_DVALUES_ALLOCED: u32 = 8;
+pub const ER_FLAG_HAVE_EXTERNAL: u32 = 16;
+pub const ER_FLAG_TUPDESC_ALLOCED: u32 = 32;
+pub const ER_FLAG_IS_DOMAIN: u32 = 64;
+pub const ER_FLAG_IS_DUMMY: u32 = 128;
+pub const ER_FLAGS_NON_DATA: u32 = 224;
+pub const TYPECACHE_EQ_OPR: u32 = 1;
+pub const TYPECACHE_LT_OPR: u32 = 2;
+pub const TYPECACHE_GT_OPR: u32 = 4;
+pub const TYPECACHE_CMP_PROC: u32 = 8;
+pub const TYPECACHE_HASH_PROC: u32 = 16;
+pub const TYPECACHE_EQ_OPR_FINFO: u32 = 32;
+pub const TYPECACHE_CMP_PROC_FINFO: u32 = 64;
+pub const TYPECACHE_HASH_PROC_FINFO: u32 = 128;
+pub const TYPECACHE_TUPDESC: u32 = 256;
+pub const TYPECACHE_BTREE_OPFAMILY: u32 = 512;
+pub const TYPECACHE_HASH_OPFAMILY: u32 = 1024;
+pub const TYPECACHE_RANGE_INFO: u32 = 2048;
+pub const TYPECACHE_DOMAIN_BASE_INFO: u32 = 4096;
+pub const TYPECACHE_DOMAIN_CONSTR_INFO: u32 = 8192;
+pub const TYPECACHE_HASH_EXTENDED_PROC: u32 = 16384;
+pub const TYPECACHE_HASH_EXTENDED_PROC_FINFO: u32 = 32768;
+pub const TYPECACHE_MULTIRANGE_INFO: u32 = 65536;
+pub const PLPGSQL_XCHECK_NONE: u32 = 0;
+pub const PLPGSQL_XCHECK_SHADOWVAR: u32 = 2;
+pub const PLPGSQL_XCHECK_TOOMANYROWS: u32 = 4;
+pub const PLPGSQL_XCHECK_STRICTMULTIASSIGNMENT: u32 = 8;
+pub const POSTMASTER_FD_WATCH: u32 = 0;
+pub const POSTMASTER_FD_OWN: u32 = 1;
+pub const MAX_BACKENDS: u32 = 262143;
+pub const RBTXN_HAS_CATALOG_CHANGES: u32 = 1;
+pub const RBTXN_IS_SUBXACT: u32 = 2;
+pub const RBTXN_IS_SERIALIZED: u32 = 4;
+pub const RBTXN_IS_SERIALIZED_CLEAR: u32 = 8;
+pub const RBTXN_IS_STREAMED: u32 = 16;
+pub const RBTXN_HAS_PARTIAL_CHANGE: u32 = 32;
+pub const RBTXN_PREPARE: u32 = 64;
+pub const RBTXN_SKIPPED_PREPARE: u32 = 128;
+pub const LOGICALREP_PROTO_MIN_VERSION_NUM: u32 = 1;
+pub const LOGICALREP_PROTO_VERSION_NUM: u32 = 1;
+pub const LOGICALREP_PROTO_STREAM_VERSION_NUM: u32 = 2;
+pub const LOGICALREP_PROTO_MAX_VERSION_NUM: u32 = 2;
+pub const LOGICALREP_COLUMN_NULL: u8 = 110u8;
+pub const LOGICALREP_COLUMN_UNCHANGED: u8 = 117u8;
+pub const LOGICALREP_COLUMN_TEXT: u8 = 116u8;
+pub const LOGICALREP_COLUMN_BINARY: u8 = 98u8;
+pub const MAXCONNINFO: u32 = 1024;
+pub const OLD_SNAPSHOT_PADDING_ENTRIES: u32 = 10;
+pub const MAX_IO_CONCURRENCY: u32 = 1000;
+pub const BUFFER_LOCK_UNLOCK: u32 = 0;
+pub const BUFFER_LOCK_SHARE: u32 = 1;
+pub const BUFFER_LOCK_EXCLUSIVE: u32 = 2;
+pub const XLOG_STANDBY_LOCK: u32 = 0;
+pub const XLOG_RUNNING_XACTS: u32 = 16;
+pub const XLOG_INVALIDATIONS: u32 = 32;
+pub const STACK_DEPTH_SLOP: u32 = 524288;
+pub const COMMAND_OK_IN_READ_ONLY_TXN: u32 = 1;
+pub const COMMAND_OK_IN_PARALLEL_MODE: u32 = 2;
+pub const COMMAND_OK_IN_RECOVERY: u32 = 4;
+pub const COMMAND_IS_STRICTLY_READ_ONLY: u32 = 7;
+pub const COMMAND_IS_NOT_READ_ONLY: u32 = 0;
+pub const MAXSTRLEN: u32 = 2047;
+pub const MAXSTRPOS: u32 = 1048575;
+pub const MAXENTRYPOS: u32 = 16384;
+pub const MAXNUMPOS: u32 = 256;
+pub const QI_VAL: u32 = 1;
+pub const QI_OPR: u32 = 2;
+pub const QI_VALSTOP: u32 = 3;
+pub const OP_NOT: u32 = 1;
+pub const OP_AND: u32 = 2;
+pub const OP_OR: u32 = 3;
+pub const OP_PHRASE: u32 = 4;
+pub const OP_COUNT: u32 = 4;
+pub const TSL_ADDPOS: u32 = 1;
+pub const TSL_PREFIX: u32 = 2;
+pub const TSL_FILTER: u32 = 4;
+pub const P_TSV_OPR_IS_DELIM: u32 = 1;
+pub const P_TSV_IS_TSQUERY: u32 = 2;
+pub const P_TSV_IS_WEB: u32 = 4;
+pub const P_TSQ_PLAIN: u32 = 1;
+pub const P_TSQ_WEB: u32 = 2;
+pub const TS_EXEC_EMPTY: u32 = 0;
+pub const TS_EXEC_SKIP_NOT: u32 = 1;
+pub const TS_EXEC_PHRASE_NO_POS: u32 = 2;
+pub const TSearchStrategyNumber: u32 = 1;
+pub const TSearchWithClassStrategyNumber: u32 = 2;
+pub const QTN_NEEDFREE: u32 = 1;
+pub const QTN_NOCHANGE: u32 = 2;
+pub const QTN_WORDFREE: u32 = 4;
+pub const MAXINT8LEN: u32 = 20;
+pub const FORMAT_TYPE_TYPEMOD_GIVEN: u32 = 1;
+pub const FORMAT_TYPE_ALLOW_INVALID: u32 = 2;
+pub const FORMAT_TYPE_FORCE_QUALIFY: u32 = 4;
+pub const FORMAT_TYPE_INVALID_AS_NULL: u32 = 8;
+pub const MAX_TIME_PRECISION: u32 = 6;
+pub const DAGO: &[u8; 4] = b"ago\0";
+pub const DCURRENT: &[u8; 8] = b"current\0";
+pub const EPOCH: &[u8; 6] = b"epoch\0";
+pub const INVALID: &[u8; 8] = b"invalid\0";
+pub const EARLY: &[u8; 10] = b"-infinity\0";
+pub const LATE: &[u8; 9] = b"infinity\0";
+pub const NOW: &[u8; 4] = b"now\0";
+pub const TODAY: &[u8; 6] = b"today\0";
+pub const TOMORROW: &[u8; 9] = b"tomorrow\0";
+pub const YESTERDAY: &[u8; 10] = b"yesterday\0";
+pub const ZULU: &[u8; 5] = b"zulu\0";
+pub const DMICROSEC: &[u8; 8] = b"usecond\0";
+pub const DMILLISEC: &[u8; 8] = b"msecond\0";
+pub const DSECOND: &[u8; 7] = b"second\0";
+pub const DMINUTE: &[u8; 7] = b"minute\0";
+pub const DHOUR: &[u8; 5] = b"hour\0";
+pub const DDAY: &[u8; 4] = b"day\0";
+pub const DWEEK: &[u8; 5] = b"week\0";
+pub const DMONTH: &[u8; 6] = b"month\0";
+pub const DQUARTER: &[u8; 8] = b"quarter\0";
+pub const DYEAR: &[u8; 5] = b"year\0";
+pub const DDECADE: &[u8; 7] = b"decade\0";
+pub const DCENTURY: &[u8; 8] = b"century\0";
+pub const DMILLENNIUM: &[u8; 11] = b"millennium\0";
+pub const DA_D: &[u8; 3] = b"ad\0";
+pub const DB_C: &[u8; 3] = b"bc\0";
+pub const DTIMEZONE: &[u8; 9] = b"timezone\0";
+pub const AM: u32 = 0;
+pub const PM: u32 = 1;
+pub const HR24: u32 = 2;
+pub const AD: u32 = 0;
+pub const BC: u32 = 1;
+pub const RESERV: u32 = 0;
+pub const MONTH: u32 = 1;
+pub const YEAR: u32 = 2;
+pub const DAY: u32 = 3;
+pub const JULIAN: u32 = 4;
+pub const TZ: u32 = 5;
+pub const DTZ: u32 = 6;
+pub const DYNTZ: u32 = 7;
+pub const IGNORE_DTF: u32 = 8;
+pub const AMPM: u32 = 9;
+pub const HOUR: u32 = 10;
+pub const MINUTE: u32 = 11;
+pub const SECOND: u32 = 12;
+pub const MILLISECOND: u32 = 13;
+pub const MICROSECOND: u32 = 14;
+pub const DOY: u32 = 15;
+pub const DOW: u32 = 16;
+pub const UNITS: u32 = 17;
+pub const ADBC: u32 = 18;
+pub const AGO: u32 = 19;
+pub const ABS_BEFORE: u32 = 20;
+pub const ABS_AFTER: u32 = 21;
+pub const ISODATE: u32 = 22;
+pub const ISOTIME: u32 = 23;
+pub const WEEK: u32 = 24;
+pub const DECADE: u32 = 25;
+pub const CENTURY: u32 = 26;
+pub const MILLENNIUM: u32 = 27;
+pub const DTZMOD: u32 = 28;
+pub const UNKNOWN_FIELD: u32 = 31;
+pub const DTK_NUMBER: u32 = 0;
+pub const DTK_STRING: u32 = 1;
+pub const DTK_DATE: u32 = 2;
+pub const DTK_TIME: u32 = 3;
+pub const DTK_TZ: u32 = 4;
+pub const DTK_AGO: u32 = 5;
+pub const DTK_SPECIAL: u32 = 6;
+pub const DTK_EARLY: u32 = 9;
+pub const DTK_LATE: u32 = 10;
+pub const DTK_EPOCH: u32 = 11;
+pub const DTK_NOW: u32 = 12;
+pub const DTK_YESTERDAY: u32 = 13;
+pub const DTK_TODAY: u32 = 14;
+pub const DTK_TOMORROW: u32 = 15;
+pub const DTK_ZULU: u32 = 16;
+pub const DTK_DELTA: u32 = 17;
+pub const DTK_SECOND: u32 = 18;
+pub const DTK_MINUTE: u32 = 19;
+pub const DTK_HOUR: u32 = 20;
+pub const DTK_DAY: u32 = 21;
+pub const DTK_WEEK: u32 = 22;
+pub const DTK_MONTH: u32 = 23;
+pub const DTK_QUARTER: u32 = 24;
+pub const DTK_YEAR: u32 = 25;
+pub const DTK_DECADE: u32 = 26;
+pub const DTK_CENTURY: u32 = 27;
+pub const DTK_MILLENNIUM: u32 = 28;
+pub const DTK_MILLISEC: u32 = 29;
+pub const DTK_MICROSEC: u32 = 30;
+pub const DTK_JULIAN: u32 = 31;
+pub const DTK_DOW: u32 = 32;
+pub const DTK_DOY: u32 = 33;
+pub const DTK_TZ_HOUR: u32 = 34;
+pub const DTK_TZ_MINUTE: u32 = 35;
+pub const DTK_ISOYEAR: u32 = 36;
+pub const DTK_ISODOW: u32 = 37;
+pub const MAXDATELEN: u32 = 128;
+pub const MAXDATEFIELDS: u32 = 25;
+pub const TOKMAXLEN: u32 = 10;
+pub const DTERR_BAD_FORMAT: i32 = -1;
+pub const DTERR_FIELD_OVERFLOW: i32 = -2;
+pub const DTERR_MD_FIELD_OVERFLOW: i32 = -3;
+pub const DTERR_INTERVAL_OVERFLOW: i32 = -4;
+pub const DTERR_TZDISP_OVERFLOW: i32 = -5;
+pub const RADIANS_PER_DEGREE: f64 = 0.017453292519943295;
+pub const NUMERIC_MAX_PRECISION: u32 = 1000;
+pub const NUMERIC_MAX_DISPLAY_SCALE: u32 = 1000;
+pub const NUMERIC_MIN_DISPLAY_SCALE: u32 = 0;
+pub const NUMERIC_MAX_RESULT_SCALE: u32 = 2000;
+pub const NUMERIC_MIN_SIG_DIGITS: u32 = 16;
+pub const JsonbContainsStrategyNumber: u32 = 7;
+pub const JsonbExistsStrategyNumber: u32 = 9;
+pub const JsonbExistsAnyStrategyNumber: u32 = 10;
+pub const JsonbExistsAllStrategyNumber: u32 = 11;
+pub const JsonbJsonpathExistsStrategyNumber: u32 = 15;
+pub const JsonbJsonpathPredicateStrategyNumber: u32 = 16;
+pub const JGINFLAG_KEY: u32 = 1;
+pub const JGINFLAG_NULL: u32 = 2;
+pub const JGINFLAG_BOOL: u32 = 3;
+pub const JGINFLAG_NUM: u32 = 4;
+pub const JGINFLAG_STR: u32 = 5;
+pub const JGINFLAG_HASHED: u32 = 16;
+pub const JGIN_MAXLENGTH: u32 = 125;
+pub const JENTRY_OFFLENMASK: u32 = 268435455;
+pub const JENTRY_TYPEMASK: u32 = 1879048192;
+pub const JENTRY_HAS_OFF: u32 = 2147483648;
+pub const JENTRY_ISSTRING: u32 = 0;
+pub const JENTRY_ISNUMERIC: u32 = 268435456;
+pub const JENTRY_ISBOOL_FALSE: u32 = 536870912;
+pub const JENTRY_ISBOOL_TRUE: u32 = 805306368;
+pub const JENTRY_ISNULL: u32 = 1073741824;
+pub const JENTRY_ISCONTAINER: u32 = 1342177280;
+pub const JB_OFFSET_STRIDE: u32 = 32;
+pub const JB_CMASK: u32 = 268435455;
+pub const JB_FSCALAR: u32 = 268435456;
+pub const JB_FOBJECT: u32 = 536870912;
+pub const JB_FARRAY: u32 = 1073741824;
+pub const ATTSTATSSLOT_VALUES: u32 = 1;
+pub const ATTSTATSSLOT_NUMBERS: u32 = 2;
+pub const FORMAT_PROC_INVALID_AS_NULL: u32 = 1;
+pub const FORMAT_PROC_FORCE_QUALIFY: u32 = 2;
+pub const FORMAT_OPERATOR_INVALID_AS_NULL: u32 = 1;
+pub const FORMAT_OPERATOR_FORCE_QUALIFY: u32 = 2;
+pub const RULE_INDEXDEF_PRETTY: u32 = 1;
+pub const RULE_INDEXDEF_KEYS_ONLY: u32 = 2;
+pub const DEFAULT_EQ_SEL: f64 = 0.005;
+pub const DEFAULT_INEQ_SEL: f64 = 0.3333333333333333;
+pub const DEFAULT_RANGE_INEQ_SEL: f64 = 0.005;
+pub const DEFAULT_MULTIRANGE_INEQ_SEL: f64 = 0.005;
+pub const DEFAULT_MATCH_SEL: f64 = 0.005;
+pub const DEFAULT_MATCHING_SEL: f64 = 0.01;
+pub const DEFAULT_NUM_DISTINCT: u32 = 200;
+pub const DEFAULT_UNK_SEL: f64 = 0.005;
+pub const DEFAULT_NOT_UNK_SEL: f64 = 0.995;
+pub const SELFLAG_USED_DEFAULT: u32 = 1;
+pub const CATCACHE_MAXKEYS: u32 = 4;
+pub const CT_MAGIC: u32 = 1462113538;
+pub const CL_MAGIC: u32 = 1383485699;
+pub const RANGE_EMPTY_LITERAL: &[u8; 6] = b"empty\0";
+pub const RANGE_EMPTY: u32 = 1;
+pub const RANGE_LB_INC: u32 = 2;
+pub const RANGE_UB_INC: u32 = 4;
+pub const RANGE_LB_INF: u32 = 8;
+pub const RANGE_UB_INF: u32 = 16;
+pub const RANGE_LB_NULL: u32 = 32;
+pub const RANGE_UB_NULL: u32 = 64;
+pub const RANGE_CONTAIN_EMPTY: u32 = 128;
+pub const RANGESTRAT_BEFORE: u32 = 1;
+pub const RANGESTRAT_OVERLEFT: u32 = 2;
+pub const RANGESTRAT_OVERLAPS: u32 = 3;
+pub const RANGESTRAT_OVERRIGHT: u32 = 4;
+pub const RANGESTRAT_AFTER: u32 = 5;
+pub const RANGESTRAT_ADJACENT: u32 = 6;
+pub const RANGESTRAT_CONTAINS: u32 = 7;
+pub const RANGESTRAT_CONTAINED_BY: u32 = 8;
+pub const RANGESTRAT_CONTAINS_ELEM: u32 = 16;
+pub const RANGESTRAT_EQ: u32 = 18;
+pub type pg_int64 = ::std::os::raw::c_long;
+pub type va_list = [u64; 4usize];
+pub type __gnuc_va_list = [u64; 4usize];
+pub type __u_char = ::std::os::raw::c_uchar;
+pub type __u_short = ::std::os::raw::c_ushort;
+pub type __u_int = ::std::os::raw::c_uint;
+pub type __u_long = ::std::os::raw::c_ulong;
+pub type __int8_t = ::std::os::raw::c_schar;
+pub type __uint8_t = ::std::os::raw::c_uchar;
+pub type __int16_t = ::std::os::raw::c_short;
+pub type __uint16_t = ::std::os::raw::c_ushort;
+pub type __int32_t = ::std::os::raw::c_int;
+pub type __uint32_t = ::std::os::raw::c_uint;
+pub type __int64_t = ::std::os::raw::c_long;
+pub type __uint64_t = ::std::os::raw::c_ulong;
+pub type __int_least8_t = __int8_t;
+pub type __uint_least8_t = __uint8_t;
+pub type __int_least16_t = __int16_t;
+pub type __uint_least16_t = __uint16_t;
+pub type __int_least32_t = __int32_t;
+pub type __uint_least32_t = __uint32_t;
+pub type __int_least64_t = __int64_t;
+pub type __uint_least64_t = __uint64_t;
+pub type __quad_t = ::std::os::raw::c_long;
+pub type __u_quad_t = ::std::os::raw::c_ulong;
+pub type __intmax_t = ::std::os::raw::c_long;
+pub type __uintmax_t = ::std::os::raw::c_ulong;
+pub type __dev_t = ::std::os::raw::c_ulong;
+pub type __uid_t = ::std::os::raw::c_uint;
+pub type __gid_t = ::std::os::raw::c_uint;
+pub type __ino_t = ::std::os::raw::c_ulong;
+pub type __ino64_t = ::std::os::raw::c_ulong;
+pub type __mode_t = ::std::os::raw::c_uint;
+pub type __nlink_t = ::std::os::raw::c_uint;
+pub type __off_t = ::std::os::raw::c_long;
+pub type __off64_t = ::std::os::raw::c_long;
+pub type __pid_t = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct __fsid_t {
+ pub __val: [::std::os::raw::c_int; 2usize],
+}
+pub type __clock_t = ::std::os::raw::c_long;
+pub type __rlim_t = ::std::os::raw::c_ulong;
+pub type __rlim64_t = ::std::os::raw::c_ulong;
+pub type __id_t = ::std::os::raw::c_uint;
+pub type __time_t = ::std::os::raw::c_long;
+pub type __useconds_t = ::std::os::raw::c_uint;
+pub type __suseconds_t = ::std::os::raw::c_long;
+pub type __daddr_t = ::std::os::raw::c_int;
+pub type __key_t = ::std::os::raw::c_int;
+pub type __clockid_t = ::std::os::raw::c_int;
+pub type __timer_t = *mut ::std::os::raw::c_void;
+pub type __blksize_t = ::std::os::raw::c_int;
+pub type __blkcnt_t = ::std::os::raw::c_long;
+pub type __blkcnt64_t = ::std::os::raw::c_long;
+pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
+pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
+pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
+pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
+pub type __fsword_t = ::std::os::raw::c_long;
+pub type __ssize_t = ::std::os::raw::c_long;
+pub type __syscall_slong_t = ::std::os::raw::c_long;
+pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
+pub type __loff_t = __off64_t;
+pub type __caddr_t = *mut ::std::os::raw::c_char;
+pub type __intptr_t = ::std::os::raw::c_long;
+pub type __socklen_t = ::std::os::raw::c_uint;
+pub type __sig_atomic_t = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __mbstate_t {
+ pub __count: ::std::os::raw::c_int,
+ pub __value: __mbstate_t__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __mbstate_t__bindgen_ty_1 {
+ pub __wch: ::std::os::raw::c_uint,
+ pub __wchb: [::std::os::raw::c_char; 4usize],
+}
+impl Default for __mbstate_t__bindgen_ty_1 {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+impl Default for __mbstate_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct _G_fpos_t {
+ pub __pos: __off_t,
+ pub __state: __mbstate_t,
+}
+impl Default for _G_fpos_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type __fpos_t = _G_fpos_t;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct _G_fpos64_t {
+ pub __pos: __off64_t,
+ pub __state: __mbstate_t,
+}
+impl Default for _G_fpos64_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type __fpos64_t = _G_fpos64_t;
+pub type __FILE = _IO_FILE;
+pub type FILE = _IO_FILE;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _IO_marker {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _IO_codecvt {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _IO_wide_data {
+ _unused: [u8; 0],
+}
+pub type _IO_lock_t = ::std::os::raw::c_void;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct _IO_FILE {
+ pub _flags: ::std::os::raw::c_int,
+ pub _IO_read_ptr: *mut ::std::os::raw::c_char,
+ pub _IO_read_end: *mut ::std::os::raw::c_char,
+ pub _IO_read_base: *mut ::std::os::raw::c_char,
+ pub _IO_write_base: *mut ::std::os::raw::c_char,
+ pub _IO_write_ptr: *mut ::std::os::raw::c_char,
+ pub _IO_write_end: *mut ::std::os::raw::c_char,
+ pub _IO_buf_base: *mut ::std::os::raw::c_char,
+ pub _IO_buf_end: *mut ::std::os::raw::c_char,
+ pub _IO_save_base: *mut ::std::os::raw::c_char,
+ pub _IO_backup_base: *mut ::std::os::raw::c_char,
+ pub _IO_save_end: *mut ::std::os::raw::c_char,
+ pub _markers: *mut _IO_marker,
+ pub _chain: *mut _IO_FILE,
+ pub _fileno: ::std::os::raw::c_int,
+ pub _flags2: ::std::os::raw::c_int,
+ pub _old_offset: __off_t,
+ pub _cur_column: ::std::os::raw::c_ushort,
+ pub _vtable_offset: ::std::os::raw::c_schar,
+ pub _shortbuf: [::std::os::raw::c_char; 1usize],
+ pub _lock: *mut _IO_lock_t,
+ pub _offset: __off64_t,
+ pub _codecvt: *mut _IO_codecvt,
+ pub _wide_data: *mut _IO_wide_data,
+ pub _freeres_list: *mut _IO_FILE,
+ pub _freeres_buf: *mut ::std::os::raw::c_void,
+ pub __pad5: usize,
+ pub _mode: ::std::os::raw::c_int,
+ pub _unused2: [::std::os::raw::c_char; 20usize],
+}
+impl Default for _IO_FILE {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type off_t = __off_t;
+pub type fpos_t = __fpos_t;
+pub type wchar_t = ::std::os::raw::c_uint;
+pub const idtype_t_P_ALL: idtype_t = 0;
+pub const idtype_t_P_PID: idtype_t = 1;
+pub const idtype_t_P_PGID: idtype_t = 2;
+pub type idtype_t = ::std::os::raw::c_uint;
+pub type _Float128 = u128;
+pub type _Float32 = f32;
+pub type _Float64 = f64;
+pub type _Float32x = f64;
+pub type _Float64x = u128;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct div_t {
+ pub quot: ::std::os::raw::c_int,
+ pub rem: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ldiv_t {
+ pub quot: ::std::os::raw::c_long,
+ pub rem: ::std::os::raw::c_long,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct lldiv_t {
+ pub quot: ::std::os::raw::c_longlong,
+ pub rem: ::std::os::raw::c_longlong,
+}
+pub type u_char = __u_char;
+pub type u_short = __u_short;
+pub type u_int = __u_int;
+pub type u_long = __u_long;
+pub type quad_t = __quad_t;
+pub type u_quad_t = __u_quad_t;
+pub type fsid_t = __fsid_t;
+pub type loff_t = __loff_t;
+pub type ino_t = __ino_t;
+pub type dev_t = __dev_t;
+pub type gid_t = __gid_t;
+pub type mode_t = __mode_t;
+pub type nlink_t = __nlink_t;
+pub type uid_t = __uid_t;
+pub type pid_t = __pid_t;
+pub type id_t = __id_t;
+pub type daddr_t = __daddr_t;
+pub type caddr_t = __caddr_t;
+pub type key_t = __key_t;
+pub type clock_t = __clock_t;
+pub type clockid_t = __clockid_t;
+pub type time_t = __time_t;
+pub type timer_t = __timer_t;
+pub type ulong = ::std::os::raw::c_ulong;
+pub type ushort = ::std::os::raw::c_ushort;
+pub type uint = ::std::os::raw::c_uint;
+pub type u_int8_t = ::std::os::raw::c_uchar;
+pub type u_int16_t = ::std::os::raw::c_ushort;
+pub type u_int32_t = ::std::os::raw::c_uint;
+pub type u_int64_t = ::std::os::raw::c_ulong;
+pub type register_t = ::std::os::raw::c_long;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct __sigset_t {
+ pub __val: [::std::os::raw::c_ulong; 16usize],
+}
+pub type sigset_t = __sigset_t;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct timeval {
+ pub tv_sec: __time_t,
+ pub tv_usec: __suseconds_t,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct timespec {
+ pub tv_sec: __time_t,
+ pub tv_nsec: __syscall_slong_t,
+}
+pub type suseconds_t = __suseconds_t;
+pub type __fd_mask = ::std::os::raw::c_long;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct fd_set {
+ pub __fds_bits: [__fd_mask; 16usize],
+}
+pub type fd_mask = __fd_mask;
+pub type blksize_t = __blksize_t;
+pub type blkcnt_t = __blkcnt_t;
+pub type fsblkcnt_t = __fsblkcnt_t;
+pub type fsfilcnt_t = __fsfilcnt_t;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct __pthread_rwlock_arch_t {
+ pub __readers: ::std::os::raw::c_uint,
+ pub __writers: ::std::os::raw::c_uint,
+ pub __wrphase_futex: ::std::os::raw::c_uint,
+ pub __writers_futex: ::std::os::raw::c_uint,
+ pub __pad3: ::std::os::raw::c_uint,
+ pub __pad4: ::std::os::raw::c_uint,
+ pub __cur_writer: ::std::os::raw::c_int,
+ pub __shared: ::std::os::raw::c_int,
+ pub __pad1: ::std::os::raw::c_ulong,
+ pub __pad2: ::std::os::raw::c_ulong,
+ pub __flags: ::std::os::raw::c_uint,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __pthread_internal_list {
+ pub __prev: *mut __pthread_internal_list,
+ pub __next: *mut __pthread_internal_list,
+}
+impl Default for __pthread_internal_list {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type __pthread_list_t = __pthread_internal_list;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __pthread_mutex_s {
+ pub __lock: ::std::os::raw::c_int,
+ pub __count: ::std::os::raw::c_uint,
+ pub __owner: ::std::os::raw::c_int,
+ pub __nusers: ::std::os::raw::c_uint,
+ pub __kind: ::std::os::raw::c_int,
+ pub __spins: ::std::os::raw::c_int,
+ pub __list: __pthread_list_t,
+}
+impl Default for __pthread_mutex_s {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct __pthread_cond_s {
+ pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1,
+ pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2,
+ pub __g_refs: [::std::os::raw::c_uint; 2usize],
+ pub __g_size: [::std::os::raw::c_uint; 2usize],
+ pub __g1_orig_size: ::std::os::raw::c_uint,
+ pub __wrefs: ::std::os::raw::c_uint,
+ pub __g_signals: [::std::os::raw::c_uint; 2usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __pthread_cond_s__bindgen_ty_1 {
+ pub __wseq: ::std::os::raw::c_ulonglong,
+ pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 {
+ pub __low: ::std::os::raw::c_uint,
+ pub __high: ::std::os::raw::c_uint,
+}
+impl Default for __pthread_cond_s__bindgen_ty_1 {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union __pthread_cond_s__bindgen_ty_2 {
+ pub __g1_start: ::std::os::raw::c_ulonglong,
+ pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 {
+ pub __low: ::std::os::raw::c_uint,
+ pub __high: ::std::os::raw::c_uint,
+}
+impl Default for __pthread_cond_s__bindgen_ty_2 {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+impl Default for __pthread_cond_s {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type pthread_t = ::std::os::raw::c_ulong;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_mutexattr_t {
+ pub __size: [::std::os::raw::c_char; 8usize],
+ pub __align: ::std::os::raw::c_int,
+}
+impl Default for pthread_mutexattr_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_condattr_t {
+ pub __size: [::std::os::raw::c_char; 8usize],
+ pub __align: ::std::os::raw::c_int,
+}
+impl Default for pthread_condattr_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type pthread_key_t = ::std::os::raw::c_uint;
+pub type pthread_once_t = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_attr_t {
+ pub __size: [::std::os::raw::c_char; 64usize],
+ pub __align: ::std::os::raw::c_long,
+}
+impl Default for pthread_attr_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_mutex_t {
+ pub __data: __pthread_mutex_s,
+ pub __size: [::std::os::raw::c_char; 48usize],
+ pub __align: ::std::os::raw::c_long,
+}
+impl Default for pthread_mutex_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_cond_t {
+ pub __data: __pthread_cond_s,
+ pub __size: [::std::os::raw::c_char; 48usize],
+ pub __align: ::std::os::raw::c_longlong,
+}
+impl Default for pthread_cond_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_rwlock_t {
+ pub __data: __pthread_rwlock_arch_t,
+ pub __size: [::std::os::raw::c_char; 56usize],
+ pub __align: ::std::os::raw::c_long,
+}
+impl Default for pthread_rwlock_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_rwlockattr_t {
+ pub __size: [::std::os::raw::c_char; 8usize],
+ pub __align: ::std::os::raw::c_long,
+}
+impl Default for pthread_rwlockattr_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type pthread_spinlock_t = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_barrier_t {
+ pub __size: [::std::os::raw::c_char; 32usize],
+ pub __align: ::std::os::raw::c_long,
+}
+impl Default for pthread_barrier_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union pthread_barrierattr_t {
+ pub __size: [::std::os::raw::c_char; 8usize],
+ pub __align: ::std::os::raw::c_int,
+}
+impl Default for pthread_barrierattr_t {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct random_data {
+ pub fptr: *mut i32,
+ pub rptr: *mut i32,
+ pub state: *mut i32,
+ pub rand_type: ::std::os::raw::c_int,
+ pub rand_deg: ::std::os::raw::c_int,
+ pub rand_sep: ::std::os::raw::c_int,
+ pub end_ptr: *mut i32,
+}
+impl Default for random_data {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct drand48_data {
+ pub __x: [::std::os::raw::c_ushort; 3usize],
+ pub __old_x: [::std::os::raw::c_ushort; 3usize],
+ pub __c: ::std::os::raw::c_ushort,
+ pub __init: ::std::os::raw::c_ushort,
+ pub __a: ::std::os::raw::c_ulonglong,
+}
+pub type __compar_fn_t = ::std::option::Option<
+ unsafe extern "C" fn(
+ arg1: *const ::std::os::raw::c_void,
+ arg2: *const ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int,
+>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct __locale_struct {
+ pub __locales: [*mut __locale_data; 13usize],
+ pub __ctype_b: *const ::std::os::raw::c_ushort,
+ pub __ctype_tolower: *const ::std::os::raw::c_int,
+ pub __ctype_toupper: *const ::std::os::raw::c_int,
+ pub __names: [*const ::std::os::raw::c_char; 13usize],
+}
+impl Default for __locale_struct {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type __locale_t = *mut __locale_struct;
+pub type locale_t = __locale_t;
+#[repr(C)]
+#[repr(align(16))]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct max_align_t {
+ pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
+ pub __bindgen_padding_0: u64,
+ pub __clang_max_align_nonce2: u128,
+}
+pub type int_least8_t = __int_least8_t;
+pub type int_least16_t = __int_least16_t;
+pub type int_least32_t = __int_least32_t;
+pub type int_least64_t = __int_least64_t;
+pub type uint_least8_t = __uint_least8_t;
+pub type uint_least16_t = __uint_least16_t;
+pub type uint_least32_t = __uint_least32_t;
+pub type uint_least64_t = __uint_least64_t;
+pub type int_fast8_t = ::std::os::raw::c_schar;
+pub type int_fast16_t = ::std::os::raw::c_long;
+pub type int_fast32_t = ::std::os::raw::c_long;
+pub type int_fast64_t = ::std::os::raw::c_long;
+pub type uint_fast8_t = ::std::os::raw::c_uchar;
+pub type uint_fast16_t = ::std::os::raw::c_ulong;
+pub type uint_fast32_t = ::std::os::raw::c_ulong;
+pub type uint_fast64_t = ::std::os::raw::c_ulong;
+pub type intmax_t = __intmax_t;
+pub type uintmax_t = __uintmax_t;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct lconv {
+ pub decimal_point: *mut ::std::os::raw::c_char,
+ pub thousands_sep: *mut ::std::os::raw::c_char,
+ pub grouping: *mut ::std::os::raw::c_char,
+ pub int_curr_symbol: *mut ::std::os::raw::c_char,
+ pub currency_symbol: *mut ::std::os::raw::c_char,
+ pub mon_decimal_point: *mut ::std::os::raw::c_char,
+ pub mon_thousands_sep: *mut ::std::os::raw::c_char,
+ pub mon_grouping: *mut ::std::os::raw::c_char,
+ pub positive_sign: *mut ::std::os::raw::c_char,
+ pub negative_sign: *mut ::std::os::raw::c_char,
+ pub int_frac_digits: ::std::os::raw::c_char,
+ pub frac_digits: ::std::os::raw::c_char,
+ pub p_cs_precedes: ::std::os::raw::c_char,
+ pub p_sep_by_space: ::std::os::raw::c_char,
+ pub n_cs_precedes: ::std::os::raw::c_char,
+ pub n_sep_by_space: ::std::os::raw::c_char,
+ pub p_sign_posn: ::std::os::raw::c_char,
+ pub n_sign_posn: ::std::os::raw::c_char,
+ pub int_p_cs_precedes: ::std::os::raw::c_char,
+ pub int_p_sep_by_space: ::std::os::raw::c_char,
+ pub int_n_cs_precedes: ::std::os::raw::c_char,
+ pub int_n_sep_by_space: ::std::os::raw::c_char,
+ pub int_p_sign_posn: ::std::os::raw::c_char,
+ pub int_n_sign_posn: ::std::os::raw::c_char,
+}
+impl Default for lconv {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type pg_funcptr_t = ::std::option::Option;
+pub type Pointer = *mut ::std::os::raw::c_char;
+pub type int8 = ::std::os::raw::c_schar;
+pub type int16 = ::std::os::raw::c_short;
+pub type int32 = ::std::os::raw::c_int;
+pub type uint8 = ::std::os::raw::c_uchar;
+pub type uint16 = ::std::os::raw::c_ushort;
+pub type uint32 = ::std::os::raw::c_uint;
+pub type bits8 = uint8;
+pub type bits16 = uint16;
+pub type bits32 = uint32;
+pub type int64 = ::std::os::raw::c_long;
+pub type uint64 = ::std::os::raw::c_ulong;
+pub type int128 = i128;
+pub type uint128 = u128;
+pub type Size = usize;
+pub type Index = ::std::os::raw::c_uint;
+pub type Offset = ::std::os::raw::c_int;
+pub type float4 = f32;
+pub type float8 = f64;
+pub type regproc = Oid;
+pub type RegProcedure = regproc;
+pub type TransactionId = uint32;
+pub type LocalTransactionId = uint32;
+pub type SubTransactionId = uint32;
+pub type MultiXactId = TransactionId;
+pub type MultiXactOffset = uint32;
+pub type CommandId = uint32;
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct varlena {
+ pub vl_len_: [::std::os::raw::c_char; 4usize],
+ pub vl_dat: __IncompleteArrayField<::std::os::raw::c_char>,
+}
+pub type bytea = varlena;
+pub type text = varlena;
+pub type BpChar = varlena;
+pub type VarChar = varlena;
+#[repr(C)]
+#[derive(Debug)]
+pub struct int2vector {
+ pub vl_len_: int32,
+ pub ndim: ::std::os::raw::c_int,
+ pub dataoffset: int32,
+ pub elemtype: Oid,
+ pub dim1: ::std::os::raw::c_int,
+ pub lbound1: ::std::os::raw::c_int,
+ pub values: __IncompleteArrayField,
+}
+impl Default for int2vector {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct oidvector {
+ pub vl_len_: int32,
+ pub ndim: ::std::os::raw::c_int,
+ pub dataoffset: int32,
+ pub elemtype: Oid,
+ pub dim1: ::std::os::raw::c_int,
+ pub lbound1: ::std::os::raw::c_int,
+ pub values: __IncompleteArrayField,
+}
+impl Default for oidvector {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct nameData {
+ pub data: [::std::os::raw::c_char; 64usize],
+}
+impl Default for nameData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type NameData = nameData;
+pub type Name = *mut NameData;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union PGAlignedBlock {
+ pub data: [::std::os::raw::c_char; 8192usize],
+ pub force_align_d: f64,
+ pub force_align_i64: int64,
+}
+impl Default for PGAlignedBlock {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union PGAlignedXLogBlock {
+ pub data: [::std::os::raw::c_char; 8192usize],
+ pub force_align_d: f64,
+ pub force_align_i64: int64,
+}
+impl Default for PGAlignedXLogBlock {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const _ISupper: _bindgen_ty_1 = 256;
+pub const _ISlower: _bindgen_ty_1 = 512;
+pub const _ISalpha: _bindgen_ty_1 = 1024;
+pub const _ISdigit: _bindgen_ty_1 = 2048;
+pub const _ISxdigit: _bindgen_ty_1 = 4096;
+pub const _ISspace: _bindgen_ty_1 = 8192;
+pub const _ISprint: _bindgen_ty_1 = 16384;
+pub const _ISgraph: _bindgen_ty_1 = 32768;
+pub const _ISblank: _bindgen_ty_1 = 1;
+pub const _IScntrl: _bindgen_ty_1 = 2;
+pub const _ISpunct: _bindgen_ty_1 = 4;
+pub const _ISalnum: _bindgen_ty_1 = 8;
+pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct iovec {
+ pub iov_base: *mut ::std::os::raw::c_void,
+ pub iov_len: usize,
+}
+impl Default for iovec {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type socklen_t = __socklen_t;
+pub const __socket_type_SOCK_STREAM: __socket_type = 1;
+pub const __socket_type_SOCK_DGRAM: __socket_type = 2;
+pub const __socket_type_SOCK_RAW: __socket_type = 3;
+pub const __socket_type_SOCK_RDM: __socket_type = 4;
+pub const __socket_type_SOCK_SEQPACKET: __socket_type = 5;
+pub const __socket_type_SOCK_DCCP: __socket_type = 6;
+pub const __socket_type_SOCK_PACKET: __socket_type = 10;
+pub const __socket_type_SOCK_CLOEXEC: __socket_type = 524288;
+pub const __socket_type_SOCK_NONBLOCK: __socket_type = 2048;
+pub type __socket_type = ::std::os::raw::c_uint;
+pub type sa_family_t = ::std::os::raw::c_ushort;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct sockaddr {
+ pub sa_family: sa_family_t,
+ pub sa_data: [::std::os::raw::c_char; 14usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct sockaddr_storage {
+ pub ss_family: sa_family_t,
+ pub __ss_padding: [::std::os::raw::c_char; 118usize],
+ pub __ss_align: ::std::os::raw::c_ulong,
+}
+impl Default for sockaddr_storage {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const MSG_OOB: _bindgen_ty_2 = 1;
+pub const MSG_PEEK: _bindgen_ty_2 = 2;
+pub const MSG_DONTROUTE: _bindgen_ty_2 = 4;
+pub const MSG_CTRUNC: _bindgen_ty_2 = 8;
+pub const MSG_PROXY: _bindgen_ty_2 = 16;
+pub const MSG_TRUNC: _bindgen_ty_2 = 32;
+pub const MSG_DONTWAIT: _bindgen_ty_2 = 64;
+pub const MSG_EOR: _bindgen_ty_2 = 128;
+pub const MSG_WAITALL: _bindgen_ty_2 = 256;
+pub const MSG_FIN: _bindgen_ty_2 = 512;
+pub const MSG_SYN: _bindgen_ty_2 = 1024;
+pub const MSG_CONFIRM: _bindgen_ty_2 = 2048;
+pub const MSG_RST: _bindgen_ty_2 = 4096;
+pub const MSG_ERRQUEUE: _bindgen_ty_2 = 8192;
+pub const MSG_NOSIGNAL: _bindgen_ty_2 = 16384;
+pub const MSG_MORE: _bindgen_ty_2 = 32768;
+pub const MSG_WAITFORONE: _bindgen_ty_2 = 65536;
+pub const MSG_BATCH: _bindgen_ty_2 = 262144;
+pub const MSG_ZEROCOPY: _bindgen_ty_2 = 67108864;
+pub const MSG_FASTOPEN: _bindgen_ty_2 = 536870912;
+pub const MSG_CMSG_CLOEXEC: _bindgen_ty_2 = 1073741824;
+pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct msghdr {
+ pub msg_name: *mut ::std::os::raw::c_void,
+ pub msg_namelen: socklen_t,
+ pub msg_iov: *mut iovec,
+ pub msg_iovlen: usize,
+ pub msg_control: *mut ::std::os::raw::c_void,
+ pub msg_controllen: usize,
+ pub msg_flags: ::std::os::raw::c_int,
+}
+impl Default for msghdr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct cmsghdr {
+ pub cmsg_len: usize,
+ pub cmsg_level: ::std::os::raw::c_int,
+ pub cmsg_type: ::std::os::raw::c_int,
+ pub __cmsg_data: __IncompleteArrayField<::std::os::raw::c_uchar>,
+}
+pub const SCM_RIGHTS: _bindgen_ty_3 = 1;
+pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct linger {
+ pub l_onoff: ::std::os::raw::c_int,
+ pub l_linger: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct osockaddr {
+ pub sa_family: ::std::os::raw::c_ushort,
+ pub sa_data: [::std::os::raw::c_uchar; 14usize],
+}
+pub const SHUT_RD: _bindgen_ty_4 = 0;
+pub const SHUT_WR: _bindgen_ty_4 = 1;
+pub const SHUT_RDWR: _bindgen_ty_4 = 2;
+pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
+pub type in_addr_t = u32;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct in_addr {
+ pub s_addr: in_addr_t,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ip_opts {
+ pub ip_dst: in_addr,
+ pub ip_opts: [::std::os::raw::c_char; 40usize],
+}
+impl Default for ip_opts {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ip_mreqn {
+ pub imr_multiaddr: in_addr,
+ pub imr_address: in_addr,
+ pub imr_ifindex: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct in_pktinfo {
+ pub ipi_ifindex: ::std::os::raw::c_int,
+ pub ipi_spec_dst: in_addr,
+ pub ipi_addr: in_addr,
+}
+pub const IPPROTO_IP: _bindgen_ty_5 = 0;
+pub const IPPROTO_ICMP: _bindgen_ty_5 = 1;
+pub const IPPROTO_IGMP: _bindgen_ty_5 = 2;
+pub const IPPROTO_IPIP: _bindgen_ty_5 = 4;
+pub const IPPROTO_TCP: _bindgen_ty_5 = 6;
+pub const IPPROTO_EGP: _bindgen_ty_5 = 8;
+pub const IPPROTO_PUP: _bindgen_ty_5 = 12;
+pub const IPPROTO_UDP: _bindgen_ty_5 = 17;
+pub const IPPROTO_IDP: _bindgen_ty_5 = 22;
+pub const IPPROTO_TP: _bindgen_ty_5 = 29;
+pub const IPPROTO_DCCP: _bindgen_ty_5 = 33;
+pub const IPPROTO_IPV6: _bindgen_ty_5 = 41;
+pub const IPPROTO_RSVP: _bindgen_ty_5 = 46;
+pub const IPPROTO_GRE: _bindgen_ty_5 = 47;
+pub const IPPROTO_ESP: _bindgen_ty_5 = 50;
+pub const IPPROTO_AH: _bindgen_ty_5 = 51;
+pub const IPPROTO_MTP: _bindgen_ty_5 = 92;
+pub const IPPROTO_BEETPH: _bindgen_ty_5 = 94;
+pub const IPPROTO_ENCAP: _bindgen_ty_5 = 98;
+pub const IPPROTO_PIM: _bindgen_ty_5 = 103;
+pub const IPPROTO_COMP: _bindgen_ty_5 = 108;
+pub const IPPROTO_SCTP: _bindgen_ty_5 = 132;
+pub const IPPROTO_UDPLITE: _bindgen_ty_5 = 136;
+pub const IPPROTO_MPLS: _bindgen_ty_5 = 137;
+pub const IPPROTO_RAW: _bindgen_ty_5 = 255;
+pub const IPPROTO_MAX: _bindgen_ty_5 = 256;
+pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
+pub const IPPROTO_HOPOPTS: _bindgen_ty_6 = 0;
+pub const IPPROTO_ROUTING: _bindgen_ty_6 = 43;
+pub const IPPROTO_FRAGMENT: _bindgen_ty_6 = 44;
+pub const IPPROTO_ICMPV6: _bindgen_ty_6 = 58;
+pub const IPPROTO_NONE: _bindgen_ty_6 = 59;
+pub const IPPROTO_DSTOPTS: _bindgen_ty_6 = 60;
+pub const IPPROTO_MH: _bindgen_ty_6 = 135;
+pub type _bindgen_ty_6 = ::std::os::raw::c_uint;
+pub type in_port_t = u16;
+pub const IPPORT_ECHO: _bindgen_ty_7 = 7;
+pub const IPPORT_DISCARD: _bindgen_ty_7 = 9;
+pub const IPPORT_SYSTAT: _bindgen_ty_7 = 11;
+pub const IPPORT_DAYTIME: _bindgen_ty_7 = 13;
+pub const IPPORT_NETSTAT: _bindgen_ty_7 = 15;
+pub const IPPORT_FTP: _bindgen_ty_7 = 21;
+pub const IPPORT_TELNET: _bindgen_ty_7 = 23;
+pub const IPPORT_SMTP: _bindgen_ty_7 = 25;
+pub const IPPORT_TIMESERVER: _bindgen_ty_7 = 37;
+pub const IPPORT_NAMESERVER: _bindgen_ty_7 = 42;
+pub const IPPORT_WHOIS: _bindgen_ty_7 = 43;
+pub const IPPORT_MTP: _bindgen_ty_7 = 57;
+pub const IPPORT_TFTP: _bindgen_ty_7 = 69;
+pub const IPPORT_RJE: _bindgen_ty_7 = 77;
+pub const IPPORT_FINGER: _bindgen_ty_7 = 79;
+pub const IPPORT_TTYLINK: _bindgen_ty_7 = 87;
+pub const IPPORT_SUPDUP: _bindgen_ty_7 = 95;
+pub const IPPORT_EXECSERVER: _bindgen_ty_7 = 512;
+pub const IPPORT_LOGINSERVER: _bindgen_ty_7 = 513;
+pub const IPPORT_CMDSERVER: _bindgen_ty_7 = 514;
+pub const IPPORT_EFSSERVER: _bindgen_ty_7 = 520;
+pub const IPPORT_BIFFUDP: _bindgen_ty_7 = 512;
+pub const IPPORT_WHOSERVER: _bindgen_ty_7 = 513;
+pub const IPPORT_ROUTESERVER: _bindgen_ty_7 = 520;
+pub const IPPORT_RESERVED: _bindgen_ty_7 = 1024;
+pub const IPPORT_USERRESERVED: _bindgen_ty_7 = 5000;
+pub type _bindgen_ty_7 = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct in6_addr {
+ pub __in6_u: in6_addr__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union in6_addr__bindgen_ty_1 {
+ pub __u6_addr8: [u8; 16usize],
+ pub __u6_addr16: [u16; 8usize],
+ pub __u6_addr32: [u32; 4usize],
+}
+impl Default for in6_addr__bindgen_ty_1 {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+impl Default for in6_addr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct sockaddr_in {
+ pub sin_family: sa_family_t,
+ pub sin_port: in_port_t,
+ pub sin_addr: in_addr,
+ pub sin_zero: [::std::os::raw::c_uchar; 8usize],
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct sockaddr_in6 {
+ pub sin6_family: sa_family_t,
+ pub sin6_port: in_port_t,
+ pub sin6_flowinfo: u32,
+ pub sin6_addr: in6_addr,
+ pub sin6_scope_id: u32,
+}
+impl Default for sockaddr_in6 {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ip_mreq {
+ pub imr_multiaddr: in_addr,
+ pub imr_interface: in_addr,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ip_mreq_source {
+ pub imr_multiaddr: in_addr,
+ pub imr_interface: in_addr,
+ pub imr_sourceaddr: in_addr,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct ipv6_mreq {
+ pub ipv6mr_multiaddr: in6_addr,
+ pub ipv6mr_interface: ::std::os::raw::c_uint,
+}
+impl Default for ipv6_mreq {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct group_req {
+ pub gr_interface: u32,
+ pub gr_group: sockaddr_storage,
+}
+impl Default for group_req {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct group_source_req {
+ pub gsr_interface: u32,
+ pub gsr_group: sockaddr_storage,
+ pub gsr_source: sockaddr_storage,
+}
+impl Default for group_source_req {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ip_msfilter {
+ pub imsf_multiaddr: in_addr,
+ pub imsf_interface: in_addr,
+ pub imsf_fmode: u32,
+ pub imsf_numsrc: u32,
+ pub imsf_slist: [in_addr; 1usize],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct group_filter {
+ pub gf_interface: u32,
+ pub gf_group: sockaddr_storage,
+ pub gf_fmode: u32,
+ pub gf_numsrc: u32,
+ pub gf_slist: [sockaddr_storage; 1usize],
+}
+impl Default for group_filter {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct rpcent {
+ pub r_name: *mut ::std::os::raw::c_char,
+ pub r_aliases: *mut *mut ::std::os::raw::c_char,
+ pub r_number: ::std::os::raw::c_int,
+}
+impl Default for rpcent {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct netent {
+ pub n_name: *mut ::std::os::raw::c_char,
+ pub n_aliases: *mut *mut ::std::os::raw::c_char,
+ pub n_addrtype: ::std::os::raw::c_int,
+ pub n_net: u32,
+}
+impl Default for netent {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct hostent {
+ pub h_name: *mut ::std::os::raw::c_char,
+ pub h_aliases: *mut *mut ::std::os::raw::c_char,
+ pub h_addrtype: ::std::os::raw::c_int,
+ pub h_length: ::std::os::raw::c_int,
+ pub h_addr_list: *mut *mut ::std::os::raw::c_char,
+}
+impl Default for hostent {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct servent {
+ pub s_name: *mut ::std::os::raw::c_char,
+ pub s_aliases: *mut *mut ::std::os::raw::c_char,
+ pub s_port: ::std::os::raw::c_int,
+ pub s_proto: *mut ::std::os::raw::c_char,
+}
+impl Default for servent {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct protoent {
+ pub p_name: *mut ::std::os::raw::c_char,
+ pub p_aliases: *mut *mut ::std::os::raw::c_char,
+ pub p_proto: ::std::os::raw::c_int,
+}
+impl Default for protoent {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct addrinfo {
+ pub ai_flags: ::std::os::raw::c_int,
+ pub ai_family: ::std::os::raw::c_int,
+ pub ai_socktype: ::std::os::raw::c_int,
+ pub ai_protocol: ::std::os::raw::c_int,
+ pub ai_addrlen: socklen_t,
+ pub ai_addr: *mut sockaddr,
+ pub ai_canonname: *mut ::std::os::raw::c_char,
+ pub ai_next: *mut addrinfo,
+}
+impl Default for addrinfo {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct passwd {
+ pub pw_name: *mut ::std::os::raw::c_char,
+ pub pw_passwd: *mut ::std::os::raw::c_char,
+ pub pw_uid: __uid_t,
+ pub pw_gid: __gid_t,
+ pub pw_gecos: *mut ::std::os::raw::c_char,
+ pub pw_dir: *mut ::std::os::raw::c_char,
+ pub pw_shell: *mut ::std::os::raw::c_char,
+}
+impl Default for passwd {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type pgsocket = ::std::os::raw::c_int;
+pub type float_t = f32;
+pub type double_t = f64;
+pub const FP_NAN: _bindgen_ty_8 = 0;
+pub const FP_INFINITE: _bindgen_ty_8 = 1;
+pub const FP_ZERO: _bindgen_ty_8 = 2;
+pub const FP_SUBNORMAL: _bindgen_ty_8 = 3;
+pub const FP_NORMAL: _bindgen_ty_8 = 4;
+pub type _bindgen_ty_8 = ::std::os::raw::c_uint;
+pub type qsort_arg_comparator = ::std::option::Option<
+ unsafe extern "C" fn(
+ a: *const ::std::os::raw::c_void,
+ b: *const ::std::os::raw::c_void,
+ arg: *mut ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int,
+>;
+pub type pqsigfunc = ::std::option::Option;
+pub type __jmp_buf = [::std::os::raw::c_ulonglong; 22usize];
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct __jmp_buf_tag {
+ pub __jmpbuf: __jmp_buf,
+ pub __mask_was_saved: ::std::os::raw::c_int,
+ pub __saved_mask: __sigset_t,
+}
+pub type jmp_buf = [__jmp_buf_tag; 1usize];
+pub type sigjmp_buf = [__jmp_buf_tag; 1usize];
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ErrorContextCallback {
+ pub previous: *mut ErrorContextCallback,
+ pub callback: ::std::option::Option,
+ pub arg: *mut ::std::os::raw::c_void,
+}
+impl Default for ErrorContextCallback {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ErrorData {
+ pub elevel: ::std::os::raw::c_int,
+ pub output_to_server: bool,
+ pub output_to_client: bool,
+ pub hide_stmt: bool,
+ pub hide_ctx: bool,
+ pub filename: *const ::std::os::raw::c_char,
+ pub lineno: ::std::os::raw::c_int,
+ pub funcname: *const ::std::os::raw::c_char,
+ pub domain: *const ::std::os::raw::c_char,
+ pub context_domain: *const ::std::os::raw::c_char,
+ pub sqlerrcode: ::std::os::raw::c_int,
+ pub message: *mut ::std::os::raw::c_char,
+ pub detail: *mut ::std::os::raw::c_char,
+ pub detail_log: *mut ::std::os::raw::c_char,
+ pub hint: *mut ::std::os::raw::c_char,
+ pub context: *mut ::std::os::raw::c_char,
+ pub backtrace: *mut ::std::os::raw::c_char,
+ pub message_id: *const ::std::os::raw::c_char,
+ pub schema_name: *mut ::std::os::raw::c_char,
+ pub table_name: *mut ::std::os::raw::c_char,
+ pub column_name: *mut ::std::os::raw::c_char,
+ pub datatype_name: *mut ::std::os::raw::c_char,
+ pub constraint_name: *mut ::std::os::raw::c_char,
+ pub cursorpos: ::std::os::raw::c_int,
+ pub internalpos: ::std::os::raw::c_int,
+ pub internalquery: *mut ::std::os::raw::c_char,
+ pub saved_errno: ::std::os::raw::c_int,
+ pub assoc_context: *mut MemoryContextData,
+}
+impl Default for ErrorData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type emit_log_hook_type = ::std::option::Option;
+pub const PGErrorVerbosity_PGERROR_TERSE: PGErrorVerbosity = 0;
+pub const PGErrorVerbosity_PGERROR_DEFAULT: PGErrorVerbosity = 1;
+pub const PGErrorVerbosity_PGERROR_VERBOSE: PGErrorVerbosity = 2;
+pub type PGErrorVerbosity = ::std::os::raw::c_uint;
+pub type MemoryContext = *mut MemoryContextData;
+pub type MemoryContextCallbackFunction =
+ ::std::option::Option;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct MemoryContextCallback {
+ pub func: MemoryContextCallbackFunction,
+ pub arg: *mut ::std::os::raw::c_void,
+ pub next: *mut MemoryContextCallback,
+}
+impl Default for MemoryContextCallback {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct varatt_external {
+ pub va_rawsize: int32,
+ pub va_extinfo: uint32,
+ pub va_valueid: Oid,
+ pub va_toastrelid: Oid,
+}
+impl Default for varatt_external {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct varatt_indirect {
+ pub pointer: *mut varlena,
+}
+impl Default for varatt_indirect {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct varatt_expanded {
+ pub eohptr: *mut ExpandedObjectHeader,
+}
+impl Default for varatt_expanded {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const vartag_external_VARTAG_INDIRECT: vartag_external = 1;
+pub const vartag_external_VARTAG_EXPANDED_RO: vartag_external = 2;
+pub const vartag_external_VARTAG_EXPANDED_RW: vartag_external = 3;
+pub const vartag_external_VARTAG_ONDISK: vartag_external = 18;
+pub type vartag_external = ::std::os::raw::c_uint;
+#[repr(C)]
+pub union varattrib_4b {
+ pub va_4byte: ::std::mem::ManuallyDrop,
+ pub va_compressed: ::std::mem::ManuallyDrop,
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct varattrib_4b__bindgen_ty_1 {
+ pub va_header: uint32,
+ pub va_data: __IncompleteArrayField<::std::os::raw::c_char>,
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct varattrib_4b__bindgen_ty_2 {
+ pub va_header: uint32,
+ pub va_tcinfo: uint32,
+ pub va_data: __IncompleteArrayField<::std::os::raw::c_char>,
+}
+impl Default for varattrib_4b {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct varattrib_1b {
+ pub va_header: uint8,
+ pub va_data: __IncompleteArrayField<::std::os::raw::c_char>,
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct varattrib_1b_e {
+ pub va_header: uint8,
+ pub va_tag: uint8,
+ pub va_data: __IncompleteArrayField<::std::os::raw::c_char>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct NullableDatum {
+ pub value: Datum,
+ pub isnull: bool,
+}
+impl Default for NullableDatum {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type AttrNumber = int16;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct FormData_pg_attribute {
+ pub attrelid: Oid,
+ pub attname: NameData,
+ pub atttypid: Oid,
+ pub attstattarget: int32,
+ pub attlen: int16,
+ pub attnum: int16,
+ pub attndims: int32,
+ pub attcacheoff: int32,
+ pub atttypmod: int32,
+ pub attbyval: bool,
+ pub attalign: ::std::os::raw::c_char,
+ pub attstorage: ::std::os::raw::c_char,
+ pub attcompression: ::std::os::raw::c_char,
+ pub attnotnull: bool,
+ pub atthasdef: bool,
+ pub atthasmissing: bool,
+ pub attidentity: ::std::os::raw::c_char,
+ pub attgenerated: ::std::os::raw::c_char,
+ pub attisdropped: bool,
+ pub attislocal: bool,
+ pub attinhcount: int32,
+ pub attcollation: Oid,
+}
+impl Default for FormData_pg_attribute {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type Form_pg_attribute = *mut FormData_pg_attribute;
+#[repr(u32)]
+#[non_exhaustive]
+#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
+pub enum NodeTag {
+ T_Invalid = 0,
+ T_IndexInfo = 1,
+ T_ExprContext = 2,
+ T_ProjectionInfo = 3,
+ T_JunkFilter = 4,
+ T_OnConflictSetState = 5,
+ T_ResultRelInfo = 6,
+ T_EState = 7,
+ T_TupleTableSlot = 8,
+ T_Plan = 9,
+ T_Result = 10,
+ T_ProjectSet = 11,
+ T_ModifyTable = 12,
+ T_Append = 13,
+ T_MergeAppend = 14,
+ T_RecursiveUnion = 15,
+ T_BitmapAnd = 16,
+ T_BitmapOr = 17,
+ T_Scan = 18,
+ T_SeqScan = 19,
+ T_SampleScan = 20,
+ T_IndexScan = 21,
+ T_IndexOnlyScan = 22,
+ T_BitmapIndexScan = 23,
+ T_BitmapHeapScan = 24,
+ T_TidScan = 25,
+ T_TidRangeScan = 26,
+ T_SubqueryScan = 27,
+ T_FunctionScan = 28,
+ T_ValuesScan = 29,
+ T_TableFuncScan = 30,
+ T_CteScan = 31,
+ T_NamedTuplestoreScan = 32,
+ T_WorkTableScan = 33,
+ T_ForeignScan = 34,
+ T_CustomScan = 35,
+ T_Join = 36,
+ T_NestLoop = 37,
+ T_MergeJoin = 38,
+ T_HashJoin = 39,
+ T_Material = 40,
+ T_Memoize = 41,
+ T_Sort = 42,
+ T_IncrementalSort = 43,
+ T_Group = 44,
+ T_Agg = 45,
+ T_WindowAgg = 46,
+ T_Unique = 47,
+ T_Gather = 48,
+ T_GatherMerge = 49,
+ T_Hash = 50,
+ T_SetOp = 51,
+ T_LockRows = 52,
+ T_Limit = 53,
+ T_NestLoopParam = 54,
+ T_PlanRowMark = 55,
+ T_PartitionPruneInfo = 56,
+ T_PartitionedRelPruneInfo = 57,
+ T_PartitionPruneStepOp = 58,
+ T_PartitionPruneStepCombine = 59,
+ T_PlanInvalItem = 60,
+ T_PlanState = 61,
+ T_ResultState = 62,
+ T_ProjectSetState = 63,
+ T_ModifyTableState = 64,
+ T_AppendState = 65,
+ T_MergeAppendState = 66,
+ T_RecursiveUnionState = 67,
+ T_BitmapAndState = 68,
+ T_BitmapOrState = 69,
+ T_ScanState = 70,
+ T_SeqScanState = 71,
+ T_SampleScanState = 72,
+ T_IndexScanState = 73,
+ T_IndexOnlyScanState = 74,
+ T_BitmapIndexScanState = 75,
+ T_BitmapHeapScanState = 76,
+ T_TidScanState = 77,
+ T_TidRangeScanState = 78,
+ T_SubqueryScanState = 79,
+ T_FunctionScanState = 80,
+ T_TableFuncScanState = 81,
+ T_ValuesScanState = 82,
+ T_CteScanState = 83,
+ T_NamedTuplestoreScanState = 84,
+ T_WorkTableScanState = 85,
+ T_ForeignScanState = 86,
+ T_CustomScanState = 87,
+ T_JoinState = 88,
+ T_NestLoopState = 89,
+ T_MergeJoinState = 90,
+ T_HashJoinState = 91,
+ T_MaterialState = 92,
+ T_MemoizeState = 93,
+ T_SortState = 94,
+ T_IncrementalSortState = 95,
+ T_GroupState = 96,
+ T_AggState = 97,
+ T_WindowAggState = 98,
+ T_UniqueState = 99,
+ T_GatherState = 100,
+ T_GatherMergeState = 101,
+ T_HashState = 102,
+ T_SetOpState = 103,
+ T_LockRowsState = 104,
+ T_LimitState = 105,
+ T_Alias = 106,
+ T_RangeVar = 107,
+ T_TableFunc = 108,
+ T_Expr = 109,
+ T_Var = 110,
+ T_Const = 111,
+ T_Param = 112,
+ T_Aggref = 113,
+ T_GroupingFunc = 114,
+ T_WindowFunc = 115,
+ T_SubscriptingRef = 116,
+ T_FuncExpr = 117,
+ T_NamedArgExpr = 118,
+ T_OpExpr = 119,
+ T_DistinctExpr = 120,
+ T_NullIfExpr = 121,
+ T_ScalarArrayOpExpr = 122,
+ T_BoolExpr = 123,
+ T_SubLink = 124,
+ T_SubPlan = 125,
+ T_AlternativeSubPlan = 126,
+ T_FieldSelect = 127,
+ T_FieldStore = 128,
+ T_RelabelType = 129,
+ T_CoerceViaIO = 130,
+ T_ArrayCoerceExpr = 131,
+ T_ConvertRowtypeExpr = 132,
+ T_CollateExpr = 133,
+ T_CaseExpr = 134,
+ T_CaseWhen = 135,
+ T_CaseTestExpr = 136,
+ T_ArrayExpr = 137,
+ T_RowExpr = 138,
+ T_RowCompareExpr = 139,
+ T_CoalesceExpr = 140,
+ T_MinMaxExpr = 141,
+ T_SQLValueFunction = 142,
+ T_XmlExpr = 143,
+ T_NullTest = 144,
+ T_BooleanTest = 145,
+ T_CoerceToDomain = 146,
+ T_CoerceToDomainValue = 147,
+ T_SetToDefault = 148,
+ T_CurrentOfExpr = 149,
+ T_NextValueExpr = 150,
+ T_InferenceElem = 151,
+ T_TargetEntry = 152,
+ T_RangeTblRef = 153,
+ T_JoinExpr = 154,
+ T_FromExpr = 155,
+ T_OnConflictExpr = 156,
+ T_IntoClause = 157,
+ T_ExprState = 158,
+ T_WindowFuncExprState = 159,
+ T_SetExprState = 160,
+ T_SubPlanState = 161,
+ T_DomainConstraintState = 162,
+ T_PlannerInfo = 163,
+ T_PlannerGlobal = 164,
+ T_RelOptInfo = 165,
+ T_IndexOptInfo = 166,
+ T_ForeignKeyOptInfo = 167,
+ T_ParamPathInfo = 168,
+ T_Path = 169,
+ T_IndexPath = 170,
+ T_BitmapHeapPath = 171,
+ T_BitmapAndPath = 172,
+ T_BitmapOrPath = 173,
+ T_TidPath = 174,
+ T_TidRangePath = 175,
+ T_SubqueryScanPath = 176,
+ T_ForeignPath = 177,
+ T_CustomPath = 178,
+ T_NestPath = 179,
+ T_MergePath = 180,
+ T_HashPath = 181,
+ T_AppendPath = 182,
+ T_MergeAppendPath = 183,
+ T_GroupResultPath = 184,
+ T_MaterialPath = 185,
+ T_MemoizePath = 186,
+ T_UniquePath = 187,
+ T_GatherPath = 188,
+ T_GatherMergePath = 189,
+ T_ProjectionPath = 190,
+ T_ProjectSetPath = 191,
+ T_SortPath = 192,
+ T_IncrementalSortPath = 193,
+ T_GroupPath = 194,
+ T_UpperUniquePath = 195,
+ T_AggPath = 196,
+ T_GroupingSetsPath = 197,
+ T_MinMaxAggPath = 198,
+ T_WindowAggPath = 199,
+ T_SetOpPath = 200,
+ T_RecursiveUnionPath = 201,
+ T_LockRowsPath = 202,
+ T_ModifyTablePath = 203,
+ T_LimitPath = 204,
+ T_EquivalenceClass = 205,
+ T_EquivalenceMember = 206,
+ T_PathKey = 207,
+ T_PathTarget = 208,
+ T_RestrictInfo = 209,
+ T_IndexClause = 210,
+ T_PlaceHolderVar = 211,
+ T_SpecialJoinInfo = 212,
+ T_AppendRelInfo = 213,
+ T_RowIdentityVarInfo = 214,
+ T_PlaceHolderInfo = 215,
+ T_MinMaxAggInfo = 216,
+ T_PlannerParamItem = 217,
+ T_RollupData = 218,
+ T_GroupingSetData = 219,
+ T_StatisticExtInfo = 220,
+ T_MemoryContext = 221,
+ T_AllocSetContext = 222,
+ T_SlabContext = 223,
+ T_GenerationContext = 224,
+ T_Value = 225,
+ T_Integer = 226,
+ T_Float = 227,
+ T_String = 228,
+ T_BitString = 229,
+ T_Null = 230,
+ T_List = 231,
+ T_IntList = 232,
+ T_OidList = 233,
+ T_ExtensibleNode = 234,
+ T_RawStmt = 235,
+ T_Query = 236,
+ T_PlannedStmt = 237,
+ T_InsertStmt = 238,
+ T_DeleteStmt = 239,
+ T_UpdateStmt = 240,
+ T_SelectStmt = 241,
+ T_ReturnStmt = 242,
+ T_PLAssignStmt = 243,
+ T_AlterTableStmt = 244,
+ T_AlterTableCmd = 245,
+ T_AlterDomainStmt = 246,
+ T_SetOperationStmt = 247,
+ T_GrantStmt = 248,
+ T_GrantRoleStmt = 249,
+ T_AlterDefaultPrivilegesStmt = 250,
+ T_ClosePortalStmt = 251,
+ T_ClusterStmt = 252,
+ T_CopyStmt = 253,
+ T_CreateStmt = 254,
+ T_DefineStmt = 255,
+ T_DropStmt = 256,
+ T_TruncateStmt = 257,
+ T_CommentStmt = 258,
+ T_FetchStmt = 259,
+ T_IndexStmt = 260,
+ T_CreateFunctionStmt = 261,
+ T_AlterFunctionStmt = 262,
+ T_DoStmt = 263,
+ T_RenameStmt = 264,
+ T_RuleStmt = 265,
+ T_NotifyStmt = 266,
+ T_ListenStmt = 267,
+ T_UnlistenStmt = 268,
+ T_TransactionStmt = 269,
+ T_ViewStmt = 270,
+ T_LoadStmt = 271,
+ T_CreateDomainStmt = 272,
+ T_CreatedbStmt = 273,
+ T_DropdbStmt = 274,
+ T_VacuumStmt = 275,
+ T_ExplainStmt = 276,
+ T_CreateTableAsStmt = 277,
+ T_CreateSeqStmt = 278,
+ T_AlterSeqStmt = 279,
+ T_VariableSetStmt = 280,
+ T_VariableShowStmt = 281,
+ T_DiscardStmt = 282,
+ T_CreateTrigStmt = 283,
+ T_CreatePLangStmt = 284,
+ T_CreateRoleStmt = 285,
+ T_AlterRoleStmt = 286,
+ T_DropRoleStmt = 287,
+ T_LockStmt = 288,
+ T_ConstraintsSetStmt = 289,
+ T_ReindexStmt = 290,
+ T_CheckPointStmt = 291,
+ T_CreateSchemaStmt = 292,
+ T_AlterDatabaseStmt = 293,
+ T_AlterDatabaseSetStmt = 294,
+ T_AlterRoleSetStmt = 295,
+ T_CreateConversionStmt = 296,
+ T_CreateCastStmt = 297,
+ T_CreateOpClassStmt = 298,
+ T_CreateOpFamilyStmt = 299,
+ T_AlterOpFamilyStmt = 300,
+ T_PrepareStmt = 301,
+ T_ExecuteStmt = 302,
+ T_DeallocateStmt = 303,
+ T_DeclareCursorStmt = 304,
+ T_CreateTableSpaceStmt = 305,
+ T_DropTableSpaceStmt = 306,
+ T_AlterObjectDependsStmt = 307,
+ T_AlterObjectSchemaStmt = 308,
+ T_AlterOwnerStmt = 309,
+ T_AlterOperatorStmt = 310,
+ T_AlterTypeStmt = 311,
+ T_DropOwnedStmt = 312,
+ T_ReassignOwnedStmt = 313,
+ T_CompositeTypeStmt = 314,
+ T_CreateEnumStmt = 315,
+ T_CreateRangeStmt = 316,
+ T_AlterEnumStmt = 317,
+ T_AlterTSDictionaryStmt = 318,
+ T_AlterTSConfigurationStmt = 319,
+ T_CreateFdwStmt = 320,
+ T_AlterFdwStmt = 321,
+ T_CreateForeignServerStmt = 322,
+ T_AlterForeignServerStmt = 323,
+ T_CreateUserMappingStmt = 324,
+ T_AlterUserMappingStmt = 325,
+ T_DropUserMappingStmt = 326,
+ T_AlterTableSpaceOptionsStmt = 327,
+ T_AlterTableMoveAllStmt = 328,
+ T_SecLabelStmt = 329,
+ T_CreateForeignTableStmt = 330,
+ T_ImportForeignSchemaStmt = 331,
+ T_CreateExtensionStmt = 332,
+ T_AlterExtensionStmt = 333,
+ T_AlterExtensionContentsStmt = 334,
+ T_CreateEventTrigStmt = 335,
+ T_AlterEventTrigStmt = 336,
+ T_RefreshMatViewStmt = 337,
+ T_ReplicaIdentityStmt = 338,
+ T_AlterSystemStmt = 339,
+ T_CreatePolicyStmt = 340,
+ T_AlterPolicyStmt = 341,
+ T_CreateTransformStmt = 342,
+ T_CreateAmStmt = 343,
+ T_CreatePublicationStmt = 344,
+ T_AlterPublicationStmt = 345,
+ T_CreateSubscriptionStmt = 346,
+ T_AlterSubscriptionStmt = 347,
+ T_DropSubscriptionStmt = 348,
+ T_CreateStatsStmt = 349,
+ T_AlterCollationStmt = 350,
+ T_CallStmt = 351,
+ T_AlterStatsStmt = 352,
+ T_A_Expr = 353,
+ T_ColumnRef = 354,
+ T_ParamRef = 355,
+ T_A_Const = 356,
+ T_FuncCall = 357,
+ T_A_Star = 358,
+ T_A_Indices = 359,
+ T_A_Indirection = 360,
+ T_A_ArrayExpr = 361,
+ T_ResTarget = 362,
+ T_MultiAssignRef = 363,
+ T_TypeCast = 364,
+ T_CollateClause = 365,
+ T_SortBy = 366,
+ T_WindowDef = 367,
+ T_RangeSubselect = 368,
+ T_RangeFunction = 369,
+ T_RangeTableSample = 370,
+ T_RangeTableFunc = 371,
+ T_RangeTableFuncCol = 372,
+ T_TypeName = 373,
+ T_ColumnDef = 374,
+ T_IndexElem = 375,
+ T_StatsElem = 376,
+ T_Constraint = 377,
+ T_DefElem = 378,
+ T_RangeTblEntry = 379,
+ T_RangeTblFunction = 380,
+ T_TableSampleClause = 381,
+ T_WithCheckOption = 382,
+ T_SortGroupClause = 383,
+ T_GroupingSet = 384,
+ T_WindowClause = 385,
+ T_ObjectWithArgs = 386,
+ T_AccessPriv = 387,
+ T_CreateOpClassItem = 388,
+ T_TableLikeClause = 389,
+ T_FunctionParameter = 390,
+ T_LockingClause = 391,
+ T_RowMarkClause = 392,
+ T_XmlSerialize = 393,
+ T_WithClause = 394,
+ T_InferClause = 395,
+ T_OnConflictClause = 396,
+ T_CTESearchClause = 397,
+ T_CTECycleClause = 398,
+ T_CommonTableExpr = 399,
+ T_RoleSpec = 400,
+ T_TriggerTransition = 401,
+ T_PartitionElem = 402,
+ T_PartitionSpec = 403,
+ T_PartitionBoundSpec = 404,
+ T_PartitionRangeDatum = 405,
+ T_PartitionCmd = 406,
+ T_VacuumRelation = 407,
+ T_IdentifySystemCmd = 408,
+ T_BaseBackupCmd = 409,
+ T_CreateReplicationSlotCmd = 410,
+ T_DropReplicationSlotCmd = 411,
+ T_StartReplicationCmd = 412,
+ T_TimeLineHistoryCmd = 413,
+ T_SQLCmd = 414,
+ T_TriggerData = 415,
+ T_EventTriggerData = 416,
+ T_ReturnSetInfo = 417,
+ T_WindowObjectData = 418,
+ T_TIDBitmap = 419,
+ T_InlineCodeBlock = 420,
+ T_FdwRoutine = 421,
+ T_IndexAmRoutine = 422,
+ T_TableAmRoutine = 423,
+ T_TsmRoutine = 424,
+ T_ForeignKeyCacheInfo = 425,
+ T_CallContext = 426,
+ T_SupportRequestSimplify = 427,
+ T_SupportRequestSelectivity = 428,
+ T_SupportRequestCost = 429,
+ T_SupportRequestRows = 430,
+ T_SupportRequestIndexCondition = 431,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Node {
+ pub type_: NodeTag,
+}
+impl Default for Node {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type Selectivity = f64;
+pub type Cost = f64;
+pub const CmdType_CMD_UNKNOWN: CmdType = 0;
+pub const CmdType_CMD_SELECT: CmdType = 1;
+pub const CmdType_CMD_UPDATE: CmdType = 2;
+pub const CmdType_CMD_INSERT: CmdType = 3;
+pub const CmdType_CMD_DELETE: CmdType = 4;
+pub const CmdType_CMD_UTILITY: CmdType = 5;
+pub const CmdType_CMD_NOTHING: CmdType = 6;
+pub type CmdType = ::std::os::raw::c_uint;
+pub const JoinType_JOIN_INNER: JoinType = 0;
+pub const JoinType_JOIN_LEFT: JoinType = 1;
+pub const JoinType_JOIN_FULL: JoinType = 2;
+pub const JoinType_JOIN_RIGHT: JoinType = 3;
+pub const JoinType_JOIN_SEMI: JoinType = 4;
+pub const JoinType_JOIN_ANTI: JoinType = 5;
+pub const JoinType_JOIN_UNIQUE_OUTER: JoinType = 6;
+pub const JoinType_JOIN_UNIQUE_INNER: JoinType = 7;
+pub type JoinType = ::std::os::raw::c_uint;
+pub const AggStrategy_AGG_PLAIN: AggStrategy = 0;
+pub const AggStrategy_AGG_SORTED: AggStrategy = 1;
+pub const AggStrategy_AGG_HASHED: AggStrategy = 2;
+pub const AggStrategy_AGG_MIXED: AggStrategy = 3;
+pub type AggStrategy = ::std::os::raw::c_uint;
+pub const AggSplit_AGGSPLIT_SIMPLE: AggSplit = 0;
+pub const AggSplit_AGGSPLIT_INITIAL_SERIAL: AggSplit = 6;
+pub const AggSplit_AGGSPLIT_FINAL_DESERIAL: AggSplit = 9;
+pub type AggSplit = ::std::os::raw::c_uint;
+pub const SetOpCmd_SETOPCMD_INTERSECT: SetOpCmd = 0;
+pub const SetOpCmd_SETOPCMD_INTERSECT_ALL: SetOpCmd = 1;
+pub const SetOpCmd_SETOPCMD_EXCEPT: SetOpCmd = 2;
+pub const SetOpCmd_SETOPCMD_EXCEPT_ALL: SetOpCmd = 3;
+pub type SetOpCmd = ::std::os::raw::c_uint;
+pub const SetOpStrategy_SETOP_SORTED: SetOpStrategy = 0;
+pub const SetOpStrategy_SETOP_HASHED: SetOpStrategy = 1;
+pub type SetOpStrategy = ::std::os::raw::c_uint;
+pub const OnConflictAction_ONCONFLICT_NONE: OnConflictAction = 0;
+pub const OnConflictAction_ONCONFLICT_NOTHING: OnConflictAction = 1;
+pub const OnConflictAction_ONCONFLICT_UPDATE: OnConflictAction = 2;
+pub type OnConflictAction = ::std::os::raw::c_uint;
+pub const LimitOption_LIMIT_OPTION_COUNT: LimitOption = 0;
+pub const LimitOption_LIMIT_OPTION_WITH_TIES: LimitOption = 1;
+pub const LimitOption_LIMIT_OPTION_DEFAULT: LimitOption = 2;
+pub type LimitOption = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ListCell {
+ pub ptr_value: *mut ::std::os::raw::c_void,
+ pub int_value: ::std::os::raw::c_int,
+ pub oid_value: Oid,
+}
+impl Default for ListCell {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+pub struct List {
+ pub type_: NodeTag,
+ pub length: ::std::os::raw::c_int,
+ pub max_length: ::std::os::raw::c_int,
+ pub elements: *mut ListCell,
+ pub initial_elements: __IncompleteArrayField,
+}
+impl Default for List {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ForEachState {
+ pub l: *const List,
+ pub i: ::std::os::raw::c_int,
+}
+impl Default for ForEachState {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ForBothState {
+ pub l1: *const List,
+ pub l2: *const List,
+ pub i: ::std::os::raw::c_int,
+}
+impl Default for ForBothState {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ForBothCellState {
+ pub l1: *const List,
+ pub l2: *const List,
+ pub i1: ::std::os::raw::c_int,
+ pub i2: ::std::os::raw::c_int,
+}
+impl Default for ForBothCellState {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ForThreeState {
+ pub l1: *const List,
+ pub l2: *const List,
+ pub l3: *const List,
+ pub i: ::std::os::raw::c_int,
+}
+impl Default for ForThreeState {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ForFourState {
+ pub l1: *const List,
+ pub l2: *const List,
+ pub l3: *const List,
+ pub l4: *const List,
+ pub i: ::std::os::raw::c_int,
+}
+impl Default for ForFourState {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ForFiveState {
+ pub l1: *const List,
+ pub l2: *const List,
+ pub l3: *const List,
+ pub l4: *const List,
+ pub l5: *const List,
+ pub i: ::std::os::raw::c_int,
+}
+impl Default for ForFiveState {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type list_sort_comparator = ::std::option::Option<
+ unsafe extern "C" fn(a: *const ListCell, b: *const ListCell) -> ::std::os::raw::c_int,
+>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct AttrDefault {
+ pub adnum: AttrNumber,
+ pub adbin: *mut ::std::os::raw::c_char,
+}
+impl Default for AttrDefault {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ConstrCheck {
+ pub ccname: *mut ::std::os::raw::c_char,
+ pub ccbin: *mut ::std::os::raw::c_char,
+ pub ccvalid: bool,
+ pub ccnoinherit: bool,
+}
+impl Default for ConstrCheck {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TupleConstr {
+ pub defval: *mut AttrDefault,
+ pub check: *mut ConstrCheck,
+ pub missing: *mut AttrMissing,
+ pub num_defval: uint16,
+ pub num_check: uint16,
+ pub has_not_null: bool,
+ pub has_generated_stored: bool,
+}
+impl Default for TupleConstr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct TupleDescData {
+ pub natts: ::std::os::raw::c_int,
+ pub tdtypeid: Oid,
+ pub tdtypmod: int32,
+ pub tdrefcount: ::std::os::raw::c_int,
+ pub constr: *mut TupleConstr,
+ pub attrs: __IncompleteArrayField,
+}
+impl Default for TupleDescData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type TupleDesc = *mut TupleDescData;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct AttrMap {
+ pub attnums: *mut AttrNumber,
+ pub maplen: ::std::os::raw::c_int,
+}
+impl Default for AttrMap {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type BlockNumber = uint32;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct BlockIdData {
+ pub bi_hi: uint16,
+ pub bi_lo: uint16,
+}
+pub type BlockId = *mut BlockIdData;
+#[repr(C)]
+#[repr(align(4))]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ItemIdData {
+ pub _bitfield_align_1: [u16; 0],
+ pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
+}
+impl ItemIdData {
+ #[inline]
+ pub fn lp_off(&self) -> ::std::os::raw::c_uint {
+ unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 15u8) as u32) }
+ }
+ #[inline]
+ pub fn set_lp_off(&mut self, val: ::std::os::raw::c_uint) {
+ unsafe {
+ let val: u32 = ::std::mem::transmute(val);
+ self._bitfield_1.set(0usize, 15u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn lp_flags(&self) -> ::std::os::raw::c_uint {
+ unsafe { ::std::mem::transmute(self._bitfield_1.get(15usize, 2u8) as u32) }
+ }
+ #[inline]
+ pub fn set_lp_flags(&mut self, val: ::std::os::raw::c_uint) {
+ unsafe {
+ let val: u32 = ::std::mem::transmute(val);
+ self._bitfield_1.set(15usize, 2u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn lp_len(&self) -> ::std::os::raw::c_uint {
+ unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 15u8) as u32) }
+ }
+ #[inline]
+ pub fn set_lp_len(&mut self, val: ::std::os::raw::c_uint) {
+ unsafe {
+ let val: u32 = ::std::mem::transmute(val);
+ self._bitfield_1.set(17usize, 15u8, val as u64)
+ }
+ }
+ #[inline]
+ pub fn new_bitfield_1(
+ lp_off: ::std::os::raw::c_uint,
+ lp_flags: ::std::os::raw::c_uint,
+ lp_len: ::std::os::raw::c_uint,
+ ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
+ let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
+ __bindgen_bitfield_unit.set(0usize, 15u8, {
+ let lp_off: u32 = unsafe { ::std::mem::transmute(lp_off) };
+ lp_off as u64
+ });
+ __bindgen_bitfield_unit.set(15usize, 2u8, {
+ let lp_flags: u32 = unsafe { ::std::mem::transmute(lp_flags) };
+ lp_flags as u64
+ });
+ __bindgen_bitfield_unit.set(17usize, 15u8, {
+ let lp_len: u32 = unsafe { ::std::mem::transmute(lp_len) };
+ lp_len as u64
+ });
+ __bindgen_bitfield_unit
+ }
+}
+pub type ItemId = *mut ItemIdData;
+pub type ItemOffset = uint16;
+pub type ItemLength = uint16;
+pub type OffsetNumber = uint16;
+#[repr(C, packed(2))]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ItemPointerData {
+ pub ip_blkid: BlockIdData,
+ pub ip_posid: OffsetNumber,
+}
+pub type ItemPointer = *mut ItemPointerData;
+pub type HeapTupleHeader = *mut HeapTupleHeaderData;
+pub type MinimalTuple = *mut MinimalTupleData;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct HeapTupleData {
+ pub t_len: uint32,
+ pub t_self: ItemPointerData,
+ pub t_tableOid: Oid,
+ pub t_data: HeapTupleHeader,
+}
+impl Default for HeapTupleData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type HeapTuple = *mut HeapTupleData;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct flock {
+ pub l_type: ::std::os::raw::c_short,
+ pub l_whence: ::std::os::raw::c_short,
+ pub l_start: __off_t,
+ pub l_len: __off_t,
+ pub l_pid: __pid_t,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct stat {
+ pub st_dev: __dev_t,
+ pub st_ino: __ino_t,
+ pub st_mode: __mode_t,
+ pub st_nlink: __nlink_t,
+ pub st_uid: __uid_t,
+ pub st_gid: __gid_t,
+ pub st_rdev: __dev_t,
+ pub __pad1: __dev_t,
+ pub st_size: __off_t,
+ pub st_blksize: __blksize_t,
+ pub __pad2: ::std::os::raw::c_int,
+ pub st_blocks: __blkcnt_t,
+ pub st_atim: timespec,
+ pub st_mtim: timespec,
+ pub st_ctim: timespec,
+ pub __glibc_reserved: [::std::os::raw::c_int; 2usize],
+}
+pub type XLogRecPtr = uint64;
+pub type XLogSegNo = uint64;
+pub type TimeLineID = uint32;
+pub type RepOriginId = uint16;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct FullTransactionId {
+ pub value: uint64,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct VariableCacheData {
+ pub nextOid: Oid,
+ pub oidCount: uint32,
+ pub nextXid: FullTransactionId,
+ pub oldestXid: TransactionId,
+ pub xidVacLimit: TransactionId,
+ pub xidWarnLimit: TransactionId,
+ pub xidStopLimit: TransactionId,
+ pub xidWrapLimit: TransactionId,
+ pub oldestXidDB: Oid,
+ pub oldestCommitTsXid: TransactionId,
+ pub newestCommitTsXid: TransactionId,
+ pub latestCompletedXid: FullTransactionId,
+ pub xactCompletionCount: uint64,
+ pub oldestClogXid: TransactionId,
+}
+impl Default for VariableCacheData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type VariableCache = *mut VariableCacheData;
+pub type Item = Pointer;
+pub type Page = Pointer;
+pub type LocationIndex = uint16;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct PageXLogRecPtr {
+ pub xlogid: uint32,
+ pub xrecoff: uint32,
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct PageHeaderData {
+ pub pd_lsn: PageXLogRecPtr,
+ pub pd_checksum: uint16,
+ pub pd_flags: uint16,
+ pub pd_lower: LocationIndex,
+ pub pd_upper: LocationIndex,
+ pub pd_special: LocationIndex,
+ pub pd_pagesize_version: uint16,
+ pub pd_prune_xid: TransactionId,
+ pub pd_linp: __IncompleteArrayField,
+}
+pub type PageHeader = *mut PageHeaderData;
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub struct HeapTupleFields {
+ pub t_xmin: TransactionId,
+ pub t_xmax: TransactionId,
+ pub t_field3: HeapTupleFields__bindgen_ty_1,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union HeapTupleFields__bindgen_ty_1 {
+ pub t_cid: CommandId,
+ pub t_xvac: TransactionId,
+}
+impl Default for HeapTupleFields__bindgen_ty_1 {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+impl Default for HeapTupleFields {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct DatumTupleFields {
+ pub datum_len_: int32,
+ pub datum_typmod: int32,
+ pub datum_typeid: Oid,
+}
+impl Default for DatumTupleFields {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+pub struct HeapTupleHeaderData {
+ pub t_choice: HeapTupleHeaderData__bindgen_ty_1,
+ pub t_ctid: ItemPointerData,
+ pub t_infomask2: uint16,
+ pub t_infomask: uint16,
+ pub t_hoff: uint8,
+ pub t_bits: __IncompleteArrayField,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union HeapTupleHeaderData__bindgen_ty_1 {
+ pub t_heap: HeapTupleFields,
+ pub t_datum: DatumTupleFields,
+}
+impl Default for HeapTupleHeaderData__bindgen_ty_1 {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+impl Default for HeapTupleHeaderData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct MinimalTupleData {
+ pub t_len: uint32,
+ pub mt_padding: [::std::os::raw::c_char; 6usize],
+ pub t_infomask2: uint16,
+ pub t_infomask: uint16,
+ pub t_hoff: uint8,
+ pub t_bits: __IncompleteArrayField,
+}
+pub type Buffer = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BufferAccessStrategyData {
+ _unused: [u8; 0],
+}
+pub type BufferAccessStrategy = *mut BufferAccessStrategyData;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TupleTableSlot {
+ pub type_: NodeTag,
+ pub tts_flags: uint16,
+ pub tts_nvalid: AttrNumber,
+ pub tts_ops: *const TupleTableSlotOps,
+ pub tts_tupleDescriptor: TupleDesc,
+ pub tts_values: *mut Datum,
+ pub tts_isnull: *mut bool,
+ pub tts_mcxt: MemoryContext,
+ pub tts_tid: ItemPointerData,
+ pub tts_tableOid: Oid,
+}
+impl Default for TupleTableSlot {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct TupleTableSlotOps {
+ pub base_slot_size: usize,
+ pub init: ::std::option::Option,
+ pub release: ::std::option::Option,
+ pub clear: ::std::option::Option,
+ pub getsomeattrs: ::std::option::Option<
+ unsafe extern "C" fn(slot: *mut TupleTableSlot, natts: ::std::os::raw::c_int),
+ >,
+ pub getsysattr: ::std::option::Option<
+ unsafe extern "C" fn(
+ slot: *mut TupleTableSlot,
+ attnum: ::std::os::raw::c_int,
+ isnull: *mut bool,
+ ) -> Datum,
+ >,
+ pub materialize: ::std::option::Option,
+ pub copyslot: ::std::option::Option<
+ unsafe extern "C" fn(dstslot: *mut TupleTableSlot, srcslot: *mut TupleTableSlot),
+ >,
+ pub get_heap_tuple:
+ ::std::option::Option HeapTuple>,
+ pub get_minimal_tuple:
+ ::std::option::Option MinimalTuple>,
+ pub copy_heap_tuple:
+ ::std::option::Option HeapTuple>,
+ pub copy_minimal_tuple:
+ ::std::option::Option MinimalTuple>,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct VirtualTupleTableSlot {
+ pub base: TupleTableSlot,
+ pub data: *mut ::std::os::raw::c_char,
+}
+impl Default for VirtualTupleTableSlot {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct HeapTupleTableSlot {
+ pub base: TupleTableSlot,
+ pub tuple: HeapTuple,
+ pub off: uint32,
+ pub tupdata: HeapTupleData,
+}
+impl Default for HeapTupleTableSlot {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BufferHeapTupleTableSlot {
+ pub base: HeapTupleTableSlot,
+ pub buffer: Buffer,
+}
+impl Default for BufferHeapTupleTableSlot {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct MinimalTupleTableSlot {
+ pub base: TupleTableSlot,
+ pub tuple: HeapTuple,
+ pub mintuple: MinimalTuple,
+ pub minhdr: HeapTupleData,
+ pub off: uint32,
+}
+impl Default for MinimalTupleTableSlot {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type bitmapword = uint64;
+pub type signedbitmapword = int64;
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct Bitmapset {
+ pub nwords: ::std::os::raw::c_int,
+ pub words: __IncompleteArrayField,
+}
+pub const BMS_Comparison_BMS_EQUAL: BMS_Comparison = 0;
+pub const BMS_Comparison_BMS_SUBSET1: BMS_Comparison = 1;
+pub const BMS_Comparison_BMS_SUBSET2: BMS_Comparison = 2;
+pub const BMS_Comparison_BMS_DIFFERENT: BMS_Comparison = 3;
+pub type BMS_Comparison = ::std::os::raw::c_uint;
+pub const BMS_Membership_BMS_EMPTY_SET: BMS_Membership = 0;
+pub const BMS_Membership_BMS_SINGLETON: BMS_Membership = 1;
+pub const BMS_Membership_BMS_MULTIPLE: BMS_Membership = 2;
+pub type BMS_Membership = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TupleConversionMap {
+ pub indesc: TupleDesc,
+ pub outdesc: TupleDesc,
+ pub attrMap: *mut AttrMap,
+ pub invalues: *mut Datum,
+ pub inisnull: *mut bool,
+ pub outvalues: *mut Datum,
+ pub outisnull: *mut bool,
+}
+impl Default for TupleConversionMap {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct tm {
+ pub tm_sec: ::std::os::raw::c_int,
+ pub tm_min: ::std::os::raw::c_int,
+ pub tm_hour: ::std::os::raw::c_int,
+ pub tm_mday: ::std::os::raw::c_int,
+ pub tm_mon: ::std::os::raw::c_int,
+ pub tm_year: ::std::os::raw::c_int,
+ pub tm_wday: ::std::os::raw::c_int,
+ pub tm_yday: ::std::os::raw::c_int,
+ pub tm_isdst: ::std::os::raw::c_int,
+ pub tm_gmtoff: ::std::os::raw::c_long,
+ pub tm_zone: *const ::std::os::raw::c_char,
+}
+impl Default for tm {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct itimerspec {
+ pub it_interval: timespec,
+ pub it_value: timespec,
+}
+pub type instr_time = timespec;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct BufferUsage {
+ pub shared_blks_hit: int64,
+ pub shared_blks_read: int64,
+ pub shared_blks_dirtied: int64,
+ pub shared_blks_written: int64,
+ pub local_blks_hit: int64,
+ pub local_blks_read: int64,
+ pub local_blks_dirtied: int64,
+ pub local_blks_written: int64,
+ pub temp_blks_read: int64,
+ pub temp_blks_written: int64,
+ pub blk_read_time: instr_time,
+ pub blk_write_time: instr_time,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct WalUsage {
+ pub wal_records: int64,
+ pub wal_fpi: int64,
+ pub wal_bytes: uint64,
+}
+pub const InstrumentOption_INSTRUMENT_TIMER: InstrumentOption = 1;
+pub const InstrumentOption_INSTRUMENT_BUFFERS: InstrumentOption = 2;
+pub const InstrumentOption_INSTRUMENT_ROWS: InstrumentOption = 4;
+pub const InstrumentOption_INSTRUMENT_WAL: InstrumentOption = 8;
+pub const InstrumentOption_INSTRUMENT_ALL: InstrumentOption = 2147483647;
+pub type InstrumentOption = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct Instrumentation {
+ pub need_timer: bool,
+ pub need_bufusage: bool,
+ pub need_walusage: bool,
+ pub async_mode: bool,
+ pub running: bool,
+ pub starttime: instr_time,
+ pub counter: instr_time,
+ pub firsttuple: f64,
+ pub tuplecount: f64,
+ pub bufusage_start: BufferUsage,
+ pub walusage_start: WalUsage,
+ pub startup: f64,
+ pub total: f64,
+ pub ntuples: f64,
+ pub ntuples2: f64,
+ pub nloops: f64,
+ pub nfiltered1: f64,
+ pub nfiltered2: f64,
+ pub bufusage: BufferUsage,
+ pub walusage: WalUsage,
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct WorkerInstrumentation {
+ pub num_workers: ::std::os::raw::c_int,
+ pub instrument: __IncompleteArrayField,
+}
+pub type fmNodePtr = *mut Node;
+pub type fmAggrefPtr = *mut Aggref;
+pub type fmExprContextCallbackFunction = ::std::option::Option;
+pub type fmStringInfo = *mut StringInfoData;
+pub type FunctionCallInfo = *mut FunctionCallInfoBaseData;
+pub type PGFunction =
+ ::std::option::Option Datum>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct FmgrInfo {
+ pub fn_addr: PGFunction,
+ pub fn_oid: Oid,
+ pub fn_nargs: ::std::os::raw::c_short,
+ pub fn_strict: bool,
+ pub fn_retset: bool,
+ pub fn_stats: ::std::os::raw::c_uchar,
+ pub fn_extra: *mut ::std::os::raw::c_void,
+ pub fn_mcxt: MemoryContext,
+ pub fn_expr: fmNodePtr,
+}
+impl Default for FmgrInfo {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug)]
+pub struct FunctionCallInfoBaseData {
+ pub flinfo: *mut FmgrInfo,
+ pub context: fmNodePtr,
+ pub resultinfo: fmNodePtr,
+ pub fncollation: Oid,
+ pub isnull: bool,
+ pub nargs: ::std::os::raw::c_short,
+ pub args: __IncompleteArrayField,
+}
+impl Default for FunctionCallInfoBaseData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct Pg_finfo_record {
+ pub api_version: ::std::os::raw::c_int,
+}
+pub type PGFInfoFunction = ::std::option::Option *const Pg_finfo_record>;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct Pg_magic_struct {
+ pub len: ::std::os::raw::c_int,
+ pub version: ::std::os::raw::c_int,
+ pub funcmaxargs: ::std::os::raw::c_int,
+ pub indexmaxkeys: ::std::os::raw::c_int,
+ pub namedatalen: ::std::os::raw::c_int,
+ pub float8byval: ::std::os::raw::c_int,
+}
+pub type PGModuleMagicFunction =
+ ::std::option::Option *const Pg_magic_struct>;
+pub const FmgrHookEventType_FHET_START: FmgrHookEventType = 0;
+pub const FmgrHookEventType_FHET_END: FmgrHookEventType = 1;
+pub const FmgrHookEventType_FHET_ABORT: FmgrHookEventType = 2;
+pub type FmgrHookEventType = ::std::os::raw::c_uint;
+pub type needs_fmgr_hook_type = ::std::option::Option bool>;
+pub type fmgr_hook_type = ::std::option::Option<
+ unsafe extern "C" fn(event: FmgrHookEventType, flinfo: *mut FmgrInfo, arg: *mut Datum),
+>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dlist_node {
+ pub prev: *mut dlist_node,
+ pub next: *mut dlist_node,
+}
+impl Default for dlist_node {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dlist_head {
+ pub head: dlist_node,
+}
+impl Default for dlist_head {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dlist_iter {
+ pub cur: *mut dlist_node,
+ pub end: *mut dlist_node,
+}
+impl Default for dlist_iter {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dlist_mutable_iter {
+ pub cur: *mut dlist_node,
+ pub next: *mut dlist_node,
+ pub end: *mut dlist_node,
+}
+impl Default for dlist_mutable_iter {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct slist_node {
+ pub next: *mut slist_node,
+}
+impl Default for slist_node {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct slist_head {
+ pub head: slist_node,
+}
+impl Default for slist_head {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct slist_iter {
+ pub cur: *mut slist_node,
+}
+impl Default for slist_iter {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct slist_mutable_iter {
+ pub cur: *mut slist_node,
+ pub next: *mut slist_node,
+ pub prev: *mut slist_node,
+}
+impl Default for slist_mutable_iter {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct StringInfoData {
+ pub data: *mut ::std::os::raw::c_char,
+ pub len: ::std::os::raw::c_int,
+ pub maxlen: ::std::os::raw::c_int,
+ pub cursor: ::std::os::raw::c_int,
+}
+impl Default for StringInfoData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type StringInfo = *mut StringInfoData;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pairingheap_node {
+ pub first_child: *mut pairingheap_node,
+ pub next_sibling: *mut pairingheap_node,
+ pub prev_or_parent: *mut pairingheap_node,
+}
+impl Default for pairingheap_node {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type pairingheap_comparator = ::std::option::Option<
+ unsafe extern "C" fn(
+ a: *const pairingheap_node,
+ b: *const pairingheap_node,
+ arg: *mut ::std::os::raw::c_void,
+ ) -> ::std::os::raw::c_int,
+>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct pairingheap {
+ pub ph_compare: pairingheap_comparator,
+ pub ph_arg: *mut ::std::os::raw::c_void,
+ pub ph_root: *mut pairingheap_node,
+}
+impl Default for pairingheap {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ParamExternData {
+ pub value: Datum,
+ pub isnull: bool,
+ pub pflags: uint16,
+ pub ptype: Oid,
+}
+impl Default for ParamExternData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type ParamListInfo = *mut ParamListInfoData;
+pub type ParamFetchHook = ::std::option::Option<
+ unsafe extern "C" fn(
+ params: ParamListInfo,
+ paramid: ::std::os::raw::c_int,
+ speculative: bool,
+ workspace: *mut ParamExternData,
+ ) -> *mut ParamExternData,
+>;
+pub type ParamCompileHook = ::std::option::Option<
+ unsafe extern "C" fn(
+ params: ParamListInfo,
+ param: *mut Param,
+ state: *mut ExprState,
+ resv: *mut Datum,
+ resnull: *mut bool,
+ ),
+>;
+pub type ParserSetupHook = ::std::option::Option<
+ unsafe extern "C" fn(pstate: *mut ParseState, arg: *mut ::std::os::raw::c_void),
+>;
+#[repr(C)]
+#[derive(Debug)]
+pub struct ParamListInfoData {
+ pub paramFetch: ParamFetchHook,
+ pub paramFetchArg: *mut ::std::os::raw::c_void,
+ pub paramCompile: ParamCompileHook,
+ pub paramCompileArg: *mut ::std::os::raw::c_void,
+ pub parserSetup: ParserSetupHook,
+ pub parserSetupArg: *mut ::std::os::raw::c_void,
+ pub paramValuesStr: *mut ::std::os::raw::c_char,
+ pub numParams: ::std::os::raw::c_int,
+ pub params: __IncompleteArrayField,
+}
+impl Default for ParamListInfoData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ParamExecData {
+ pub execPlan: *mut ::std::os::raw::c_void,
+ pub value: Datum,
+ pub isnull: bool,
+}
+impl Default for ParamExecData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ParamsErrorCbData {
+ pub portalName: *const ::std::os::raw::c_char,
+ pub params: ParamListInfo,
+}
+impl Default for ParamsErrorCbData {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const ScanDirection_BackwardScanDirection: ScanDirection = -1;
+pub const ScanDirection_NoMovementScanDirection: ScanDirection = 0;
+pub const ScanDirection_ForwardScanDirection: ScanDirection = 1;
+pub type ScanDirection = ::std::os::raw::c_int;
+pub type StrategyNumber = uint16;
+pub const LockClauseStrength_LCS_NONE: LockClauseStrength = 0;
+pub const LockClauseStrength_LCS_FORKEYSHARE: LockClauseStrength = 1;
+pub const LockClauseStrength_LCS_FORSHARE: LockClauseStrength = 2;
+pub const LockClauseStrength_LCS_FORNOKEYUPDATE: LockClauseStrength = 3;
+pub const LockClauseStrength_LCS_FORUPDATE: LockClauseStrength = 4;
+pub type LockClauseStrength = ::std::os::raw::c_uint;
+pub const LockWaitPolicy_LockWaitBlock: LockWaitPolicy = 0;
+pub const LockWaitPolicy_LockWaitSkip: LockWaitPolicy = 1;
+pub const LockWaitPolicy_LockWaitError: LockWaitPolicy = 2;
+pub type LockWaitPolicy = ::std::os::raw::c_uint;
+pub const LockTupleMode_LockTupleKeyShare: LockTupleMode = 0;
+pub const LockTupleMode_LockTupleShare: LockTupleMode = 1;
+pub const LockTupleMode_LockTupleNoKeyExclusive: LockTupleMode = 2;
+pub const LockTupleMode_LockTupleExclusive: LockTupleMode = 3;
+pub type LockTupleMode = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Alias {
+ pub type_: NodeTag,
+ pub aliasname: *mut ::std::os::raw::c_char,
+ pub colnames: *mut List,
+}
+impl Default for Alias {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const OnCommitAction_ONCOMMIT_NOOP: OnCommitAction = 0;
+pub const OnCommitAction_ONCOMMIT_PRESERVE_ROWS: OnCommitAction = 1;
+pub const OnCommitAction_ONCOMMIT_DELETE_ROWS: OnCommitAction = 2;
+pub const OnCommitAction_ONCOMMIT_DROP: OnCommitAction = 3;
+pub type OnCommitAction = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct RangeVar {
+ pub type_: NodeTag,
+ pub catalogname: *mut ::std::os::raw::c_char,
+ pub schemaname: *mut ::std::os::raw::c_char,
+ pub relname: *mut ::std::os::raw::c_char,
+ pub inh: bool,
+ pub relpersistence: ::std::os::raw::c_char,
+ pub alias: *mut Alias,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for RangeVar {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TableFunc {
+ pub type_: NodeTag,
+ pub ns_uris: *mut List,
+ pub ns_names: *mut List,
+ pub docexpr: *mut Node,
+ pub rowexpr: *mut Node,
+ pub colnames: *mut List,
+ pub coltypes: *mut List,
+ pub coltypmods: *mut List,
+ pub colcollations: *mut List,
+ pub colexprs: *mut List,
+ pub coldefexprs: *mut List,
+ pub notnulls: *mut Bitmapset,
+ pub ordinalitycol: ::std::os::raw::c_int,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for TableFunc {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct IntoClause {
+ pub type_: NodeTag,
+ pub rel: *mut RangeVar,
+ pub colNames: *mut List,
+ pub accessMethod: *mut ::std::os::raw::c_char,
+ pub options: *mut List,
+ pub onCommit: OnCommitAction,
+ pub tableSpaceName: *mut ::std::os::raw::c_char,
+ pub viewQuery: *mut Node,
+ pub skipData: bool,
+}
+impl Default for IntoClause {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Expr {
+ pub type_: NodeTag,
+}
+impl Default for Expr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Var {
+ pub xpr: Expr,
+ pub varno: Index,
+ pub varattno: AttrNumber,
+ pub vartype: Oid,
+ pub vartypmod: int32,
+ pub varcollid: Oid,
+ pub varlevelsup: Index,
+ pub varnosyn: Index,
+ pub varattnosyn: AttrNumber,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for Var {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Const {
+ pub xpr: Expr,
+ pub consttype: Oid,
+ pub consttypmod: int32,
+ pub constcollid: Oid,
+ pub constlen: ::std::os::raw::c_int,
+ pub constvalue: Datum,
+ pub constisnull: bool,
+ pub constbyval: bool,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for Const {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const ParamKind_PARAM_EXTERN: ParamKind = 0;
+pub const ParamKind_PARAM_EXEC: ParamKind = 1;
+pub const ParamKind_PARAM_SUBLINK: ParamKind = 2;
+pub const ParamKind_PARAM_MULTIEXPR: ParamKind = 3;
+pub type ParamKind = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Param {
+ pub xpr: Expr,
+ pub paramkind: ParamKind,
+ pub paramid: ::std::os::raw::c_int,
+ pub paramtype: Oid,
+ pub paramtypmod: int32,
+ pub paramcollid: Oid,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for Param {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Aggref {
+ pub xpr: Expr,
+ pub aggfnoid: Oid,
+ pub aggtype: Oid,
+ pub aggcollid: Oid,
+ pub inputcollid: Oid,
+ pub aggtranstype: Oid,
+ pub aggargtypes: *mut List,
+ pub aggdirectargs: *mut List,
+ pub args: *mut List,
+ pub aggorder: *mut List,
+ pub aggdistinct: *mut List,
+ pub aggfilter: *mut Expr,
+ pub aggstar: bool,
+ pub aggvariadic: bool,
+ pub aggkind: ::std::os::raw::c_char,
+ pub agglevelsup: Index,
+ pub aggsplit: AggSplit,
+ pub aggno: ::std::os::raw::c_int,
+ pub aggtransno: ::std::os::raw::c_int,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for Aggref {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct GroupingFunc {
+ pub xpr: Expr,
+ pub args: *mut List,
+ pub refs: *mut List,
+ pub cols: *mut List,
+ pub agglevelsup: Index,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for GroupingFunc {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct WindowFunc {
+ pub xpr: Expr,
+ pub winfnoid: Oid,
+ pub wintype: Oid,
+ pub wincollid: Oid,
+ pub inputcollid: Oid,
+ pub args: *mut List,
+ pub aggfilter: *mut Expr,
+ pub winref: Index,
+ pub winstar: bool,
+ pub winagg: bool,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for WindowFunc {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SubscriptingRef {
+ pub xpr: Expr,
+ pub refcontainertype: Oid,
+ pub refelemtype: Oid,
+ pub refrestype: Oid,
+ pub reftypmod: int32,
+ pub refcollid: Oid,
+ pub refupperindexpr: *mut List,
+ pub reflowerindexpr: *mut List,
+ pub refexpr: *mut Expr,
+ pub refassgnexpr: *mut Expr,
+}
+impl Default for SubscriptingRef {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const CoercionContext_COERCION_IMPLICIT: CoercionContext = 0;
+pub const CoercionContext_COERCION_ASSIGNMENT: CoercionContext = 1;
+pub const CoercionContext_COERCION_PLPGSQL: CoercionContext = 2;
+pub const CoercionContext_COERCION_EXPLICIT: CoercionContext = 3;
+pub type CoercionContext = ::std::os::raw::c_uint;
+pub const CoercionForm_COERCE_EXPLICIT_CALL: CoercionForm = 0;
+pub const CoercionForm_COERCE_EXPLICIT_CAST: CoercionForm = 1;
+pub const CoercionForm_COERCE_IMPLICIT_CAST: CoercionForm = 2;
+pub const CoercionForm_COERCE_SQL_SYNTAX: CoercionForm = 3;
+pub type CoercionForm = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct FuncExpr {
+ pub xpr: Expr,
+ pub funcid: Oid,
+ pub funcresulttype: Oid,
+ pub funcretset: bool,
+ pub funcvariadic: bool,
+ pub funcformat: CoercionForm,
+ pub funccollid: Oid,
+ pub inputcollid: Oid,
+ pub args: *mut List,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for FuncExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct NamedArgExpr {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub name: *mut ::std::os::raw::c_char,
+ pub argnumber: ::std::os::raw::c_int,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for NamedArgExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct OpExpr {
+ pub xpr: Expr,
+ pub opno: Oid,
+ pub opfuncid: Oid,
+ pub opresulttype: Oid,
+ pub opretset: bool,
+ pub opcollid: Oid,
+ pub inputcollid: Oid,
+ pub args: *mut List,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for OpExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type DistinctExpr = OpExpr;
+pub type NullIfExpr = OpExpr;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ScalarArrayOpExpr {
+ pub xpr: Expr,
+ pub opno: Oid,
+ pub opfuncid: Oid,
+ pub hashfuncid: Oid,
+ pub useOr: bool,
+ pub inputcollid: Oid,
+ pub args: *mut List,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for ScalarArrayOpExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const BoolExprType_AND_EXPR: BoolExprType = 0;
+pub const BoolExprType_OR_EXPR: BoolExprType = 1;
+pub const BoolExprType_NOT_EXPR: BoolExprType = 2;
+pub type BoolExprType = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BoolExpr {
+ pub xpr: Expr,
+ pub boolop: BoolExprType,
+ pub args: *mut List,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for BoolExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const SubLinkType_EXISTS_SUBLINK: SubLinkType = 0;
+pub const SubLinkType_ALL_SUBLINK: SubLinkType = 1;
+pub const SubLinkType_ANY_SUBLINK: SubLinkType = 2;
+pub const SubLinkType_ROWCOMPARE_SUBLINK: SubLinkType = 3;
+pub const SubLinkType_EXPR_SUBLINK: SubLinkType = 4;
+pub const SubLinkType_MULTIEXPR_SUBLINK: SubLinkType = 5;
+pub const SubLinkType_ARRAY_SUBLINK: SubLinkType = 6;
+pub const SubLinkType_CTE_SUBLINK: SubLinkType = 7;
+pub type SubLinkType = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SubLink {
+ pub xpr: Expr,
+ pub subLinkType: SubLinkType,
+ pub subLinkId: ::std::os::raw::c_int,
+ pub testexpr: *mut Node,
+ pub operName: *mut List,
+ pub subselect: *mut Node,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for SubLink {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SubPlan {
+ pub xpr: Expr,
+ pub subLinkType: SubLinkType,
+ pub testexpr: *mut Node,
+ pub paramIds: *mut List,
+ pub plan_id: ::std::os::raw::c_int,
+ pub plan_name: *mut ::std::os::raw::c_char,
+ pub firstColType: Oid,
+ pub firstColTypmod: int32,
+ pub firstColCollation: Oid,
+ pub useHashTable: bool,
+ pub unknownEqFalse: bool,
+ pub parallel_safe: bool,
+ pub setParam: *mut List,
+ pub parParam: *mut List,
+ pub args: *mut List,
+ pub startup_cost: Cost,
+ pub per_call_cost: Cost,
+}
+impl Default for SubPlan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct AlternativeSubPlan {
+ pub xpr: Expr,
+ pub subplans: *mut List,
+}
+impl Default for AlternativeSubPlan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct FieldSelect {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub fieldnum: AttrNumber,
+ pub resulttype: Oid,
+ pub resulttypmod: int32,
+ pub resultcollid: Oid,
+}
+impl Default for FieldSelect {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct FieldStore {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub newvals: *mut List,
+ pub fieldnums: *mut List,
+ pub resulttype: Oid,
+}
+impl Default for FieldStore {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct RelabelType {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub resulttype: Oid,
+ pub resulttypmod: int32,
+ pub resultcollid: Oid,
+ pub relabelformat: CoercionForm,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for RelabelType {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CoerceViaIO {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub resulttype: Oid,
+ pub resultcollid: Oid,
+ pub coerceformat: CoercionForm,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for CoerceViaIO {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ArrayCoerceExpr {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub elemexpr: *mut Expr,
+ pub resulttype: Oid,
+ pub resulttypmod: int32,
+ pub resultcollid: Oid,
+ pub coerceformat: CoercionForm,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for ArrayCoerceExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ConvertRowtypeExpr {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub resulttype: Oid,
+ pub convertformat: CoercionForm,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for ConvertRowtypeExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CollateExpr {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub collOid: Oid,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for CollateExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CaseExpr {
+ pub xpr: Expr,
+ pub casetype: Oid,
+ pub casecollid: Oid,
+ pub arg: *mut Expr,
+ pub args: *mut List,
+ pub defresult: *mut Expr,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for CaseExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CaseWhen {
+ pub xpr: Expr,
+ pub expr: *mut Expr,
+ pub result: *mut Expr,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for CaseWhen {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CaseTestExpr {
+ pub xpr: Expr,
+ pub typeId: Oid,
+ pub typeMod: int32,
+ pub collation: Oid,
+}
+impl Default for CaseTestExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ArrayExpr {
+ pub xpr: Expr,
+ pub array_typeid: Oid,
+ pub array_collid: Oid,
+ pub element_typeid: Oid,
+ pub elements: *mut List,
+ pub multidims: bool,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for ArrayExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct RowExpr {
+ pub xpr: Expr,
+ pub args: *mut List,
+ pub row_typeid: Oid,
+ pub row_format: CoercionForm,
+ pub colnames: *mut List,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for RowExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const RowCompareType_ROWCOMPARE_LT: RowCompareType = 1;
+pub const RowCompareType_ROWCOMPARE_LE: RowCompareType = 2;
+pub const RowCompareType_ROWCOMPARE_EQ: RowCompareType = 3;
+pub const RowCompareType_ROWCOMPARE_GE: RowCompareType = 4;
+pub const RowCompareType_ROWCOMPARE_GT: RowCompareType = 5;
+pub const RowCompareType_ROWCOMPARE_NE: RowCompareType = 6;
+pub type RowCompareType = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct RowCompareExpr {
+ pub xpr: Expr,
+ pub rctype: RowCompareType,
+ pub opnos: *mut List,
+ pub opfamilies: *mut List,
+ pub inputcollids: *mut List,
+ pub largs: *mut List,
+ pub rargs: *mut List,
+}
+impl Default for RowCompareExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CoalesceExpr {
+ pub xpr: Expr,
+ pub coalescetype: Oid,
+ pub coalescecollid: Oid,
+ pub args: *mut List,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for CoalesceExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const MinMaxOp_IS_GREATEST: MinMaxOp = 0;
+pub const MinMaxOp_IS_LEAST: MinMaxOp = 1;
+pub type MinMaxOp = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct MinMaxExpr {
+ pub xpr: Expr,
+ pub minmaxtype: Oid,
+ pub minmaxcollid: Oid,
+ pub inputcollid: Oid,
+ pub op: MinMaxOp,
+ pub args: *mut List,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for MinMaxExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const SQLValueFunctionOp_SVFOP_CURRENT_DATE: SQLValueFunctionOp = 0;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_TIME: SQLValueFunctionOp = 1;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_TIME_N: SQLValueFunctionOp = 2;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_TIMESTAMP: SQLValueFunctionOp = 3;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_TIMESTAMP_N: SQLValueFunctionOp = 4;
+pub const SQLValueFunctionOp_SVFOP_LOCALTIME: SQLValueFunctionOp = 5;
+pub const SQLValueFunctionOp_SVFOP_LOCALTIME_N: SQLValueFunctionOp = 6;
+pub const SQLValueFunctionOp_SVFOP_LOCALTIMESTAMP: SQLValueFunctionOp = 7;
+pub const SQLValueFunctionOp_SVFOP_LOCALTIMESTAMP_N: SQLValueFunctionOp = 8;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_ROLE: SQLValueFunctionOp = 9;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_USER: SQLValueFunctionOp = 10;
+pub const SQLValueFunctionOp_SVFOP_USER: SQLValueFunctionOp = 11;
+pub const SQLValueFunctionOp_SVFOP_SESSION_USER: SQLValueFunctionOp = 12;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_CATALOG: SQLValueFunctionOp = 13;
+pub const SQLValueFunctionOp_SVFOP_CURRENT_SCHEMA: SQLValueFunctionOp = 14;
+pub type SQLValueFunctionOp = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SQLValueFunction {
+ pub xpr: Expr,
+ pub op: SQLValueFunctionOp,
+ pub type_: Oid,
+ pub typmod: int32,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for SQLValueFunction {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const XmlExprOp_IS_XMLCONCAT: XmlExprOp = 0;
+pub const XmlExprOp_IS_XMLELEMENT: XmlExprOp = 1;
+pub const XmlExprOp_IS_XMLFOREST: XmlExprOp = 2;
+pub const XmlExprOp_IS_XMLPARSE: XmlExprOp = 3;
+pub const XmlExprOp_IS_XMLPI: XmlExprOp = 4;
+pub const XmlExprOp_IS_XMLROOT: XmlExprOp = 5;
+pub const XmlExprOp_IS_XMLSERIALIZE: XmlExprOp = 6;
+pub const XmlExprOp_IS_DOCUMENT: XmlExprOp = 7;
+pub type XmlExprOp = ::std::os::raw::c_uint;
+pub const XmlOptionType_XMLOPTION_DOCUMENT: XmlOptionType = 0;
+pub const XmlOptionType_XMLOPTION_CONTENT: XmlOptionType = 1;
+pub type XmlOptionType = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct XmlExpr {
+ pub xpr: Expr,
+ pub op: XmlExprOp,
+ pub name: *mut ::std::os::raw::c_char,
+ pub named_args: *mut List,
+ pub arg_names: *mut List,
+ pub args: *mut List,
+ pub xmloption: XmlOptionType,
+ pub type_: Oid,
+ pub typmod: int32,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for XmlExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const NullTestType_IS_NULL: NullTestType = 0;
+pub const NullTestType_IS_NOT_NULL: NullTestType = 1;
+pub type NullTestType = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct NullTest {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub nulltesttype: NullTestType,
+ pub argisrow: bool,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for NullTest {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const BoolTestType_IS_TRUE: BoolTestType = 0;
+pub const BoolTestType_IS_NOT_TRUE: BoolTestType = 1;
+pub const BoolTestType_IS_FALSE: BoolTestType = 2;
+pub const BoolTestType_IS_NOT_FALSE: BoolTestType = 3;
+pub const BoolTestType_IS_UNKNOWN: BoolTestType = 4;
+pub const BoolTestType_IS_NOT_UNKNOWN: BoolTestType = 5;
+pub type BoolTestType = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BooleanTest {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub booltesttype: BoolTestType,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for BooleanTest {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CoerceToDomain {
+ pub xpr: Expr,
+ pub arg: *mut Expr,
+ pub resulttype: Oid,
+ pub resulttypmod: int32,
+ pub resultcollid: Oid,
+ pub coercionformat: CoercionForm,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for CoerceToDomain {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CoerceToDomainValue {
+ pub xpr: Expr,
+ pub typeId: Oid,
+ pub typeMod: int32,
+ pub collation: Oid,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for CoerceToDomainValue {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SetToDefault {
+ pub xpr: Expr,
+ pub typeId: Oid,
+ pub typeMod: int32,
+ pub collation: Oid,
+ pub location: ::std::os::raw::c_int,
+}
+impl Default for SetToDefault {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CurrentOfExpr {
+ pub xpr: Expr,
+ pub cvarno: Index,
+ pub cursor_name: *mut ::std::os::raw::c_char,
+ pub cursor_param: ::std::os::raw::c_int,
+}
+impl Default for CurrentOfExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct NextValueExpr {
+ pub xpr: Expr,
+ pub seqid: Oid,
+ pub typeId: Oid,
+}
+impl Default for NextValueExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct InferenceElem {
+ pub xpr: Expr,
+ pub expr: *mut Node,
+ pub infercollid: Oid,
+ pub inferopclass: Oid,
+}
+impl Default for InferenceElem {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TargetEntry {
+ pub xpr: Expr,
+ pub expr: *mut Expr,
+ pub resno: AttrNumber,
+ pub resname: *mut ::std::os::raw::c_char,
+ pub ressortgroupref: Index,
+ pub resorigtbl: Oid,
+ pub resorigcol: AttrNumber,
+ pub resjunk: bool,
+}
+impl Default for TargetEntry {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct RangeTblRef {
+ pub type_: NodeTag,
+ pub rtindex: ::std::os::raw::c_int,
+}
+impl Default for RangeTblRef {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct JoinExpr {
+ pub type_: NodeTag,
+ pub jointype: JoinType,
+ pub isNatural: bool,
+ pub larg: *mut Node,
+ pub rarg: *mut Node,
+ pub usingClause: *mut List,
+ pub join_using_alias: *mut Alias,
+ pub quals: *mut Node,
+ pub alias: *mut Alias,
+ pub rtindex: ::std::os::raw::c_int,
+}
+impl Default for JoinExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct FromExpr {
+ pub type_: NodeTag,
+ pub fromlist: *mut List,
+ pub quals: *mut Node,
+}
+impl Default for FromExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct OnConflictExpr {
+ pub type_: NodeTag,
+ pub action: OnConflictAction,
+ pub arbiterElems: *mut List,
+ pub arbiterWhere: *mut Node,
+ pub constraint: Oid,
+ pub onConflictSet: *mut List,
+ pub onConflictWhere: *mut Node,
+ pub exclRelIndex: ::std::os::raw::c_int,
+ pub exclRelTlist: *mut List,
+}
+impl Default for OnConflictExpr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PlannedStmt {
+ pub type_: NodeTag,
+ pub commandType: CmdType,
+ pub queryId: uint64,
+ pub hasReturning: bool,
+ pub hasModifyingCTE: bool,
+ pub canSetTag: bool,
+ pub transientPlan: bool,
+ pub dependsOnRole: bool,
+ pub parallelModeNeeded: bool,
+ pub jitFlags: ::std::os::raw::c_int,
+ pub planTree: *mut Plan,
+ pub rtable: *mut List,
+ pub resultRelations: *mut List,
+ pub appendRelations: *mut List,
+ pub subplans: *mut List,
+ pub rewindPlanIDs: *mut Bitmapset,
+ pub rowMarks: *mut List,
+ pub relationOids: *mut List,
+ pub invalItems: *mut List,
+ pub paramExecTypes: *mut List,
+ pub utilityStmt: *mut Node,
+ pub stmt_location: ::std::os::raw::c_int,
+ pub stmt_len: ::std::os::raw::c_int,
+}
+impl Default for PlannedStmt {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Plan {
+ pub type_: NodeTag,
+ pub startup_cost: Cost,
+ pub total_cost: Cost,
+ pub plan_rows: f64,
+ pub plan_width: ::std::os::raw::c_int,
+ pub parallel_aware: bool,
+ pub parallel_safe: bool,
+ pub async_capable: bool,
+ pub plan_node_id: ::std::os::raw::c_int,
+ pub targetlist: *mut List,
+ pub qual: *mut List,
+ pub lefttree: *mut Plan,
+ pub righttree: *mut Plan,
+ pub initPlan: *mut List,
+ pub extParam: *mut Bitmapset,
+ pub allParam: *mut Bitmapset,
+}
+impl Default for Plan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Result {
+ pub plan: Plan,
+ pub resconstantqual: *mut Node,
+}
+impl Default for Result {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ProjectSet {
+ pub plan: Plan,
+}
+impl Default for ProjectSet {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ModifyTable {
+ pub plan: Plan,
+ pub operation: CmdType,
+ pub canSetTag: bool,
+ pub nominalRelation: Index,
+ pub rootRelation: Index,
+ pub partColsUpdated: bool,
+ pub resultRelations: *mut List,
+ pub updateColnosLists: *mut List,
+ pub withCheckOptionLists: *mut List,
+ pub returningLists: *mut List,
+ pub fdwPrivLists: *mut List,
+ pub fdwDirectModifyPlans: *mut Bitmapset,
+ pub rowMarks: *mut List,
+ pub epqParam: ::std::os::raw::c_int,
+ pub onConflictAction: OnConflictAction,
+ pub arbiterIndexes: *mut List,
+ pub onConflictSet: *mut List,
+ pub onConflictCols: *mut List,
+ pub onConflictWhere: *mut Node,
+ pub exclRelRTI: Index,
+ pub exclRelTlist: *mut List,
+}
+impl Default for ModifyTable {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Append {
+ pub plan: Plan,
+ pub apprelids: *mut Bitmapset,
+ pub appendplans: *mut List,
+ pub nasyncplans: ::std::os::raw::c_int,
+ pub first_partial_plan: ::std::os::raw::c_int,
+ pub part_prune_info: *mut PartitionPruneInfo,
+}
+impl Default for Append {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct MergeAppend {
+ pub plan: Plan,
+ pub apprelids: *mut Bitmapset,
+ pub mergeplans: *mut List,
+ pub numCols: ::std::os::raw::c_int,
+ pub sortColIdx: *mut AttrNumber,
+ pub sortOperators: *mut Oid,
+ pub collations: *mut Oid,
+ pub nullsFirst: *mut bool,
+ pub part_prune_info: *mut PartitionPruneInfo,
+}
+impl Default for MergeAppend {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct RecursiveUnion {
+ pub plan: Plan,
+ pub wtParam: ::std::os::raw::c_int,
+ pub numCols: ::std::os::raw::c_int,
+ pub dupColIdx: *mut AttrNumber,
+ pub dupOperators: *mut Oid,
+ pub dupCollations: *mut Oid,
+ pub numGroups: ::std::os::raw::c_long,
+}
+impl Default for RecursiveUnion {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BitmapAnd {
+ pub plan: Plan,
+ pub bitmapplans: *mut List,
+}
+impl Default for BitmapAnd {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BitmapOr {
+ pub plan: Plan,
+ pub isshared: bool,
+ pub bitmapplans: *mut List,
+}
+impl Default for BitmapOr {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Scan {
+ pub plan: Plan,
+ pub scanrelid: Index,
+}
+impl Default for Scan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type SeqScan = Scan;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SampleScan {
+ pub scan: Scan,
+ pub tablesample: *mut TableSampleClause,
+}
+impl Default for SampleScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct IndexScan {
+ pub scan: Scan,
+ pub indexid: Oid,
+ pub indexqual: *mut List,
+ pub indexqualorig: *mut List,
+ pub indexorderby: *mut List,
+ pub indexorderbyorig: *mut List,
+ pub indexorderbyops: *mut List,
+ pub indexorderdir: ScanDirection,
+}
+impl Default for IndexScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct IndexOnlyScan {
+ pub scan: Scan,
+ pub indexid: Oid,
+ pub indexqual: *mut List,
+ pub indexorderby: *mut List,
+ pub indextlist: *mut List,
+ pub indexorderdir: ScanDirection,
+ pub recheckqual: *mut List,
+}
+impl Default for IndexOnlyScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BitmapIndexScan {
+ pub scan: Scan,
+ pub indexid: Oid,
+ pub isshared: bool,
+ pub indexqual: *mut List,
+ pub indexqualorig: *mut List,
+}
+impl Default for BitmapIndexScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct BitmapHeapScan {
+ pub scan: Scan,
+ pub bitmapqualorig: *mut List,
+}
+impl Default for BitmapHeapScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TidScan {
+ pub scan: Scan,
+ pub tidquals: *mut List,
+}
+impl Default for TidScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TidRangeScan {
+ pub scan: Scan,
+ pub tidrangequals: *mut List,
+}
+impl Default for TidRangeScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SubqueryScan {
+ pub scan: Scan,
+ pub subplan: *mut Plan,
+}
+impl Default for SubqueryScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct FunctionScan {
+ pub scan: Scan,
+ pub functions: *mut List,
+ pub funcordinality: bool,
+}
+impl Default for FunctionScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ValuesScan {
+ pub scan: Scan,
+ pub values_lists: *mut List,
+}
+impl Default for ValuesScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TableFuncScan {
+ pub scan: Scan,
+ pub tablefunc: *mut TableFunc,
+}
+impl Default for TableFuncScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CteScan {
+ pub scan: Scan,
+ pub ctePlanId: ::std::os::raw::c_int,
+ pub cteParam: ::std::os::raw::c_int,
+}
+impl Default for CteScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct NamedTuplestoreScan {
+ pub scan: Scan,
+ pub enrname: *mut ::std::os::raw::c_char,
+}
+impl Default for NamedTuplestoreScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct WorkTableScan {
+ pub scan: Scan,
+ pub wtParam: ::std::os::raw::c_int,
+}
+impl Default for WorkTableScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct ForeignScan {
+ pub scan: Scan,
+ pub operation: CmdType,
+ pub resultRelation: Index,
+ pub fs_server: Oid,
+ pub fdw_exprs: *mut List,
+ pub fdw_private: *mut List,
+ pub fdw_scan_tlist: *mut List,
+ pub fdw_recheck_quals: *mut List,
+ pub fs_relids: *mut Bitmapset,
+ pub fsSystemCol: bool,
+}
+impl Default for ForeignScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct CustomScan {
+ pub scan: Scan,
+ pub flags: uint32,
+ pub custom_plans: *mut List,
+ pub custom_exprs: *mut List,
+ pub custom_private: *mut List,
+ pub custom_scan_tlist: *mut List,
+ pub custom_relids: *mut Bitmapset,
+ pub methods: *const CustomScanMethods,
+}
+impl Default for CustomScan {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Join {
+ pub plan: Plan,
+ pub jointype: JoinType,
+ pub inner_unique: bool,
+ pub joinqual: *mut List,
+}
+impl Default for Join {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct NestLoop {
+ pub join: Join,
+ pub nestParams: *mut List,
+}
+impl Default for NestLoop {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct NestLoopParam {
+ pub type_: NodeTag,
+ pub paramno: ::std::os::raw::c_int,
+ pub paramval: *mut Var,
+}
+impl Default for NestLoopParam {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct MergeJoin {
+ pub join: Join,
+ pub skip_mark_restore: bool,
+ pub mergeclauses: *mut List,
+ pub mergeFamilies: *mut Oid,
+ pub mergeCollations: *mut Oid,
+ pub mergeStrategies: *mut ::std::os::raw::c_int,
+ pub mergeNullsFirst: *mut bool,
+}
+impl Default for MergeJoin {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct HashJoin {
+ pub join: Join,
+ pub hashclauses: *mut List,
+ pub hashoperators: *mut List,
+ pub hashcollations: *mut List,
+ pub hashkeys: *mut List,
+}
+impl Default for HashJoin {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Material {
+ pub plan: Plan,
+}
+impl Default for Material {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Memoize {
+ pub plan: Plan,
+ pub numKeys: ::std::os::raw::c_int,
+ pub hashOperators: *mut Oid,
+ pub collations: *mut Oid,
+ pub param_exprs: *mut List,
+ pub singlerow: bool,
+ pub binary_mode: bool,
+ pub est_entries: uint32,
+ pub keyparamids: *mut Bitmapset,
+}
+impl Default for Memoize {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Sort {
+ pub plan: Plan,
+ pub numCols: ::std::os::raw::c_int,
+ pub sortColIdx: *mut AttrNumber,
+ pub sortOperators: *mut Oid,
+ pub collations: *mut Oid,
+ pub nullsFirst: *mut bool,
+}
+impl Default for Sort {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct IncrementalSort {
+ pub sort: Sort,
+ pub nPresortedCols: ::std::os::raw::c_int,
+}
+impl Default for IncrementalSort {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Group {
+ pub plan: Plan,
+ pub numCols: ::std::os::raw::c_int,
+ pub grpColIdx: *mut AttrNumber,
+ pub grpOperators: *mut Oid,
+ pub grpCollations: *mut Oid,
+}
+impl Default for Group {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Agg {
+ pub plan: Plan,
+ pub aggstrategy: AggStrategy,
+ pub aggsplit: AggSplit,
+ pub numCols: ::std::os::raw::c_int,
+ pub grpColIdx: *mut AttrNumber,
+ pub grpOperators: *mut Oid,
+ pub grpCollations: *mut Oid,
+ pub numGroups: ::std::os::raw::c_long,
+ pub transitionSpace: uint64,
+ pub aggParams: *mut Bitmapset,
+ pub groupingSets: *mut List,
+ pub chain: *mut List,
+}
+impl Default for Agg {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct WindowAgg {
+ pub plan: Plan,
+ pub winref: Index,
+ pub partNumCols: ::std::os::raw::c_int,
+ pub partColIdx: *mut AttrNumber,
+ pub partOperators: *mut Oid,
+ pub partCollations: *mut Oid,
+ pub ordNumCols: ::std::os::raw::c_int,
+ pub ordColIdx: *mut AttrNumber,
+ pub ordOperators: *mut Oid,
+ pub ordCollations: *mut Oid,
+ pub frameOptions: ::std::os::raw::c_int,
+ pub startOffset: *mut Node,
+ pub endOffset: *mut Node,
+ pub startInRangeFunc: Oid,
+ pub endInRangeFunc: Oid,
+ pub inRangeColl: Oid,
+ pub inRangeAsc: bool,
+ pub inRangeNullsFirst: bool,
+}
+impl Default for WindowAgg {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Unique {
+ pub plan: Plan,
+ pub numCols: ::std::os::raw::c_int,
+ pub uniqColIdx: *mut AttrNumber,
+ pub uniqOperators: *mut Oid,
+ pub uniqCollations: *mut Oid,
+}
+impl Default for Unique {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Gather {
+ pub plan: Plan,
+ pub num_workers: ::std::os::raw::c_int,
+ pub rescan_param: ::std::os::raw::c_int,
+ pub single_copy: bool,
+ pub invisible: bool,
+ pub initParam: *mut Bitmapset,
+}
+impl Default for Gather {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct GatherMerge {
+ pub plan: Plan,
+ pub num_workers: ::std::os::raw::c_int,
+ pub rescan_param: ::std::os::raw::c_int,
+ pub numCols: ::std::os::raw::c_int,
+ pub sortColIdx: *mut AttrNumber,
+ pub sortOperators: *mut Oid,
+ pub collations: *mut Oid,
+ pub nullsFirst: *mut bool,
+ pub initParam: *mut Bitmapset,
+}
+impl Default for GatherMerge {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Hash {
+ pub plan: Plan,
+ pub hashkeys: *mut List,
+ pub skewTable: Oid,
+ pub skewColumn: AttrNumber,
+ pub skewInherit: bool,
+ pub rows_total: f64,
+}
+impl Default for Hash {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SetOp {
+ pub plan: Plan,
+ pub cmd: SetOpCmd,
+ pub strategy: SetOpStrategy,
+ pub numCols: ::std::os::raw::c_int,
+ pub dupColIdx: *mut AttrNumber,
+ pub dupOperators: *mut Oid,
+ pub dupCollations: *mut Oid,
+ pub flagColIdx: AttrNumber,
+ pub firstFlag: ::std::os::raw::c_int,
+ pub numGroups: ::std::os::raw::c_long,
+}
+impl Default for SetOp {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct LockRows {
+ pub plan: Plan,
+ pub rowMarks: *mut List,
+ pub epqParam: ::std::os::raw::c_int,
+}
+impl Default for LockRows {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct Limit {
+ pub plan: Plan,
+ pub limitOffset: *mut Node,
+ pub limitCount: *mut Node,
+ pub limitOption: LimitOption,
+ pub uniqNumCols: ::std::os::raw::c_int,
+ pub uniqColIdx: *mut AttrNumber,
+ pub uniqOperators: *mut Oid,
+ pub uniqCollations: *mut Oid,
+}
+impl Default for Limit {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const RowMarkType_ROW_MARK_EXCLUSIVE: RowMarkType = 0;
+pub const RowMarkType_ROW_MARK_NOKEYEXCLUSIVE: RowMarkType = 1;
+pub const RowMarkType_ROW_MARK_SHARE: RowMarkType = 2;
+pub const RowMarkType_ROW_MARK_KEYSHARE: RowMarkType = 3;
+pub const RowMarkType_ROW_MARK_REFERENCE: RowMarkType = 4;
+pub const RowMarkType_ROW_MARK_COPY: RowMarkType = 5;
+pub type RowMarkType = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PlanRowMark {
+ pub type_: NodeTag,
+ pub rti: Index,
+ pub prti: Index,
+ pub rowmarkId: Index,
+ pub markType: RowMarkType,
+ pub allMarkTypes: ::std::os::raw::c_int,
+ pub strength: LockClauseStrength,
+ pub waitPolicy: LockWaitPolicy,
+ pub isParent: bool,
+}
+impl Default for PlanRowMark {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionPruneInfo {
+ pub type_: NodeTag,
+ pub prune_infos: *mut List,
+ pub other_subplans: *mut Bitmapset,
+}
+impl Default for PartitionPruneInfo {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionedRelPruneInfo {
+ pub type_: NodeTag,
+ pub rtindex: Index,
+ pub present_parts: *mut Bitmapset,
+ pub nparts: ::std::os::raw::c_int,
+ pub subplan_map: *mut ::std::os::raw::c_int,
+ pub subpart_map: *mut ::std::os::raw::c_int,
+ pub relid_map: *mut Oid,
+ pub initial_pruning_steps: *mut List,
+ pub exec_pruning_steps: *mut List,
+ pub execparamids: *mut Bitmapset,
+}
+impl Default for PartitionedRelPruneInfo {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionPruneStep {
+ pub type_: NodeTag,
+ pub step_id: ::std::os::raw::c_int,
+}
+impl Default for PartitionPruneStep {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionPruneStepOp {
+ pub step: PartitionPruneStep,
+ pub opstrategy: StrategyNumber,
+ pub exprs: *mut List,
+ pub cmpfns: *mut List,
+ pub nullkeys: *mut Bitmapset,
+}
+impl Default for PartitionPruneStepOp {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub const PartitionPruneCombineOp_PARTPRUNE_COMBINE_UNION: PartitionPruneCombineOp = 0;
+pub const PartitionPruneCombineOp_PARTPRUNE_COMBINE_INTERSECT: PartitionPruneCombineOp = 1;
+pub type PartitionPruneCombineOp = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionPruneStepCombine {
+ pub step: PartitionPruneStep,
+ pub combineOp: PartitionPruneCombineOp,
+ pub source_stepids: *mut List,
+}
+impl Default for PartitionPruneStepCombine {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PlanInvalItem {
+ pub type_: NodeTag,
+ pub cacheId: ::std::os::raw::c_int,
+ pub hashValue: uint32,
+}
+impl Default for PlanInvalItem {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct pg_atomic_flag {
+ pub value: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct pg_atomic_uint32 {
+ pub value: uint32,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct pg_atomic_uint64 {
+ pub value: uint64,
+}
+pub type dsm_handle = uint32;
+pub const dsm_op_DSM_OP_CREATE: dsm_op = 0;
+pub const dsm_op_DSM_OP_ATTACH: dsm_op = 1;
+pub const dsm_op_DSM_OP_DETACH: dsm_op = 2;
+pub const dsm_op_DSM_OP_DESTROY: dsm_op = 3;
+pub type dsm_op = ::std::os::raw::c_uint;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dsm_segment {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PGShmemHeader {
+ _unused: [u8; 0],
+}
+pub type on_dsm_detach_callback =
+ ::std::option::Option;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct dsa_area {
+ _unused: [u8; 0],
+}
+pub type dsa_pointer = uint64;
+pub type dsa_pointer_atomic = pg_atomic_uint64;
+pub type dsa_handle = dsm_handle;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TIDBitmap {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TBMIterator {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct TBMSharedIterator {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Default)]
+pub struct TBMIterateResult {
+ pub blockno: BlockNumber,
+ pub ntuples: ::std::os::raw::c_int,
+ pub recheck: bool,
+ pub offsets: __IncompleteArrayField,
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionBoundInfoData {
+ _unused: [u8; 0],
+}
+pub type PartitionBoundInfo = *mut PartitionBoundInfoData;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionKeyData {
+ _unused: [u8; 0],
+}
+pub type PartitionKey = *mut PartitionKeyData;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionDescData {
+ _unused: [u8; 0],
+}
+pub type PartitionDesc = *mut PartitionDescData;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct PartitionDirectoryData {
+ _unused: [u8; 0],
+}
+pub type PartitionDirectory = *mut PartitionDirectoryData;
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct proclist_node {
+ pub next: ::std::os::raw::c_int,
+ pub prev: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct proclist_head {
+ pub head: ::std::os::raw::c_int,
+ pub tail: ::std::os::raw::c_int,
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct proclist_mutable_iter {
+ pub cur: ::std::os::raw::c_int,
+ pub next: ::std::os::raw::c_int,
+}
+pub type slock_t = ::std::os::raw::c_int;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct SpinDelayStatus {
+ pub spins: ::std::os::raw::c_int,
+ pub delays: ::std::os::raw::c_int,
+ pub cur_delay: ::std::os::raw::c_int,
+ pub file: *const ::std::os::raw::c_char,
+ pub line: ::std::os::raw::c_int,
+ pub func: *const ::std::os::raw::c_char,
+}
+impl Default for SpinDelayStatus {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Default, Copy, Clone)]
+pub struct ConditionVariable {
+ pub mutex: slock_t,
+ pub wakeup: proclist_head,
+}
+#[repr(C)]
+#[derive(Copy, Clone)]
+pub union ConditionVariableMinimallyPadded {
+ pub cv: ConditionVariable,
+ pub pad: [::std::os::raw::c_char; 16usize],
+}
+impl Default for ConditionVariableMinimallyPadded {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+pub type HashValueFunc = ::std::option::Option<
+ unsafe extern "C" fn(key: *const ::std::os::raw::c_void, keysize: Size) -> uint32,
+>;
+pub type HashCompareFunc = ::std::option::Option<
+ unsafe extern "C" fn(
+ key1: *const ::std::os::raw::c_void,
+ key2: *const ::std::os::raw::c_void,
+ keysize: Size,
+ ) -> ::std::os::raw::c_int,
+>;
+pub type HashCopyFunc = ::std::option::Option<
+ unsafe extern "C" fn(
+ dest: *mut ::std::os::raw::c_void,
+ src: *const ::std::os::raw::c_void,
+ keysize: Size,
+ ) -> *mut ::std::os::raw::c_void,
+>;
+pub type HashAllocFunc =
+ ::std::option::Option *mut ::std::os::raw::c_void>;
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct HASHELEMENT {
+ pub link: *mut HASHELEMENT,
+ pub hashvalue: uint32,
+}
+impl Default for HASHELEMENT {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::::uninit();
+ unsafe {
+ ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
+ s.assume_init()
+ }
+ }
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct HASHHDR {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct HTAB {
+ _unused: [u8; 0],
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct HASHCTL {
+ pub num_partitions: ::std::os::raw::c_long,
+ pub ssize: ::std::os::raw::c_long,
+ pub dsize: ::std::os::raw::c_long,
+ pub max_dsize: ::std::os::raw::c_long,
+ pub keysize: Size,
+ pub entrysize: Size,
+ pub hash: HashValueFunc,
+ pub match_: HashCompareFunc,
+ pub keycopy: HashCopyFunc,
+ pub alloc: HashAllocFunc,
+ pub hcxt: MemoryContext,
+ pub hctl: *mut HASHHDR,
+}
+impl Default for HASHCTL {
+ fn default() -> Self {
+ let mut s = ::std::mem::MaybeUninit::